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

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
@import url("https://nagano-hok.com/wp-content/css2/cocoon_nagano.css");
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

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

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

#main a[href*="https://members.nagano-hok.com/"] {
     padding-left: 22px;
     background: url(https://nagano-hok.com/wp-content/uploads/ico/key_ico.gif)
     no-repeat 0 .2em;     
}

/*カラー変数*/
:root {
    --color-bg-blue:#9EC2C2;
	--color-bg-red:#CB5457;
	--color-bg-green:#859A93;
	--color-bg-pink:#D86F87;
	--color-bg-purple:#6F789D;
	--color-bg-orange:#D2986A;
	
	--color-hover-bg:#FDECED;
    --color-hover-text:#444949;
	
	--color-tbl-head:#9EC2C2;
	--color-tbl-line:black;
}

.entry-content table, 
.entry-content th, 
.entry-content td {
  background-color: transparent; /* 背景色をリセット */
  border: none;                  /* 枠線を消す */
  padding: 0 ;                   /* 余白をリセット */
}

/************************************
　ファイルリンクのアイコン表示
************************************/
#main a[href$=".xls"]:not(.wp-block-file__button) {
     padding-left: 22px;
     background: url(https://nagano-hok.com/wp-content/uploads/ico/xls_ico.gif) no-repeat 0 center;
}
#main a[href$=".xlsx"]:not(.wp-block-file__button) {
     padding-left: 22px;
     background: url(https://nagano-hok.com/wp-content/uploads/ico/xls_ico.gif) no-repeat 0 center;
}

#main a[href$=".xlsm"]:not(.wp-block-file__button) {
     padding-left: 22px;
     background: url(https://nagano-hok.com/wp-content/uploads/ico/xls_ico.gif) no-repeat 0 center;
}

#main a[href$=".doc"]:not(.wp-block-file__button) {
     padding-left: 22px;
     background: url(https://nagano-hok.com/wp-content/uploads/ico/doc_ico.gif) no-repeat 0 center;
}

#main a[href$=".docx"]:not(.wp-block-file__button) {
     padding-left: 22px;
     background: url(https://nagano-hok.com/wp-content/uploads/ico/doc_ico.gif) no-repeat 0 center;
}
#main a[href$=".pdf"]:not(.wp-block-file__button) {
    padding-left: 22px;
    background: url(https://nagano-hok.com/wp-content/uploads/ico/pdf_ico.gif) no-repeat 0 center;     
}

/************************************
　カテゴリラベル　
************************************/
.category_right
 {
   position:absolute;
   padding 1px;   
   margin-bottom:20px;
   display:flex;
   width:100%;
   justify-content:start;
   line-break:anywhere;
   margin-bottom:30px;
   white-space: pre-wrap;   
}

.category_right .cat-label {
    position: relative !important;
    display:inline-block;
    margin-top: 3px;
    margin-right:5px;
　　float:right;
    font-size: 11px;
    border: none; 
}

/*テキストフィット*/
.fit-,
.editor-styles-wrapper .fit- {
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
  padding: 10px;
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}
/************************
h2 
*************************/
h2.wp-block-heading.h2-1{
  font-weight: 900;
  color: #fff;
  text-align: center;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
  padding: 12px 20px;
  margin-bottom: 20px;
  background:var(--color-bg-blue);
  border-radius: 6px;
}

h2.wp-block-heading.h2-2{
    position: relative;
    background:var(--color-bg-blue);
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    box-shadow: 0px 0px 0px 5px var(--color-bg-blue);
    border: solid 1px white;
    color: #FFFFFF;
    padding: 0.4em 1em;/*文字周りの余白*/
}

h2.wp-block-heading.h2-3 {
  position: relative;
  padding: 0.5em;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
  background:var(--color-bg-blue);
  color: white;
}

h2.wp-block-heading.h2-3::before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 15px transparent;
  border-right: solid 20px rgb(149, 158, 155);
}

