




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


/************************************
** 追従ボタン（丸形、オンマウスで文字表示、逆グラデーション、直径120px、文字中央配置）
************************************/

/* 全体を囲むコンテナのスタイル */
.floating-contact {
  position: fixed;
  bottom: 40px;
  right: 40px;
  display: flex;
  flex-direction: column;
  gap: 10px; /* ボタン間の余白 */
  z-index: 1000; /* 前面に表示 */
}

/* ボタンの基本スタイル */
.contact-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 120px; /* ボタンの直径 */
  height: 120px; /* ボタンの直径 */
  border: none;
  border-radius: 50%; /* 丸形 */
  background-image: linear-gradient(to bottom right, #00c4cc, #3f76da, #7d2ae8); /* 左上から右下への逆グラデーション */
  color: #ffffff; /* 初期文字色 */
  font-size: 16px; /* テキストサイズ */
  font-weight: bold;
  cursor: pointer;
  text-align: center; /* テキストを中央揃え */
  transition: background-color 1s ease, background-image 1s ease, color 1s ease;
}

/* アイコンのスタイル */
.btn-icon {
  font-size: 36px; /* アイコンサイズを調整 */
  transition: opacity 1s ease; /* 透明度の変化をスムーズに */
}

/* 文字のスタイル（デフォルトは非表示） */
.contact-btn span {
  position: absolute;
  top: 50%; /* 上から50% */
  left: 50%; /* 左から50% */
  transform: translate(-50%, -50%); /* 完全に中央揃え */
  white-space: nowrap; /* テキストを1行にする */
  opacity: 0; /* 完全に透明 */
  visibility: hidden; /* 見えない状態 */
  transition: opacity 1s ease, visibility 1s ease; /* スムーズな変化 */
}

/* ボタンホバー時のスタイル */
.contact-btn:hover {
  background-image: none; /* グラデーションを解除 */
  background-color: #444444; /* ホバー時の背景色 */
}

/* ホバー時のアイコン（フェードアウト） */
.contact-btn:hover .btn-icon {
  opacity: 0; /* アイコンを透明に */
}

/* ホバー時の文字（フェードイン） */
.contact-btn:hover span {
  opacity: 1; /* 透明度を戻す */
  visibility: visible; /* 表示状態にする */
}

/* メディアクエリ（レスポンシブ対応） */
@media (max-width: 600px) {
  .floating-contact {
    display: none; /* 小さい画面では非表示 */
  }
}



/************************************
** 子テーマ用のスタイルを書く
** https://colorate.azurewebsites.net/ja/Color/F78DA7
** https://www.colorhexa.com/F78DA7
************************************/
:root {
    --gsss-main-color: #5A89DF; /* メインカラー */
    --gsss-main-color-light: #C8D7F4; /* メインカラーのライトバージョン */
    --gsss-sub-color: #6A5ACD; /* サブカラー */

    --gsss-kuro: #232626;
    --gsss-shiro: #fff;

    --gsss-red1-color: #e82a4f; /* 赤 */
    --gsss-blue1-color: #7d2ae8; /* 青 */
    --gsss-green1-color: #28e87d; /* 緑 */
    --gsss-yellow1-color: #e8d22a; /* 黄色 */

    /* コクーンの文字の装飾 アンダーライン */
    --cocoon-gsss-red1-color: #e82a4f; /* メインカラーを設定 */
    --cocoon-gsss-blue1-color: #7d2ae8; /* サブカラーを設定 */
    --cocoon-gsss-green1-color: #28e87d; /* その他のカラー設定 */
    --cocoon-gsss-yellow1-color: #e8d22a; /* 原則的に黄色を設定 */

    /* ヘッダーボタン */
    --gsss-botton-text: #222222;
    --gsss-botton-bg: #fff;
    --gsss-botton-border: #222222;
    --gsss-botton-hover-text: #222222;
    --gsss-botton-hover-bg: #345180;
    --gsss-botton-hover-border: #222222;

    /* ヘッダーメニュー */
    --gsss-navi-text: #ffffff;
    --gsss-navi-bg:  #345180;
    --gsss-navi-border:  #345180;
    --gsss-navi-hover-text: #345180;
    --gsss-navi-hover-bg:  #ffffff;
    --gsss-navi-hover-border:  #345180;

    /* トグル */
    --gsss-toggle-text: #666666;
    --gsss-toggle-bg: #fff;
    --gsss-toggle-border: #cccccc;
    --gsss-toggle-hover-text: #333333;
    --gsss-toggle-hover-bg: #B6EEF0;
    --gsss-toggle-hover-border: #666666;
    
    
    /* すべてのテキストのデフォルトサイズを％で設定 */
    --gsss-text-size: 100%; 
    --gsss-text-size-s: 90%;
    --gsss-text-size-ss: 80%;
    --gsss-text-size-l: 110%;
    --gsss-text-size-ll: 120%;
    
    /* 見出しカラー */
    --gsss-midashi-color:#333333;
    
    /* フォーム目立たせカラー */
    --gsss-form-color:#e82a4f;
    
}




/************************************
** すべてのサイトに設定するスタイル
************************************/
/*ロゴが長体にならないようにする処理*/
.logo img{
  width:auto;
  max-height:100px;
}
/*1023px以下*/
@media screen and (max-width: 1023px){
  .logo img{
    width:auto;
    max-height:60px;
  }
}

/*画像の下にスペースが入らないように*/
a img{display:block;}

/*モバイルは管理画面バーいらない*/
@media screen and (max-width: 1023px){
  #wpadminbar{
    display:none;
  }
  html{
    margin-top: 0px !important;
  }
}

/*コンテンツ上部をメニュー下部につける*/
#content,#main,.entry-content{margin-top:0px;padding-top:0px;}

/*ページ内リンクスムーズスクロール*/
html { scroll-behavior: smooth;}

/*ページ内リンクをクリックしたときに少し下にスクロールさせる*/
* {scroll-margin-top: 100px;}
@media screen and (max-width: 1023px){
	* {scroll-margin-top: 50px;}
}

/*トップに表示しないようにする処理*/
.front-top-page .entry-title{display:none;}
.front-top-page .date-tags{display:none;}
.front-top-page .entry-footer{display:none;}

/* コクーンのマージンボトム削除 */
.insert-page{margin:0 !important;}

/* コンテンツボトムとメインのパディングの調整 */
.content-bottom-in{padding: 0 29px;}

