@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
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/


/************************************
**フッターの上の余白を消す
************************************/
main#main {
  border:0;
  padding-bottom:0;
}
 
.body .article {
  margin-bottom: 0;
}
 
.entry-content {
  margin-bottom: 0;
}
 
footer#footer {
  margin-top: 0;
}

/*リンク マウスオーバー時の文字色*/
a:hover{
	color:#ff7043;
}

/*リンク マウスオーバー時の文字色*/
a.wp-block-button__link.has-background.wp-element-button {
  transition: background-color 0.5s ease, color 0.5s ease;
}
a.wp-block-button__link.has-background.wp-element-button:hover {
  background-color: #C0C0C0!important;
  color: #ffffff;
}


/*検索ボタンの色変更*/
button.wp-block-search__button.wp-element-button{
	background:#2e3963;
}

/*カテゴリタイトルの背景色変更*/
h3.widget-sidebar-title.widget-title{
	background:#f4f4f4;
	color:#333333;
}

/*表*/
table {
    width: 100% !important; /* テーブルの横幅を100%に設定 */
    border-collapse: collapse !important; /* セル間の隙間を削除 */
}
table, th, td {
    border: 1px solid #ccc !important; /* テーブルの境界線の色を薄いグレーに設定 */
}
th, td {
    padding: 10px !important; /* セルの内部余白を設定（適宜調整可能） */
    text-align: left !important; /* セル内のテキストを左寄せに設定 */
}

/*フッター余白を変更*/
.footer-bottom{
	margin:0;
	padding:0;
}

/*TOPへ戻るボタン*/
.go-to-top-button{
	border-radius:0;
}


/* 4. ぼかしを0にしてボーダーのような表現も可能 */
.shadow_img1{
  box-shadow: 3px 3px 5px 0 rgb(0, 0, 0);
}

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

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

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

エントリー記事内の画像に影を付ける

/*****************************
** ●エントリー記事内の画像に影を付ける
*****************************/
.shadow_img1{
  -webkit-box-shadow: 0 10px 0px -6px #8d8c8c; /*シャドー（影）*/
  -moz-box-shadow: 0 10px 0px -6px #8d8c8c;
  box-shadow: 0 10px 0px -6px #8d8c8c;
}


/* ヘッダーロゴを非表示 */
@media screen and (max-width: 1023px) {
.logo-header {
display: none;
}
}

/* モバイルスライドインメニュー */
.fa-times {
color: #000057;/* 閉じるボタンの色 */
font-size: 0.8em;
}
ul.menu-drawer:before {
background-color: #000057;/* Menu背景色 */
font-size: 1.2em;
}
ul.menu-drawer:after {
background-color: #fff;
}
.menu-drawer a {
color: #333 !important;/* 文字色 */
font-size: 1.2em;
font-weight: 900;
}
.menu-drawer a:hover {
background-color: #eff8f9;
}
.menu-drawer a .fas, .menu-drawer a .far,.menu-drawer a .fa,.menu-drawer a .fab {
margin-right: 3px;
}
.sub-menu li {
font-size: 0.8em;
}

/************************************
** お問い合わせフォームの入力
************************************/
#cf-tbl{
width: 100%;
}

#cf-tbl table{
width: 100%;
border-collapse: collapse;
border: solid #CCC;
border-width: 1px;
color: #444;
}
#cf-tbl table tr th,
#cf-tbl table tr td{
padding: 0.5em;
text-align: left;
vertical-align: top;
border: solid #CCC;
border-width: 1px;
vertical-align: middle;
}
#cf-tbl table tr th{
width: 35%;
background: #eee;
}
@media screen and (max-width:768px){
#cf-tbl{
width: 100%;
}

#cf-tbl table,
#cf-tbl table tbody,
#cf-tbl table tr,
#cf-tbl table tr th,
#cf-tbl table tr td{
display: block;
}

