@charset "UTF-8";
/******************************************************************
サイトコンテンツスタイルシート（スマホ版）
Author: Y.Yokoyama
Author URI: http://fromdime.com
******************************************************************/
/******************************************************************

共通

******************************************************************/
/*-------------------------------------------
ヘッダーバー
-------------------------------------------*/
/*
メニューボタン
*/
.menu-btn a,
.menu-btn a span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}

.menu-btn a {
  position: relative;
  width: 40px;
  height: 40px;
}

.menu-btn a span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #515151;
  border-radius: 4px;
}

.menu-btn a span:nth-of-type(1) {
  top: 7px;
}

.menu-btn a span:nth-of-type(2) {
  top: 18px;
}

.menu-btn a span:nth-of-type(3) {
  bottom: 7px;
}

.menu-btn a.btn-close span:nth-of-type(1) {
  transform: translateY(11px) rotate(-45deg);
}

.menu-btn a.btn-close span:nth-of-type(2) {
  opacity: 0;
}

.menu-btn a.btn-close span:nth-of-type(3) {
  transform: translateY(-11px) rotate(45deg);
}

/*
メニュー
*/
.overlay {
  position: fixed;
  z-index: 100;
  background-color: #f1f1f1;
  width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 1.5rem 1.2rem;
  height: calc(100% - 72px);
}

/* スクロールバーのカスタマイズ */
.overlay::-webkit-scrollbar {
  /*    width: 10px;*/
  width: 5px;
}

.overlay::-webkit-scrollbar-track {
  background: #ffffff;
  border-left: solid 1px #ececec;
}

.overlay::-webkit-scrollbar-thumb {
  background: #bbbbbb;
  border-radius: 10px;
  box-shadow: inset 0 0 0 2px #ffffff;
}

.overlay_inner {
  /*        overflow-y: scroll;*/
}

.wrap-globalnavi-sp {
  margin-bottom: 1.5rem;
}

.wrap-globalnavi-sp .globalnavi {
  background-color: #ffffff;
}

.wrap-globalnavi-sp .globalnavi > ul {
  flex-flow: wrap;
}

.wrap-globalnavi-sp .globalnavi > ul > li {
  flex-basis: 100%;
  max-width: 100%;
  padding: 0;
}

.wrap-globalnavi-sp .globalnavi ul li a {
  /*    font-size: 0.9rem;*/
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid #dddddd;
}

.wrap-globalnavi-sp .globalnavi .globalnavi-ul > li:last-child a {
  border-bottom: none;
}

.wrap-globalnavi-sp .globalnavi ul li a:hover {
  opacity: 1;
}

.globalnavi-sp ul li .dropdown li a {
  padding: 0.8rem 0.5rem 0.8rem 2.5rem;
}

.overlay .internal-links {
  display: flex;
  align-items: center;
  justify-content: center;
}

.overlay .internal-item {
  text-align: center;
}

.overlay .internal-item {
  margin-right: 4%;
}

.overlay .internal-item:last-child {
  margin-right: 0;
}

.overlay .internal-item > a {
  display: block;
}

.overlay .internal-item img {
  max-width: 40px;
}

.overlay .internal-item span {
  display: block;
  font-size: 0.7rem;
}

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

メディアクエリー

*******************************************************************
******************************************************************/
/* 1281px ~ : PC Large screens -> Default */

/* ~ 1280px : PC screens */
@media only screen and (max-width: 80em) {
}

/* ~ 1024px : Medium screens */
@media only screen and (max-width: 64em) {
  /* lead */
  .home #lead {
      padding: 30% 0 0;
      margin-top: -30%;
  }
}
/* ~ 960px : Tablet screens */
@media only screen and (max-width: 60em) {

}
/* ~ 896px : スマホ横 */
@media only screen and (max-width: 56em) {
} /* 896px以下 End */