/*  投稿一覧のカテゴリの文字色 */
.cat-label{color: #fff;}
.cat-link{color: #fff;}

/*  LINEのためのリンク */
.link_line a{
    color: #00C300; /* LINEのカラー */
    font-weight: bold; /* 太文字 */
    text-decoration: none; /* アンダーラインなし */
}



/************************************
** ++gsss_cocoon++ モバイルのみの調整
************************************/
.header-container-in.hlt-top-menu.hlt-tm-small .logo-header img {
  max-height: 40px;
}

/************************************
** ++gsss_cocoon++ モバイルのみの調整
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
    .header .tagline{padding: 5px 0 0 0;margin:0px;}
    .header .logo-text{padding: 0 0 5px 0;}
    .header-container-in.hlt-top-menu.hlt-tm-small .logo-header {background: #fff;max-height: 120px;}
    .header-container-in.hlt-top-menu.hlt-tm-small .logo-header img {max-height: 120px;}
    .fvmp4{margin-top:20px;}
}

/************************************
** コンテンツ モバイルズレ
************************************/
@media screen and (max-width: 1023px){
  #content-in {
    padding-top: 70px;
  }
}


/************************************
** メモ
************************************/
/* margin-top,-bottomが効かない */
.memo{
border: 1px solid transparent;/* margin-top,-bottomが効かない */
padding: 0.1px;/* margin-top,-bottomが効かない */
overflow: hidden;/* margin-top,-bottomが効かない */
}

/************************************
** 文字の装飾 アンダーライン
************************************/
.red{margin: 0 5px;color: var(--cocoon-gsss-red1-color) !important;}
.blue{margin: 0 5px;color: var(--cocoon-gsss-blue1-color) !important;}
.green{margin: 0 5px;color: var(--cocoon-gsss-green1-color) !important;}
.bold-red{margin: 0 5px;color: var(--cocoon-gsss-red1-color) !important;}
.bold-blue{margin: 0 5px;color: var(--cocoon-gsss-blue1-color) !important;}
.bold-green{margin: 0 5px;color: var(--cocoon-gsss-green1-color) !important;}
.marker{margin: 0 5px;font-weight:bold;background: var(--cocoon-gsss-yellow1-color) !important;}
.marker-red{margin: 0 5px;font-weight:bold;color:#fff;background: var(--cocoon-gsss-red1-color) !important;}
.marker-blue{margin: 0 5px;font-weight:bold;color:#fff;background: var(--cocoon-gsss-blue1-color) !important;}
.marker-under{margin: 0 5px;}/*jsアンダーライン*/
.marker-under-red{margin: 0 5px;font-weight:bold;background: linear-gradient(transparent 90%, var(--cocoon-gsss-red1-color) 90%) !important;}
.marker-under-blue{margin: 0 5px;font-weight:bold;background: linear-gradient(transparent 90%, var(--cocoon-gsss-blue1-color) 90%) !important;}



/************************************
** 見出し
************************************/
/* 共通のリセットスタイル */
.article h2, .article h3, .article h4, .article h5, .article h6
,h2.wp-block-heading{
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    color: inherit;
    background: none;
}
.article h1,.article h2, .article h3, .article h4, .article h5, .article h6
,h2.wp-block-heading{
    margin: 1.5em 0 1em;
    font-family: 'Arial', sans-serif;
    font-weight: normal;
}
/* h1スタイル */
.article h1 {
    letter-spacing: 1px;
    font-size: 2.2em;
    color: #333;
    border-bottom: 3px solid #000;
    padding-bottom: 0.3em;
}

/* h2スタイル */
.article h2
,h2.wp-block-heading{
    letter-spacing: 1px;
    font-size: 2em;
    color: var(--gsss-midashi-color);
    border-bottom: 2px solid  var(--gsss-midashi-color);
    padding-bottom: 0;
    font-weight: 700;
}
/* h3スタイル */
.article h3 {
    letter-spacing: 1px;
    padding-left: 0.25em;
    font-size: 1.5em;
    color:  var(--gsss-midashi-color);
    border-left: 6px solid var(--gsss-midashi-color);
    font-weight: 700;
    line-height: 1.2;
}
/* h4スタイル */
.article h4 {
    letter-spacing: 1px;
    padding-left: 0.5em;
    font-size: 1.25em;
    color:  var(--gsss-midashi-color);
    font-weight: 700;
    line-height: 1.2;
}
/* h5スタイル */
.article h5 {
    letter-spacing: 1px;
    padding-left: 0.75em;
    font-size: 1em;
}
/* h6スタイル */
.article h6 {
    letter-spacing: 1px;
    padding-left: 1em;
    font-size: 1em;
}
/*1023px以下*/
@media screen and (max-width: 1023px){
	/* h1スタイル */
	.article h1 {
	    font-size: 1.3em;
	}
	.article h2 {
	    font-size: 1.3em;
	}
	/* h3スタイル */
	.article h3 {
	    font-size: 1.2em;
	}
	/* h4スタイル */
	.article h4 {
	    font-size: 1.2em;
	}
	/* h5スタイル */
	.article h5 {
	    font-size: 1.1em;
	}
	/* h6スタイル */
	.article h6 {
	    font-size: 1.1em;
	}
}











/************************************
** カテゴリページ（タイトル目次消し）
************************************/
body.category #archive-title{display:none;}
body.category #toc{display:none;}

/************************************
** 固定ぺージ（タイトル目次消し）
************************************/
.page .article-header{display:none;}


/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
.pc_only{display:block !important;}
.sp_only{display:none !important;}
body.wp-admin .sp_only{display:block !important;}

/*1023px以下*/
@media screen and (max-width: 1023px){
.pc_only{display:none !important;}
.sp_only{display:block !important;}
}
/************************************
** 画像リンクホバー
************************************/
a img{overflow:hidden;}


/************************************
** 最新の投稿、親要素のulをflexboxで横並びにし、要素が溢れた場合に折り返す設定
************************************/
.wp-block-latest-posts__list.is-grid {
    display: flex;
    flex-wrap: wrap; /* アイテムを折り返して配置 */
    gap: 20px; /* アイテム間のスペース */
    justify-content: flex-start; /* 左寄せ */
    padding: 0; /* 不要なパディングをリセット */
    list-style: none; /* リストマーカーを非表示 */
}

.wp-block-latest-posts__list.is-grid li {
    flex: 1 1 calc(33.333% - 20px); /* 3列レイアウトの幅を設定 */
    max-width: calc(33.333% - 20px); /* 幅を固定 */
    box-sizing: border-box; /* パディングやボーダーを含めた幅を計算 */
    margin: 0 !important; /* マージンをリセット */
}

.wp-block-latest-posts__featured-image img {
    display: block; /* 画像をブロック要素として配置 */
    width: 100%; /* 親要素にフィット */
    aspect-ratio: 3 / 2; /* アスペクト比を固定 */
    object-fit: cover; /* コンテナ内で画像を調整 */
    box-sizing: border-box; /* 幅計算にパディングを含む */
}

/* 画像に装飾 */
/* 親要素の設定 */
.wp-block-latest-posts__featured-image {
    position: relative;
    overflow: hidden; /* 画像のはみ出しを防ぐ */
    border: solid 3px transparent;
    border-image: linear-gradient(90deg, #00c4cc, #7d2ae8) 1;
    margin: 0; /* 不要な余白をリセット */
    padding: 0; /* 不要なパディングをリセット */
    line-height: 0; /* 親要素のline-heightをリセット */
}

/* 画像の設定 */
.wp-block-latest-posts__featured-image img {
    display: block; /* インライン要素特性をリセット */
    width: 100%; /* 親要素に合わせる */
    margin: 0; /* 不要な余白をリセット */
    padding: 0; /* 不要なパディングをリセット */
    vertical-align: top; /* ベースライン影響を解消 */
    transition: transform 0.5s ease, box-shadow 2s ease; /* ホバーアニメーション */
}

/* ホバー時のアクション */
.wp-block-latest-posts__featured-image:hover{
    border-image: linear-gradient(90deg, #7d2ae8, #00c4cc) 1;
}
.wp-block-latest-posts__featured-image:hover img {
    transform: scale(1.1) rotate(3deg); /* 拡大と回転 */
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3); /* ホバー時の影 */
}

/* タイトルと説明文の余白調整 */
.wp-block-latest-posts__post-title,
.wp-block-latest-posts__post-excerpt {
    margin: 0; /* 不要な余白をリセット */
    padding: 0; /* 不要なパディングをリセット */
}
.wp-block-latest-posts__post-title {
    margin-top: 10px; /* タイトルの上余白を調整 */
}
.wp-block-latest-posts__post-excerpt {
    margin-top: 5px; /* 説明文との間の余白を調整 */
}

/************************************
** 最新の投稿を見やすくする
************************************/
.article ul.wp-block-latest-posts__list.is-grid{
    padding:0;
}
.wp-block-latest-posts__list.is-grid li{
    text-align: center;
}
.wp-block-latest-posts__post-title{
    font-weight: 700;
    text-decoration: none;
    color: inherit;
}
.wp-block-latest-posts__post-excerpt{
    font-size:0.8em;
    color:#444;
}
/*1023px以下*/
@media screen and (max-width: 1023px){
    .wp-block-latest-posts__post-excerpt{display:none !important;}  
    .wp-block-latest-posts__post-title{
        display: block;
        font-weight:normal;
        font-size:70%;
        line-height:1.2em;
    }
}



/************************************
** 最初のリストには点が付き、リスト内のリストには点が付かない
************************************/
ul.wp-block-list > li.list_saisyodake {
    list-style-type: disc;
}
ul.wp-block-list > li.list_saisyodake ul {
    list-style-type: none;
}


/************************************
** faq
************************************/

/* faqボタンの色 */
.faq-wrap.is-style-square.not-nested-style > .faq > * > .faq-question-label{
  background-color: var(--gsss-main-color); 
}
.faq-wrap.is-style-square.not-nested-style > .faq > * > .faq-answer-label{
  background-color: var(--gsss-sub-color); 
}

/* 参加者一覧のテーブルのCSS */
.faq-wrap.is-style-square.not-nested-style > .faq > * > .faq-answer-label{
  background-color: var(--gsss-sub-color); 
}

/* FAQ */
/*1023px以下*/
@media screen and (max-width: 1023px){
	.faq-item{
		display:block;
	}
	.faq-item-content{
		width:100%;
	}
	.faq-question-label{
		display:block;
		width:2em;
		text-align:center;
	}
	.faq-question-content{
		display:block;
	}
	.faq-answer-label{
		display:block;
		width:2em;
		text-align:center;
	}
	.faq-answer-content{
		display:block;
	}
}



/************************************
** 連絡先ボックス
************************************/
.renrakubox ul{
    list-style-type: none;
    font-size: 80%;
    text-align: center;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
	line-height: 110%;
}
.renrakubox ul li {
    display: inline-block;
    padding: 8px 12px;
}
@media screen and (max-width: 1023px) {
    .renrakubox ul{
        flex-direction: column;
        margin: 16px 0 0 0;
    }
    .renrakubox ul li {
        padding: 0;
        margin: 0;
    }
}
@media screen and (max-width: 1023px) {
    .container .column-wrap {
        gap: 4px;
    }
}






/************************************
** cocoonのヘッダーメニューの調整
************************************/
#header-container{
    background: #FFFFFF;
}
#header-container .wrap {
    width: 100%;
}
html body .fixed-header {
    background-color: rgba(255, 255, 255, 0.95);
}
#header-container .navi-in a {
    color: #333;
}

/*  「ヘッダーを固定する」にチェック後、サブメニューを表示 */
.navi-in .has-sub{
    display: inline-block;/* スクロール時、下矢印だけ出る */
}
.navi-in > ul li:hover > ul {
    display: block;/* スクロールしてないとき、 */
}
.fixed-header .navi-in > ul li:hover > ul {
    display: block;/* スクロールしたとき、 */
}


/************************************
** ++gsss_cocoon++ ヘッダーモバイルボタンが設定されてるときロゴいらない
************************************/
@media screen and (max-width: 1023px){
  #header-container{
    display:none;
  }
}
/************************************
** ++gsss_cocoon++ ナビメニューボタン
************************************/
.mobile-header-menu-buttons{
    display: none;
}
/* 親要素の高さを設定（左右の要素をflexboxで分ける） */
@media screen and (max-width: 1023px){
	.mobile-header-menu-buttons {
	    display: flex;
	    justify-content: space-between; /* 左右に要素を分ける */
	    align-items: center;
	    height: 60px; /* 必要に応じて調整 */
	}
}
/* ハンバーガーメニューアイコンを左寄せ */
.mobile-header-menu-buttons .navi-menu-button {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

/* ロゴを中央揃え */
.mobile-header-menu-buttons .logo-header {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    flex-grow: 1; /* 中央に広げるための設定 */
}

/* 検索アイコンを右寄せ */
.mobile-header-menu-buttons .search-menu-button {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    margin-left: auto; /* 検索アイコンが右端に寄るように設定 */
}

/* アイコン部分の上下中央揃え */
.mobile-header-menu-buttons .navi-menu-icon.menu-icon,
.mobile-header-menu-buttons .search-menu-button {
    display: flex;
    align-items: center; /* 上下の中央揃え */
    justify-content: center; /* 必要に応じて水平方向も中央揃え */
    height: 100%;
}

/* 必要に応じて */
.mobile-header-menu-buttons .menu-button-in {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}
/* アイコンのキャプションを非表示にする */
.mobile-header-menu-buttons .search-menu-caption {
    display: none !important; 
}
.mobile-header-menu-buttons .menu-caption {
    display: none !important; 
}






/************************************
** ++gsss_cocoon++ ナビメニューコンテンツ（スマホで開いたときの左側のメニュー）
************************************/
.navi-menu-content .navi-menu-close-button{
    background-color: #fff;
    color: #333;
    font-weight: normal;
    box-shadow: 0 0 5px darkgrey;
    min-height: 50px;
    text-align: left;
    font-size: 1em;
    display: flex;
    align-items: center; /* 上下中央に配置 */
    justify-content: flex-start; /* テキストを左寄せに */
    padding: 0 10px; /* 左右にマージンを追加 */
}
.navi-menu-content .navi-menu-close-button .fa-close{
	margin: auto 0; /* アイコンを上下中央に配置 */
}


.navi-menu-content ul.menu-drawer{
	margin-top: 2em;
	margin-bottom: 6em;
}
.navi-menu-content ul.menu-drawer li a{
	border-bottom:1px solid #000;
}








/************************************
** モバイルフッター 電話をかける１つ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
	.mobile-footer-menu-buttons{
		background: linear-gradient(45deg, #00c4cc, #3f76da, #7d2ae8);
		color: var(--gsss-shiro) !important;
	}
	.mobile-footer-menu-buttons .navi-menu-button{
		padding: 6px 0;
	}
	.mobile-footer-menu-buttons .menu-icon{
		font-size: 25px;
		color:var(--gsss-shiro) !important;
		opacity:1;
	}
	.mobile-footer-menu-buttons .menu-caption{
		font-size: 15px;
		font-weight:bold;
		color:var(--gsss-shiro) !important;
		opacity:1;
	}
}



/************************************
** cocoonのフッターメニューの調整
************************************/
#footer {
  background-color: transparent;
  border-top: 1px solid var(--gsss-kuro) !important;
  color:var(--gsss-kuro) !important;
}
#footer, #footer a:not(.sns-button), .footer-title{
  color:var(--gsss-kuro) !important;
}
/************************************
** cocoonの追従上部戻るボタン
************************************/
.go-to-top .go-to-top-button{
  background: linear-gradient(45deg, #00c4cc, #3f76da, #7d2ae8);
  color: var(--gsss-shiro) !important;
}


/************************************
** フッターデザイン
************************************/
#content-bottom,
#ipw-3{
    margin-bottom:0;
}
#footer,
.footer{
    margin-top:0;
}

