/*
Theme Name: silhouette-jp
Author: Ken
Version: 1.0
*/



/***********************************************************************************************
** 基本表示
************************************/
/*初期化*/
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.container {
  padding-right: constant(safe-area-inset-right);
  padding-left: constant(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  padding-left: env(safe-area-inset-left);
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  color: #333;
  line-height: 1.8em;
  margin: 0;
  overflow-wrap: break-word;
  background-color: #333F49;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  /* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
  background-attachment: fixed;
}

ol, ul {
  padding-left: 40px;
}

ul {
  list-style-type: disc;
}

hr {
  color: #eee;
}

/* クリアフィックス */
.cf::after {
  clear: both;
  content: "";
  display: block;
}


/* インナーを囲む */
.wrap {
  width: 1256px;
  margin: 0 auto;
}



/***********************************************************************************************/


header, footer {padding: 0; text-align: center; z-index: 8000;}



.main-wrap{width: 100%; background-color: #f9f9f9;}




main {
  padding: 40px;
  max-width: 1000px;
  margin: auto;
}




.container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0 auto;
  max-width: 1200px;
}



.main {
  flex: 2;
}



/* 共通設定 */
.sidebar {
  color: #333F49;
  transition: right 0.3s ease;
  z-index: 1000;
}

/* モバイル表示（990px以下） */
@media screen and (max-width: 990px) {
  .sidebar {
    position: fixed;
    top: 0;
    right: -100%;
    width: 80%;
    max-width: 300px;
    height: 100%;
    background: #fff;
    box-shadow: -2px 0 5px rgba(0,0,0,0.3);
    flex: none;
    padding-top: 90px;
  }

  .sidebar-tab {
    display: block;
    position: fixed;
    top: 150px;
    right: 0px;
    background: #333;
    color: #fff;
    padding: 10px 15px;
    cursor: pointer;
    z-index: 1001;
  }

  .sidebar-toggle {
    display: none;
  }

  .sidebar-toggle:checked + .sidebar-tab + .sidebar {
    right: 0;
  }

  .widgets {
    padding: 0 20px;
  }
}

/* PC表示（991px以上） */
@media screen and (min-width: 991px) {
  .sidebar {
    position: sticky;
    top: 150px;
    right: 0px;
    height: 100%;
    flex: 1;
    z-index: 1;
  }

  .sidebar-tab {
    display: none;
  }
    .sidebar-toggle {
    display: none;
  }
}






/**サイドバー**/
.sidebar h3{
  font-size: 28px;
  font-weight: normal;
  margin-bottom: 10px;
}

.sidebar .widgets {
  margin: 50px 0;
}

/**sidebar TOC***/
.sidebar-toc ul li{
  list-style-type: disc;
  margin-left: 2em;
}
.sidebar-toc ul li a {color:#005177;}


/**sidebar products***/
.taxonomy-terms-list ul li{
  list-style-type: disc;
  margin-left: 2em;
}


.widget {
  background-color: #fff;
  border: 1px solid #ddd;
  padding: 20px;
  margin-bottom: 20px;
  border-radius: 4px;
}

.widget-title {
  font-size: 18px;
  margin-bottom: 10px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 5px;
}








@media (max-width: 990px) {
  .guide-container {
    flex-direction: column;
  }
}


.sidebar {
  /*display: grid;*/
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.sidebar .widget {
  margin-bottom: 0;
}

@media (max-width: 990px) {
  .sidebar {
    grid-template-columns: 1fr;
  }
}







/*
.header-menu {
  list-style: none;
  display: flex;
  gap: 20px;
}

.header-menu li {
  display: inline;
}

.header-menu a {
  text-decoration: none;
  color: #333;
  background-color: #ccc;
}
*/




/**調整中***********************************************************************************
/*************************************************************************************
/**Header***********************************************************/

.main-header{background:#333F49; position: sticky; 
  top: 0;
  z-index: 9000;}

/*基本 */
ul,div,img {margin: 0px;padding: 0px;list-style: none;font-weight: normal;}

/*仮　本文をメニューの高さ分下げる */
/*#main {margin-top: 150px;}*/



/*レイアウト*****************************************/

#navi {
  background-color:fff;
  
  top: 0;
  left: 0;
  height: 145px;
  width: 100%;
  border-bottom: 1px solid #666;
}


.global-header { top:0; margin: 0 auto; max-width: 1200px; width: 100%; position: relative; height: 95px;}

.header-logo { height: 44px; position: absolute; top:25px; margin-left: 10px;}
.header-logo img {height: 100%; width: auto;}

.header-submenu {top:25px;line-height: 60px; position: absolute; right: 10px; width: 300px; height: 40px;}






/* フォーム全体の設定 */
.search-form {
    display: flex;             /* inputとbuttonを横並びにする */
    align-items: center;       /* 要素を垂直方向の中央に揃える */
    max-width: 300px;          /* フォームの最大幅を制限 */
    border: 2px solid #ccc;
    border-radius: 5px;
    overflow: hidden;          /* 角丸からはみ出さないようにする */
}

/* 入力フィールドの設定 */
.search-form input[type="search"] {
    flex-grow: 1;              /* 残りのスペースを埋める */
    padding: 8px 10px;
    border: none;              /* 親要素に境界線を付けたので、ここでは削除 */
    outline: none;             /* フォーカス時のブラウザのデフォルト枠線を削除 */
    font-size: 14px;
    background-color: #333F49;
    color: #999;
}

/* 検索ボタンの設定 */
.search-form .search-submit {
    padding: 8px 15px;
    background-color: #1fc3e0; /* WordPressの標準的な青色 */
    color: #fff;               /* 文字色を白に */
    border: none;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s; /* ホバー時のアニメーション */
}

/* ボタンのホバーエフェクト */
.search-form .search-submit:hover {
    background-color: #005177;
}

/* アクセシビリティ用ラベルの非表示設定（必須） */
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}






/****************************************************************************/

/* PCでは虫眼鏡・モーダルを非表示 */
.search-icon-button,
.search-toggle,
.search-modal {
    display: none;
}

/* スマホ表示時のみ切り替え */
@media screen and (max-width: 990px) {

    .header-submenu {top:10px; position: absolute; right: 10px; width: 40px; height: 40px; background:#333;}

    .search-form {
        display: none;
    }



    /* チェックされたらモーダル表示 */
    .search-toggle:checked ~ .search-modal {
        display: block;
        position: fixed;
        z-index: 9999;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,0.6);
    }

    .search-modal-content {
        background-color: #fff;
        margin: 15% auto;
        padding: 20px;
        width: 90%;
        max-width: 400px;
        border-radius: 8px;
        position: relative;
    }

    .close-button {
        position: absolute;
        top: 10px;
        right: 15px;
        font-size: 20px;
        cursor: pointer;
    }


    




    .search-icon-button {
    display: inline-block;
    width: 40px;
    height: 40px;
    position: relative;
    cursor: pointer;
}

/* 丸いレンズ部分 */
.search-icon-button::before {
    content: "";
    width: 16px;
    height: 16px;
    border: 3px solid #fff;
    border-radius: 50%;
    position: absolute;
    top: 7px;
    left: 7px;
}

/* 持ち手部分 */
.search-icon-button::after {
    content: "";
    width: 13px;
    height: 3px;
    background-color: #fff;
    position: absolute;
    bottom: 13px;
    right: 2px;
    transform: rotate(45deg);
    transform-origin: top left;
}







}

/****************************************************************************/













/* チェックボックスを非表示 */
#menu input {
  display: none;
}


