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

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

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

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

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
	
/*上下に線*/
.midashi {
	padding: 1.2em 0 1.2em;
    border-top: 2px solid #1c67a0;
    border-bottom: 1px solid #e9e9e9;
	margin: 20px 10px 20px 10px;
	font-size: 22px;/*文字サイズ*/
}

/*ピンク角丸文字囲み*/
.maru_kakomi {
	background: #fe8ca0;/*背景色*/
	color:#fff;/*文字色*/
	line-height: 3.5;
	margin-bottom: 50px;/*文字下の余白*/
	padding: 6px 20px;
	border-radius: 20px;/*左右の余白*/
	font-size:18px;/*文字サイズ*/
	font-weight:bold;
}

/*ストライプ＋上下線*/
.stripe {
	font-size : 14px;
	margin-bottom : 1em;
	font-weight : bold;
	text-align : center;
	padding : 1em;
	border-top : 2px solid #000000;
	border-bottom : 2px solid #000000;
	background : repeating-linear-gradient(-45deg, #fafafa, #fafafa 2px, #ffffff 2px, #ffffff 14px);
}

/*中央寄せ下線*/
.sitasen {
	text-align: center;
	position: relative;
	font-weight: bold;
	margin-bottom: 2em;/*文字後の余白*/
	padding: 2em 0 24px;
    background: none;
}
.sitasen::after{
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	bottom: 0;
	width: 90px;
	margin: auto;
	border-bottom: 4px solid #000;
} 

/*注意書き用ボックス*/
.cyuuibox {
    position: relative;
	margin: 5em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
}
.cyuuibox .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #95ccff;
    font-weight: bold;
}
.cyuuibox p {
    margin: 5px;
    padding: 5px;
    text-decoration: underline #95ccff;
}


/*リンク用ボックス*/
.top_link{
    position: relative;
	margin: 15px 5px 15px 5px;
	padding: 10px;
    background-color: #f3f3f3;
    font-weight: bold;
    text-align: center;
	font-size: 18px;
}
.top_link::before{
	padding: 0px 15px 0px 0px;
	text-align:center;
	vertical-align: middle;
	line-height: 30px;
	  font-family: "FontAwesome";
	content: "\f055";/*アイコンのユニコード*/
	font-weight: 900;
	color: #55a3e5;
}
/*ホワイト背景囲みボックス*/
.white-box {
    display: block;
    padding: 20px;
	margin-top: 10px;
	margin-bottom: 10px;
	border: 8px solid #55a3e5;
	background: #fff;
}
/*文字下に色違いの線*/
.center {
	border-bottom: solid 1px #ccc;
		color: #0f3381;
	position: relative;
		text-align:center;
		font-weight: 600;
		font-size: 20px;
	padding: .8em 0 .7em;
	border-top: none;
	display: block;
}

.center:after {
 content: ".";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: -1px;
	width: 40%;
    border-bottom: 1px solid #0f3381;
}

/*文字装飾の下線*/
.yellow_line {
  border-bottom: solid 2px #FFFF88;
}
.blue_line {
  border-bottom: solid 2px #A7F1FF;
}
.pink_line {
  border-bottom: solid 2px #FFABCE;
}

/*水色の点線（フッター店舗用）*/
.tenpo {
	color: #364e96;/*文字色*/
	padding : 0.5em 0.5em;/*上下の余白*/
	border-bottom: dashed 2px #b5d1ff;/*下線*/
}


/* Tableプレスの枠線白く */
.post table {
	margin-bottom: 30px;
}
.post td, .post th {
    padding: 6px 6px;
    border: 0 solid #FFF;
}
.post th {
	text-align: center;
	background: #f5f5f5;
}

/*パンくずリストの余白調整 */
#breadcrumb {
    margin: 8px 0 0px;
    padding: 4px;
    line-height: 1;
}

/*固定ぺージの余白調整 */
.grid {
    padding: 8px 8px;
    background: #fff;
    border: 0 solid #ddd;
}

/*メニューバーの色 */
#nav, #gnavi ul.gu {
	background: #17a6ff;
}

/*モバイルでのサイトロゴの余白調整 */
.info {
    padding: 13px 10px;
    overflow: hidden;
}
#sitename {
    display: inline-block;
    max-width: 100%;
    margin: 0 0 2px;
    font-size: 2.8rem;
    line-height: 1.4;
}

/*ホバーの文字色 */
a {
	color: #17a6ff;
}

.post a {
    text-decoration: none;
}

.post h2 {
	border-left: 8px solid #FFF;
    font-size: 2.4rem;
    margin-top: 50px;
    padding: 8px 20px;
}

.wp-block-button__link:hover{
  opacity: 0.6;
}