#cf-tbl table{
width: 100%;
border-width: 0 0 1px 0;
}

#cf-tbl table tr th,
#cf-tbl table tr td{
width: 100%;
padding: 3% 5%;
}

#cf-tbl table tr td{
border-width: 0px 1px 0px 1px;
}
}
/*「必須」文字デザイン*/
.required{
font-size:.8em;
padding: 5px;
background: #F57500;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/*「任意」文字デザイン*/
.optional{
font-size:.8em;
padding: 5px;
background: #000080;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/* 入力項目を見やすく */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	background-color: #eff1f5;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/* 「送信する」ボタン */
input.wpcf7-submit {
    display: block;
    padding: 15px;
    width: 400px;
    background: #ffaa56;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    border-radius: 2px;
    margin: 15px auto 0
}
@media screen and (max-width:768px){
input.wpcf7-submit {
width: 250px;
}
}

input.wpcf7-submit:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(0px);
	opacity:0.7;
}
/* エラーメッセージを見やすく */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}

/************************************
** スマホのみ表示　PCのみ表示　
************************************/
<style>
.example>div{
    border: 1px solid #999;
    background: #f2f2f2;
    padding: 10px;
    margin: 10px;
}
@media(min-width:751px){
    .sp{
        display: none !important;
    }
}
@media(max-width:750px){
    .pc{
        display: none !important;
    }
}
</style>
<div class="example">
    <div class="sp">PCのとき非表示</div>
    <div class="pc">スマホのとき非表示</div>
    <div>どちらでも表示</div>
</div>


/************************************
** フロントページのスライド画像を横幅最大化
************************************/ 
.ContentOver-box{
  padding: 0 rem 0;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  background: #ddd;
}

.content {
  margin-top: 0;
}
.article h1 {
  margin-top: 0;
  padding-top: 0;
}

/************************************
** フッターの画像を中央揃え
************************************/ 
.footer-widgets-mobile .widget_media_image {
  text-align: center;
}

/************************************
** スクロール時に特殊効果
************************************/
.scroll-space{
  box-sizing: border-box;
  padding-top: 300px;
  height: 1600px;
  color: #fff;
  overflow: hidden;
  .blue{
    background: #77BBCF;
    width: 200px;
    height: 200px;
    padding: 30px;
    margin: 0 auto 50px;
  }
  .pink{
    background: #FFB4B4;
    width: 200px;
    height: 200px;
    padding: 30px;
    margin: 0 auto 50px;
  }
  .yellow{
    background: #F8913C;
    width: 200px;
    height: 200px;
    padding: 30px;
    margin: 0 auto 50px;
  }
  .green{
    background: #26AA5A;
    width: 200px;
    height: 200px;
    padding: 30px;
    margin: 0 auto 50px;
  }
}
.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 1.5s;
  &.fadein-left{
      transform: translate(-30px,0);
  }
  &.fadein-right{
      transform: translate(30px,0);
  }
  &.fadein_up{
      transform: translate(0,-30px);
  }
  &.fadein-bottom{
      transform: translate(0,30px);
  }
  &.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }
}


/************************************
** 画像を画面いっぱいに
************************************/

.inner {
	width: 520px;
	max-width: 100%;
	margin: 0 auto;
	background: #eee;
}