/* 上部メニュー */
#menu {
  margin: 0 auto;
  max-width: 1200px;
  width: 100%;
  display: flex;
  justify-content: center;
  height: 50px;

}
#menu > li {
  margin: 0;
  line-height: 60px;
  font-size: 17px;
  font-weight: bold;
  padding: 0 1em;
  font-size: 14px;
}
/* パソコンでは V を非表示 */
#menu > li .pd {
  display: none;
}

#menu-navibtn {
  display: none;
  cursor: pointer;
  cursor: hand;
}




/* スマホ用 */
@media screen and (max-width: 990px) {

  /**#main {margin-top: 100px;}**/

  .main-header{height: 60px;}

  #navi {
    top: 0;
    left: 0;
    height: 60px;
    width: 100%;
    border-bottom: 1px solid #999;
    background-color:#333F49;
    color:#ccc;
  }
  
  .global-header { top:0; margin: 0 auto; width: 100%;  height: 60px;}
  .header-logo { height: 30px; position: absolute; top:50%; left: 50%; transform: translate(-50%, -50%);}


  #menu {
    display: none;
    margin-top: 10px;
  }
  #menu li {
    position: relative;
    height: auto;
    width: 100%;
    padding: 0px;
    border-bottom: 1px solid #DDD;
    white-space: nowrap;
    background: #f5f5f5;
    color:#333F49;
  }
  #menu > li {
    margin-right: -20px;
  }
  /* V を表示 */
  #menu > li .pd {
    display: inline-block;
    width: 100%;
  }


  #menu li a {text-decoration: none; font-weight: bold; color:#333; position: relative;}

  #menu li a:hover {color: #1FC2DE;}

  #menu li a::after { /* くの字の表示設定 */
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: -15px;
    width: 5px;
    height: 10px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background-color:#1FC2DE;
  }




  #menu li a , .menu-item > span {
    display: inline-block;
    padding-left: 1em;
  }
  #menu li ul li a , .menu-item ul li > span {
    padding-left: 2em;
  }

  #menu li ul li ul li a {
    padding-left: 3em;
  }


  #menu li:first-child {
    border-top: 1px solid #DDD;
  }




  #menu li i {
    padding: 0px 6px;
  }
  /* メニューを移動させないため */
  #menu-navibtn:checked ~ #navi {
    position: fixed;
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100%;
  }


}