h2.wp-block-heading.h2-4 {
  font-weight:900;
  color: #ffffff;
  padding: 18px 24px;
  background: linear-gradient(90deg,var(--color-bg-blue) 0%, var(--color-bg-blue) 50%, #473927 50%, #473927 100%);
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}
/*h2 blue */
h2.wp-block-heading.blue-{
    background:var(--color-bg-blue);
}
h2.wp-block-heading.h2-2.blue-{
    box-shadow: 0px 0px 0px 5px var(--color-bg-blue);
}
h2.wp-block-heading.h2-4.blue- {
    background: linear-gradient(90deg,var(--color-bg-blue) 0%, var(--color-bg-blue) 50%, #473927 50%, #473927 100%);
}

/*h2 red */
h2.wp-block-heading.red-{
    background:var(--color-bg-red);
}
h2.wp-block-heading.h2-2.red-{
    box-shadow: 0px 0px 0px 5px var(--color-bg-red);
}
h2.wp-block-heading.h2-4.red- {
    background: linear-gradient(90deg,var(--color-bg-red) 0%, var(--color-bg-red) 50%, #473927 50%, #473927 100%);
}
/*h2 green */
h2.wp-block-heading.green-{
    background:var(--color-bg-green);
}
h2.wp-block-heading.h2-2.green-{
    box-shadow: 0px 0px 0px 5px var(--color-bg-green);
}
h2.wp-block-heading.h2-4.green- {
    background: linear-gradient(90deg,var(--color-bg-green) 0%, var(--color-bg-green) 50%, #473927 50%, #473927 100%);
}

/*h2 pink */
h2.wp-block-heading.pink-{
    background:var(--color-bg-pink);
}
h2.wp-block-heading.h2-2.pink-{
    box-shadow: 0px 0px 0px 5px var(--color-bg-pink);
}
h2.wp-block-heading.h2-4.pink-{
    background: linear-gradient(90deg,var(--color-bg-pink) 0%, var(--color-bg-pink) 50%, #473927 50%, #473927 100%);
}

/*h2 purple */
h2.wp-block-heading.purple-{
    background:var(--color-bg-purple);
}
h2.wp-block-heading.h2-2.purple-{
    box-shadow: 0px 0px 0px 5px var(--color-bg-purple);
}
h2.wp-block-heading.h2-4.purple-{
    background: linear-gradient(90deg,var(--color-bg-purple) 0%, var(--color-bg-purple) 50%, #473927 50%, #473927 100%);
}
/*h2 orange */
h2.wp-block-heading.orange-{
    background:var(--color-bg-orange);
}
h2.wp-block-heading.h2-2.orange-{
    box-shadow: 0px 0px 0px 5px var(--color-bg-orange);
}
h2.wp-block-heading.h2-4.orange-{
    background: linear-gradient(90deg,var(--color-bg-orange) 0%, var(--color-bg-orange) 50%, #473927 50%, #473927 100%);
}
/************************
h3
*************************/

/* 見出し(h3)のリセット（左線・枠線の削除） */
h3.wp-block-heading.h3-1,
h3.wp-block-heading.h3-2,
h3.wp-block-heading.h3-3,
h3.wp-block-heading.h3-4 {
  padding: 0.3em 0 !important;
  border: none;
  border-left: none !important;
}

h3.wp-block-heading.h3-1{
border:none;
background:none;
border-bottom: 6px double #ABABAB;
}

h3.wp-block-heading.h3-2 {
    position: relative;
    padding:20px 20px !important;
    border:none;
}
h3.wp-block-heading.h3-2::before,
h3.wp-block-heading.h3-2::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height:6px;
    box-sizing: border-box;
}
h3.wp-block-heading.h3-2::before {
    top: 0;
    border-top: 2px solid #ABABAB;
    border-bottom: 1px solid;
    border-bottom-color:#ABABAB;
}
h3.wp-block-heading.h3-2::after {
    bottom: 0;
    border-top: 1px solid #ABABAB;
    border-bottom: 2px solid;
    border-bottom-color:#ABABAB;
}

h3.wp-block-heading.h3-3 {
  border:none;
  position: relative;
  padding: 20px 0px !important;
}

h3.wp-block-heading.h3-3:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #ABABAB, #ABABAB 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #ABABAB, #ABABAB 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

h3.wp-block-heading.h3-4 {
  border:none;
  background:none;
  padding: 0.3em 0;
  border-bottom: solid 5px;
  border-bottom-color:#ABABAB;
  position: relative;
}
h3.wp-block-heading.h3-4::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 5px #473927;
  bottom: -5px;
  width: 25%;
}

/* h3の色指定 */

h3.wp-block-heading.h3-1.blue-{
border-bottom-color:var(--color-bg-blue);
}
h3.wp-block-heading.h3-2.blue-::before {
    border-color:var(--color-bg-blue);
}
h3.wp-block-heading.h3-2.blue-::after {
    border-color:var(--color-bg-blue);
}
h3.wp-block-heading.h3-3.blue-:after {
  background-image: -webkit-repeating-linear-gradient(135deg, var(--color-bg-blue), var(--color-bg-blue) 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, var(--color-bg-blue), var(--color-bg-blue) 1px, transparent 2px, transparent 5px);
}
h3.wp-block-heading.h3-4.blue-{
border-bottom-color:var(--color-bg-blue);
}

h3.wp-block-heading.h3-1.red-{
border-bottom-color:var(--color-bg-red);
}
h3.wp-block-heading.h3-2.red-::before {
    border-color:var(--color-bg-red);
}
h3.wp-block-heading.h3-2.red-::after {
    border-color:var(--color-bg-red);
}
h3.wp-block-heading.h3-3.red-:after {
  background-image: -webkit-repeating-linear-gradient(135deg, var(--color-bg-red), var(--color-bg-red) 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, var(--color-bg-red), var(--color-bg-red) 1px, transparent 2px, transparent 5px);
}
h3.wp-block-heading.h3-4.red-{
border-bottom-color:var(--color-bg-red);
}

h3.wp-block-heading.h3-1.green-{
    border-bottom-color:var(--color-bg-green);
}
h3.wp-block-heading.h3-2.green-::before {
    border-color:var(--color-bg-green);
}
h3.wp-block-heading.h3-2.green-::after {
    border-color:var(--color-bg-green);
}
h3.wp-block-heading.h3-3.green-:after {
  background-image: -webkit-repeating-linear-gradient(135deg, var(--color-bg-green), var(--color-bg-green) 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, var(--color-bg-green), var(--color-bg-green) 1px, transparent 2px, transparent 5px);
}
h3.wp-block-heading.h3-4.green- {
  border-bottom-color:var(--color-bg-green);
}
h3.wp-block-heading.h3-4.green-{
    border-bottom-color:var(--color-bg-green);
}

h3.wp-block-heading.h3-1.pink-{
    border-bottom-color:var(--color-bg-pink);
}
h3.wp-block-heading.h3-2.pink-::before {
    border-color:var(--color-bg-pink);
}
h3.wp-block-heading.h3-2.pink-::after {
    border-color:var(--color-bg-pink);
}
h3.wp-block-heading.h3-3.pink-:after {
  background-image: -webkit-repeating-linear-gradient(135deg, var(--color-bg-pink), var(--color-bg-pink) 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, var(--color-bg-pink), var(--color-bg-pink) 1px, transparent 2px, transparent 5px);
}
h3.wp-block-heading.h3-4.pink- {
  border-bottom-color:var(--color-bg-pink);
}

h3.wp-block-heading.h3-1.purple-{
    border-bottom-color:var(--color-bg-purple);
}
h3.wp-block-heading.h3-2.purple-::before {
    border-color:var(--color-bg-purple);
}
h3.wp-block-heading.h3-2.purple-::after {
    border-color:var(--color-bg-purple);
}
h3.wp-block-heading.h3-3.purple-:after {
  background-image: -webkit-repeating-linear-gradient(135deg, var(--color-bg-purple), var(--color-bg-purple) 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, var(--color-bg-purple), var(--color-bg-purple) 1px, transparent 2px, transparent 5px);
}
h3.wp-block-heading.h3-4.purple-{
  border-bottom-color:var(--color-bg-purple);
} 

h3.wp-block-heading.h3-1.orange-{
    border-bottom-color:var(--color-bg-orange);
}
h3.wp-block-heading.h3-2.orange-::before {
    border-color:var(--color-bg-orange);
}
h3.wp-block-heading.h3-2.orange-::after {
    border-color:var(--color-bg-orange);
}
h3.wp-block-heading.h3-3.orange-:after {
  background-image: -webkit-repeating-linear-gradient(135deg, var(--color-bg-orange), var(--color-bg-orange) 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, var(--color-bg-orange), var(--color-bg-orange) 1px, transparent 2px, transparent 5px);
}
h3.wp-block-heading.h3-4.orange-{
  border-bottom-color:var(--color-bg-orange);
} 

/************************
label 
*************************/
.label- {
    padding: 0.5em 1em;
    background:#dddddd;
    text-align:center;
} 

.label-.label-1{
  background:#ABABAB;
  box-shadow: 0px 0px 0px 5px #ABABAB;
  border: solid 1px #FFF;
  padding: 0.2em 0.5em;
  color:#FFF;
  text-align:center;
}

.label-.label-2{
  background:#ABABAB;
  box-shadow: 0px 0px 0px 5px #ABABAB;
  border: dashed 1px #FFF;
  padding: 0.2em 0.5em;
  color:#FFF;
  text-align:center;
}

.label-.label-4 {
    position: relative;
    padding: .5em .7em;
    border-radius: 10px;
    background-color:#ABABAB;
    color: #fff;
}
.label-.label-4::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 30px;
    width: 0;
    height: 0;
    border: 11px solid transparent;
    border-top: 11px solid #ABABAB;
}

.label-.label-3 {    
	display: block;
    width:-moz-fit-content;
    width:fit-content; 
    position: relative;
    padding: .5em 1.4em .5em 1em;
    background-color:#ABABAB;
    color: #FFF;
}

.label-.label-3::before {
    position: absolute;
    bottom: -1px;
    right: 9px;
    z-index: -1;
    transform: rotate(5deg);
    width: 70%;
    height: 50%;
    background-color: #d0d0d0;
    content: "";
    filter: blur(4px);
}

.label-.blue-{
	background-color:var(--color-bg-blue);
}
.label-.red-{
	background-color:var(--color-bg-red);
}
.label-.green-{
	background-color:var(--color-bg-green);
}
.label-.pink-{
	background-color:var(--color-bg-pink);
}
.label-.purple-{
	background-color:var(--color-bg-purple);
}
.label-.orange-{
	background-color:var(--color-bg-orange);
}
.label-.label-1.blue-,
.label-.label-2.blue-{
box-shadow: 0px 0px 0px 5px var(--color-bg-blue);
}
.label-.label-1.red-,
.label-.label-2.red-{
box-shadow: 0px 0px 0px 5px var(--color-bg-red);
}
.label-.label-1.green-,
.label-.label-2.green-{
box-shadow: 0px 0px 0px 5px var(--color-bg-green);
}
.label-.label-1.pink-,
.label-.label-2.pink-{
box-shadow: 0px 0px 0px 5px var(--color-bg-pink);
}
.label-.label-1.purple-,
.label-.label-2.purple-{
box-shadow: 0px 0px 0px 5px var(--color-bg-purple);
}
.label-.label-1.orange-,
.label-.label-2.orange-{
box-shadow: 0px 0px 0px 5px var(--color-bg-orange);
}

.label-.label-4.blue-::after {
	border-top: 11px solid var(--color-bg-blue);
}
.label-.label-4.red-::after {
	border-top: 11px solid var(--color-bg-red);
}
.label-.label-4.green-::after {
	border-top: 11px solid var(--color-bg-green);
}
.label-.label-4.pink-::after {
	border-top: 11px solid var(--color-bg-pink);
}
.label-.label-4.purple-::after {
	border-top: 11px solid var(--color-bg-purple);
}
.label-.label-4.orange-::after {
	border-top: 11px solid var(--color-bg-orange);
}
/************************
Line
*************************/

.line- {
  border-bottom: solid 2px;
  border-color:#ABABAB;
  margin: 0 auto 50px;
  padding: 0 0 3px 0;
}

.dot- {  
  border-bottom: dotted 2px;
  border-color:#ABABAB;
  margin: 0 auto 50px;
  padding: 0 0 3px 0;
}

.w- {  
  border-bottom:double 3px;
  border-color:#ABABAB;
  margin: 0 auto 50px;
  padding: 0 0 3px 0;
}

.wave- {  
  text-decoration:underline wavy;
  text-decoration-color:#ABABAB;
  margin: 0 auto 50px;
  padding: 0 0 3px 0;
}

.dia- {
	position: relative;
	padding:.5em .5em .5em 1.7em;
	border-bottom: 1px solid #ccc;
}
.dia-::after {
	position: absolute;
	top: .8em;
	left: .4em;
	z-index: 2;
	content: '';
	width: 12px;
	height: 12px;
	background-color:#ABABAB;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.multi- {
  position: relative;
  font-weight:bold;
  border-bottom: solid 3px;
  border-color: #6B5E56;
  margin: 0 auto 50px;
  padding: 5px 0 5px 0;
}
.multi-::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px;
  border-color:#dddddd;
  bottom: -3px;
  width: 30%;
}
.line-.blue- {
    border-color:var(--color-bg-blue);	
}
.line-.red- {
    border-color:var(--color-bg-red);	
}
.line-.green- {
    border-color:var(--color-bg-green);	
}
.line-.pink- {
    border-color:var(--color-bg-pink);	
}
.line-.purple- {
    border-color:var(--color-bg-purple);	
}
.line-.orange- {
    border-color:var(--color-bg-orange);	
}
.line-.dia-.blue-::after {
	background-color:var(--color-bg-blue);
}
.line-.dia-.red-::after {
	background-color:var(--color-bg-red);
}
.line-.dia-.green-::after {
	background-color:var(--color-bg-green);
}
.line-.dia-.pink-::after {
	background-color:var(--color-bg-pink);
}
.line-.dia-.purple-::after {
	background-color:var(--color-bg-purple);
}
.line-.dia-.orange-::after {
	background-color:var(--color-bg-orange);
}
.line-.multi-{
	border-color:#ABABAB;
}
.line-.multi-.blue-::after {
	border-color:var(--color-bg-blue);
}
.line-.multi-.red-::after {
	border-color:var(--color-bg-red);
}
.line-.multi-.green-::after {
	border-color:var(--color-bg-green);
}
.line-.multi-.pink-::after {
	border-color:var(--color-bg-pink);
}
.line-.multi-.purple-::after {
	border-color:var(--color-bg-purple);
}
.line-.multi-.orange-::after {
	border-color:var(--color-bg-orange);
}
/************************
ボタンリンク
*************************/
.link- > a {  
  display: inline-block;
  cursor: pointer;
  line-height: normal;
  padding: 10px 20px;
  text-decoration: none;
  text-align: center;  
  position: relative;
  transition: opacity 0.5s ease; 
}
.link-:hover > a:hover {
  color: #fff;     
  text-decoration: none; 
  opacity: 0.3;
}

.wp-block-button.link-1 a{
  line-height: normal;
  padding: 10px 20px;
  transition:none;   
}
.wp-block-button.link-1.blue- a{
	background-color:var(--color-bg-blue)!important;
}
.wp-block-button.link-1.red- a{
	background-color:var(--color-bg-red)!important;
}
.wp-block-button.link-1.green- a{
	background-color:var(--color-bg-green)!important;
}
.wp-block-button.link-1.pink- a{
	background-color:var(--color-bg-pink)!important;
}
.wp-block-button.link-1.purple- a{
	background-color:var(--color-bg-purple)!important;
}
.wp-block-button.link-1.orange- a{
	background-color:var(--color-bg-orange)!important;
}

.wp-block-button.link-1 a:hover{
 background-color:#000;
 opacity:0.5;
 color:#FFF;
}

.wp-block-button.link-2 a {
  overflow: hidden;
  padding: 10px 20px; 
  color: #fff;
  border-radius: 0;
  background:#6B5E56;
  position: relative;
  /* z-index の代わりに新しい重ね合わせコンテキストを作成 */
  isolation: isolate;
  display: inline-block; /* 必要に応じて調整 */
}
.wp-block-button.link-2 a:hover{
	opacity:1;
}
.wp-block-button.link-2 a:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  -webkit-transition: transform .5s ease-in-out;
  transition: transform .5s ease-in-out;
  -webkit-transform: translateX(-96%);
  transform: translateX(-96%);
  background:#000;
  /* 背景の上、かつテキストの下に配置するためマイナス値を設定 */
  z-index: -1; 
}
.wp-block-button.link-2 a:hover:before {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);  
}

.wp-block-button.link-2.blue- a {
	background:var(--color-bg-blue)!important;
}
.wp-block-button.link-2.red- a {
	background:var(--color-bg-red)!important;
}
.wp-block-button.link-2.green- a {
	background:var(--color-bg-green)!important;
}
.wp-block-button.link-2.pink- a {
	background:var(--color-bg-pink)!important;
}
.wp-block-button.link-2.purple- a {
	background:var(--color-bg-purple)!important;
}
.wp-block-button.link-2.orange- a {
	background:var(--color-bg-orange)!important;
}
.wp-block-button.link-3.blue- a:hover,
.wp-block-button.link-3.red- a:hover,
.wp-block-button.link-3.green- a:hover,
.wp-block-button.link-3.pink- a:hover,
.wp-block-button.link-3.orange- a:hover,
.wp-block-button.link-3.purple- a:hover{
		background:var(--color-hover-bg);	
    color:var(--color-hover-text);
}

.wp-block-button.link-3.blue- a{
	background:var(--color-bg-blue);
}
.wp-block-button.link-3.red- a {
	background:var(--color-bg-red);
}
.wp-block-button.link-3.green- a {
	background:var(--color-bg-green);
}
.wp-block-button.link-3.pink- a {
	background:var(--color-bg-pink);
}
.wp-block-button.link-3.purple- a {
	background:var(--color-bg-purple);
}
.wp-block-button.link-3.orange- a {
	background:var(--color-bg-orange);
}

.wp-block-button.link-4 a{
  display: inline-block;  
  background-color:#ABABAB;
  color: #ffffff;
  text-decoration: none;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.wp-block-button.link-4 a:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.wp-block-button.link-4.blue- a{
	background:var(--color-bg-blue);
}
.wp-block-button.link-4.red- a {
	background:var(--color-bg-red);
}
.wp-block-button.link-4.green- a {
	background:var(--color-bg-green);
}
.wp-block-button.link-4.pink- a {
	background:var(--color-bg-pink);
}
.wp-block-button.link-4.purple- a {
	background:var(--color-bg-purple);
}
.wp-block-button.link-4.orange- a {
	background:var(--color-bg-orange);
}

.wp-block-button.link-5 a {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  background:#333;
  padding: 18px 30px;
  outline: 1px solid;
  outline-color: #333;
  outline-offset: 0px;
  display: inline-block;
  transition: .3s;
}
.wp-block-button.link-5 a::hover {
  animation: light .8s infinite;
}
@keyframes light {
  100% { 
    outline-color: transparent;
    outline-offset: 12px;
  }
}


/************************
ラベルリンク
*************************/
.label-.labellink- {
	padding: 0 !important;
}
.label-.labellink- a{
	text-decoration: none;
	display: block; /* カード全体をクリック可能にし、背景色を全体の領域に適用 */
	width: 100%;
	height: 100%;
	padding: 1em 1em;
}
.label-.labellink- a:hover{
	text-decoration: none;
	background:var(--color-hover-bg);	
    color:var(--color-hover-text);
	border:solid 1px black;
}

/************************
ボタンリンク サークルリンク
*************************/
/* 1. ボタン全体の親要素 */
.wp-block-button.circle- {
  display: inline-block;
}
/* 2. リンク要素（サークル化） 
   ※.circle- と .wp-block-button__link の間にスペース（半角）が必要です */
.wp-block-button.circle- .wp-block-button__link {
  display: flex !important;
  justify-content: center;
  align-items: center;
  width: 100px !important;
  height: 100px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  font-size: 15px;
  color: #fff !important;  
  text-align: center;
  box-sizing: border-box;
  transition: opacity 0.5s ease;
}
/* 3. ホバー処理 */
.wp-block-button.circle- a:hover {
  text-decoration: none;	
  opacity: 0.6;
}
/* 4. 背景色の指定（追加部分）*/
.wp-block-button.circle-.blue- .wp-block-button__link {
  background-color: var(--color-bg-blue) !important;
}
.wp-block-button.circle-.red- .wp-block-button__link {
  background-color: var(--color-bg-red) !important;
}
.wp-block-button.circle-.green- .wp-block-button__link {
  background-color: var(--color-bg-green) !important;
}
.wp-block-button.circle-.pink- .wp-block-button__link {
  background-color: var(--color-bg-pink) !important;
}
.wp-block-button.circle-.purple- .wp-block-button__link {
  background-color: var(--color-bg-purple) !important;
}
.wp-block-button.circle-.orange- .wp-block-button__link {
  background-color: var(--color-bg-orange) !important;
}
/************************
ボタンリンク 正方形リンク
*************************/
.wp-block-button.square- {
  display: inline-block;
}
.wp-block-button.square- .wp-block-button__link {
  display: flex !important;
  justify-content: center;
  align-items: center;
  width: 100px !important;
  height: 100px !important;
  padding: 0 !important;
  font-size: 15px;
  color:#fff !important;
  text-align: center;
  box-sizing: border-box;
	transition: opacity 0.5s ease;
}
.wp-block-button.square- a:hover{
  text-decoration: none;	
	opacity: 0.6;
}
.wp-block-button.square-.blue- .wp-block-button__link {
  background-color: var(--color-bg-blue) !important;
}
.wp-block-button.square-.red- .wp-block-button__link {
  background-color: var(--color-bg-red) !important;
}
.wp-block-button.square-.green- .wp-block-button__link {
  background-color: var(--color-bg-green) !important;
}
.wp-block-button.square-.pink- .wp-block-button__link {
  background-color: var(--color-bg-pink) !important;
}
.wp-block-button.square-.purple- .wp-block-button__link {
  background-color: var(--color-bg-purple) !important;
}
.wp-block-button.square-.orange- .wp-block-button__link {
  background-color: var(--color-bg-orange) !important;
}
/************************
カウンタリスト
*************************/
/* リスト全体のリセットと余白設定 */
ol.counter-  {
  list-style: none;
  counter-reset: custom-counter;
  padding-left: 0;
  margin-left: 0;
}
/* 各リスト項目のスタイル */
ol.counter- > li {
  position: relative;
  display: flex;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px dashed #ccc
	!important;
  counter-increment: custom-counter;
}
/* 青色の円と白抜き数字の設定 */
ol.counter- > li::before {
  content: counter(custom-counter);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  margin-right: 12px;
  background-color:#ABABAB;
  color: #ffffff;
  border-radius: 50%;
  font-size: 20px;
  font-weight: bold;
  flex-shrink: 0;
}
ol.counter-.blue-> li::before {
	background-color:var(--color-bg-blue)!important;
}
ol.counter-.red-> li::before {
	background-color:var(--color-bg-red)!important;
}
ol.counter-.green-> li::before {
	background-color:var(--color-bg-green)!important;
}
ol.counter-.pink-> li::before {
	background-color:var(--color-bg-pink)!important;
}
ol.counter-.purple-> li::before {
	background-color:var(--color-bg-purple)!important;
}
ol.counter-.orange-> li::before {
	background-color:var(--color-bg-orange)!important;
}
/************************
タブリスト
*************************/
/* --- タブリストのレイアウト調整 --- */
.wp-block-tab-list {
  display: flex !important;
  width: 100%;
  gap: 4px !important; /* タブ間のわずかな隙間（2px?6px程度で調整可） */
}
/* --- 通常のタブ --- .wp-block-tab-list*/
.tab- button[role="tab"] {
   /* flex: 1;均等幅に広げる */
  min-width:120px;/*均等サイズ*/
  text-align: center;
  background-color: #f0f0f0 !important;
  color: #333333 !important;
  border: none;
  padding: 10px 12px; /* パディング */
  font-size: 14px !important; /* フォントサイズを小さく設定（標準は16px前後） */
  cursor: pointer;
  transition: all 0.3s ease;
}
/* --- ホバー時 --- */
.tab- button[role="tab"]:hover {
  background-color: #e5e5e5 !important;
}
/* --- アクティブ（選択中）のタブ --- */
.tab- button[role="tab"][aria-selected="true"] {
  background-color: #0073aa !important;
  color: #ffffff !important;
  font-weight: bold;
}
.tab- .wp-block-paragraph{
	padding:10px 20px;
}
.tab-.blue- button[role="tab"][aria-selected="true"] {
  background-color:var(--color-bg-blue) !important;
}
.tab-.red- button[role="tab"][aria-selected="true"] {
  background-color:var(--color-bg-red) !important;
}
.tab-.green- button[role="tab"][aria-selected="true"] {
  background-color:var(--color-bg-green) !important;
}
.tab-.pink- button[role="tab"][aria-selected="true"] {
  background-color:var(--color-bg-pink) !important;
}
.tab-.purple- button[role="tab"][aria-selected="true"] {
  background-color:var(--color-bg-purple) !important;
}
.tab-.orange- button[role="tab"][aria-selected="true"] {
  background-color:var(--color-bg-orange) !important;
}
/************************
アコーディオン
*************************/
.openbox- .wp-block-paragraph{
	padding:10px 20px;
}
/* 1. 見出し(h3)のリセット（左線・枠線の削除） */
.openbox- .wp-block-accordion-heading,
.openbox- .wp-block-accordion-heading * {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1rem !important;
  font-weight: normal !important;
  line-height: 1.4 !important;
  border: none !important;
  border-left: none !important;
  outline: none !important;
}
/* 2. ボタン要素をFlexboxにして1行に並べる */
.openbox- .wp-block-accordion-heading__toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 20px 20px !important;       /* ← ここで全体の余白（上下8px 左右16px）を調整 */
  background-color:var(--color-bg-blue) !important; /* 背景色：青 */
  color: #fff !important;           /* 文字色：白 */
  text-decoration: none !important;
  box-sizing: border-box !important;
  min-height: auto !important;
}
/* 3. テキスト部分の設定（余白をリセットして折り返しを防止） */
.openbox- .wp-block-accordion-heading__toggle-title {
  display: inline-block !important;
  padding: 0 !important;              /* 重複していたpaddingを解除 */
  font-size: 16px !important;
  color: #fff !important;
  flex: 1 !important;                 /* テキスト領域を自動で広げる */
  text-align: left !important;
}
/* 4. アイコン（+マーク）の設定（改行を阻止） */
.openbox- .wp-block-accordion-heading__toggle-icon {
  display: inline-block !important;
  color: #fff !important;
  margin-left: 8px !important;        /* テキストとアイコンの間の余白 */
  white-space: nowrap !important;      /* 改行を防止 */
  font-size: 16px !important;
}
/* 5. ホバー時の処理 */
/*
.openbox- .wp-block-accordion-heading__toggle:hover,
.openbox- .wp-block-accordion-heading__toggle:hover * {
  text-decoration: none !important;
  background-color: #000 !important;
  color: #fff !important;
}
*/
.openbox- .wp-block-accordion-heading__toggle:hover,
.openbox- .wp-block-accordion-heading__toggle:hover *,
.openbox-.blue- .wp-block-accordion-heading__toggle:hover,
.openbox-.blue- .wp-block-accordion-heading__toggle:hover *,
.openbox-.red- .wp-block-accordion-heading__toggle:hover,
.openbox-.red- .wp-block-accordion-heading__toggle:hover *,
.openbox-.green- .wp-block-accordion-heading__toggle:hover,
.openbox-.green- .wp-block-accordion-heading__toggle:hover *,
.openbox-.pink- .wp-block-accordion-heading__toggle:hover,
.openbox-.pink- .wp-block-accordion-heading__toggle:hover *,
.openbox-.orange- .wp-block-accordion-heading__toggle:hover,
.openbox-.orange- .wp-block-accordion-heading__toggle:hover *,
.openbox-.purple- .wp-block-accordion-heading__toggle:hover,
.openbox-.purple- .wp-block-accordion-heading__toggle:hover *{
  text-decoration: none !important;
  background-color: #000 !important;
  color: #fff !important;
}

.openbox-.blue- .wp-block-accordion-heading__toggle {
	background-color:var(--color-bg-blue) !important; 
}
.openbox-.red- .wp-block-accordion-heading__toggle {
	background-color:var(--color-bg-red) !important; 
}
.openbox-.green- .wp-block-accordion-heading__toggle {
	background-color:var(--color-bg-green) !important;
}
.openbox-.pink- .wp-block-accordion-heading__toggle {
	background-color:var(--color-bg-pink) !important;
}
.openbox-.purple- .wp-block-accordion-heading__toggle {
	background-color:var(--color-bg-purple) !important;
}
.openbox-.orange- .wp-block-accordion-heading__toggle {
	background-color:var(--color-bg-orange) !important;
}
/************************
ボックス 
*************************/
.box- {
	padding:15px 20px;
	border-width:1px;
	border-style:solid;
	border-color:#ABABAB;
}

.box-.blue-{
	border-width:5px;
	border-color:var(--color-bg-blue) !important;
}
.box-.red-{
	border-width:5px;
	border-color:var(--color-bg-red) !important; 
}
.box-.green- {
	border-width:5px;
	border-color:var(--color-bg-green) !important;
}
.box-.pink- {
	border-width:5px;
	border-color:var(--color-bg-pink) !important;
}
.box-.purple- {
	border-width:5px;
	border-color:var(--color-bg-purple) !important;
}

.box-.orange- {
	border-width:5px;
	border-color:var(--color-bg-purple) !important;
}

.box-.shadow-{
	/*box-shadow: 2px 2px 4px gray;*/
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
}

.box-.dot-{
	border:dotted;
}
.box-.w-{
	border:double;
}
/************************
タブボックス 
*************************/
/* 1. 外枠（グループブロック本体）の設定 */
.wp-block-group.tabbox- {
  position: relative !important;
  margin-top: 3em !important;
  margin-bottom: 2em !important;
  padding: 1.2em 1em 1em !important;
  background-color: transparent !important;
  border-radius: 0 8px 8px 8px !important; /* タブの右下側などに合わせて角丸を調整 */
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2), 0 0 1px rgba(0, 0, 0, 0.1) inset !important;
  box-sizing: border-box !important;
}