/*ステップフローのCSS*/
ul.stepflow {
	border: none;
	margin: 1em 0.5em;
	padding: 0;
	list-style: none;
}
ul.stepflow > li:before, ol.stepflow > li:before {
	background-color:#cccccc!important;
}
.stepflow li {
    position: relative;
    padding: 0 0 1.5em 1.8em;
}
.stepflow>li:before {
	content: "";
	width: 3px;
	background: #cccccc;
	display: block;
	position: absolute;
	top: 28px;
	bottom: 0;
	left: 5px;
}
.stepflow-white {
	content: '';
	display: inline-block;
	position: absolute;
	top: 5px;
	left: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: solid 3px #17a6ff;
}
.stepflow-black {
	content: '';
	display: inline-block;
	position: absolute;
	top: 5px;
	left: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: solid 3px #17a6ff;
	background-color: #17a6ff;
}
.stepflow_label {
	padding: 3px 0px 8px 0px;
	margin-bottom:8px;
	color: #999999;
	font-size: 14px;
	font-weight: bold;
}
.stepflow_title {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom:15px;
}
.stepflow_content {
	font-size: 14px;
	line-height: 1.6em;
	margin-top: .5em;
	padding: 0 0 1.5em;
	border-bottom: dashed 1px #cccccc;
}
/*ステップフローのCSSここまで*/

#sitename {
	display: inline-block;
    max-width: 50%;
    margin: 0 0 2px;
    font-size: 2.8rem;
    line-height: 1.4;
}
/*上下の囲み点線ライトナビ用*/
.chevron {
  position: relative;/*相対位置*/
  padding: 6px 3px 3px 20px;/*文字上の余白*/
  line-height: 1.4;/*行高*/
	font-size: 15px;/*文字サイズ*/
	margin: 7px 5px 7px 5px;
	margin-bottom: 0.5em;/*文字後の余白*/
  border-bottom: dotted 1px gray;
  background: #fff;	
  color:#333;/*文字色*/
}
.chevron:before {
  content: "・";
  position: absolute;/*絶対位置*/
  font-size: 2em;/*サイズ*/
  left: 0.25em;/*アイコンの位置*/
  top: 1em;/*アイコンの位置*/
  color: #333; /*アイコン色*/
}
/*上下の囲み点線ライトナビ用*/
a.chevron_moji {
	 color: #333; /*アイコン色*/
}
a.chevron_moji:hover {
	color: #17a6ff ; } /* オンマウス時 */

/*上下の囲み水色線ライトナビ用*/
.kakomibar {
    margin: 30px 0px 12px 0px;
    padding: 15px 0 12px;
	font-size: 16px;
    line-height: 1.5;
    text-align: center;
    border-top: solid 2px #17a6ff;
	font-weight:  bold;
    border-bottom: solid 2px #17a6ff;
}
/*黒いバーライトナビ用*/
.blackbar {
    margin: 30px 0px 10px 0;
	padding: 14px 12px;
    background: #222;
    color: #fff;
    font-size: 14px;
    line-height: 1.2;
    font-weight: normal;
}

	/*メニューヘッダーボタン*/
@media screen and (max-width: 480px){
	.mobile-menu-buttons .menu-button > a,
	.menu-button{
		color:#1e73be;
	}
	.mobile-menu-buttons .menu-button:hover{
		background-color: transparent;
		color:#1e73be;
	}
}
/*見出し2の修正*/
.article h2 {
    font-size: 0px;
    padding: 0px;
	background-color: transparent;
	border-radius: 0px;
}

/*テーブルプレス画像*/
table.tablepress img {
	max-width: 100%;
}

/* PCヘッダスマホ時に非表示　スマホ用ヘッダーロゴレイアウト崩れ修正　8/1追記　シェアストック北村追加 */
@media screen and (max-width: 1023px) {
   #header .logo-header {
        display: none;
    }
	.mobile-menu-buttons {
        display: flex;
        align-items: stretch;
    }
	.logo-menu-button {
        flex-grow: 1;
    }
}
@media screen and (max-width: 834px) {
    main.main, div.sidebar {
        padding: 8px 16px;
    }
}
.entry-content {
    margin-top: 0em;
}
.mobile-menu-buttons .menu-button {
    position: relative;
    width: 70px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* 8/1追記　終了 */

/* カスタムCSSを外部へ　　2024/9/11 シェアストック北村追加　 */
/*1023px以下でモバイル用のロゴ表示*/
/*1023px以下でモバイル用のロゴ表示*/
@media screen and (max-width: 1023px){
	.logo-menu-button.menu-button{
		background-image: url(https://smart-clear.jp//wp/wp-content/uploads/2023/05/new-logo-scaled_new4-_1_.webp);
		background-size: auto 44px;
		background-position: center;
		background-repeat: no-repeat;
}
}
/*1023px以下でロゴを消す*/
@media screen and (max-width: 1023px){
	img.site-logo-image{
		visibility: hidden;
	}
}
.sidebar .widget {
    margin-bottom: 0 !important;
}
/* 2024/9/11 追記終了 */

#metaslider-id-381{
	display: block;
  }
#metaslider-id-113298{
	  display:none;
  }