/* 子メニュー */
#menu > li > ul li {
  font-size: 14px;
}

/* ドロップダウンメニュー */
#menu > li > ul {
  position: absolute;
  padding: 0px 20px;
  background-color: #FFF;
}








/* パソコン用 *********************************************************/
@media screen and (min-width: 990px) {

  #menu > li {
    /**position: static;**/
    left: 0;
    margin: 0 5px;
  }
  #menu > li > ul {
    margin-left: 0;
    width: 100%;
    left: 0;
    top: -800px;
    opacity: 0;
    /**height: 300px;**/
    box-shadow: 0 20px 20px rgba(0, 0, 0, 0.16);
    padding: 40px 0 50px;
  }
  #menu > li:hover > ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #fff;
    top:145px;
    opacity: 100%;
    transition: opacity 0.4s ease-in;
  }

  #menu > li > ul li {
    display: inline-block; 
    padding: 0 14px;
    vertical-align: top;
  }


  .icon-list img {width: 120px; height: 80px; object-fit: contain;}
  .icon-list span {display: block;} 


  .photo-list img {width: 130px; height: 110px; object-fit: cover; object-position: 50% 50%;}
  .photo-list span {display: none;}

  #menu > li.photo-list ul li ul li { display: block; text-align: center; line-height: 1.5em; margin: 10px 0;}
  #menu > li.icon-list ul li { text-align: center; line-height: 1.5em; margin: 20px 0;}

  #menu > li > a {text-decoration: none; color: #fff;}
  #menu > li:hover{cursor: pointer;}

  /**川上作業9/9**/
 li.icon-list > .gm-dlopdown-icon, li.photo-list > .gm-dlopdown-icon {position: relative;}
 li.icon-list > .gm-dlopdown-icon::after,  li.photo-list > .gm-dlopdown-icon::after {
    position: absolute;
    top: calc(50% - 6px);
    right: -15px;
    display: block;
    width: 8px;
    height: 8px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(45deg);
    transition: all 0.3s;
    content: "";

  }

  li.icon-list:hover > .gm-dlopdown-icon::after ,  li.photo-list:hover > .gm-dlopdown-icon::after {
    top: calc(50% - 2px);
    transform: rotate(225deg);
  }

  .gm-dlopdown-icon{color: #fff;}




/*******************************************************************/

.submenu li a   {
  position: relative; /*アンダーラインの位置を決めるための基準 */
  text-decoration: none;
  color: #444;
  }
  
  .submenu li  a ::after {position: absolute; /*親要素であるaタグを基準に位置を指定*/left: 0;            /*アンダーラインを各メニュー（aタグ）の左端に指定*/content: '';        /*本来は、擬似要素に入るテキストなどを’’内に指定。今回はアンダーラインなので何も記載しない*/width: 100%;        /*アンダーラインを各aタグの幅に合わせる*/height: 2px;        /*アンダーラインの高さ（太さ）*/background: #fff;/*アンダーラインの色*/}
  
  .submenu li  a  ::after {position: absolute;left: 0;content: '';width: 100%;height: 1px;background: #000000;bottom: -1px;transform: scale(0, 1);transform-origin: center top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/transition: transform 0.3s;   /*変形の時間*/}
  
  .submenu li  a  :hover::after {
  transform: scale(1, 1); /*ホバー後、x軸方向に1（相対値）伸長*/
  }
  
  /*******************************************************************/




 /**川上作業9/9**/


}


.cover1 img{
  object-position: right 100px bottom 30px;
}





/* スマホ用 */
@media screen and (max-width: 990px) {
  /* ハンバーガーメニューがクリックされた時 */
  #menu-navibtn:checked ~ * #menu {
    display: block;
  }
  #menu-navibtn:checked ~ * #menu > li {
    max-height: inherit;
    overflow-y: visible;
  }
  #menu > li ul {
    line-height: 50px; background-color: #fff;
  }
  #menu > li > ul {
    padding: 0;
  }
  /* アコーディオン部分初期状態 */
  #menu li ul li {
    display: none;
  }
  #menu > li > label:hover {
    cursor: pointer;
    cursor: hand;
  }
  #menu li ul {
    position: static;
    display: inline;
  }
  /* 子メニュー */
  #menu > li > ul {
    margin-left: initial;
  }
  #menu ul li:last-child {
    border-bottom: none;
  }
  #menu > li > ul li {
    border-left: 1px solid #FFF;
    border-right: 1px solid #FFF;
  }
  #menu li ul li ul {
    top: inherit;
    left: 0;
  }


  /* 子メニューがクリックされた時 */
  #menu input[type="checkbox"]:checked ~ label ~ ul > li {
    max-height: inherit;
    overflow-y: visible;
    display: block;
  }

 .parent-plus{display: inline-block; width: 50px; position:absolute; height: 100%; margin: 0; top:0; right: 0; z-index: 50; background-color:#f5f5f5;}


 .parent-plus::before,
 .parent-plus::after{
   position: absolute;
   top: 30px;
   right:20px;
   content:"";
   width: 12px;
   height: 2px;
   background-color:#666;
 }

  .parent-plus:before {
    transition:0.3s;
    rotate: 90deg;
  }

  #navi input[type="checkbox"]:checked ~ label .parent-plus:before {
    transform: rotate(90deg)
  }

 .photo-list img , .icon-list img {display: none;}