.include_footer_l {
    font-size: 1.4em;
    font-weight: bold;
    color: #222;
}

.include_footer_c,
.include_footer_r {
    font-size: 0.8em;
    font-weight: normal;
    color: #444;
}
.footer-bottom{
    margin-top: 0px;
    padding: 24px;
    border-top: 0px solid #444 !important;
}
.footer-left aside,
.footer-center aside,
.footer-right aside{
    margin-bottom:0 !important;
}

/************************************
** トグル アコーディオン
************************************/
.cocoon-block-toggle{
  margin-bottom:6px !important;
}
.toggle-button{
  border: 1px solid var(--gsss-toggle-border) !important;
  background-color: var(--gsss-toggle-bg) !important;
  color:var(--gsss-toggle-text) !important;
  font-weight: normal;
  opacity:1;
}
.toggle-button:hover{
  border: 1px solid var(--gsss-toggle-hover-border) !important;
  background-color: var(--gsss-toggle-hover-bg) !important;
  color:var(--gsss-toggle-hover-text) !important;
  opacity:1;
}
.toggle-button::before{
  color:var(--gsss-toggle-text);
  font-weight: normal;
  opacity:1;
}
.toggle-button:hover:before {
  color:var(--gsss-kuro);
  opacity:1;
}
.toggle-content{
  background-color: #fff;
  border: 1px solid #eee !important;
}