/* 2. タブタイトル（h6要素）の設定 */
.wp-block-group.tabbox- .title- {
  position: absolute !important;
  top: -28px !important;                 /* タブの高さに合わせて枠線上に配置 */
  left: -4px !important;                  /* 左枠線の太さ分だけ左へ寄せる */
  height: 28px !important;
  margin: 0 !important;
  padding: 2px 12px !important;
  font-size:18x !important;             /* 文字サイズ */
  font-weight: bold !important;
  line-height: 24px !important;
  color: #fff !important;                 /* 文字色：白 */
  border-radius: 8px 8px 0 0 !important; /* タブ上の角丸 */
  box-sizing: border-box !important;
  background-color:#ABABAB;
}
/* 3. 本文（p要素）の調整 */
.wp-block-group.tabbox- p.wp-block-paragraph {
  margin: 0 !important;                   /* 不要な上下余白をリセット */
}
/* --- カラー指定（bg-red クラス用） --- */
/* 外枠の色 */
.wp-block-group.tabbox- {
  border: 4px solid #ABABAB;
}
/* 色 */
.wp-block-group.tabbox-.blue- {
  border-color:var(--color-bg-blue) !important;
}
.wp-block-group.tabbox-.blue- .title-{
	background-color: var(--color-bg-blue) !important;
}
.wp-block-group.tabbox-.red- {
  border-color:var(--color-bg-red) !important;
}
.wp-block-group.tabbox-.red- .title-{
	background-color: var(--color-bg-red) !important;
}
.wp-block-group.tabbox-.green- {
  border-color:var(--color-bg-green) !important;
}
.wp-block-group.tabbox-.green- .title-{
	background-color: var(--color-bg-green) !important;
}
.wp-block-group.tabbox-.pink- {
  border-color:var(--color-bg-pink) !important;
}
.wp-block-group.tabbox-.pink- .title-{
	background-color: var(--color-bg-pink) !important;
}
.wp-block-group.tabbox-.purple- {
  border-color:var(--color-bg-purple) !important;
}
.wp-block-group.tabbox-.purple- .title-{
	background-color: var(--color-bg-purple) !important;
}
.wp-block-group.tabbox-.orange- {
  border-color:var(--color-bg-orange) !important;
}
.wp-block-group.tabbox-.orange- .title-{
	background-color: var(--color-bg-orange) !important;
}
/************************
タイトルボックス 
*************************/
/*外枠（グループブロック本体）の設定 */
.wp-block-group.titlebox- {
  position: relative !important;
  margin: 2em auto;
  padding: 3em 1em 1em;
  background-color: transparent;
  color: #000000;
  border: 5px solid #c6c6c6;
  box-sizing: border-box !important;
  box-shadow: 0 0 8px #333, 0 0 2px #555 inset;
  width:90%;
}
/* 擬似要素（装飾） */
.wp-block-group.titlebox-::before,
.wp-block-group.titlebox-::after {
  position: absolute;
  content: '';
  bottom: 4px;
  width: 25px;
  border-radius: 2px;
  box-shadow: 1px 1px 3px #666;
}