.menu-item {padding: 10px; width: 100%;}


}








/* ハンバーガー */
#navi #navibtn {
  display: none;
}
@media screen and (max-width: 990px) {
  #navi #navibtn {
    display: block;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 99999;
  }
  #navibtn span {
    display: block;
    width: 40px;
    height: 40px;
    background-color: #333;
  }
  #navibtn span span {
    display: block;
    overflow: hidden;
    width: 1px;
    height: 1px;
  }

  #navibtn span span::before,
  #navibtn span span::after,
  #navibtn span::after {
    position: absolute;
    left:10px;
    content:"";
    width: 20px;
    height: 2px;
    background-color: #FFF;
  }

  /* 上の棒 */

  #navibtn span span::before {
    top:10px;
    transition: all 0.3s;
  }
  #menu-navibtn:checked ~ #navi label#navibtn span span::before {
    top:19px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
  }

  /* 下の棒 */
  #navibtn span::after {
    bottom:10px;
    transition: all 0.3s;
  }
  #menu-navibtn:checked ~ #navi label#navibtn > span::after {
	top: calc(50% - 1px);
	transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}


  /* 中の棒  **/
  #navibtn span span::after {
    top:18px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn span span::after {
    display: none;
  }
  
}




/**Header END***********************************************************/


/*ヘッダー調整中*************************************************************/
/*************************************************************************************
/*************************************************************************************
/*************************************************************************************/