@media screen and (max-width: 480px){
	/*必要ならばここにコードを書く*/
	#metaslider-id-381{
	  display: none;
	}
	#metaslider-id-113298{
		display:block;
	}
  }
/*ヘッダーナビメニュー高さ*/
.navi-in>ul .sub-menu li {
    width: auto;
    height: 50px;
}
.page-tags {
    margin-top: 20px;
    padding: 15px;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-family: Arial, sans-serif;
}

.page-tags h4 {
    margin-bottom: 10px;
    font-size: 1.2em;
    color: #333;
    border-bottom: 1px solid #ddd;
    padding-bottom: 5px;
}
.tag-list li {
    display: inline-flex; /* フレキシブルで横並び */
    align-items: center; /* 中央揃え */
    background: #ffffff; /* 背景色を白に設定 */
    color: #000000; /* 文字色を黒に設定 */
    padding: 5px 10px; /* 余白を調整して小さめに */
    border-radius: 20px; /* 丸みを付ける */
    font-size: 0.8em; /* 文字サイズを少し小さめに */
    font-weight: bold; /* 文字を太字に */
    margin: 3px; /* タグ間の余白を狭める */
    border: 1px solid #cccccc; /* 薄いグレーの境界線を設定 */
    box-shadow: none; /* シンプルなデザイン */
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.tag-list li:hover {
    background: #f9f9f9; /* ホバー時の背景色（薄いグレー） */
    border-color: #999999; /* ホバー時のボーダー色を濃く */
    color: #000000; /* 文字色はホバー時も黒のまま */
}
.tag-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tag-list li {
    display: inline-flex; /* フレキシブルで横並び */
    align-items: center; /* 中央揃え */
    background: #ffffff; /* 背景色を白に設定 */
    color: #000000; /* 文字色を黒に設定 */
    padding: 5px 10px; /* 余白を調整して小さめに */
    border-radius: 20px; /* 丸みを付ける */
    font-size: 0.8em; /* 文字サイズを少し小さめに */
    font-weight: bold; /* 文字を太字に */
    margin: 3px; /* タグ間の余白を狭める */
    border: 1px solid #cccccc; /* 薄いグレーの境界線を設定 */
    box-shadow: none; /* シンプルなデザイン */
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.tag-list li:hover {
    background: #f9f9f9; /* ホバー時の背景色（薄いグレー） */
    border-color: #999999; /* ホバー時のボーダー色を濃く */
    color: #000000; /* 文字色はホバー時も黒のまま */
}

.tag-list li a {
    text-decoration: none; /* リンクの下線を削除 */
    color: inherit; /* リンクの文字色を親要素に従わせる */
}
/* タグのリストのデザイン */
.tag-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* 各タグのデザイン */
.tag-list li {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background-color: #3b82f6;
    color: white;
    border-radius: 20px;
    font-size: 14px;
    font-weight: bold;
    border: 2px solid #3b82f6;
    transition: all 0.3s ease;
}

/* ホバー時のスタイル */
.tag-list li:hover {
    background-color: #2563eb;
    border-color: #2563eb;
    cursor: pointer;
}

/* タグ内のリンク */
.tag-list li a {
    color: white;
    text-decoration: none;
}
.tag-list li a:before {
    content: none;  /* ハッシュタグを非表示にする */
}

/* 2025/2/28 追加　シェっストック北村 */
/* 固定フッター */
body {
margin: 0;
padding-bottom: 60px; /* フッターの高さ分の余白を確保 */
}
.footer-sp {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #ebebebe3;
	display: none; /* デフォルトでは非表示 */
}
.footer-nav {
	display: flex;
	justify-content: space-around;
	padding: 10px 0;
}
.footer-nav a {
	color: #000000;
	text-decoration: none;
	font-size: 14px;
	text-align: center;
	flex: 1;
}
.footer-nav a span {
	display: block;
	font-size: 24px;
	margin-top: 5px;
}
@media screen and (max-width: 768px) {
	.footer-sp { display: block; }
}

:root {
  --img-width: 1100px;
}

/* カルーセル内容 */
.carousel-og{
	margin: 0;
}
.contains {
	/* max-width: 100vw;
	width: var(--img-width); */
	max-width: 100%;
	width: 100%;
	position: relative;
	list-style: none;
	height: 200px;
  }
  .slide_select {
	display: none;
  }
  
  /* 各スライド */
  .slide {
	/* max-width: 100vw;
	width: var(--img-width); */
	max-width: 100%;
	width: 100%;
	position: absolute;
	opacity: 0;
  }
  
  .slide-img{
	/* max-width: 100vw;
	width: var(--img-width);; */
	max-width: 100%;
	width: 100%;
  }

.carousel-og .slide a {
    position: relative;
    z-index: 10;   /* リンクを最前面に */
    display: inline-block;
}
.carousel-og .scroll_button,
.carousel-og .button_move {
    z-index: 1;    /* ナビゲーションを背面に */
}
.carousel-og .slide a {
    display: block;      /* インラインからブロックへ */
    width: 100%;         /* 親要素の幅に合わせる */
    height: 100%;        /* 高さも合わせたい場合 */
    text-decoration: none;
}
.carousel-og .slide a img {
    width: 100%;         /* 画像を親幅いっぱいに */
    height: auto;        /* 縦横比を保持 */
    display: block;      /* 余白防止 */
}

  
  /* 前へ次へボタン */
  .scroll_button {
	position: absolute;
	display: block;
	height: 30px;
	width: 30px;
	top: 50%;
	border-width: 5px 5px 0 0;
	border-style: solid;
	border-color: gray;
	cursor: pointer;
	opacity: 0.75;
	z-index: 3;
  }
  
  .scroll_button:hover {
	opacity: 1;
  }
  
  /* 前へボタン */
  .scroll_prev {
	left: 20px;
	transform: rotate(-135deg);
  }
  /* 次へボタン */
  .scroll_next {
	right: 20px;
	transform: rotate(45deg);
  }
  @media screen and (max-width: 768px) {
	.scroll_controler{
		display: none;
	} 
}
  /* スライド移動ボタンエリア */
  .move_controler {
	position: absolute;
	top: 160px;
	width: 100%;
	max-width: 100vw;
	text-align: center;
  }
  /* 画面幅が430px以上の場合 */
  @media (min-width: 430px) {
	.move_controler {
	  top: calc(100vw * 0.4);
	}
	.contains {
		height: calc(100vw * 0.5);
	}
  }

  /* 画面幅が1200px以上の場合 */
  @media (min-width: 1026px) {
	.move_controler {
	  top: calc(740px * 0.45);
	}
	.contains {
		height: 361px;
	}
  }
 
  
  /* スライド移動の各ボタン */
  .button_move {
	background-color: #44715e;
	display: inline-block;
	height: 15px;
	width: 15px;
	margin: 0 2px;
	border-radius: 100%;
	cursor: pointer;
	opacity: 0.5;
	z-index: 3;
  }
  /* ホバー時はやや明るくする */
  .button_move:hover {
	opacity: 0.75;
  }
  /* スライド移動ボタンの色 */
  .button_move {
	background-color: #44715e;
  }
  /* 1番目のスライド選択時 */
  .slide_select:nth-of-type(1):checked ~ .slide:nth-of-type(1) {
	opacity: 1;
  }
  .slide_select:nth-of-type(1):checked ~ .move_controler .button_move:nth-of-type(1) {
	opacity: 0.9;
  }
  
  .slide_select:nth-of-type(2):checked ~ .slide:nth-of-type(2) {
	opacity: 1;
  }
  .slide_select:nth-of-type(2):checked ~ .move_controler .button_move:nth-of-type(2) {
	opacity: 0.9;
  }
  
  .slide_select:nth-of-type(3):checked ~ .slide:nth-of-type(3) {
	opacity: 1;
  }
  .slide_select:nth-of-type(3):checked ~ .move_controler .button_move:nth-of-type(3) {
	opacity: 0.9;
  }
  
  .slide_select:nth-of-type(4):checked ~ .slide:nth-of-type(4) {
	opacity: 1;
  }
  .slide_select:nth-of-type(4):checked ~ .move_controler .button_move:nth-of-type(4) {
	opacity: 0.9;
  }

  .slide_select:nth-of-type(5):checked ~ .slide:nth-of-type(5) {
	opacity: 1;
  }
  .slide_select:nth-of-type(5):checked ~ .move_controler .button_move:nth-of-type(5) {
	opacity: 0.9;
  }

  .slide_select:nth-of-type(6):checked ~ .slide:nth-of-type(6) {
	opacity: 1;
  }
  .slide_select:nth-of-type(6):checked ~ .move_controler .button_move:nth-of-type(6) {
	opacity: 0.9;
  }

  .slide_select:nth-of-type(7):checked ~ .slide:nth-of-type(7) {
	opacity: 1;
  }
  .slide_select:nth-of-type(7):checked ~ .move_controler .button_move:nth-of-type(7) {
	opacity: 0.9;
  }
.slide_select:nth-of-type(8):checked ~ .slide:nth-of-type(8) {
	opacity: 1;
  }
  .slide_select:nth-of-type(8):checked ~ .move_controler .button_move:nth-of-type(8) {
	opacity: 0.9;
  }


/* お客様の声スライダー */

  .slide_select_voice {
	display: none;
  }
  
  .carousel-voice .contains {
    height: 135px;
}

.carousel-voice .move_controler {
    top: 121px;
}
  /* 各スライド */
  .slide_voice {
	/* max-width: 100vw;
	width: var(--img-width); */
	max-width: 100%;
	width: 100%;
	position: absolute;
	opacity: 0;
  }
    /* スライド移動の各ボタン */
  .button_move_voice {
	background-color: #44715e;
	display: inline-block;
	height: 15px;
	width: 15px;
	margin: 0 2px;
	border-radius: 100%;
	cursor: pointer;
	opacity: 0.5;
	z-index: 3;
  }
  /* ホバー時はやや明るくする */
  .button_move_voice:hover {
	opacity: 0.75;
  }
  /* スライド移動ボタンの色 */
  .button_move_voice {
	background-color: #44715e;
  }
@media (min-width: 1046px){
	.carousel-voice .contains {
		height: 260px;
	}
	
	.carousel-voice .move_controler {
		top: 228px;
	}
}
  /* 1番目のスライド選択時 */
  .slide_select_voice:nth-of-type(1):checked ~ .slide_voice:nth-of-type(1) {
	opacity: 1;
  }
  .slide_select_voice:nth-of-type(1):checked ~ .move_controler .button_move_voice:nth-of-type(1) {
	opacity: 0.9;
  }
  
  .slide_select_voice:nth-of-type(2):checked ~ .slide_voice:nth-of-type(2) {
	opacity: 1;
  }
  .slide_select_voice:nth-of-type(2):checked ~ .move_controler .button_move_voice:nth-of-type(2) {
	opacity: 0.9;
  }
  
  .slide_select_voice:nth-of-type(3):checked ~ .slide_voice:nth-of-type(3) {
	opacity: 1;
  }
  .slide_select_voice:nth-of-type(3):checked ~ .move_controler .button_move_voice:nth-of-type(3) {
	opacity: 0.9;
  }
  
  .slide_select_voice:nth-of-type(4):checked ~ .slide_voice:nth-of-type(4) {
	opacity: 1;
  }
  .slide_select_voice:nth-of-type(4):checked ~ .move_controler .button_move_voice:nth-of-type(4) {
	opacity: 0.9;
  }

  .slide_select_voice:nth-of-type(5):checked ~ .slide_voice:nth-of-type(5) {
	opacity: 1;
  }
  .slide_select_voice:nth-of-type(5):checked ~ .move_controler .button_move_voice:nth-of-type(5) {
	opacity: 0.9;
  }
/* 地域ページのお客様の声モーダルを非表示*/
#mrModalContainer {
    display: none;
}

  /* お役立ち情報一覧 */
p {
    font-family: 'Noto Sans JP', sans-serif;
}

/* 画像と右側のテキスト群を横並びに */
.contents .picturebox {
    display: flex;
    align-items: top; 
}

/* 画像のスタイル */
.contents .picturebox img {
    margin-right: 10px;
    width: 350px;
    height: auto;
	max-width: none;
}
 @media screen and (max-width: 768px) {
	.picturebox{
		flex-direction: column;
	} 
	.contents .picturebox img {
		width: 100%;
		max-width: 100%;
	}
 }

.boldtext {
    margin-bottom: 10px;
}

.boldtext p {
    font-size: 18px;
    font-weight: bold;
}
.boldtext p a{
	color: #212121;
}

.articletext p{
    font-size: 14px;
    margin-top: auto;
    margin-bottom: 30px;
}

.contents .picturebox .text-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* 一覧ページ辞書 */
section.yougo {
    margin: 5rem auto;
    padding-left: 2%;
}

.yougo-list {
    padding-left: 5px;
	column-width: 170px;
    margin: 5% auto;
}

.yougo-list li::marker {
    color: #666;
}
/*1023px以下*/
@media screen and (max-width: 1023px){
  .yougo-list {
	column-width: 168px;
}
}

/*480px以下*/
@media screen and (max-width: 480px){
  .yougo-list {
	column-width: 150px;
}
}

.yougo-pager {
    width: fit-content;
    margin: 3rem auto;
}

.yougo span.page-numbers.current {
    background-color: var(--cocoon-current-background-color)!important;
}

.yougo a.page-numbers:hover {
    color: #333;
}

/* オートリンク用 */
a.dictionary-link {
    font-size: calc(100% + 2px) !important;
    text-decoration: underline !important;
    color: #444;
}

/* TOP new */
.l-inner {
    margin: 30px auto 100px auto;
}

.swiper {
  padding-bottom: 30px;
}
/*article-list*/
.c-article-list {
  display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 0 0 50px 0;
    padding: 0;
}

.c-article-list-item {
    box-shadow: 0 1.4rem 1.4rem rgba(0, 0, 0, 0.15);
    border-radius: 20px;
    overflow: hidden;
    margin: 0;
    min-height: 370px;
    list-style: none;
    width: 320px;
}

.c-article-list-item a {
    display: block;
	padding: 0 0 2% 0;
}

.c-article-img {
    height: 180px;
    overflow: hidden;
    position: relative;
}

.c-article-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.c-article-img .category {
    width: fit-content;
    background: #fff;
    height: 2.7rem;
    line-height: 2.5rem;
    padding: 0 2.1rem;
    border-radius: 4px;
    position: absolute;
	font-size: 14px;
    top: 2rem;
    left: 2rem;
    z-index: 1;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.15);
	display: inline-flex;
    justify-content: center;
    align-items: center;
}