/************************************
** 画像のデザイン加工
************************************/
.gsss_desigh img{
	max-width: 100%;
	height: auto;
	border-top-left-radius: 15px;
	border-bottom-left-radius: 15px;
	border-top-right-radius: 15px;
	border-bottom-right-radius: 0;
}
.gsss_desigh {
  position: relative;
  display: inline-block;
}

.gsss_desigh img {
  display: block;
  border-bottom: 5px solid #f8e9f2; /* 下のラインの色と太さ */
  border-right: 5px solid #f8e9f2;  /* 右のラインの色と太さ */
}


/************************************
** flex順番整え
** スマホで見たときにカラム逆にする
************************************/
@media screen and (max-width: 1023px) {
.flex-order-gyaku div:first-child{
order: 2;
}
.flex-order-gyaku div:last-child{
order: 1;
}
}





/************************************
** ++gsss_cocoon++ LPランディングページ横幅いっぱい
************************************/

/**上下のセクションをピッタリとくっつけるための処理**/
@media screen and (max-width: 1023px){
#content{overflow: hidden;}
.content{margin:0;}
.entry-content{margin:0;}
.footer{margin:0;}
.article{margin:0;}
.main{padding:0;}
.mapa_topbottom_0{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;}
}

/**lp_box内のマージン処理**/
.lp_box .column-wrap{margin:0 !important;}
.lp_box p{margin:0 !important;}


/**左右横幅いっぱいにするための処理(コンテンツは左右パディングあり)**/
.public-page .lp_box{
margin:0px;padding:0px;
margin-left: calc((100% - 100vw) / 2) !important;
margin-right: calc((100% - 100vw) / 2) !important;
padding-left: calc(50vw - 50% ) !important;
padding-right: calc(50vw - 50% ) !important;
width: 100vw;
overflow: hidden;
border:0;
}
/*1023px以下*/
@media screen and (max-width: 1023px){
.public-page .lp_box{
margin-left: calc((100% - 100vw) / 2) !important;
margin-right: calc((100% - 100vw) / 2) !important;
padding-left: calc(52vw - 50% ) !important;
padding-right: calc(52vw - 50% ) !important;
width: 100vw;
overflow: hidden;
border:0;
}
}
/**左右横幅いっぱいにするための処理(コンテンツは左右パディングなし)**/
.public-page .lp_box_full{
margin:0px;padding:0px;
margin-left: calc((100% - 100vw) / 2) !important;
margin-right: calc((100% - 100vw) / 2) !important;
width: 100vw;
overflow: hidden;
border:0;
}
.public-page .lp_box_full > div{
max-width:90vw !important;
min-width:50vw !important;
margin:0 auto;
}
/*1023px以下*/
@media screen and (max-width: 1023px){
.public-page .lp_box_full{
margin-left: calc((100% - 100vw) / 2) !important;
margin-right: calc((100% - 100vw) / 2) !important;
width: 100vw;
overflow: hidden;
border:0;
}
}