/* 2. タイトルの設定 */
.wp-block-group.titlebox- .title- {
 position: absolute;
 left: 1em;
 top: .5em;
 font-weight: bold;
 font-size: 1.1em; /* 文字サイズ */
 color: #000000; /* タイトル文字色 */
 border-style: none none solid;
 border-color: #c6c6c6; /*タイトル下線 */
 border-width: 3px;
 background-color:transpalent;
 margin-bottom:20px;
}
/* 3. 本文（p要素）の調整 */
.wp-block-group.titlebox- p.wp-block-paragraph {
  margin: 0 !important;                   /* 不要な上下余白をリセット */
}
/* --- カラー指定 --- */

/* 色 */
.wp-block-group.titlebox-.blue-,
.wp-block-group.titlebox-.blue- .title-{
  border-color:var(--color-bg-blue) !important;
}
.wp-block-group.titlebox-.red-,
.wp-block-group.titlebox-.red- .title- {
  border-color:var(--color-bg-red) !important;
}
.wp-block-group.titlebox-.green-,
.wp-block-group.titlebox-.green- .title- {
  border-color:var(--color-bg-green) !important;
}
.wp-block-group.titlebox-.pink-,
.wp-block-group.titlebox-.pink- .title- {
  border-color:var(--color-bg-pink) !important;
}
.wp-block-group.titlebox-.purple-,
.wp-block-group.titlebox-.purple- .title- {
  border-color:var(--color-bg-purple) !important;
}
.wp-block-group.titlebox-.orange-,
.wp-block-group.titlebox-.orange- .title- {
  border-color:var(--color-bg-orange) !important;
}
/* ========================================
   リスト
   ======================================== */ 