.c-article-img .category .arw {
    line-height: 1;
    display: inline-block;
    margin: 0 0 0 6px;
    width: 14px;
    vertical-align: -0.2rem;
}
ul.c-article-list.c-pop-article-list span.arw span {
    background: var(--color-yellow);
    width: 15px;
    height: 15px;
    margin-left: 10px;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 10px;
}
.c-article-list li a:hover .c-article-img>img {
    transform: scale(1.1);
    transition: transform 0.3s ease;
    transform-origin: center center;
}

.c-article-txt {
  padding: 5px 10px;
}

.c-article-ttl {
    width: 100%;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 0.01em;
    padding: 0;
	text-align: left;
}

.c-article-keyword {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 2rem 0 0;
    padding: 0;
}

.c-article-keyword-item {
  list-style: none;
    width: fit-content;
    padding: 2px 10px 2px 20px;
    height: auto;
    font-weight: 600;
    position: relative;
    letter-spacing: 0.14rem;
    background: #ccc;
    border-radius: 5px;
    font-size: 12px;
}

.c-article-keyword-item::before {
    display: block;
    content: "#";
    width: 0.8rem;
    height: 0.8rem;
    position: absolute;
    left: 10px;
    top: 34%;
    transform: translateY(-50%);
    border-radius: 50%;
}

