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



/* サイドバーのwidget_nav_menuの調整 */
.widget_nav_menu ul {
    list-style-type: disc; /* リストの「・」を表示 */
    margin-left: 20px; /* リスト全体のインデント */
    padding: 0; /* 不要な余白を除去 */
}

.widget_nav_menu ul li {
    line-height: 1.4; /* 行間を適度に調整 */
    margin: 5px 0; /* 上下の余白を設定 */
    padding: 2px 0; /* 内側の余白を設定 */
    font-size: 80%; /* フォントサイズを90%に */
}

.widget_nav_menu ul li a {
    display: inline-block; /* インライン要素にブロック要素の特性を付与 */
    margin: 0; /* リンク要素の外側余白をリセット */
    padding: 2px 5px; /* リンク要素の内側余白を設定 */
    text-decoration: none; /* 通常時は下線を消す */
    color: inherit; /* 親要素の文字色を引き継ぐ */
}

.widget_nav_menu ul li a:hover {
    text-decoration: underline; /* ホバー時にアンダーラインを表示 */
    color: inherit; /* 色を変更しない */
}
/************************************
** 子テーマ用のスタイルを書く
** https://colorate.azurewebsites.net/ja/Color/F78DA7
** https://www.colorhexa.com/F78DA7
************************************/
:root {
    --gsss-main-color: #005499; /* メインカラー */
    --gsss-main-color-light: #adb9cc; /* メインカラーのライトバージョン */
    --gsss-sub-color: #cad6e9; /* サブカラー */

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

    --gsss-red1-color: #C7253E; /* 赤 */
    --gsss-blue1-color: #024CAA; /* 青 */
    --gsss-green1-color: #257180; /* 緑 */
    --gsss-yellow1-color: #E6C767; /* 黄色 */

    /* コクーンの文字の装飾 アンダーライン */
    --cocoon-gsss-yellow1-color: #E6C767; /* 原則的に黄色を設定 */
    --cocoon-gsss-red1-color: #C7253E; /* メインカラーを設定 */
    --cocoon-gsss-blue1-color: #024CAA; /* サブカラーを設定 */
    --cocoon-gsss-green1-color: #257180; /* その他のカラー設定 */

    /* ヘッダーボタン */
    --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:  #005499;
    --gsss-navi-border:  #005499;
    --gsss-navi-hover-text: #005499;
    --gsss-navi-hover-bg:  #ffffff;
    --gsss-navi-hover-border:  #005499;

    /* トグル */
    --gsss-toggle-text: #666666;
    --gsss-toggle-bg: #fff;
    --gsss-toggle-border: #cccccc;
    --gsss-toggle-hover-text: #333333;
    --gsss-toggle-hover-bg: #dced93;
    --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:#005499;
    
    /* フォーム目立たせカラー */
    --gsss-form-color:#005499;
    
}




/************************************
** すべてのサイトに設定するスタイル
************************************/
/*ロゴが長体にならないようにする処理*/
.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: 250px;}
@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; /* アンダーラインなし */
}

/* 画像の下にできてしまう不要な余白を防ぐ */
a img{
	display:block;
}


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



/************************************
** ++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;}
}



/************************************
** メモ
************************************/
/* 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 {
    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 {
    margin: 1.5em 0 1em;
    font-family: 'Arial', sans-serif;
    font-weight: normal;
}
/* h1スタイル */
.article h1 {
    letter-spacing: 1px;
    font-size: 2.2em;
    color: #000;
    border-bottom: 3px solid #000;
    padding-bottom: 0.3em;
}

/* h2スタイル */
.article h2 {
    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 {
    display: flex;
    flex-wrap: wrap; /* アイテムを折り返して配置 */
    gap: 20px; /* アイテム間のスペース */
    justify-content: flex-start; /* 左寄せ */
    padding: 0; /* 不要なパディングをリセット */
    list-style: none; /* リストマーカーを非表示 */
}

.wp-block-latest-posts__list 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: 16 / 9; /* アスペクト比を固定 */
    object-fit: cover; /* コンテナ内で画像を調整 */
    box-sizing: border-box; /* 幅計算にパディングを含む */
}



/************************************
** 最新の投稿を見やすくする
************************************/
.article ul.wp-block-latest-posts__list{
    padding:0;
}
.wp-block-latest-posts__list 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 .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-color: var(--gsss-main-color);
		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-color: var(--gsss-main-color);
  color:var(--gsss-shiro) !important;
}


/************************************
** フッターデザイン
************************************/
#content-bottom,
#ipw-3{
    margin-bottom:0;
}
#footer,
.footer{
    margin-top:0;
}
.footer-bottom{
    margin-top: 0px;
    padding: 24px;
    border-top: 1px solid #444 !important;
}
.footer-left aside,
.footer-center aside,
.footer-right aside{
    margin-bottom:0 !important;
}

.include_footer_l {
    font-size: 1.4em;
    font-weight: bold;
    color: #222;
}
.include_footer_l_desc {
    font-size: 0.7em;
    font-weight: normal;
    color: #444;
}
.include_footer_c,
.include_footer_r {
    font-size: 0.8em;
    font-weight: normal;
    color: #444;
}

/************************************
** サイドバーデザイン
************************************/
#sidebar .widget-sidebar{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 1em;
  border: 1px solid #ccc;
  background: #f9f9f9;
}
#sidebar .widget-sidebar-title,
#sidebar .widget-sidebar-scroll-title{
  border-bottom: solid 3px #cce4ff;
  position: relative;
  top:0;left:0;
  background-color:transparent;
  font-size:90%;
  margin-top:0;
}
#sidebar .widget-sidebar-title:after,
#sidebar .widget-sidebar-scroll-title:after{
  position: absolute;
  left: 0px;bottom: -3px;
  content: " ";
  display: block;
  border-bottom: solid 3px #5472cd;
  width: 20%;
}
#sidebar ul{
	list-style: none;
	margin:0;
	padding:0;
}
#sidebar li{
	list-style: none;
	margin:0;
	padding:0;
}
#sidebar .widget_links ul li a{
font-size:110%;
	display:block;
	text-align:center;
	background: #eee;
}

#sidebar .include_footer_l {
    font-size: 1.2em;
    font-weight: bold;
    color: #222;
}
#sidebar .include_footer_l_desc {
    font-size: 0.7em;
    font-weight: normal;
    color: #444;
}
#sidebar .include_footer_c,
#sidebar .include_footer_r {
    font-size: 0.8em;
    font-weight: normal;
    color: #444;
}


/************************************
** サイドバー（目次）デザイン
************************************/
#sidebar .toc-widget-box .border-element {
	margin:0;
	padding:0;
}



/************************************
** トグル アコーディオン
************************************/
.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;
}
}


/*ページ下部地図*/
.public-page .lp_box_full > div.wp-block-query-is-layout-flow {
  max-width:100vw !important;
  min-width:100vw !important;
  margin: 0 !important;
  padding: 0 !important;
}
.public-page .lp_box_full iframe {
  display: block;
}


/************************************
** アピールエリアのデザイン
************************************/
.appeal {
  height: 300px; /* 固定の高さを指定 */
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto 100%; /* 縦を100%に固定し、横幅は自動で調整 */
}

/************************************
** フォームのデザイン
************************************/
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;}



/************************************
** アニメーション 文字アンダーライン
************************************/
/* アニメーション前のスタイル */
.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;
}

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

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

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