.list- {
    list-style-type: none;
    padding: 1em;
    /*border: 2px solid #2589d0;*/
}

.list-.list-1 li {
    display: flex;
    align-items: center;
    gap: 0 10px;
    padding: .3em;
}

.list-.list-1 li::before {
    transform: rotate(-45deg);
    width: .4em;
    height: .4em;
    border-bottom: 3px solid #ABABAB;
    border-right: 3px solid #ABABAB;
    content: '';
}

.list-.list-2 li {
    display: flex;
    align-items: center;
    gap: 0 5px;
    padding: .3em;
}

.list-.list-2 li::before {
    display: inline-block;
    width: 10px;
    height: 5px;
    border-bottom: 2px solid #ABABAB;
    border-left: 2px solid #ABABAB;
    transform: rotate(-45deg) translateY(-1.5px);
    content: '';
}

.list-.list-3 li {
    display: flex;
    align-items: center;
    gap: 0 10px;
    position: relative;
    padding: .3em .3em .3em 1.5em;
}

.list-.list-3 li::before,
.list-.list-3 li::after {
    position: absolute;
    content: '';
}

.list-.list-3 li::before {
    left: 0;
    width: 1.2em;
    height: 1.2em;
    border-radius: 50%;
    background-color:#ABABAB;
}