/*人気記事*/
.c-pop-article-list .c-article-list-item a {
    position: relative;
}

.c-article-list-item.pop-1st a::after {
	position: absolute;
    inset: 0 auto auto 5%;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 35px;
    height: auto;
    aspect-ratio: 69 / 87;
    padding-inline: 0.5rem;
    padding-bottom: 5%;
    font-size: 16px;
    color: #fff;
    text-align: center;
    pointer-events: none;
    content: "No." counter(counter);
    counter-increment: counter 1;
	background: #FFD708;
    text-shadow: 1px 1px 1px #ccc;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 70.408%, 0 100%);
}
.c-article-list-item.pop-2nd a::after {
	position: absolute;
    inset: 0 auto auto 5%;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 35px;
    height: auto;
    aspect-ratio: 69 / 87;
    padding-inline: 0.5rem;
    padding-bottom: 5%;
    font-size: 16px;
    color: #fff;
    text-align: center;
    pointer-events: none;
    content: "No." counter(counter);
    counter-increment: counter 2;
	background: #c5b358;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 70.408%, 0 100%);
}

.c-article-list-item.pop-3rd a::after {
	position: absolute;
    inset: 0 auto auto 5%;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 35px;
    height: auto;
    aspect-ratio: 69 / 87;
    padding-inline: 0.5rem;
    padding-bottom: 5%;
    font-size: 16px;
    color: #fff;
    text-align: center;
    pointer-events: none;
    content: "No." counter(counter);
    counter-increment: counter 3;
    background: #0faec9;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 70.408%, 0 100%);
}