.sub-header-menu-auto ul{
  display: flex;
}




/* product menu **********************************************************/

/* メニュー全体の背景色と余白設定 */
.product-menu {
  margin: 0;
  background-color: #414e55; /* ダークグレー系の背景色 */
}

/* メニューラップの最大幅と中央寄せ設定 */
/* ポジション外したら治った → position指定によるレイアウト崩れがあった可能性 */
.product-menu-wrap {
  max-width: 1020px;
  width: 100%;
  margin: 0 auto;
}

/* メニュータイトルの文字色 */
.product-menu-title {
  color: #fff;
}

/* メニューリスト（ul）のスタイル（未設定） */
.product-menu-wrap ul {display: none;}

/* メニューリンクの文字色 */
.product-menu a {
  color: #fff;
}

/* メニューリンクのホバー時の文字色 */
.product-menu a:hover {
  color: #1FC2DE; /* 明るい青系 */
}

/* チェックボックスは非表示（トグル用） */
.product-menu input {
  display: none;
}


/* スマホ用レイアウト（680px以下） */
@media screen and (max-width: 990px) {

  /* メニューラップの相対位置指定（子要素の絶対位置に対応） */
  .product-menu-wrap {
    position: relative;
  }

  /* メニュータイトルの中央配置とスタイル */
  .product-menu-title {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 20px;
    text-decoration: none;
  }

  /* チェックされたらメニューリストを表示 */
  .product-menu input[type="checkbox"]:checked ~ .product-menu-wrap ul {
    display: block;
    background-color: #fff;
  }

  /* ラベルの表示領域 */
  .product-menu-lab {
    height: 40px;
    display: block;
    margin: 0 auto;
    text-align: center;
    color: #fff;
    line-height: 40px;
  }

  /* ラベルのバー（ハンバーガーアイコン風） */
  .product-menu-lab::before,
  .product-menu-lab::after {
    position: absolute;
    top: 18px;
    left: 20px;
    content: "";
    width: 20px;
    height: 2px;
    background-color: #FFF;
  }

  /* beforeバーの初期状態（縦線） */
  .product-menu-lab:before {
    transition: 0.3s;
    rotate: 90deg;
  }

  /* チェックされたらバーを回転（開閉アイコン） */
  .product-menu input[type="checkbox"]:checked ~ .product-menu-wrap label .product-menu-lab::before {
    transform: rotate(90deg);
  }

  /* メニューリストの影と項目の区切り線 */
  .product-menu-wrap ul {
    box-shadow: 0 20px 20px rgba(0, 0, 0, 0.16);
  }

  .product-menu-wrap ul li {
    border-bottom: 1px solid #f5f5f5;
  }

  /* メニューリンクのスタイル（中央寄せ、ピンク色） */
  .product-menu-wrap ul a {
    display: block;
    width: 100%;
    color: #333F49;
    text-align: center;
    padding: 5px 0;
  }
}


/* PC用レイアウト（680px以上） */
@media screen and (min-width: 990px) {

  /* ラベルは非表示（PCでは不要） */
  .product-menu label {
    display: inline-block;
    font-weight: bold;
    color: #fff;
  }

  /* メニューの高さ設定 */
  .product-menu {
    height: 70px;
  }

  /* メニュータイトルのスタイル（ボーダー、余白、フォントサイズなど） */
  .product-menu-title {
    display: inline-block;
    border-right: #fff solid 2px;
    height: 50px;
    margin: 10px;
    padding: 0 1em;
    line-height: 50px;
    font-size: 1.4em;
  }

  /* メニューリストの横並び表示 */
  .product-menu-wrap ul {
    display: inline-block;
  }

  .product-menu-wrap ul li {
    display: inline-block;
    margin: 5px 0.6em;
  }

  /* メニューリンクとタイトルの装飾なし */
  .product-menu-wrap ul li a,
  .product-menu-title {
    text-decoration: none;
  }
}

/* product menu end *****************************************************/









/*CTF******************************************************************/

.ctf-list {
  margin: 1em auto;
}

.ctf-item {margin-bottom:2em;}

