@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Template:   cocoon-master
Version:    1.0.7
*/
/************************************
** 子テーマ用のスタイルを書く
************************************/

.entry-content p:empty {
  height: 1em;
}

.article h2 {
  position: relative;
  padding: 0.5em 0.5em;
  background: -webkit-linear-gradient(to top, #ffb7b7, #ff5757);
  background: linear-gradient(to top, #ffb7b7, #ff5757);
  color: #fff;
}



.article h3 {
  border: none;  /*Cocoon標準のデザインにあるボーダーを取る*/
  position: relative;  /*要素を相対配置にする*/
  padding: .1em .3em .4em .5em;  /*余白*/
  border-left: solid 8px #ff9797;  /*左の線の種類、太さ、色*/
  color: #3e3e3e;  /*文字の色*/
  border-bottom: solid 2px #ff9797;  /*下の線の種類、太さ、色*/
}
.article h3:before { /*左ラインの下部の色*/
  position: absolute;  /*要素を絶対配置にする*/
  content: '';  /*空欄を挿入する*/
  left: -8px;  /*左下部の線の位置の調整*/
  bottom: -2px;  /*左下部の線の位置の調整*/
  width: 8px;  /*左下部の線の太さ*/
  background-color: #ff5757;  /*左下部の色*/
  height: 50%;  /*左下部の線の色の高さ*/
}

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

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

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

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


text-emphasis-style: dot;	//'•'

/* リンクの下線を消すCSS */
a {
text-decoration: none;
}

/*グローバルメニューの高さを変更*/
#navi .navi-in > ul li{
	height: 35px;
	line-height: 35px;
}

@media screen and (max-width: 1023px) {
  #navi .navi-in > .menu-mobile li {
    width: 25%;
  }
}

/*ボタンと脚注の設定*/
.footnotes {
  border-bottom: 1px solid #ff9797;
  font-size: 18px;
  font-weight: bold;
  padding: 3px 10px;
}

.pulse-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background-color: #ff5757;
color: #fff;
 font-size: 18px;

  cursor: pointer;
  transition: box-shadow 0.3s;
}

.pulse-btn::before, .pulse-btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border: 0.7px solid #ff9797;
  border-radius: 50%;
  box-sizing: border-box;
  pointer-events: none;
}

.pulse-btn:hover {
  box-shadow: 0 0 20px #ff5757;
color: #fff;

}

.pulse-btn:hover::before, 
.pulse-btn:hover::after {
  animation: pulsate 2.6s ease infinite;
}

.pulse-btn:hover::after {
  animation-delay: 1.3s;
}

@keyframes pulsate {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: scale(2);
    opacity: 0;
  }
}

@media (max-width: 834px) {
  .logo-image {
    padding-top:40px;
  }
}

/* ヘッダーコンテナ幅 */
#header-in {
  max-width: 835px;
}

/* ヘッダーロゴ画像幅 */
.logo-header img {
  width: 300px;
}


/* ヘッダーロゴを左端に配置 */
.logo {
  text-align: left;
}

/* キャッチフレーズを両端均等配置 */
.tagline {
  text-align-last: justify;
}

/* Translateをヘッダーコンテンナの右端に配置 */
#glt-translate-trigger {
  right: calc(50% - 415px);
}

@media (max-width: 834px) {
  .logo-image {
    padding-top:40px;
  }
}

@media (width <= 834px) {
  #glt-translate-trigger {
    right: 0;
  } 
}

/* スマホ時のグローバルメニューを2行以内で表示＆余白調整 */
@media screen and (max-width: 1023px) {
  #navi .navi-in > .menu-mobile {
    flex-wrap: wrap !important;   /* 折り返しを許可 */
    justify-content: center;      /* 中央寄せ */
  }

  #navi .navi-in > .menu-mobile li {
    width: auto !important;       
    min-width: 25% !important;    /* 1項目の最低幅（好みで25〜30%） */
    height: auto !important;      
    line-height: normal !important; /* デフォルトのline-heightを解除 */
    white-space: normal !important;
  }

  #navi .navi-in > .menu-mobile li a {
    display: block !important;
    white-space: normal !important;
    text-overflow: unset !important;
    overflow: visible !important;
    padding: 0.5em 0.8em !important; /* 文字上下の余白 */
    height: auto !important;
    line-height: 1.2 !important;   /* ← ここだけ残す */
  }
}