/**左右横幅いっぱいにするための処理(コンテンツは上下左右パディングあり)**/
.public-page .lp_box_center{
margin:0px;padding:0px;
margin-left: calc((100% - 100vw) / 2) !important;
margin-right: calc((100% - 100vw) / 2) !important;
padding-left: calc(50vw - 50% ) !important;
padding-right: calc(50vw - 50% ) !important;
padding-top:2em;
padding-bottom:2em;
width: 100vw;
overflow: hidden;
border:0;
}
/*1023px以下*/
@media screen and (max-width: 1023px){
.public-page .lp_box_center{
margin-left: calc((100% - 100vw) / 2) !important;
margin-right: calc((100% - 100vw) / 2) !important;
padding-left: calc(52vw - 50% ) !important;
padding-right: calc(52vw - 50% ) !important;
padding-top:2em;
padding-bottom:2em;
width: 100vw;
overflow: hidden;
border:0;
}
}





/************************************
** フォームのデザイン
************************************/
form u.hissu {
	font-size:10px;
	text-decoration:none;
	display: inline-block;
	margin: 0 1em 0 1em;
	padding: .4em;
	line-height: 1;
	text-decoration: none;
	color: #fff;
	background-color: var(--gsss-form-color);
	border: 1px solid var(--gsss-form-color);
}
form u.nini {
	font-size:10px;
	text-decoration:none;
	display: inline-block;
	margin: 0 1em 0 1em;
	padding: .4em;
	line-height: 1;
	text-decoration: none;
	color: #fff;
	background-color: #999;
	border: 1px solid #999;
}
form u.kotei {
	font-size:10px;
	text-decoration:none;
	display: inline-block;
	margin: 0 1em 0 1em;
	padding: .4em;
	line-height: 1;
	text-decoration: none;
	color: #fff;
	background-color: #333;
	border: 1px solid #333;
}
/* チェック・ラジオを一行ごとに */
.wpcf7-form-control .wpcf7-list-item{
	display:block;
}

/* 禁止マーク */
input:disabled {
    cursor: not-allowed;
}
label.disabled {
    cursor: not-allowed;color:#999;
}
/* 郵便番号 */
input[name="your_date"]{width:40%;}
input[name="your_name"]{width:40%;}
input[name="your_name_furigana"]{width:50%;}
input[name="your_denwa"]{width:50%;}
input[name="your_email"]{width:60%;}
input[name="zip"]{width:30%;}
input[name="pref"]{width:30%;}
input[name="city"]{width:30%;}
input[name="addr"]{width:100%;}
input[name="addr2"]{width:100%;}
select[name="your_todohuken"]{width:60%;}
@media screen and (max-width: 1023px){
	input[name="your_date"]{width:70%;}
	input[name="your_name"]{width:70%;}
	input[name="your_name_furigana"]{width:70%;}
	input[name="your_denwa"]{width:80%;}
	input[name="your_email"]{width:90%;}
	input[name="zip"]{width:60%;}
	input[name="pref"]{width:60%;}
	input[name="city"]{width:60%;}
	input[name="addr"]{width:100%;}
	input[name="addr2"]{width:100%;}
	select[name="your_todohuken"]{width:60%;}
}

input[name="your_gosyoukai_name"]{width:40%;}
@media screen and (max-width: 1023px){input[name="your_gosyoukai_name"]{width:70%;}}
input[name="your_gosyoukai_tanto"]{width:40%;}
@media screen and (max-width: 1023px){input[name="your_gosyoukai_tanto"]{width:70%;}}
input[name="your_gosyoukai_denwa"]{width:50%;}
@media screen and (max-width: 1023px){input[name="your_gosyoukai_denwa"]{width:80%;}}
input[name="your_gosyoukai_email"]{width:60%;}
@media screen and (max-width: 1023px){input[name="your_gosyoukai_email"]{width:90%;}}