.ctf-item h2 {font-size: 18px;}
.ctf-item h2 a {color:#414e55; text-decoration: none;}





/*CTF END***************************************************************/











/*フッター************************************************************************************/
/*************************************************************************************/
/**footer***********************************************************/

/**RESET 共有用に再設定**/
.pane-footer li {list-style: none;}
.pane-footer {color: #fff;}

@media all and (max-width:990px){
	.pane-footer {font-size: 0.7em;}
}

/**RESET END**/


.pane-footer {
  z-index: 9000;
	padding: 40px 0;
	background: #333F49;;
}

.block-footer-sns {
	margin: 0 0 32px;
}

.block-footer-sns ul.block-footer-sns--list {
	display: flex;
	align-items: center;
	justify-content: center;
}

.block-footer-sns ul.block-footer-sns--list > li {
	margin: 0 20px;
}


/* ----ページトップに戻る---- */
.block-page-top a {
	position: relative;
	display: block;
	width: 54px;
	height: 54px;
	background-color: #444;
}

.block-page-top a:after {
	content: "";
	display: block;
	position: absolute;
	width: 16px;
	height: 16px;
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	transform: rotate(-45deg);
	left: 50%;
	top: 50%;
	margin-top: -4px;
	margin-left: -8px;
}
.block-page-top {
	position: fixed;
	top: auto;
	bottom: 10px;
	right: 26px;
	display: none;
}


/* ----フッター---- */
.footer-container {
	position: relative;
}
/* ----フッターナビ---- */
.block-footernav-flex {
	display: table;
	max-width: 800px;
	width: 100%;
	margin: 50px auto;
	color: #9C9C9C;
}
.block-footernav-flex a{
	color: #CCC;
}
.footernav-flex01{
	display: table-cell;
	text-align: left;
}
.footernav-flex02{
	display: table-cell;
	text-align: left;
}
.footernav-flex03{
	display: table-cell;
	text-align: left;
}


.footernav-flex01 a,.footernav-flex02 a,.footernav-flex03 a {
    display: inline-block;
    position: relative;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
  }
  
  .footernav-flex01 a:after,.footernav-flex02 a:after,.footernav-flex03 a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    transform: translate(-100%, 0);
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
    content: "";
  }
  
  .footernav-flex01 a:hover:after,.footernav-flex02 a:hover:after,.footernav-flex03 a:hover:after {
    transform: translate(0, 0);
  }




  .block-copyright {margin: 0 auto; text-align: center;}
  .block-copyright a {color: #fff; text-decoration: none;}


/*フッター************************************************************************************/
/*************************************************************************************/
/*************************************************************************************/







.pagetitle-l {
  font-size: 80px;
  line-height: 80px;
  color: #333F49;
}




h2{scroll-margin-top:150px;}/*20251028*/


.article h1,.article h2,.article h3,.article h4,.article h5,.article h6 {
  line-height: 1.25;
  font-weight: normal;
  margin-bottom: 1em;
}
.article h4,
.article h5,
.article h6 {
  font-size: 20px;
  padding: 9px 10px;
}

.article h1 {
  border-bottom: 2px solid #888;
  padding-top: 1em;
  padding-bottom: 2em;
  font-size: 2em;
}

.article h2 {
  border-left: 10px solid #999;
  font-size: 24px;
  padding: 10px 20px;
  letter-spacing: 0.1em;
}

.article h3 {
  border-bottom: 1px solid #ddd;
  font-size: 22px;
  padding: 5px;
}

.article h4 {
}

.article p {
  letter-spacing: 0.05em;
  margin-bottom: 1.5em;
  line-height: 1.5em;
  padding-left: 1.8em;
}

.article p strong {
background: linear-gradient(transparent 60%, #ff9 60%);
}



.article p a {
	text-decoration: none;
  color: cadetblue;
  transition: all .3s;
  font-weight: bold;
}

.article p a:hover {
  color: #fff;
  background-color: #00BCD4;
}





/****テーブル****/
.wp-block-table table {
  margin-bottom: 2em;
}

.wp-block-table table th,
.wp-block-table table td {
  font-size: 0.8em;
  line-height: 1.4em;
  padding:1em;
}


/****リストブロック****/

.wp-block-list {
  margin-bottom: 2em;
  margin-left: 3em;
}
.wp-block-list li {
  margin-bottom: 0.4em;
  list-style: disc;
}

.wp-block-list li {
  margin-bottom: 0.4em;
  list-style: disc;
}

ol.wp-block-list li{
  list-style: decimal;
}


.wp-block-list li ul,.wp-block-list li ol {
  font-size: 0.9em;
}





/****画像ブロック****/
.wp-block-image {
  position: relative;
}

.wp-block-image img {
  margin-bottom: 2em;
}

.wp-block-image figcaption {
  position: absolute;
  bottom:-0.5em;
  font-size: 0.7em;
}



/****ギャラリーブロック****/
.wp-block-gallery {
  margin-bottom: 2em;
}
.wp-block-gallery .wp-block-image {
  position: relative;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  position: absolute;
  bottom:-0.5em;
  font-size: 0.7em;
  background: none;
  color: #333;
}



/****Youtube挿入****/

.wp-block-embed-youtube iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}




/* Gutenberg editor compatibility */
.editor-styles-wrapper ul,
.editor-styles-wrapper ol {
  padding-left: 1.5em !important;
  list-style-type: disc !important;
  list-style-position: outside !important;
}

.editor-styles-wrapper li {
  margin-bottom: 0.5em !important;
}






/**フォーム関連********************************************************************/

.selectbox,
.post-count {
  border: 3px solid #e0e0e0;
  padding: 3px;
  border-radius: 5px;
  overflow: hidden;
  font-size: 1em;
}


/*アーカイブのヘッド部分*/
.form-header-box{display: flex; margin: 50px auto;}
.form-header-box .selectbox{margin-right: auto;}
.form-header-box .selectbox .level-0,.form-header-box .selectbox .select-all {font-size:0.8em;}
.form-header-box .selectbox .level-1 {font-size:0.7em; padding-left: 3em;}




/*POST-RESOLVED*/
#feedback-buttons,#thanks-message{
  text-align: center;
  border-top: 2px solid #888;
  margin-top: 100px;
}

#feedback-buttons .comment,
#thanks-message .comment{
  font-size: 1.5em;
  color:#333F49;
  margin: 1em auto;
}