.c-pop-article-list.slick-slider .slick-list {
    padding-top: 2rem !important;
}

.c-pop-article-list .c-article-img {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

.c-pop-article-list .c-article-list-item {
    overflow: visible;
}

@media screen and (max-width:750px) {
    .c-article-list {
        position: relative;
        /* width: 100vw;
        left: 50%;
        transform: translateX(-50%); */
        display: block;
    }

    .c-article-list-item {
        border-radius: 1rem;
        width: 100%;
        margin: 0 auto 3rem auto;
    }

    .c-article-list-item:last-child {
        margin: 0;
    }

    /* .c-article-img {
        aspect-ratio: 16/9;
    } */

    .c-article-keyword {
        font-size: 1.2rem;
    }

    .c-article-keyword-item::before {
        width: 0.6rem;
        height: 0.6rem;
    }

    .c-article-date {
		font-size: 12px;
    color: #9b9b9b;
    letter-spacing: .04em;
    }
	
	.c-article-list-item:last-child {
        margin: 0 auto;
    }
	
    .c-article-img .category {
        height: 2rem;
        line-height: 2rem;
        padding: 0 1rem;
        font-size: 1.2rem;
    }

    .c-pop-article-list .c-article-img {
        border-top-left-radius: 1rem;
        border-top-right-radius: 1rem;
    }
}

.c-caption {
    font-size: 2.8rem;
    font-weight: 600;
    /*letter-spacing: 0.14rem;*/
    margin: 0 auto 3.6rem;
    text-align: left;
    line-height: 1;
}

.c-caption.page-title {
    font-size: 3.2rem;
    margin-top: 2rem;
}

.c-caption.mt-caption {
    margin: 8rem auto 3.6rem;
}

.c-caption .en {
    display: block;
    font-size: 0.57em;
    color: #e04169;
    margin: 14px auto 0;
    text-shadow: 1px 1px 1px #ddd;
	text-transform: capitalize;
}

.link-btn a {
      justify-content: center;
    display: flex;
    align-items: center;
    background: #1c67a0;
    color: #fff;
    text-align: center;
    border-radius: 5rem;
    height: 50px;
    width: 300px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-shadow: 0 0.32rem 1.45rem rgba(0, 0, 0, 0.25);
    box-shadow: 0 6px 9px rgba(0, 0, 0, 0.15);
    margin: 0 auto;
}

/* CTA */
.repair-cta {
	 margin: 40px auto;
    max-width: 490px;
}

.repair-cta__inner {
	position: relative;
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 22px 24px 22px 160px;
	border: 2px solid #1fa8c7;
	border-radius: 12px;
	background:
		repeating-linear-gradient(
			-45deg,
			#fff 0,
			#fff 10px,
			#eefcff 10px,
			#eefcff 12px
		);
}

.repair-cta__img {
	position: absolute;
	z-index: 2;
  left: 70px;
    bottom: -35px;
    width: 245px;
	transform: translateX(-50%);
}

.repair-cta__img img {
	width: 100%;
	height: auto;
	display: block;
}

.repair-cta__content {
	width: 100%;
	text-align: center;
	position: relative;
	z-index: 3;
    max-width: 400px;
    margin-left: auto;
}

.repair-cta__lead {
	display: inline-block;
	margin: 0 0 8px -65px;
	font-size: 13px;
	font-weight: 700;
	border-bottom: 1px solid #333;
}

.repair-cta__title {
	    width: 375px;
    margin: 0 0 10px -40px;
	font-size: 20px;
	line-height: 1.6;
	color: #0f172a;
}

.repair-cta__title span {
	display: block;
	font-size: 13px;
	font-weight: 700;
	margin: 15px 0;
}

.repair-cta__title span.blue {
    font-size: 24px;
    color: #1c67a0;
    display: inline;
}

.repair-cta__tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.repair-cta__tags li {
	padding: 4px 10px;
	border: 1px solid #1fa8c7;
	border-radius: 999px;
	background: #fff;
	font-size: 12px;
	font-weight: 700;
	color: #257084;
}

.repair-cta__btn {
	display: block;
	max-width: 280px;
	margin: 0 auto;
	padding: 10px 20px;
	border-radius: 999px;
	background: #ff4148;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

@media (max-width: 768px) {
	.repair-cta__inner {
		padding: 18px 0px 18px 70px;
		gap: 12px;
	}

	.repair-cta__img {
        width: 160px;
        left: 15%;
		bottom: 37px;
	}

	.repair-cta__title {
		font-size: 16px;
		width: fit-content;
		margin: 0 auto;
	}

	.repair-cta__tags li {
		font-size: 10px;
		padding: 3px 7px;
	}
}

/* 辞書ランク */
ol.dic2-ranking {
    list-style: none;
	padding: 0;
} 

.top-dictionary__content {
	margin: 0 auto;
	width: 90%;
}
a.dictionary2-link {
	font-size: calc(100% + 1px);
	text-decoration: underline;
	opacity: 0.9;
}
a.btn__dic2 {
	font-size: 18px;
	font-family: "Oswald", sans-serif;
	letter-spacing: 0.01em;
	font-weight: 300;
	width: 170px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	border-radius: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	border: 1px solid #222222;
	margin:10% auto 5% auto;
}
a.btn__dic img {
	width: 20px;
	height: auto;
}
.page::before {
	display: none; 
}

.rank-sec {
	margin: 5rem 0;
}

.dic2-ranking__link {
	display: flex;
	gap: 4px;
	align-items: center;
	text-decoration: none;
	margin: 3% 0;
	height: 70px;
	justify-content: center;
	padding-right: 50px;
}

span.dic2-ranking__rank {
	font-size: 32px;
	font-weight: bold;
	padding-right: 5%;
  color: #1c67a0;
}

.dic2-ranking__item.is-rank-1 .dic2-ranking__rank {
	font-size: 60px;
	color: #c5b358;
	display: block;
	padding: 0 10px 0 0;
	min-width: unset;
	font-family: 'Tangerine' , cursive;
}

.dic2-ranking__item.is-rank-2 .dic2-ranking__rank {
	font-size: 60px;
	color: #666;
	display: block;
	padding: 0 10px 0 0;
	min-width: unset;
	font-family: 'Tangerine' , cursive;
}

.dic2-ranking__item.is-rank-3 .dic2-ranking__rank {
	font-size: 60px;
	color: #AF5F39;
	display: block;
	padding: 0 10px 0 0;
	min-width: unset;
	font-family: 'Tangerine' , cursive;
}

span.dic2-ranking__title {
	color: #246C88;
	font-size: 20px;
	border-bottom: #246c82 1px solid;
	display: block;
	width: fit-content;
	line-height: 1;
}
span.dic2-ranking__reading {
	display: block;
	text-decoration: none!important;
	font-size: 12px;
	padding: 2% 0 0 0;
}


/* footerCTA */

.footer-repair-cta {
	margin: 48px auto;
    max-width: 500px;
}

.footer-repair-cta__inner {
	position: relative;
	max-width: 860px;
	margin: 0 auto;
	padding: 28px 0px 36px;
	border-top: 2px solid #23b8cc;
	border-bottom: 2px solid #23b8cc;
	background:
		repeating-linear-gradient(
			-45deg,
			#fff 0,
			#fff 12px,
			#eefcff 12px,
			#eefcff 14px
		);
}

.footer-repair-cta__content {
	text-align: center;
}

.footer-repair-cta__lead {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 700;
	color: #222;
}

.footer-repair-cta__title {
	margin: 0 0 20px;
	font-size: 26px;
	line-height: 1.5;
	font-weight: 800;
	color: #111;
}

.footer-repair-cta__title span {
	color: #0050b8;
  font-size: 22px;
}

.footer-repair-cta__points {
	display: flex;
	margin: 0 auto 24px;
	padding: 0;
	list-style: none;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 8px 20px rgba(0,0,0,.15);
	overflow: hidden;
}

.footer-repair-cta__points li {
	padding: 14px 12px;
	border-right: 1px solid #ddd;
  line-height: 1.2;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.footer-repair-cta__points li:last-child {
	border-right: none;
}

.footer-repair-cta__points strong {
	display: block;
	font-size: 15px;
	color: #0050b8;
}

.footer-repair-cta__points span {
	display: block;
	margin-top: 4px;
	font-size: 11px;
	font-weight: 700;
	color: #333;
  width: 100%;
}

.footer-repair-cta__main {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-height: 190px;
    max-width: 650px;
    margin: 0 auto;
}

.footer-repair-cta__img {
	position: absolute;
	left: 0px;
    width: 200px;
	z-index: 3;
	bottom: 50%;
    transform: translateY(50%);
}

.footer-repair-cta__img img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 14px 18px rgba(0,0,0,.28));
}

.footer-repair-cta__box {
	width: calc(100% - 170px);
	position: relative;
	z-index: 2;
}

.footer-repair-cta__question {
	display: inline-block;
	margin: 0 0 10px;
	padding: 7px 10px;
	border-radius: 999px;
	background: #fff2cd;
	border: 1px solid #efd27b;
	font-size: 16px;
	font-weight: 800;
	color: #333;
}

.footer-repair-cta__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
    margin-left: auto;
	justify-content: flex-end;
    gap: 6px;
    margin: 20px 0 0 14px;
    padding: 0;
    list-style: none;
    width: 90%;
}