.list-.list-3 li::after {
    left: .6em;
    transform: translateX(-75%) rotate(-45deg);
    width: .3em;
    height: .3em;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
}

.list-.list-4 {
    list-style-type: disc;
    list-style-position: inside;
    padding: 1em;
    border: 2px solid #ABABAB;
}

.list-.list-4 li {
    padding: .5em;
}

.list-.list-4 li:not(:last-child) {
    border-bottom: 1px dashed #ABABAB;
}

.list-.list-4 li::marker {
    color: #ABABAB;
    font-size: 1.1em;
}

.list-.list-1.blue- li::before,
.list-.list-2.blue- li::before{
	border-bottom: 3px solid var(--color-bg-blue);
    border-right: 3px solid var(--color-bg-blue);
}
.list-.list-1.red- li::before,
.list-.list-2.red- li::before {
	border-bottom: 3px solid var(--color-bg-red);
    border-right: 3px solid var(--color-bg-red;
}
.list-.list-1.green- li::before,
.list-.list-2.green- li::before {
	border-bottom: 3px solid var(--color-bg-green);
    border-right: 3px solid var(--color-bg-green);
}
.list-.list-1.pink- li::before,
.list-.list-2.pink- li::before {
	border-bottom: 3px solid var(--color-bg-pink);
    border-right: 3px solid var(--color-bg-pink);
}
.list-.list-1.purple- li::before,
.list-.list-2.purple- li::before {
	border-bottom: 3px solid var(--color-bg-purple);
    border-right: 3px solid var(--color-bg-purple);
}
.list-.list-1.orange- li::before,
.list-.list-2.orange- li::before {
	border-bottom: 3px solid var(--color-bg-orange);
    border-right: 3px solid var(--color-bg-orange);
}

.list-.list-3.blue- li::before {
	background-color:var(--color-bg-blue);
}
.list-.list-3.red- li::before {
	background-color:var(--color-bg-red);
}
.list-.list-3.green- li::before {
	background-color:var(--color-bg-green);
}
.list-.list-3.pink- li::before {
	background-color:var(--color-bg-pink);
}
.list-.list-3.purple- li::before {
	background-color:var(--color-bg-purple);
}
.list-.list-3.orange- li::before {
	background-color:var(--color-bg-orange);
}

.list-.list-4.blue- {
	border:var(--color-bg-blue);
}
.list-.list-4.blue- li:not(:last-child) {
    border-bottom: 1px dashed var(--color-bg-blue);
}
.list-.list-4.blue- li::marker {
    color:var(--color-bg-blue);
    font-size: 1.1em;
}

.list-.list-4.red- {
	border:var(--color-bg-red);
}
.list-.list-4.red- li:not(:last-child) {
    border-bottom: 1px dashed var(--color-bg-red);
}
.list-.list-4.red- li::marker {
    color:var(--color-bg-red);
    font-size: 1.1em;
}

.list-.list-4.green- {
	border:var(--color-bg-green);
}
.list-.list-4.green- li:not(:last-child) {
    border-bottom: 1px dashed var(--color-bg-green);
}
.list-.list-4.green- li::marker {
    color:var(--color-bg-green);
    font-size: 1.1em;
}

.list-.list-4.pink- {
	border:var(--color-bg-pink);
}
.list-.list-4.pink- li:not(:last-child) {
    border-bottom: 1px dashed var(--color-bg-pink);
}
.list-.list-4.pink- li::marker {
    color:var(--color-bg-pink);
    font-size: 1.1em;
}

.list-.list-4.purple- {
	border:var(--color-bg-purple);
}
.list-.list-4.purple- li:not(:last-child) {
    border-bottom: 1px dashed var(--color-bg-purple);
}
.list-.list-4.purple- li::marker {
    color:var(--color-bg-purple);
    font-size: 1.1em;
}

.list-.list-4.orange- {
	border:var(--color-bg-orange);
}
.list-.list-4.orange- li:not(:last-child) {
    border-bottom: 1px dashed var(--color-bg-orange);
}
.list-.list-4.orange- li::marker {
    color:var(--color-bg-orange);
    font-size: 1.1em;
}
/* ========================================
   テーブル
   ======================================== */ 
.wp-block-table.tbl- th{
 background-color:var(--color-tbl-head);
}
.wp-block-table.tbl- table,
.wp-block-table.tbl- th,
.wp-block-table.tbl- td{
	border:solid 1px var(--color-tbl-line) ;
}

/* 対象の段落 */
.label-6 {
  font-size: 16px;
  line-height: 1.6;
}

/* 先頭文字を大きく・白抜き円で */
.label-6::first-letter {
  font-size: 3em;              /* 文字を大きく */
  font-weight: bold;           /* 太字 */
  color: #fff;                 /* 文字色を白 */
  background-color: #333;      /* 背景色（濃い色） */
  border-radius: 50%;          /* 円形 */
  display: inline-block;       /* ブロック要素として扱う */
  width: 1.2em;                /* 幅 */
  height: 1.2em;               /* 高さ（width と同じで真円に） */
  line-height: 1.2em;          /* 縦中央揃え */
  text-align: center;          /* 横中央揃え */
  margin-right: 8px;           /* 右に余白 */
  float: left;                 /* 左に配置して文字を回り込ませる */
}