#feedback-buttons button {
  background-color: #333F49;
  color: #fff;
  font-size:1em;
  padding: 6px 1.5em;
  border-radius: 15px;
  border: none;
  cursor: pointer;
}



/**フォーム関連　end ********************************************************************/




/** Results/検索結果 ********************************************************************/

.results-tax-products li {
  display: inline-block;
  font-size: 0.7em;
  background-color: #b1b9ca;
  color: #fff;
  padding: 0 1em ;
  border-radius: 5px;
}








/** Results/検索結果 end********************************************************************/






/* ローディング */
.ctf-loading {
  width: 48px;
  height: 48px;
  border: 5px solid #ccc;
  border-top-color: #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 50px auto;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}
/* ローディング end*/















/*トップページ 暫定でここに設置***************************************/






.csproductlist ,.cscategorylist{
  display: flex;
  flex-wrap: wrap; /* アイテムを折り返す */
  gap: 20px; /* 行間と列間を20pxに設定 */
  width: 100%;
  margin: 2em auto;
}


.cscategorylist .list-item {
  flex: 1 1 180px;
  height: 100px;
  background: #333F49;;
  border-radius: 10px;
  border: solid #333F49;;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

.cscategorylist .list-item a {
  display: flex;
  flex-direction: column;
  justify-content: center; /* 縦中央揃え */
  align-items: center;     /* 横中央揃え */
  height: 100%;
  width: 100%;
  text-align: center;
  font-size: 1.2em;
  text-decoration: none;
  color: #fff;
}

.cscategorylist .list-item a .list-item-subtitle{
  font-size: 0.7em;
  display: block;
}


.csproductlist .list-item {
  flex: 1 1 180px;
  height: 200px;
  background: #fff;
  border-radius: 10px;
  border: solid #fff;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

.thumb-products {
  height: 150px;
  width: 150px;
  margin: 0 auto;
}
.thumb-products img {
  width: 100%;
  height: 100%;
}


.list-item-form {
}

.list-item-form .selectbox {display: block; margin: 0 auto;}