/* ~ 812px : iphone X screens */
@media only screen and (max-width: 50.750em) {

}
/* ~ 767px : Tablet screens */
@media only screen and (max-width: 47.938em) {

}
/* 641px ~ */

/* 640px以下:Small screens */
@media only screen and (max-width: 40em) {
  /******************************************************************

    共通

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

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

    構造調整タグ

  ******************************************************************/
  .base_width {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .base_width.base_width_sp {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .inner_width {
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  br.br-pc {
      display: none;
  }
  br.br-sp {
      display: block;
  }
  /*-------------------------------------------
    テーブルの基本レイアウト
  -------------------------------------------*/
  table.base_table {
    border: 1px solid #dbdbdb;
  }
  table.base_table tr th,
  table.base_table tr td {
    display: block;
    width: 100%;
  }
  table.base_table tr th {
    text-align: left;
    font-weight: normal;
    background-color: #eaeaea;
    padding: 0.3rem 1.3rem;
    border-bottom: 1px solid #dbdbdb;
  }
  table.base_table tr td {
    background-color: #ffffff;
    padding: 0.7rem 1.3rem;
    border-bottom: 1px solid #dbdbdb;
  }
  table.base_table tr:last-child td {
    border-bottom: none;
  }
  /******************************************************************

    汎用パーツ

  ******************************************************************/
  /*
    横並びレイアウト
  */
  .flexbox {
    flex-flow: row wrap;
  }
  .contact-sns {
    justify-content: center;
  }
  .wrap_menulist {
    margin-bottom: 1rem;
  }
  .wrap_menulist .menutab li a {
    padding: 0rem 0.2rem;
  }

  /*-------------------------------------------
  固有スタイル
  -------------------------------------------*/
  /*-------------------------------------------
  パンくずリスト
  -------------------------------------------*/
  .breadcrumb {
    margin-bottom: 1.5rem;
  }
  /*-------------------------------------------
  ページナビ
  -------------------------------------------*/
  .wrap_pagination {
    margin: 2.4rem 0;
  }
  .wp-pagenavi a,
  .wp-pagenavi span {
    padding: 5px 10px;
    margin: 5px;
  }
  .link-button {
    font-size: 0.875rem;
    max-width: 200px;
  }
  /******************************************************************

    プラグイン

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

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

    ヘッダー

  ******************************************************************/
  #header {
  }
  #head-bar-sp {
    position: relative;
    padding: 0.5rem 2%;
    background-color: #ffffff;
  }
  #head-bar-sp .head-bar-inner {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #head-bar-sp .head-bar-inner .head-bar-left {
    flex: 1;
  }
  #head-bar-sp .head-bar-inner .head-bar-left .menu-btn {
    display: flex;
  }
  #head-bar-sp .head-bar-inner .head-bar-center {
    flex-basis: 70%;
    max-width: 70%;
    text-align: center;
  }
  #head-bar-sp .head-bar-inner .head-bar-center .link {
    padding: 0 1rem;
  }
  #head-bar-sp .head-bar-inner .head-bar-center .link:hover {
    opacity: 0.6;
  }
  #head-bar-sp .head-bar-inner .head-bar-center .link img {
    max-width: 160px;
  }
  #head-bar-sp .head-bar-inner .head-bar-right {
    flex: 1;
  }
  .wrap-globalnavi-sp ul li a {
    position: relative;
  }
  .wrap-globalnavi-sp ul li a::after {
    font-family: FontAwesome;
    content: "\f105";
    color: inherit;
    font-weight: normal;
    position: absolute;
    right: 15px;
  }
  .wrap-globalnavi-sp ul li a:hover, .wrap-globalnavi-sp ul li a:focus {
    color: #515151;
    opacity: 1;
  }
  .wrap-globalnavi-sp ul li.menu-item-has-children > a::after {
    content: "\f196";
  }
  .wrap-globalnavi-sp ul li.menu-item-has-children.dropdown_open > a::after {
    content: "\f147";
  }
  /******************************************************************

    サイドバー

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

    ユーティリティナビゲーション

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

    フッター

  ******************************************************************/
  #footer {
    padding: 0.5rem 0;
    font-size: var(--font-size-16px);
  }
  .footer__cta {
    gap: 0.5rem 0.5rem;
  }
  .footer__text {
    text-align: center;
  }
  .footer__cta-links {
    gap: 0.5rem 0.5rem;
    flex-wrap: nowrap;
  }
  .footer__cta--button {
    font-size: var(--font-size-16px);
    padding: 0.5rem 0.5rem;
  }
  .footer__cta--button .fa-envelope {
    font-size: var(--font-size-18px);
  }

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

    トップページ(toppage)

  ******************************************************************/
  /* home utilities */
  .home .u-mb-m {
    margin-bottom: 2rem;
  }
  .home .u-mb-l {
    margin-bottom: 4rem;
  }

  /* home 汎用 */
  .home .section__header {
    margin-bottom: 1.5rem;
  }
  .home .section__title {
    font-size: var(--font-size-22px);
  }
  .home .section__header-note {
    margin-top: 0.5rem;
  }

  /* mv */
  .home #mv {
    background-image: url(assets/images/mv-sp.webp);
  }

  .home .mv__date img {
    max-width: 350px;
  }

  /* lead */
  .home #lead {
      padding: 50% 0 0;
      margin-top: -50%;
  }
  .home .lead__title {
    margin-bottom: 1.5rem;
  }
  .home .lead__text {
    margin: 0 auto 1.5rem;
  }
  .home .lead__info, 
  .home .section__body {
    margin-bottom: 2rem;
  }
  .home .lead__title--small {
    font-size: var(--font-size-32px);
  }
  .home .lead__title--large {
    font-size: var(--font-size-32px);
  }
  .home .lead__text > p {
    font-size: var(--font-size-18px);
    text-align: left;
  }
  .home .lead__text > .lead__text--large {
    font-size: var(--font-size-18px);
  }
  .home .lead__info-table {
      font-size: var(--font-size-18px);
  }
  .home .lead__info-table th,
  .home .lead__info-table td {
    display: block;
    width: 100%;
    padding: 0.5rem 1rem;
    text-align: center;
  }
  .home .audience-card {
    padding: 0 0 0.5rem 1rem;
  }
  .home .audience-card__icon {
    max-width: 36px;
    padding: 0;
  }
  .home .audience-card__icon img {
    max-width: 36px;
  }
  .home .audience-card__title {
    font-size: var(--font-size-18px);
  }
  .home .audience-card__list,
  .home .audience-card__fee {
    font-size: var(--font-size-16px);
    width: 50%;
  }
  .home .lead__cta--button {
    max-width: 320px;
    font-size: var(--font-size-22px);
    padding: 0.5rem 1rem;
    margin-bottom: 1rem;
  }
  .home .lead__cta-note {
    font-size: var(--font-size-16px);
  }
  
  /* event-tabs */
  .home .event-tabs {
    padding: 0 0;
  }
  .home .event-tabs__link {
    font-size: var(--font-size-16px);
    padding: 0.5rem 0.5rem;
  }
  
  /* flow */
  .home .flow-card__title {
    font-size: var(--font-size-18px);
    padding: 0.4rem 1rem;
  }
  .home .flow-table th,
  .home .flow-table td {
    padding: 0.5rem 1rem;
    display: block;
    width: 100%;
    text-align: left;
  }
  .home .flow-table th {
    border-bottom: none;
    padding-bottom: 0;
  }
  .home .flow-table td {
    border-top: none;
    border-bottom: none;
    padding-top: 0;
    padding-left: 1.5rem;
  }
  .home .flow-table tr:last-child td {
    border-bottom: 1px solid var(--home-color-05);
  }
  .home .flow-table__time {
    width: 100%;
  }
  
  /* reception */
  .home .reception__list {
    flex-direction: column;
  }
  .home .reception__item {
    width: 100%;
    max-width: 100%;
  }
  .home .reception-card__googlemap {
    padding-top: 56.3%;
  }
  
  /* details */
  .home .details-table th,
  .home .details-table td {
    padding: 0.5rem 1rem;
    display: block;
    width: 100%;
    text-align: left;
  }
  .home .details-table th {
    border-bottom: none;
    padding-bottom: 0;
  }
  .home .details-table td {
    border-top: none;
    border-bottom: none;
    padding-top: 0;
    padding-left: 1.5rem;
  }
  .home .details-table tr:last-child td {
    border-bottom: 1px solid var(--home-color-05);
  }
  .home .details-table__label {
    width: 100%;
  }
  
  /* workshop */
  .home .workshop-image {
    margin-bottom: 1rem;
  }
  .home .workshop-title {
    font-size: var(--font-size-18px);
    margin-bottom: 0.5rem;
  }

  /* about-otoyo */
  .home .about-otoyo__title {
    font-size: var(--font-size-32px);
  }
  .home .about-otoyo__body {
    padding: 1.5rem 0;
  }
  .home .about-otoyo__text-title {
    font-size: var(--font-size-22px);
    margin-bottom: 0.5rem;
    text-align: center;
  }

  /* slider */
  .slider--youtube .slider__item {
    margin: 0 0.5rem;
  }
  .slider--youtube .slider__media {
    transform: initial;
  }
  .slider--youtube .slide-arrow {
    bottom: -64px;
    top: initial;
    width: 50px;
    height: 50px;
  }
  .slider--youtube .prev-arrow {
    left: 0;
  }
  .slider--youtube .next-arrow {
    right: 0;
  }
  
  /* modal */
  .home .modal__container {
    padding: 2rem 1rem;
  }
  .home .modal__desc p br {
    display: none;
  }


  

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

    投稿（お知らせ）

  ******************************************************************/
  .postlist .postlist-ul li .hover_ul {
    padding: 1.5rem 1rem;
  }
  /* single
  -------------------------------------------------------*/
  .single-post .single_inner_width {
    width: 100% !important;
    margin: 0 auto !important;
  }
  .single-post .post-category {
    gap: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .single-post .article-header .single-title_wrapper {
    margin-bottom: 2rem;
    border: none;
    border-bottom: 1px solid #dddddd;
    padding: 0;
    padding-bottom: 1rem;
    border-radius: 0;
  }
  h1.page-title,
  h1.single-title {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
  }
  .single-post .entry-content p {
    font-size: 0.875rem;
  }
  .single-post .article-footer {
    margin-bottom: 2.4rem;
  }
  /******************************************************************

    固定ページ(page)

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

    カスタム投稿

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

    404 Page Not Found

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

    お問い合わせフォーム

  ******************************************************************/
}
/* 641以下end */

/* 479px以下: SP screens */
@media only screen and (max-width: 29.938em) {
  /* footer */
  #footer {
    padding: 0.25rem 0;
    font-size: var(--font-size-14px);
  }
  .footer__cta {
    gap: 0.25rem 0.5rem;
  }
  .footer__text {
    text-align: center;
  }
  .footer__cta-links {
    gap: 0.5rem 0.5rem;
  }
  .footer__cta--button {
    font-size: var(--font-size-14px);
    padding: 0.25rem 0.5rem;
  }
  .footer__cta--button .fa-envelope {
    font-size: var(--font-size-16px);
  }

  /* lead */
  .home .audience-card__list,
  .home .audience-card__fee {
    width: 100%;
  }
  .home .audience-card__list {
    padding-right: 0;
    border-right: none;
  }
  .home .audience-card__fee {
    padding-left: 0;
  }
  .home .lead__cta-note {
    text-align: left;
    text-indent: calc(-1 * var(--font-size-16px));
    padding-left: var(--font-size-16px);
  }
}