.full {
	background: #ffffff;
	padding: 0px 0px;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

.body {
	padding: 0px 0px;
	margin-top: 0px;
}

*ナビゲーションメニュー背景透明化*/
.header-container,.navi{
background:rgba(255,255,255,0.5);
}
/*ナビゲーションメニュー背景透明化*/
.mobile-header-menu-buttons {
  background: rgba(255,255,255,0.5);
}

.info-list-caption{
text-align:left; /*テキスト左寄せ*/
padding-left: 0.5em; /*枠の中でテキスト開始位置を少し左にする*/
background-color:black; /*背景色*/
color:white; /*文字色*/
}

.info-list-item-content-link{
color: darkblue; /*文字色*/
}

.entry-category{
background-color:black; /*背景色*/
color:white; /*文字色*/
}


/************************************
** 電話問い合わせとメールと言い合わせの背景を画面横幅いっぱいにする
************************************/
/* カバーブロック用：インナーブロックの中央寄せを追加 */
.cstm-blk-fullwide-inner {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 0 calc(50vw - 50%);
}

.menu-drawer a {
font-size: 1.2em; /*フォントサイズ*/
line-height: 1.8em; 
border-bottom: solid 2px #e6e6e6;
}
.menu-drawer a:hover {
background-color:#ffc0cb;　/*マウスオーバー時の背景色*/
}
.sub-menu li {                                      
margin-left:-14px;
font-size: 0.9em;
color: #e6e6e6;
}


/*--------------------------------------------------
 更新情報ブロック（Nintendo風仕上げ）※flex方式に戻したバージョン
--------------------------------------------------*/
.top-information-list {
  list-style: none;
  padding: 0 16px;
  margin: 0 auto;
  max-width: 800px;
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 0;
  box-sizing: border-box;
  align-items: center;
}

.top-information-list .wp-block-post {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  border-bottom: 1px solid #e0e0e0;
  padding: 14px 0;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
  max-width: 680px;
  box-sizing: border-box;
}

.top-information-list .wp-block-post-date {
  color: #555;
  font-size: 13px;
  white-space: nowrap;
  font-weight: 500;
  min-width: 100px;
  margin-top: 2px;
}

.top-information-list .wp-block-post-terms,
.top-information-list .wp-block-post-terms a {
  background-color: #f0f0f0;
  color: #444 !important;
  width: 88px;
  text-align: center;
  padding: 1px 0;
  font-size: 11px;
  font-weight: bold;
  border-radius: 0;
  display: inline-block;
  text-decoration: none;
  transition: background-color 0.3s ease;
  white-space: nowrap;
  margin-top: 1px;
}

.top-information-list .wp-block-post-terms a:hover {
  background-color: #ccc;
}

.top-information-list .wp-block-post-title {
  flex-grow: 1;
  margin-top: 1px;
  min-width: 100%;
  box-sizing: border-box;
}

ul.top-information-list li h1.wp-block-post-title a,
body.page-id-2004 h2.wp-block-post-title a,
.top-information-list .wp-block-post-title a {
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
  color: #000 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  display: inline;
}

ul.top-information-list li.wp-block-post .wp-block-post-title a:hover {
  color: #2e3963 !important;
  text-decoration: underline !important;
}

@media screen and (max-width: 768px) {
  .top-information-list {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }

  .top-information-list .wp-block-post {
    width: 100% !important;
    box-sizing: border-box;
    margin: 0 !important;
  }

  .top-information-list .wp-block-post-title,
  .top-information-list .wp-block-post-date,
  .top-information-list .wp-block-post-terms {
    box-sizing: border-box;
  }
}

@media screen and (max-width: 768px) {
  /* クエリループ全体を中央に */
  .top-information-list {
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  /* 各記事ブロックも幅を100%指定 */
  .top-information-list .wp-block-post {
    width: 100% !important;
    box-sizing: border-box;
  }

  /* WordPressブロックに幅制限があれば強制解除 */
  .wp-block-group,
  .wp-block-query,
  .wp-block-query-loop {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
    box-sizing: border-box;
  }
}

/*--------------------------------------------------
 モバイル：更新情報ブロックの中央寄せ＆スペース解消
--------------------------------------------------*/
@media screen and (max-width: 768px) {
  .top-information-list {
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .top-information-list .wp-block-post {
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    max-width: 680px !important;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }

  .wp-block-query,
  .wp-block-query-loop,
  .wp-block-group,
  .is-layout-flow,
  .is-layout-flex {
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  ul.wp-block-post-template {
    padding-left: 0 !important;
  }
}