.footer-repair-cta__tags li {
	padding: 4px 10px;
	border: 1px solid #23b8cc;
	border-radius: 999px;
	background: #fff;
	font-size: 12px;
	font-weight: 700;
	color: #237589;
}

.footer-repair-cta__btn {
	display: block;
	max-width: 320px;
	margin: 10% auto 0 auto;
	padding: 13px 24px;
	border-radius: 999px;
	background: #ff3f45;
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	text-decoration: none;
	box-shadow: 0 6px 0 rgba(180,0,0,.18);
}

br.sp {
  display: none;
}
@media (min-width: 500px) {
.repair-cta__title .sp {
	display:none;
}
}
@media (max-width: 768px) {
  br.sp {
  display: block;
}

.footer-repair-cta__tags {
width: 98%;
max-width: 338px;
        justify-content: flex-end;
}

	.footer-repair-cta__inner {
		padding: 22px 0px 28px;
	}

	.footer-repair-cta__title {
		font-size: 18px;
	}

	.footer-repair-cta__points {
		grid-template-columns: 1fr;
	}

	.footer-repair-cta__main {
		display: block;
		padding-top: 0px;
	}

	.footer-repair-cta__img {
		left: 20%;
        bottom: -35%;
        width: 175px;
        transform: translateX(-50%) translateY(-50%) rotate(-10deg);
	}

	.footer-repair-cta__box {
		width: 80%;
        margin-left: auto;
	}

	.footer-repair-cta__question {
		font-size: 14px;
		padding: 6px 40px;
	}

	.footer-repair-cta__btn {
		font-size: 14px;
	}
}

@media (min-width: 1024px) {
.footer-repair-cta__img {
    position: absolute;
    left: 0px;
	width: 220px;
}
}

#footer-cta {
	scroll-margin-top: -120px;
}