/* フォームオブジェクト */
input {border: 1px solid #808080 !important;margin:4px 0;}
textarea {border: 1px solid #808080 !important;margin:2px 0;}
input:focus {background-color: var(--gsss-main-color-light);border: 1px solid #000 !important;}
textarea:focus {background-color: var(--gsss-main-color-light);border: 1px solid #000 !important;}
input:focus[type="submit"] {background-color: var(--gsss-main-color-light);}

input[type="submit"] {
    display:block;
    color: var(--gsss-shiro);
    background-color: var(--gsss-form-color);
    border: 2px solid var(--gsss-form-color) !important;
    font-weight:bold;
    text-align:center;
    margin: 1rem auto 0 auto;
    width: 60%;
    font-size:1em;
    transition: background-color 0.3s, color 0.3s, border 0.3s;
}
input[type="submit"]:hover {
    color: var(--gsss-form-color);
    background-color: var(--gsss-shiro);
    border: 2px solid var(--gsss-form-color) !important;
}

/************************************
** テーブルのデザイン
************************************/
.table{
  width:100%;
  font-size:0.9em;
  display:table;
  border-collapse: collapse;
  border-spacing: 0;
  background-color: rgba(255, 255, 255, 0.5); /* 背景色を白にしつつ、透明度50%に設定 */
}
.table .tr{
  width: 100%;
  display:table-row;
  border: 1px solid #aaa;
  border-collapse: collapse;
  border-spacing: 0;
}

@media screen and (max-width: 767px) {
  .table .tr{
    display: block;
    width:100%;
  }
}
.table .tr .td{
  display: table-cell;
  border-left: 1px solid #aaa;
  border-right: 1px solid #aaa;
  padding: 8px 13px;
  vertical-align:top;
  border-collapse: collapse;
  border-spacing: 0;
}
@media screen and (max-width: 767px) {
  .table .tr .td{
    display: block;
    width:100%;
  }
}
.table .label{
background    : #fcfcfc;
width:30%;
}
.table .input{
width:70%;
}

.table .tr .td:nth-child(2){
width:70%;
}
@media screen and (max-width: 767px) {
  .table .tr .td:nth-child(2){
    display: block;
    width:100%;
  }
}

.tr_midashi{
background:#eee;
color:#333;
font-weight:bold;
}

/************************************
** アニメーション フェードインなど
************************************/
/*  スマホ描画幅処理 */
@media screen and (max-width: 1023px){#content{overflow: hidden;}}

/* fade up 複数の場合*/
.public-page .u-fade-type-up{transform: translateY(50px);opacity: 0;}
.public-page .u-fade-type-up.is-active{transition: 1.6s;transform: translateY(0);opacity: 1;}
.public-page .is-active .u-fade-type-up{transition: 1.6s;transform: translateY(0);opacity: 1;}
.public-page .is-active .u-fade-type-up:nth-child(2){transition-delay: 1s;}
.public-page .is-active .u-fade-type-up:nth-child(3){transition-delay: 2s;}
.public-page .is-active .u-fade-type-up:nth-child(4){transition-delay: 3s;}
.public-page .is-active .u-fade-type-up:nth-child(5){transition-delay: 4s;}
.public-page .is-active .u-fade-type-up:nth-child(6){transition-delay: 5s;}
.public-page .is-active .u-fade-type-up:nth-child(7){transition-delay: 6s;}
.public-page .is-active .u-fade-type-up:nth-child(8){transition-delay: 7s;}
.public-page .is-active .u-fade-type-up:nth-child(9){transition-delay: 8s;}
@media screen and (max-width: 1023px) {
  .public-page .is-active .u-fade-type-up{transition-delay:0s;}
}

/* fade up  単一の場合 */
.public-page .u-fade-type-up1{transform: translateY(50px);opacity: 0;}
.public-page .u-fade-type-up1.is-active{transition: 1.6s;transform: translateY(0);opacity: 1;}
.public-page .u-fade-type-up2{transform: translateY(50px);opacity: 0;}
.public-page .u-fade-type-up2.is-active{transition: 1.6s;transform: translateY(0);opacity: 1;transition-delay: .4s;}
.public-page .u-fade-type-up3{transform: translateY(50px);opacity: 0;}
.public-page .u-fade-type-up3.is-active{transition: 1.6s;transform: translateY(0);opacity: 1;transition-delay: .8s;}
.public-page .u-fade-type-up4{transform: translateY(50px);opacity: 0;}
.public-page .u-fade-type-up4.is-active{transition: 1.6s;transform: translateY(0);opacity: 1;transition-delay: 1.2s;}
.public-page .u-fade-type-up5{transform: translateY(50px);opacity: 0;}
.public-page .u-fade-type-up5.is-active{transition: 1.6s;transform: translateY(0);opacity: 1;transition-delay: 1.6s;}
.public-page .u-fade-type-up6{transform: translateY(50px);opacity: 0;}
.public-page .u-fade-type-up6.is-active{transition: 1.6s;transform: translateY(0);opacity: 1;transition-delay: 2s;}
@media screen and (max-width: 1023px) {
  .public-page .u-fade-type-up2.is-active{transition-delay:0s;}
  .public-page .u-fade-type-up3.is-active{transition-delay:0s;}
  .public-page .u-fade-type-up4.is-active{transition-delay:0s;}
  .public-page .u-fade-type-up5.is-active{transition-delay:0s;}
  .public-page .u-fade-type-up6.is-active{transition-delay:0s;}
}

/* fade down 複数の場合*/
.public-page .u-fade-type-down{transform: translateY(-50px);opacity: 0;}
.public-page .u-fade-type-down.is-active{transition: 1.6s;transform: translateY(0);opacity: 1;}
.public-page .is-active .u-fade-type-down{transition: 1.6s;transform: translateY(0);opacity: 1;}
.public-page .is-active .u-fade-type-down:nth-child(2){transition-delay: 1s;}
.public-page .is-active .u-fade-type-down:nth-child(3){transition-delay: 2s;}
.public-page .is-active .u-fade-type-down:nth-child(4){transition-delay: 3s;}
.public-page .is-active .u-fade-type-down:nth-child(5){transition-delay: 4s;}
.public-page .is-active .u-fade-type-down:nth-child(6){transition-delay: 5s;}
.public-page .is-active .u-fade-type-down:nth-child(7){transition-delay: 6s;}
.public-page .is-active .u-fade-type-down:nth-child(8){transition-delay: 7s;}
.public-page .is-active .u-fade-type-down:nth-child(9){transition-delay: 8s;}
@media screen and (max-width: 1023px) {
  .public-page .is-active .u-fade-type-down{transition-delay:0s;}
}

/* fade down  単一の場合 */
.public-page .u-fade-type-down1{transform: translateY(-50px);opacity: 0;}
.public-page .u-fade-type-down1.is-active{transition: 1.6s;transform: translateY(0);opacity: 1;}
.public-page .u-fade-type-down2{transform: translateY(-50px);opacity: 0;}
.public-page .u-fade-type-down2.is-active{transition: 1.6s;transform: translateY(0);opacity: 1;transition-delay: .4s;}
.public-page .u-fade-type-down3{transform: translateY(-50px);opacity: 0;}
.public-page .u-fade-type-down3.is-active{transition: 1.6s;transform: translateY(0);opacity: 1;transition-delay: .8s;}
.public-page .u-fade-type-down4{transform: translateY(-50px);opacity: 0;}
.public-page .u-fade-type-down4.is-active{transition: 1.6s;transform: translateY(0);opacity: 1;transition-delay: 1.2s;}
.public-page .u-fade-type-down5{transform: translateY(-50px);opacity: 0;}
.public-page .u-fade-type-down5.is-active{transition: 1.6s;transform: translateY(0);opacity: 1;transition-delay: 1.6s;}
.public-page .u-fade-type-down6{transform: translateY(-50px);opacity: 0;}
.public-page .u-fade-type-down6.is-active{transition: 1.6s;transform: translateY(0);opacity: 1;transition-delay: 2s;}
@media screen and (max-width: 1023px) {
  .public-page .u-fade-type-down2.is-active{transition-delay:0s;}
  .public-page .u-fade-type-down3.is-active{transition-delay:0s;}
  .public-page .u-fade-type-down4.is-active{transition-delay:0s;}
  .public-page .u-fade-type-down5.is-active{transition-delay:0s;}
  .public-page .u-fade-type-down6.is-active{transition-delay:0s;}
}

/* fade left */
.public-page .u-fade-type-left{transform: translateX(50px);opacity: 0;}
.public-page .u-fade-type-left.is-active{transition: 1.6s;transform: translateX(0);opacity: 1;}
.public-page .is-active .u-fade-type-left{transition: 1.6s;transform: translateX(0);opacity: 1;}
.public-page .is-active .u-fade-type-left:nth-child(2){transition-delay: 1s;}
.public-page .is-active .u-fade-type-left:nth-child(3){transition-delay: 2s;}
.public-page .is-active .u-fade-type-left:nth-child(4){transition-delay: 3s;}
.public-page .is-active .u-fade-type-left:nth-child(5){transition-delay: 4s;}
.public-page .is-active .u-fade-type-left:nth-child(6){transition-delay: 5s;}
.public-page .is-active .u-fade-type-left:nth-child(7){transition-delay: 6s;}
.public-page .is-active .u-fade-type-left:nth-child(8){transition-delay: 7s;}
.public-page .is-active .u-fade-type-left:nth-child(9){transition-delay: 8s;}
@media screen and (max-width: 1023px) {
  .public-page .is-active .u-fade-type-left{transition-delay:0s;}
}

/* fade left  単一の場合 */
.public-page .u-fade-type-left1{transform: translateX(50px);opacity: 0;}
.public-page .u-fade-type-left1.is-active{transition: 1.6s;transform: translateX(0);opacity: 1;}
.public-page .u-fade-type-left2{transform: translateX(50px);opacity: 0;}
.public-page .u-fade-type-left2.is-active{transition: 1.6s;transform: translateX(0);opacity: 1;transition-delay: .4s;}
.public-page .u-fade-type-left3{transform: translateX(50px);opacity: 0;}
.public-page .u-fade-type-left3.is-active{transition: 1.6s;transform: translateX(0);opacity: 1;transition-delay: .8s;}
.public-page .u-fade-type-left4{transform: translateX(50px);opacity: 0;}
.public-page .u-fade-type-left4.is-active{transition: 1.6s;transform: translateX(0);opacity: 1;transition-delay: 1.2s;}
.public-page .u-fade-type-left5{transform: translateX(50px);opacity: 0;}
.public-page .u-fade-type-left5.is-active{transition: 1.6s;transform: translateX(0);opacity: 1;transition-delay: 1.6s;}
.public-page .u-fade-type-left6{transform: translateX(50px);opacity: 0;}
.public-page .u-fade-type-left6.is-active{transition: 1.6s;transform: translateX(0);opacity: 1;transition-delay: 2s;}
@media screen and (max-width: 1023px) {
  .public-page .u-fade-type-left2.is-active{transition-delay:0s;}
  .public-page .u-fade-type-left3.is-active{transition-delay:0s;}
  .public-page .u-fade-type-left4.is-active{transition-delay:0s;}
  .public-page .u-fade-type-left5.is-active{transition-delay:0s;}
  .public-page .u-fade-type-left6.is-active{transition-delay:0s;}
}

/* fade right */
.public-page .u-fade-type-right{transform: translateX(-50px);opacity: 0;}
.public-page .u-fade-type-right.is-active{transition: 1.6s;transform: translateX(0);opacity: 1;}
.public-page .is-active .u-fade-type-right{transition: 1.6s;transform: translateX(0);opacity: 1;}
.public-page .is-active .u-fade-type-right:nth-child(2){transition-delay: 1s;}
.public-page .is-active .u-fade-type-right:nth-child(3){transition-delay: 2s;}
.public-page .is-active .u-fade-type-right:nth-child(4){transition-delay: 3s;}
.public-page .is-active .u-fade-type-right:nth-child(5){transition-delay: 4s;}
.public-page .is-active .u-fade-type-right:nth-child(6){transition-delay: 5s;}
.public-page .is-active .u-fade-type-right:nth-child(7){transition-delay: 6s;}
.public-page .is-active .u-fade-type-right:nth-child(8){transition-delay: 7s;}
.public-page .is-active .u-fade-type-right:nth-child(9){transition-delay: 8s;}
@media screen and (max-width: 1023px) {
  .public-page .is-active .u-fade-type-right{transition-delay:0s;}
}

/* fade right  単一の場合 */
.public-page .u-fade-type-right1{transform: translateX(-50px);opacity: 0;}
.public-page .u-fade-type-right1.is-active{transition: 1.6s;transform: translateX(0);opacity: 1;}
.public-page .u-fade-type-right2{transform: translateX(-50px);opacity: 0;}
.public-page .u-fade-type-right2.is-active{transition: 1.6s;transform: translateX(0);opacity: 1;transition-delay: .4s;}
.public-page .u-fade-type-right3{transform: translateX(-50px);opacity: 0;}
.public-page .u-fade-type-right3.is-active{transition: 1.6s;transform: translateX(0);opacity: 1;transition-delay: .8s;}
.public-page .u-fade-type-right4{transform: translateX(-50px);opacity: 0;}
.public-page .u-fade-type-right4.is-active{transition: 1.6s;transform: translateX(0);opacity: 1;transition-delay: 1.2s;}
.public-page .u-fade-type-right5{transform: translateX(-50px);opacity: 0;}
.public-page .u-fade-type-right5.is-active{transition: 1.6s;transform: translateX(0);opacity: 1;transition-delay: 1.6s;}
.public-page .u-fade-type-right6{transform: translateX(-50px);opacity: 0;}
.public-page .u-fade-type-right6.is-active{transition: 1.6s;transform: translateX(0);opacity: 1;transition-delay: 2s;}

@media screen and (max-width: 1023px) {
  .public-page .u-fade-type-right2.is-active{transition-delay:0s;}
  .public-page .u-fade-type-right3.is-active{transition-delay:0s;}
  .public-page .u-fade-type-right4.is-active{transition-delay:0s;}
  .public-page .u-fade-type-right5.is-active{transition-delay:0s;}
  .public-page .u-fade-type-right6.is-active{transition-delay:0s;}
}

/* fade 画像の場合 一番最初の画像にサイズを持たせないと高さ０になるよ */
.js-scroll-trigger {position:relative;}
.js-scroll-trigger img.u-fade-type-up{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;}
.js-scroll-trigger img.u-fade-type-down{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;}
.js-scroll-trigger img.u-fade-type-left{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;}
.js-scroll-trigger img.u-fade-type-right{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;}
.js-scroll-trigger img.u-fade-type-gsss{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;}


/************************************
** アニメーション 文字アンダーライン
************************************/
/* アニメーション前のスタイル */
.marker-under {
  display: inline;
  position: relative;
  background-image: linear-gradient(90deg, var(--gsss-yellow1-color), var(--gsss-yellow1-color)); /* 単色の場合は同じ色、グラデーションの場合は別々の色 */
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 20%; /* '30%'の部分にマーカーの太さを記入 */
  transition: all 2s ease-in-out; /* マーカーを引く速度を調整 */
  font-weight: bold; /* ついでに太字にしたい場合 */
}
/* アニメーション発火時 */
.marker-under.inview {
  background-size: 100% 20%; /* '%'の部分は上で設定した太さに合わせる */
}




/************************************
** アニメーション 文字を左から表示する
************************************/
.text-fadein{margin-bottom:1.8em;}
.text-fadein span{
  display: inline-block;
  position: relative;
}
.text-fadein span:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: #ffffff;
  -webkit-transition: all 1s linear;
  -o-transition: all 1s linear;
  transition: all 1s linear;
}
.text-fadein.active span:before {
  width: 0%;
}




/************************************
** スタイル上書き
************************************/
.header-container,
.main,
.sidebar,
.footer {
  background: transparent;
}
.sidebar{
	padding:0;
}
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

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

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







/************************************
** 以下なないろ専用CSS
************************************/


/* 全てに指定 */
h2.midashi_h {
  color: #545044;
  border-bottom: 2px solid #545044;
}
h3.midashi_h {
  color: #545044;
  border: none;
}
p.midashi_p {
  color: #545044;
}
.faq-question{
  margin-bottom:0.4em;
}


/* otoiawase_box クラス内のスタイル */
.otoiawase_box {
  position: relative; /* 疑似要素を配置するための基準 */
  width: 100%;
  height: auto;
  overflow: hidden; /* 中身が要素をはみ出さないようにする */
}

.otoiawase_box::before {
  content: ""; /* 疑似要素を表示するための内容 */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('https://chiebukuro.gsss.pro/wp-content/uploads/2024/12/sbtkbb_23975_A_professional_and_realistic_photograph_of_a_mod_2b8d225a-e001-4915-a9e1-3db46d940ddd_3.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.3; /* 背景画像の透明度を設定（0〜1の値で調整可能） */
  z-index: -1; /* 背景として表示 */
}




/* gsss_ryoukin クラス内のスタイル */
.gsss_ryoukin table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.9em; /* 文字を小さく */
}
.gsss_ryoukin table td {
  border-top: 0px !important;
  border-left: 0px !important;
  border-right: 0px !important;
  border-bottom: 1px solid #ccc !important;
  padding: 8px; /* 適度な余白を追加 */
}
.gsss_ryoukin table td:last-child {
  border-bottom: none; /* 最後の行のボーダーを削除 */
}





/* gsss_gaiyo クラス内のスタイル */
.gsss_gaiyo table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.9em; /* 文字を小さく */
}
.gsss_gaiyo table td {
  border-top: 0px !important;
  border-left: 0px !important;
  border-right: 0px !important;
  border-bottom: 1px solid #ccc !important;
  padding: 8px; /* 適度な余白を追加 */
}
.gsss_gaiyo table td:last-child {
  border-bottom: none; /* 最後の行のボーダーを削除 */
}


/* gsss_map クラス内のスタイル */
.gsss_map dt {
  font-weight: bold;
  margin-bottom: 5px;
}

.gsss_map dd {
  font-size: 0.9em; /* 文字を小さくする */
  margin-bottom: 10px;
  margin-left: 0; /* インデントを消す場合は必要 */
}

/* gsss_tokutyo クラス内のスタイル */

/* h2のスタイル（中央揃え、ボーダー消去） */
.gsss_tokutyo h2 {
  text-align: center; /* 中央揃え */
  margin-bottom: 20px; /* 下部余白 */
  border: none; /* ボーダー削除 */
  color: #333; /* 見やすい文字色 */
  font-weight: bold; /* 太字に設定 */
}

/* h3のスタイル（中央揃え、ボーダーなし） */
.gsss_tokutyo h3 {
  text-align: center; /* 中央揃え */
  border: none; /* ボーダーを削除 */
  margin: 10px 0; /* 上下余白 */
  color: #444; /* 落ち着いた文字色 */
  font-weight: bold; /* 太字に設定 */
}

/* pタグ（段落）のスタイル */
.gsss_tokutyo p {
  text-align: center; /* 段落も中央揃えに統一 */
  color: #666; /* 少し薄めの文字色 */
  margin-bottom: 10px; /* 下部余白 */
}

/* アイコン枠のスタイル（中央揃え、黄金色） */
.gsss_tokutyo .vk_icon_frame {
  display: flex;
  justify-content: center; /* 水平方向中央揃え */
  align-items: center; /* 垂直方向中央揃え */
  margin: 0 auto; /* 親要素内で中央揃え */
  border: 2px solid #D3B401; /* 黄金色の枠線 */
  border-radius: 50%; /* 丸枠 */
  padding: 10px; /* 内側の余白 */
  width: 60px; /* アイコン枠の幅 */
  height: 60px; /* アイコン枠の高さ */
  box-shadow: none; /* 不要な影の削除 */
  background: none; /* 背景色なし */
}

/* アイコン自体の色を黄金色に設定 */
.gsss_tokutyo .vk_icon_font {
  color: #D3B401; /* 黄金色 */
}

/* アイコンの周囲に不要な枠線や影が発生する場合を修正 */
.gsss_tokutyo .vk_icon_border {
  border: none !important; /* 不要な枠線を完全に削除 */
  box-shadow: none !important; /* 不要な影を削除 */
  background: none !important; /* 背景色がある場合は削除 */
}




/* fv アニメーション */
.public-page .u-fade-type-gsss{transform: translateY(0);opacity: 0;}
.public-page .u-fade-type-gsss.is-active{transition: 1.6s;transform: translateY(0);opacity: 1;}
.public-page .is-active .u-fade-type-gsss{transition: 1.6s;transform: translateY(0);opacity: 1;}
.public-page .is-active .u-fade-type-gsss:nth-child(2){transition: 3s;transition-delay: 0s;transform: translateY(0);opacity: 1;}
.public-page .is-active .u-fade-type-gsss:nth-child(3){transition: 3s;transition-delay: 2s;transform: translateY(0);opacity: 1;}/* 窓の上の文字 */
.public-page .is-active .u-fade-type-gsss:nth-child(4){transition: 3s;transition-delay: 4s;transform: translateY(0);opacity: 1;}/* 右上の文字 */
@media screen and (max-width: 1023px) {
  .public-page .is-active .u-fade-type-gsss{transition-delay:0s;}
}

/* 初期状態：隠れる */
.public-page .u-fade-type-gsss:nth-child(3) {
  opacity: 0; /* 完全に透明 */
  clip-path: inset(0 100% 0 0); /* 全体を右端に隠す */
  transition: 
    opacity 5s ease-in-out, /* フェードイン */
    clip-path 3s cubic-bezier(0.68, -0.55, 0.27, 1.55); /* 手書き風に表示 */
}
/* アクティブ状態：手書き風に表示 */
.public-page .is-active .u-fade-type-gsss:nth-child(3) {	
  opacity: 1; /* 完全表示 */
  clip-path: inset(0 0 0 0); /* 全体を表示 */
}

/* 初期状態：隠れる */
.public-page .u-fade-type-gsss:nth-child(4) {
  opacity: 0; /* 完全に透明 */
  clip-path: inset(0 100% 0 0); /* 全体を右端に隠す */
  transition: 
    opacity 5s ease-in-out, /* フェードイン */
    clip-path 3s cubic-bezier(0.68, -0.55, 0.27, 1.55); /* 手書き風に表示 */
}
/* アクティブ状態：手書き風に表示 */
.public-page .is-active .u-fade-type-gsss:nth-child(4) {
  opacity: 1; /* 完全表示 */
  clip-path: inset(0 0 0 0); /* 全体を表示 */
}


