@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
header .l-bnr img {
  vertical-align: top;
}
header ul{
  list-style: none;
  padding: 0;
}
header .logo h1{
  margin: 0;
  line-height: 0;
}
header a{
  text-decoration: none;
}
#Header_search_form_01 input[type="text"]{
  font-size: 0.8rem;
}
#search-wrap input[type="text"],
#search-wrap input[type="password"]{
  font-size: 0.8rem;
}
header #search-wrap{
  line-height: 0;
}
header .ico-user-01,
header .ico-user-02{
  vertical-align: sub;
}
#sub-column .d-menu-nav a{
  color: #000;
}
footer {
  line-height: 110%;
}
footer a {
  text-decoration: none;
}
footer ul {
  list-style: none;
  padding: 0;
}

/* カレンダー用 */
#snav_calendar h2 {
  background-image: none;
}
#subc_calendar {
  background-color: #EFEFEF;
  margin-bottom: 20px;
  width: 100%;
}
div.subc_cal_cont {
  background-color: #FFF;
}
div#subc_calendar h2 {
  padding: 20px 0 10px;
  position: relative;
  text-align: left;
  background: none;
  color: #333;
  display: block;
  font-size: 100%;
  font-family: serif;
}
div#subc_calendar h2::before {
  content: "Calendar";
}
/*
div#subc_calendar h2::after {
  bottom: 0;
  content: "カレンダー";
  font-size: 80%;
  height: initial;
  left: 0;
  line-height: initial;
  position: absolute;
  right: 0;
  top: 39px;
}
*/
div.cal_wrapper {
  padding: 7px 2% 0;
}
div.cal_wrapper table.cal {
  width: 100%;
  line-height: 130%;
  margin-bottom: 0;
}
div.cal_wrapper table.cal th {
  height: 17px;
  position: relative;
  font-weight: normal;
  background: #FFF;
  border: none;
}
table tr:nth-of-type(2n+1) {
  background-color: #FFF;
}
table:not(.has-border-color) :where(th, td){
  padding:0;
}
div.cal_wrapper table.cal tr th p.month {
  font-size: 80%;
  position: absolute;
  text-align: center;
  top: -2px;
  width: 100%;
  font-weight: normal;
}
div.cal_wrapper table.cal tr th input {
  border: none;
  z-index: 1;
}
div.cal_wrapper table.cal tr th input.prev {
  background: url(https://www.tryshop.jp/hpgen/HPB/theme/img/calendar_pleft.gif) no-repeat left bottom #FFF;
  height: 17px;
  position: absolute;
  left: 0;
  top: 0;
  vertical-align: middle;
  width: 17px;
}
div.cal_wrapper table.cal tr th input.next {
  background: url(https://www.tryshop.jp/hpgen/HPB/theme/img/calendar_pright.gif) no-repeat right bottom #FFF;
  height: 17px;
  position: absolute;
  right: 0;
  top: 0;
  vertical-align: middle;
  width: 17px;
}
div.cal_wrapper table.cal tr td {
  border: solid 1px #CCC;
  font-size: 70%;
  text-align: center;
}
div.cal_wrapper table.cal tr.headline td {
  border: none;
  padding: 10px 0 2px 0;
}
div.subc_cal_cont .cap {
  font-size: 60%;
  padding: 0 2%;
  width: auto;
}
div.subc_cal_cont .cap ul {
  margin: 3px 0 0;
}
div.subc_cal_cont .cap li {
  display: inline-block;
  line-height: 140%;
  overflow: hidden;
}
div.subc_cal_cont .cap li span {
  margin: 0 10px 0 0;
}
div.subc_cal_cont .cap .ico_cap01 {
  font-size: 120%;
  vertical-align: middle;
  margin: 0 2px 0 0;
  color: #FF5078;
}
div.subc_cal_cont .cap .ico_cap02 {
  font-size: 120%;
  vertical-align: middle;
  margin: 0 2px 0 0;
  color: #39F;
}
div.subc_cal_cont .cap .cap-info {
  background-color: #FFF;
  line-height: 140%;
  padding: 10px 3%;
}
div.cal_wrapper table.cal tr td div.Deli {
  background-color: #EFE;
}
div.cal_wrapper table.cal tr td div.Holyday {
  background-color: #FF5078;
  color: #FFF;
}
div.cal_wrapper table.cal tr td div.backward {
  color: #CCC;
  font-weight: normal;
  background-color: #FFF;
}
div.cal_wrapper table.cal tr td div.pointer {
  cursor: pointer;
}
div.cal_wrapper table.cal tr td div.pointer:hover {
  background-color: #EEE;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/************************************
** フッターサイトマップ用
************************************/
.footerSitemap a {
  color: #FFF !important;
  text-decoration: none;
  font-size: 14px;
  padding: 5px 0;
  display: inline-block;
}
.footerSitemap a:hover {
  opacity: .8;
}
.footerSitemap a:visited{
  color: #FFF !important;
}
.footerSitemapHl > a {
  display:block;
  font-size: 16px;
  border-bottom:1px solid #474747;
  padding-bottom: 10px;
  margin-bottom: 5px;
}
.footerSitemap ul ul li a::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  left: -1rem;
  top: .8rem;
}
.footerSitemap .toggle {
  color: #FFF;
  font-size: 14px;
  margin-left: 10px;
  cursor: pointer;
  display: none;
}

/* リスト全体を3列に表示 */

.footerSitemap > ul {
  list-style-type: none; /* デフォルトのリストマーカーを削除 */
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap; /* 複数行にわたってアイテムを表示 */
}

.footerSitemap > ul > li{
  width: calc(94% / 3);
  margin: 1%;
}
.footerSitemap ul li {
  flex: unset; /* 各アイテムを30%の幅で表示（3列） */
}

.footerSitemap ul ul {
  margin-left: 20px; /* サブリストをインデント */
  padding-left: 0;
  width: 100%;
}

.footerSitemap ul ul li {
  flex: 1 1 100%; /* サブリストは1列表示 */
  position: relative;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .footerSitemap{
    display:block;
  }
  .footerSitemap ul{
    width:100%;
  }
  .footerSitemap a{
    padding: .8rem 0;
  }
  .footerSitemap ul li {
    flex: 1 1 45%; /* 画面幅が768px未満の場合は2列表示 */
  }
}
@media (max-width: 480px) {
  .footerSitemap{
    display:block;
  }
  .footerSitemap ul{
    width:100%;
  }
  .footerSitemap a{
    color:#FFF !important;
    padding: 1rem 0;
  }
  .footerSitemap ul ul{
    margin-left:0;
  }
  .footerSitemap ul ul li a::before{
    top: 1.5rem;
    left: 0;
  }
  .footerSitemapSub a{
    padding-left:1rem;
  }
  .footerSitemap ul li {
    flex: 1 1 100%; /* 画面幅が480px未満の場合は1列表示 */
  }
  .footerSitemapHl{
    position: relative;
  }
  .footerSitemapHl a{
    display: block;
    width: 100%;
  }
  .footerSitemap .toggle {
    display: inline;
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1rem;
    padding: .8rem 1rem;
  }
  .footerSitemapSub {
    max-height: 0; /* 初期状態で高さ0 */
    overflow: hidden; /* はみ出た部分を非表示にする */
    transition:max-height ease .4s; /* 高さを滑らかに変更 */
    -webkit-transition: ease .4s;
  }
  .footerSitemapSub.expanded {
    max-height: 1000px; /* 十分に大きな値を設定 */
  }
  .footerSitemap > ul > li{
    margin: 0 1%;
  }
}