/* ネーミングルール：
キャメルケース 例）testCase  →　プログラミングでの関数や変数 (php,python) 大文字は定数のみに使用する(すべて大文字のみ)
スネークケース 例）test_Case → DBなどで扱う値 (DB) ⇒ プログラムもこの命名とする(大文字を避けるため)
ケバブケース   例）test-Case → HTMLのclass名 (html.css,url) ⇒ ファイル名のみ「-」を使用する)

まとめ：
ファイル名のみ「-」使用可能、これ以外は「_」を使う
大文字は定数のみですべて大文字で記載する


*/

/*
CSS適用の優先順位
★このファイルの下方のほうがHTML上で優先されるため、共通部品で上書きするような用途のクラスは下方に集める
↓
共通基礎部品は上方へ
共通上書部品は下方へ
個別CSSは中間に

*/

/* デバイスのサイズによる調整
https://dev.classmethod.jp/articles/device-media-queries/

Max Width：
 ビューエリアの最大幅。このサイズより小さい場合に適用
Min Width：
 ビューエリアの最小幅。このサイズより大きい場合に適用
Max Device Width：
 デバイスサイズの最大幅。このサイズより小さい場合に適用
Min Device Width：
 デバイスサイズの最小幅。このサイズより大きい場合に適用
Device Pixel Ratio： @media screen and (-webkit-device-pixel-ratio:2) { など
 デバイスの解像度（webkit）
Orientation：  @media screen and (orientation: portrait) {
 デバイスの向き portrait/landscape
*/


/*-- z-index の順位について--------------------------------------
-10～0 : non-display
-1     :DUMMY-AREA    ダミーエリア
01～05 :basci-AREA    コンテナ系-枠
11     :半透明の閉じるカバー
11～20 :背景アニメーション装飾
21～30 :btn-animation-hovering    ボタンやホバー系のアニメーション装飾
22     :upload-cloud   upload可能な画面におけるupload-cloud画像
31～40 :

81～90 :操作メニュー系
91     :TopMenu-TopNavi
91     :TopMenu-TopNavi-ICON
92～95 :TopMenu

96     :nomalMode-toolbox

100    :TopMenu-CloseCover          トップメニューの閉じるカバー
101    :TopMenu-CloseCover-CONTENT  閉じるカバー上のコンテンツメニュー一覧
100    :Vertical-SlideCover         縦の長枠カーテンカバー
101    :Vertical-SlideCover-ICON    縦の長枠カーテンカバー上のアイコン
102    :Vertical-SlideCover-CONTENT 縦の長枠カーテンカバー上のコンテンツ
100    :gred-AREA                   グリッドエリア
101    :gred-AREA-ICON              グリッドエリア上のアイコン

200    :backCover-BLACKOUT-loading   バックのカバーでブラックアウト 画面ロード時(トップ画面アニメーション時)


90          :hovering-box_flex_basic_item  TopMenu-TopNaviの91より一つ下
1           :editorMode-AREA
***->301    :editorMode-MENU               editor画面-メニュー系
101->301    :editorMode-toolbox            editor画面-toolbox系
102->302    :editorMode-PopupMenu-AREA     editor画面-POPUPメニューエリア

309         :abc_editer_partition_bar
310         :editorMode-SlideMenuCover 
311         :editorMode-SlideMenuCover-ICON
312         :editorMode-SlideMenuCover-CONTENT

321         :editorMode-Area-ICON          header/body/footerエリアの説明icon
322         :editorMode-FocusElement-ICON  カーソルフォーカス時に「要素」を枠で囲う線の説明icon

330         :editorMode-RightSideMenu
331         :editorMode-LeftSideMenu
331         :editorMode-RightClickMenu

351         :imgfile-FocusCommand          imgfile関連のタグをフォーカス時に編集/削除などのコマンド

200->390    :POPUP-HINT   ヒントPOPUP

401         :TOP-scroll-btn DOWN-scroll-btn   トップ-ダウンスクロールボタン
402         :BACK-X-btn                       戻るＸボタン
403         :LINE-btn                         LINEボタン

500         :POPUP FADEOUT-MSG                フェードアウトメッセージ
700         :loadin-AREA  loadin-flashpopup   画面ロード時など最前列(後に後方へ)

999    :
*/

/*--min-widthついて--------------------------------------
    スマホレスポンシブの最小を定める
    300px 以下は対応しない＝文字が見えにくくなるため
    よって
    スマホ時のmin-widthは 300px とする
    PC時のmin-widthは 480px とする

*/


/*--------------------------------CSS内の変数定義の疑似クラス--------------------------------*/
:root {
  /* -------- https://siteabc.jp 以下のパス ---------------------------------------------- */
  /* 画像設定： img-pin */
  --img_pin_50px_0deg_url:  url(../img/img-pin-50px-0deg.png);
  --img_pin_50px_45deg_url: url(../img/img-pin-50px-45deg.png);

  /* 画像設定： img-arrow */
  --img_arrow_150px_0deg_url:   url(../img/img-arrow-150px-0deg.png);
  --img_arrow_150px_180deg_url: url(../img/img-arrow-150px-180deg.png);

  /* 背景設定： id_home_img_non_anime - https://siteabc.jp  */
  --id_home_img_non_anime_LP_pc_url:     url(../img/sitekeeper-LP-pc.png);
  --id_home_img_non_anime_LP_tablet_url: url(../img/sitekeeper-LP-tablet.png);
  --id_home_img_non_anime_LP_mobile_url: url(../img/sitekeeper-LP-mobile.webp);

  /* 部品： */
  /* ---矢印画像-- */
  --parts_arrow_next_url: url(../img/arrow_next.png);
  /* ---アップロードクラウド画像-- */
  --parts_upload_cloud_url: url(../img/upload_cloud.png);
  /* ---編集ボタン画像-- */
  --parts_edit_button_url: url(../img/edit_button.png);
  /* ---編集ドット画像-- */
  --parts_edit_dot01_url: url(../img/edit_dot.png);
  --parts_edit_dot02_url: url(../img/edit_dot_vertical.png);


    
  /* -------- https://aoxyz.xyz 以下の相対パス ------------------------------------------- */
  /* 背景設定：id_home_img_rolling - https://aoxyz.xyz 以下のパス */
  /* 開発環境 
  --id_home_img_rolling_image01_url: url(../cms-data/aoxyz.xyz/img/mainHome1.jpg);
  --id_home_img_rolling_image02_url: url(../cms-data/aoxyz.xyz/img/mainHome2.jpg);
  --id_home_img_rolling_image03_url: url(../cms-data/aoxyz.xyz/img/mainHome3.jpg);
  --id_home_img_rolling_image04_url: url(../cms-data/aoxyz.xyz/img/mainHome4.jpg);
  --id_home_img_rolling_image05_url: url(../cms-data/aoxyz.xyz/img/mainHome5.jpg);
  --id_home_img_rolling_image06_url: url(../cms-data/aoxyz.xyz/img/mainHome6.jpg);
  --id_home_img_rolling_image07_url: url(../cms-data/aoxyz.xyz/img/mainHome7.jpg);
  */  
  /* 本番環境 */
  --id_home_img_rolling_image01_url: url(//aoxyz.xyz/img/mainHome1.jpg);
  --id_home_img_rolling_image02_url: url(//aoxyz.xyz/img/mainHome2.jpg);
  --id_home_img_rolling_image03_url: url(//aoxyz.xyz/img/mainHome3.jpg);
  --id_home_img_rolling_image04_url: url(//aoxyz.xyz/img/mainHome4.jpg);
  --id_home_img_rolling_image05_url: url(//aoxyz.xyz/img/mainHome5.jpg);
  --id_home_img_rolling_image06_url: url(//aoxyz.xyz/img/mainHome6.jpg);
  --id_home_img_rolling_image07_url: url(//aoxyz.xyz/img/mainHome7.jpg);
  

    /* ---Amazonギフトカード画像-- */
    --id_amazongiftcard_image_url: url(../jp/campaign/img/img-campaign-amazongiftcard-pc-hover-green.png);


  /* --------- CSS共通変数 -----------------------------------------------------------*/
  --AOXYZ_blue: rgb(0, 0, 111);  /* AOXYZ blue */
  --AOXYZ_lightblue: rgb(100, 100, 255);  /* AOXYZ lightblue */

  /* 開発環境 
  --body_color: lightgreen;
  --class_box_left_bgcolor: blue;
  --class_box_center_bgcolor: red;
  --class_box_basic_bgcolor: purple;
  --class_box_basic_css_bgcolor: lightgoldenrodyellow;
  */
  
  /* 本番環境 */
  --body_color: whitesmoke;
  --class_box_left_bgcolor: whitesmoke;
  --class_box_center_bgcolor: whitesmoke;
  --class_box_basic_bgcolor: whitesmoke;
  --class_box_basic_css_bgcolor: whitesmoke;
  
  
}
/*--------------------------------CSS内の変数定義の疑似クラス--------------------------------*/



/*------------------------------- 基本クラス ------------------------------------------------*/
/*全称セレクタはセレクタを「*」にしてすべてのタグを表す*/
*,::after,::before{box-sizing:border-box;}
/*
[tabindex="0"]:focus{outline:0!important}
*/


/*-------------------------基本設定:入力サポートINVALID --------------------------------*/
input:invalid ,textarea:invalid  { background: rgba(255, 0, 180, 0.3); }
/*input:valid    { background: rgba(0, 255, 150, 0.2); }*/
/*textarea:valid { background: rgba(0, 255, 150, 0.3); }*/
/*-------------------------基本設定:入力サポートINVALID --------------------------------*/

/*---------------------- 共通チェックボックスサイズ-----------------------------------*/
input[type=checkbox] {
	transform: scale(2);
	margin: 0 7px 0 5px;
}
/*---------------------- 共通チェックボックスサイズ-----------------------------------*/

/*---------------------- 共通url input ボックスサイズ-----------------------------------*/
input[type='url'] {

    /*--type="url"のinput要素にのみ適用されます--*/
}
/*---------------------- 共通url input ボックスサイズ-----------------------------------*/


/*-------------------------------------------------------------------------------------------------------*/
/*---------------------- 共通 readonly 設定 select/input-radio/input-checkbox start ---------------------*/
/*-------------------------------------------------------------------------------------------------------*/
select[readonly],
input[type="radio"][readonly],
input[type="checkbox"][readonly]{
    pointer-events:none;
}
[readonly]{
    background-color:#E0E0E0;
    opacity: 0.6;
}
[readonly] + label{
    pointer-events:none;
}
/*-------------------------------------------------------------------------------------------------------*/
/*---------------------- 共通 readonly 設定 select/input-radio/input-checkbox end -----------------------*/
/*-------------------------------------------------------------------------------------------------------*/


/*++++++ フォントサイズの基準を定義 ++++++*/
html{
    font-size: 62.5%; /* 1rem-> 10px */ 
}
html{
    scroll-behavior: smooth;
    font-family:sans-serif;
    /*テキスト行間の幅*/
    line-height:2;
  /* 
    -webkit-text-size-adjust:100%;
    -webkit-tap-highlight-color:transparent
  */
}
body{
    font-size:1rem;
    font-family:-apple-system,BlinkMacSystemFont,"Verdana","ヒラギノ角ゴ ProN W6","Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
    font-weight:400;

    color:#212529;
    text-align:left;

    background-color:rgb(255,255,255);
    margin:0;

    /* CSSによるコピー制御
    background: whitesmoke;
    user-select:none;
    -webkit-user-select:none;
    -ms-user-select: none;
    -moz-user-select:none;
    -khtml-user-select:none;
    -webkit-user-drag:none;
    -khtml-user-drag:none;
    */

    background: var(--body_color);

}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    body{font-size: 1.0rem;}
}

/*
.table{width:100%;margin-bottom:1rem;}
.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}
.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}
.table tbody+tbody{border-top:2px solid #dee2e6}
*/


/*------------------------------- 基本クラス ------------------------------------------------------------------------*/

/*------------------------------- span-color基本クラス ---------------------------------*/
span.white_bold{
    color:white;
    font-weight:bold;
    padding: 14px 16px;
    text-align: center;
    display: inline-block;
}
span.small_comment     { color:rgba(0, 0, 0, 0.8); font-size: 1.1rem;}
span.mid_comment       { color:rgba(0, 0, 0, 0.8); font-size: 1.3rem;}
span.sakurapink_small  { color:rgb(255, 235, 255);    font-size: 1.1rem;}
span.red_small         { color:red;    font-size: 1.1rem;}
span.red_bold          { color:red;    font-weight: bold;}
span.black_bold        { color:black;  font-weight: bold;}
span.grey_bold         { color:grey;   font-weight: bold;}
span.blue_bold         { color:blue;   font-weight: bold;}
span.green_bold        { color:green;  font-weight: bold;}
span.orange_bold       { color:orange; font-weight: bold;}
span.black_bold_yellow { color:black; font-weight: bold; background-color: yellow;}
/*------------------------------- span-color基本クラス ---------------------------------*/



/*--------------------------------フォントサイズは、基準を元にremで定義する--------------------------------*/
/*
  1rem=10px
  3rem=30px
  2em=16px
*/


/*-- 表題用文字フォント ----------------------------------------------- */
/*h1{ font-size: 8.0rem; }*/
h1{ font-size: 1.0rem; }
h2{ font-size: 3.5rem; }
h3{ font-size: 2.2rem; }
h4{ font-size: 1.6rem; }

/*h1タグの表示位置を指定*/
.h1_location {
    position: relative;
    bottom:1px;
    right:0px;
    text-align:center;
}

/*スマホレスポンシブ対応--最小480px-最大が800pxに適用する＝スマホ*/
@media screen and (min-width: 481px) and (max-width: 800px){
    /*h1{ font-size: calc(8.0rem*0.7); }*/
    h1{ font-size: 1.0rem; }
    h2{ font-size: calc(3.5rem*0.8); }
    h3{ font-size: calc(2.2rem*0.9); }
    h4{ font-size: calc(1.6rem*0.9); }
}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    /*h1{ font-size: calc(8.0rem*0.5); }*/
    h1{ font-size: 1.0rem; }
    h2{ font-size: calc(3.5rem*0.6); }
    h3{ font-size: calc(2.2rem*0.8); }
    h4{ font-size: calc(1.3rem*0.9); }
}


/*-- white-space:値 --について
normal:(初期値)
 入力反映：  HTMLコード内で改行（enter）や半角スペース、タブが連続入力されても、ブラウザ表示では1つの空白文字にまとめられる
 行折り返し： 自動

pre-wrap:
 入力反映：  連続で入力した空白や改行がブラウザでの表示に反映される
 行折り返し： 自動

pre:
 入力反映：  連続で入力した空白や改行がブラウザでの表示に反映される
 行折り返し： 折り返しなし

*/




/*----------------------------表示-非表示関連-----------------------------*/


.adjustspace100vh{ height:100vh;}
.adjustspace90vh { height:90vh;}
.adjustspace80vh { height:80vh;}
.adjustspace70vh { height:70vh;}
.adjustspace60vh { height:60vh;}
.adjustspace50vh { height:50vh;}
.adjustspace40vh { height:40vh;}
.adjustspace30vh { height:30vh;}
.adjustspace20vh { height:20vh;}
.adjustspace10vh { height:10vh;}

.adjustspace5 { height:170px;}
.adjustspace4 { height:120px;}
.adjustspace3 { height:70px;}
.adjustspace2 { height:20px;}
.adjustspace1 { height:10px;}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px) {
    .adjustspace5 { height:70px;}
    .adjustspace4 { height:70px;}
    .adjustspace3 { height:40px;}
    .adjustspace2 { height:10px;}
    .adjustspace1 { height:10px;}
}



/*----------------------------表示-非表示関連-----------------------------*/



/*
span.guard{
    display:block;
    width:95%;
    height:100%;
    background-image:url(***.gif);
}
*/





/*-------------------------部品:プライバシーポリシーCSS --------------------------------*/
.privacy_policy {
    text-decoration: underline;
}

/*-------------------------部品:プライバシーポリシーCSS --------------------------------*/



/*------------------------- 基本部品:区切り線 CSS --------------------------------*/
.hr_div {
    border-top: solid;
    border-width: 2px;
    border-width:100%;
}

/*------------------------- 基本部品:区切り線 CSS --------------------------------*/






/*------------------------------------------------------------------------------------------------------------
---------------- START 基本部品:入力系のCSS --------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------*/

/*-----------------基本部品: input - text のCSS --------------------------------*/
.input_basic {
    /*-- 初期化 --*/
    background:none;
    /*--初期化--ここまで*/
    transition: all 0.5s  ease-in-out;
}
.input_basic:hover{
    background-color: rgba(255, 255, 255 ,1);
}

/*-----------------基本部品: input - text のCSS --------------------------------*/

/*-----------------基本部品: input - 表示専用text のCSS --------------------------------*/
.input_basic_readonly {
    /*-- 初期化 --*/
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: none;
    cursor: pointer;
    background:none;
    /*-- 初期化 --ここまで*/
    width:90%;
    display:block;
    padding: 0% 1% 2% 1%;
}
.input_basic_readonly:focus {
	outline:0;
}

/*-----------------基本部品: input - text のCSS --------------------------------*/



/*-----------------基本部品: select のCSS --------------------------------*/
.select_basic{
    /*--初期化--*/
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: none;
    cursor: pointer;
    background:none;
    /*--初期化--ここまで*/
    text-align: center;
    border: dotted 1px rgba(100,100,100,1);
    transition: all 0.5s  ease-in-out;
}
.select_basic:hover{
    background-color: rgba(255, 255, 255 ,1);
    box-shadow    : 2px 2px 2px black;   /* 影の設定 */
}

/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
}
/*-----------------基本部品: select のCSS --------------------------------*/


/*-----------------基本部品: textarea のCSS --------------------------------*/
.textarea_basic{
    /*--初期化--*/
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: none;
    cursor: pointer;
    background:none;
    /*--初期化--ここまで*/
    border: solid 1px rgba(0,0,0,1);
    border-radius: 7px;
    width:100%;
    transition: all 0.1s  ease-in-out;
}
.textarea_basic:hover{
    background-color: rgba(255, 255, 255 ,1);
    box-shadow    : 2px 2px 2px rgba(100,100,100,1);   /* 影の設定 */
}

/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
}
/*-----------------基本部品:selectorのCSS --------------------------------*/



/*-----------------基本部品: ボタン装飾の初期化 --------------------------------*/
.init_btn_defaultsetting{
    background: none;
	border: none;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
/*-----------------基本部品: ボタン装飾の初期化 --------------------------------*/

/*-----------------基本部品:button-横並び用CSS --------------------------------*/
.button_basic_inline {
    display:inline-block;
    background-color: rgba(245, 245, 245 ,1); /* whitesmoke */
    border: dotted 1px rgba(100,100,100,1);
}
.button_basic_inline:hover {
    background-color: rgba(255, 255, 255 ,1);
    box-shadow    : 2px 2px 2px black;   /* 影の設定 */
}
/*-----------------基本部品:button-横並び用CSS --------------------------------*/



/*-----------------基本部品: <a>タグ装飾の初期化 --------------------------------*/
.init_a_defaultsetting{
    background: none;
	border: none;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
    text-decoration: none;
    color: black;
}
/*-----------------基本部品: <a>タグ装飾の初期化 --------------------------------*/




/*-----------------基本部品: input - range カラーセッティングバーのCSS --------------------------*/
.input_range_colorbar {
    -webkit-appearance: none;  /* これは必要 */
    appearance: none;
    cursor: pointer;
    background: linear-gradient(to right ,rgba(5, 5, 5 ,0.1) 0% ,rgb(0, 0, 0 ,0.7) 100%);
    height: 8px;          /* スライダーの高さ */
    width: 80%;           /* スライダーの幅 */
    border-radius: 20px;   /* スライダーの端の丸み */
    border: solid 1px black; /* スライダーの外周 */
    outline: 0; /* アウトラインを消して代わりにfocusのスタイルをあてる */
}
.input_range_colorbar:focus {
    box-shadow: 0 0 10px rgba(0, 200, 200 ,0.8);
}
/* -webkit-向けのつまみ */
.input_range_colorbar::-webkit-slider-thumb {
    -webkit-appearance: none;  /* デフォルトのつまみのスタイルを解除 */
    appearance: none;
    background: black;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    transition: all 0.5s  ease-in-out;
}
.input_range_colorbar::-webkit-slider-thumb:hover {
    background: rgba(150,150,150,1);
}
/* ドラッグ中のスタイル */
.input_range_colorbar:active::-webkit-slider-thumb {
    /* 半透明-枠は黒色 */
    background: rgba(200,200,200,0.2);
    width:  20px; height: 20px;
    border: solid 1px;
    box-shadow: 0px 5px 10px 0px rgba(0, 255, 255, 1);
}
/* -moz-向けのつまみ */
.input_range_colorbar::-moz-range-thumb {
    appearance: none;
    background: black;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: none;
    transition: all 0.5s  ease-in-out;
}
.input_range_colorbar::-moz-range-thumb:hover {
    background: rgba(150,150,150,1);
}
/* ドラッグ中のスタイル */
.input_range_colorbar:active::-moz-range-thumb {
    /* 半透明-枠は黒色 */
    background: rgba(200,200,200,0.2);
    width:  20px; height: 20px;
    border: solid 1px;
    box-shadow: 0px 5px 10px 0px rgba(0, 255, 255, 1);
}
/* Firefoxで点線が周りに表示されるデフォルトの解除 */
.input_range_colorbar::-moz-focus-outer {
    border: 0;
}
/*-----------------基本部品: input - range カラーセッティングバーのCSS --------------------------*/


/*-----------------------------------------------------------------------------------------------------------
---------------- END 基本部品:入力系のCSS --------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------*/






/*-----------------基本部品: input - range partition_bar のCSS --------------------------*/
.range_partition_bar {
    -webkit-appearance: none;  /* これは必要 */
    appearance: none;
    background: rgba(5, 5, 5 ,0.8);  /* 横方向のスライダーの色 */
    height: 1px;           /* スライダーの高さ */
    width: 100%;           /* スライダーの幅 */
    outline: 0; /* アウトラインを消して代わりにfocusのスタイルをあてる */
}
/* -webkit-向けのつまみ */
.range_partition_bar::-webkit-slider-thumb {
    -webkit-appearance: none;  /* デフォルトのつまみのスタイルを解除 */
    appearance: none;
    background: rgba(0,0,200,0.9);
    width: 2px;
    height: 115px;
    cursor: ew-resize;
}
/* hoveringのスタイル */
.range_partition_bar::-webkit-slider-thumb:hover {
    background: black;
    width: 7px;
}
/* ドラッグ中のスタイル */
.range_partition_bar:active::-webkit-slider-thumb {
    background: black;
    width: 7px;
}
/* -moz-向けのつまみ */
.range_partition_bar::-moz-range-thumb {
    appearance: none;
    background: rgba(0,0,200,0.9);
    width: 2px;
    height: 115px;
    border: none;
    cursor: ew-resize;
}
/* hoveringのスタイル */
.range_partition_bar::-moz-range-thumb:hover {
    background: black;
    width: 7px;
}
/* ドラッグ中のスタイル */
.range_partition_bar:active::-moz-range-thumb {
    background: black;
    width: 7px;
}
/* Firefoxで点線が周りに表示されるデフォルトの解除 */
.range_partition_bar::-moz-focus-outer {
    border: 0;
}
/*-----------------基本部品: input - range partition_bar のCSS --------------------------*/



/*-------------------------イメージ部品:button-tag用CSS -----------------------------------------*/

/*++++++++++ diagonal_LR 定義++++++++++*/
button.btn_diagonal_LR {
    position: relative;
    /*ボタンの動作装飾のために追加(OVER部分を隠す)*/
    overflow: hidden;
    transition    : .3s;      /* 変化時間 */
    cursor        : pointer;

    /*ボタン形状*/
    background-color: rgb(60, 60, 60);    /* ボタン背景色     */
    border: 1px solid rgb(60, 60, 60); 
    border-radius : 30px;
    box-shadow    : 5px 5px 3px gray;   /* 影の設定 */
}
button.btn_diagonal_LR:hover {
    background-color: rgba(255, 255, 255,1);  /* ボタン背景色     */
    border: 3px solid var(--AOXYZ_blue); /*AOXYZblue*/
}
/*-- ボタン装飾--*/
button.btn_diagonal_LR::before {
    position: absolute;
    /*ボタン文字*/
    white-space: pre-wrap;  /*空白スペースの複数入力を有効化*/
    content: '';
    background-image : var(--parts_arrow_next_url);
    background-size:contain;  /* contain / cover */
    background-repeat: no-repeat;
    background-position: 100%;
    border: none; 

    width:100%;
    height: 100%;
    top: 0;
    left: 0;

    background-color:rgba(0, 0, 0 ,0);
    z-index: -10;
}
button.btn_diagonal_LR:hover::before {
    content: '';
    transition: all 1.5s ease;
    transform: translateX(-45%);
    z-index: 21;
}
button.btn_diagonal_LR::after {
    position: absolute;
    content: '';
    top: 0;
    left: -130%;

    background-color:rgba(255, 255, 255,1);
    border: none; 

    width:120%;
    height: 100%;
    transform: skewX(-25deg);
    z-index: 11;
}
button.btn_diagonal_LR:hover::after {
    animation: diagonal_LR .3s forwards;
}
@keyframes diagonal_LR {
    100% {
        left:-10%;
    }
}
/*-------------------------イメージ部品:button-tag用CSS -----------------------------------------*/



/*-------------------------イメージ部品:button-シンプルボタン用 CSS ----------------------------------*/

/*++++++++++ シンプルな楕円ボタン　共通利用目的 ++++++++++*/
.btn_simple {
    position: relative;
    /*ボタンの動作装飾のために追加(OVER部分を隠す)*/
    overflow: hidden;
    transition    : .3s;      /* 変化時間 */
    cursor        : pointer;

    /*ボタン形状*/
    background-color: rgb(220, 220, 220);    /* ボタン背景色     */
    border: 2px solid rgb(60, 60, 60); 
    border-radius : 10px;
    box-shadow    : 3px 3px 5px gray;   /* 影の設定 */
}
.btn_simple:hover {
    background-color: rgba(255, 255, 255,1);  /* ボタン背景色     */
    border-color: var(--AOXYZ_blue); /*AOXYZblue*/
    box-shadow  : 3px 3px 5px rgb(0, 0, 111);   /* 影の設定 */
}
/*-- ボタン装飾--*/
.btn_simple::after {
    position: absolute;
    content: '';
    top: 0;
    left: -130%;

    background-color:rgba(255, 255, 255,0.4);
    border: none; 

    width:120%;
    height: 100%;
    transform: skewX(-25deg);
    z-index: 11; /*btn-animation-hovering*/
}
.btn_simple:hover::after {
    animation: diagonal_LR .3s forwards;
}


/*++++++++++ シンプルな楕円ボタン　共通利用目的 ++++++++++*/
.btn_simple_wihtebase {
    position: relative;
    /*ボタンの動作装飾のために追加(OVER部分を隠す)*/
    overflow: hidden;
    transition    : .3s;      /* 変化時間 */
    cursor        : pointer;

    color:black;
    /*ボタン形状*/
    background-color: rgb(240, 240, 240);    /* ボタン背景色     */
    border: 1px solid rgb(100, 100, 100); 
    border-radius : 7px;
    box-shadow    : 3px 3px 5px gray;   /* 影の設定 */
}
.btn_simple_wihtebase:hover {
    background-color: rgba(255, 255, 255,1);  /* ボタン背景色     */
    border-color: var(--AOXYZ_blue); /*AOXYZblue*/
    box-shadow    : 3px 3px 5px rgb(0, 0, 111);   /* 影の設定 */
}
/*-- ボタン装飾--*/
.btn_simple_wihtebase::after {
    position: absolute;
    content: '';
    top: 0;
    left: 10%;

    background-color:rgba(255, 255, 255,0.3);
    border: none; 

    width:120%;
    height: 100%;
    transform: skewX(-25deg);
    z-index: 11; /*btn-animation-hovering*/
}
.btn_simple_wihtebase:hover::after {
    animation: diagonal_RL .3s forwards;
}

/*-- アクセスユーザーの追加・削除ボタンの余白調整*/
.btn_edit_userlist{
    padding:5px; margin:7px 3px;
}


/*-------------------------イメージ部品:button-シンプルボタン用 CSS ----------------------------------*/




/*-------------------------イメージ部品:シンプルaタグ文字 --------------------------------*/

.simple_a_tag:hover {
    /*文字*/
    color: grey;
    text-decoration:underline;
}

/*-------------------------イメージ部品:シンプルaタグ文字 --------------------------------*/




/*-------------------------イメージ部品:詳細ボタン --------------------------------*/

/* 詳細ボタン */
.detail_button {
    /*相対(relative)配置*/
    position: relative;   /*画面内で相対位置*/    /* aタグのクリック範囲を広げるための親側の設定 */
    /*中央に配置*/
    left: 50%;

    /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
        
    margin:50px 0;
    padding: 40px;   /* 余白指定-ボタンの幅になる- */
    max-width:200px;
    min-height:20px;

    border: 0px solid;
    background-image: linear-gradient(black 0%, grey 100%);
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.29);
    border-bottom: solid 2px black;
    border-radius: 30px 30px 30px 30px; /* 枠に丸みをつける */

    z-index: 31; /*btn-animation-hovering*/

    /* スクロール前は非表示--jsで表示をコントロール- */
    opacity: 1;
    transition: all 0.65s;

}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    .detail_button {
        padding: 25px;   /* 余白指定-ボタンの幅になる- */
    }
}

.detail_button a {
    position: absolute;                 /* aタグのクリック範囲を広げるための子側の設定 */
    width: 100%;
    height: 100%;

    /*ボタン内のaタグ配置*/
    text-align: center;
    top: 50%;
    left: 50%;
    margin:0px;
    /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);

    /*文字*/
    color: White;
    text-decoration: none;
    font-size: 1.7rem;
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.705); /* 文字にかげをつける */

}
.detail_button:hover {
    background-image: linear-gradient(grey 0%, white 100%);

    transition: 1s; /* アニメーションの速度 */
}
.detail_button a:hover {
    /*文字*/
    color: black;
    font-weight:700;
    font-size: 1.9rem;

    transition: 1s; /* アニメーションの速度 */
}

/*-------------------------イメージ部品:詳細ボタン --------------------------------*/




/*-------------------------イメージ部品:アップロードクラウド --------------------------------*/
.area_upload {
    position: relative;
    width: 100%;
    height: 400px;
    border: 4px dotted rgba(0, 0, 0, 0.3);
}

.upload_cloud_input {
    position: absolute;
    opacity: 1;
    width: 100%;
    height: 100%;
    padding:1%;
    top: 0;
    left: 0;
    vertical-align: bottom;
}
.area_upload_tag_icon {
    position: absolute;
    opacity: 0.5;
    background-image : var(--parts_upload_cloud_url);
    background-size:contain;  /* contain / cover */
    background-repeat: no-repeat;
    background-position: 100%;

    min-width: 100px;
    height: 200px;    /*area_uploadの高さ/2に合わせる*/
    top: 55%;
    left: 50%;

    z-index: 22;   /*-- upload-cloud */

    /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
    -ms-transform: translate(-50%,-50%);    /*旧対応*/
    -webkit-transform: translate(-50%,-50%);/*旧対応*/
    transform: translate(-50%,-50%);
    /*余白による中央からズレの可能性を排除*/
    margin:0; padding:0; 
    
}
.img_upload_preview{
    position: absolute;
    max-width: 60%;  /*area_uploadの幅の60%に合わせる*/
    max-height: 80%; /*area_uploadの高さの80%に合わせる*/
    min-width: 200px;

    top: 55%;
    left: 50%;

    /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
    -ms-transform: translate(-50%,-50%);    /*旧対応*/
    -webkit-transform: translate(-50%,-50%);/*旧対応*/
    transform: translate(-50%,-50%);
    /*余白による中央からズレの可能性を排除*/
    margin:0; padding:0; 
}
@media screen and (max-width: 480px){
    .area_upload          { height: 200px; }
}

  
/*-------------------------イメージ部品:アップロードクラウド --------------------------------*/









/*--------------------------------グローバルヘッダー内の検索インプット--------------------------------*/
/* 基本表示(一部の設定は、スマホ-ＰＣ分岐で設定) */
.global_input{
    max-width: 250px;
    opacity:0.8;
    border-radius: 0px;
    cursor:pointer;
    position:  fixed;
    z-index: 98;   /*-- 重なりが98の上位 */
}
/*--------------------------------グローバルヘッダー内の検索インプット--------------------------------*/


/*--------------------------------グローバルヘッダー内のホーム/言語--ボタン--------------------------------*/
/* ホームボタンのデフォルト */
.homebackicon {
    position:  fixed;
    z-index: 98;   /*btn-animation-hovering*/
}
/* 言語ボタンのデフォルト */
.global_lang {
    position:  fixed;
    z-index: 98;   /*-- 重なりが98の上位 */
}
/*--------------------------------グローバルヘッダー内の言語切り替え--------------------------------*/


/*-------------------------------- 戻るＸボタン要素 -------------------------------------------------*/
.area_back_btn{
    position: fixed;
    top:10px;
    left:30px;
    z-index: 402;/*BACK-X-btn*/
}
@media screen and (max-width: 480px){ 
    .area_back_btn { left:10px; }
}

/*-------------------------------- 戻るＸボタン要素 -------------------------------------------------*/



/*----------------ダウンへスクロールするVカーソル CLASS --------------------------------*/
.shape_up_arrow {
    /* Vカーソルの大きさ */
    width: 35px;
    height: 35px;
    /* Vカーソルの太さ */
    border-top: solid 5px;
    border-right: solid 5px;
    border-color: Black;

    transform: rotate(315deg);
}
/*----------------ダウンへスクロールするVカーソル CLASS --------------------------------*/


gf
/*----------------トップ/ダウンへスクロールするボタン要素 ID --------------------------------*/
/*スクロールトップボタン-----------------------------*/
#id_btn_to_top {
    /*isActiveで表示するため、ここの設定は不要だが、id_btn_to_top の定義は必須のため以下を記述*/
    /*画面内で位置固定=絶対(fixed)配置*/
    position: fixed;
    display: inline-block;
    /*位置は別途レスポンジブ対応*/
    /*枠の大きさ*/
    height: 35px;
    width:  35px;
    border-radius: 5px;
    /*矢印の文字*/
    color: white;
    text-decoration:  none;
    background-color: yellow;
    cursor:pointer;
    /* スクロール前は非表示--jsで表示をコントロール- */
    opacity: 0.5;
    transition: all 0.65s;

    z-index: 401; /*TOP-scroll-btn*/
}
/*jsでクラスをaddするためid定義  isActive の定義を記載しないと、何も表示されない*/
#id_btn_to_top.isActive {
    /*画面内で位置固定=絶対(fixed)配置*/
    position: fixed;
    display: inline-block;
    /*位置は別途レスポンジブ対応*/
    /*枠の大きさ*/
    height: 35px;
    width:  35px;
    border-radius: 5px;
    /*矢印の文字*/
    color: white;
    text-decoration:  none;
    background-color: yellow;
    cursor:pointer;
    /* スクロール前は非表示--jsで表示をコントロール- */
    opacity: 0.5;
    transition: all 0.65s;

    z-index: 401; /*TOP-scroll-btn*/
}
/*スマホレスポンシブ対応--最小が481pxに適用する＝スマホ/タブレット*/
@media screen and (max-width: 480px){
    #id_btn_to_top.isActive { top: 90%; right: 20px; /* エリア配置の位置 */ }
}
@media screen and (min-width: 481px) {
    #id_btn_to_top.isActive { top: 90%; right: 20px; /* エリア配置の位置 */ }
}
#id_btn_to_top.isActive:hover {
    height: 50px;
    width:  50px;
}
#id_btn_to_top.isActive::before {
    /*絶対(absolute)配置*/
    position: absolute;
    display:  block;
    /*-- 枠内での矢印棒の位置 -- */
    top:    8px;
    bottom: 0;
    left:   0;
    right:  0;
    content:  '';
    /*-- 矢印棒の長さ -- */
    width: 15px;
    height: 15px;
    /*-- 矢印棒の太さ -- */
    border-top: solid 4px;
    border-right: solid 4px;
    border-color:white;
    margin:  auto;
    transform: rotate(-45deg);
}





/*スクロールダウンボタン-----------------------------*/
#id_btn_to_bottom {
    /*画面内で位置固定=絶対(fixed)配置*/
    position: fixed;
    display:  inline-block;
    /*位置は別途レスポンジブ対応*/
    /*枠の大きさ*/
    height: 35px;
    width:  35px;
    border-radius: 5px;
    /*矢印の文字*/
    color: white;
    text-decoration:  none;
    background-color: blue;
    cursor:pointer;
    opacity: 0.5;
    transition: all 0.65s;

    z-index: 401; /*DOWN-scroll-btn*/
}
#id_btn_to_bottom:hover {
    height: 50px;
    width:  50px;
}
#id_btn_to_bottom::before {
    /*絶対(absolute)配置*/
    position: absolute;
    display:  block;
    /*-- 枠内での矢印棒の位置 -- */
    top:    0;
    bottom: 8px;
    left:   0;
    right:  0;
    content:  '';
    /*-- 矢印棒の長さ -- */
    width: 15px;
    height: 15px;
    /*-- 矢印棒の太さ -- */
    border-top: solid 4px;
    border-right: solid 4px;
    border-color:white;
    margin:  auto;
    transform: rotate(135deg);
}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    #id_btn_to_bottom { top: 15%; right: 20px; /* エリア配置の位置 */ }
}
@media screen and (min-width: 481px) {
    #id_btn_to_bottom { top: 20%; right: 20px; /* エリア配置の位置 */ }
}

/*----------------トップ/ダウンへスクロールするボタン要素 ID --------------------------------*/



/*----------------トップ/ダウンへスクロールするボタン要素 CLASS (template) --------------------------------*/

/*スクロールトップボタン-----------------------------*/
.tmplate_btn_to_top {
    /*画面内で位置固定=絶対(fixed)配置*/
    position: fixed;
    display: inline-block;
    /*位置は別途レスポンジブ対応*/
    /*枠の大きさ*/
    height: 35px;
    width:  35px;
    border-radius: 5px;
    background-color: Black;
    cursor:pointer;
    /* スクロール前は非表示--jsで表示をコントロール- */
    opacity: 0;
    transition: all 0.65s;

    z-index: 401; /*TOP-scroll-btn*/
}
.tmplate_btn_to_top:hover {
    height: 50px;
    width:  50px;
}
.tmplate_btn_to_top::before {
    /*絶対(absolute)配置*/
    position: absolute;
    display:  block;
    /*-- 枠内での矢印棒の位置 -- */
    top:    8px;
    bottom: 0;
    left:   0;
    right:  0;
    content:  '';
    /*-- 矢印棒の長さ -- */
    width: 15px;
    height: 15px;
    /*-- 矢印棒の太さ -- */
    border-top: solid 4px;
    border-right: solid 4px;
    border-color:white;
    margin:  auto;
    transform: rotate(-45deg);
}
/*スマホレスポンシブ対応--最小が481pxに適用する＝スマホ/タブレット*/
@media screen and (min-width: 481px){
    .tmplate_btn_to_top { bottom: 30px; right: 20px; /* エリア配置の位置 */  }
}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){ 
    .tmplate_btn_to_top { bottom: 30px; left: 20px; /* エリア配置の位置 */  }
}
/*jsでクラスをaddするためid定義*/
.tmplate_btn_to_top.isActive {
    /* スクロール後は表示--jsで表示をコントロール- */
    opacity: 0.5;
    transition: all 0.65s;
}


/*スクロールダウンボタン-----------------------------*/
.tmplate_btn_to_bottom {
    /*画面内で位置固定=絶対(fixed)配置*/
    position: fixed;
    display:  inline-block;
    /*位置は別途レスポンジブ対応*/
    /*枠の大きさ*/
    height: 35px;
    width:  35px;
    border-radius: 5px;
    /*矢印の文字*/
    color: white;
    text-decoration:  none;
    background-color: blue;
    cursor:pointer;
    opacity: 0.5;
    transition: all 0.65s;

    z-index: 401; /*DOWN-scroll-btn*/
}
.tmplate_btn_to_bottom:hover {
    height: 50px;
    width:  50px;
}
.tmplate_btn_to_bottom::before {
    /*絶対(absolute)配置*/
    position: absolute;
    display:  block;
    /*-- 枠内での矢印棒の位置 -- */
    top:    0;
    bottom: 8px;
    left:   0;
    right:  0;
    content:  '';
    /*-- 矢印棒の長さ -- */
    width: 15px;
    height: 15px;
    /*-- 矢印棒の太さ -- */
    border-top: solid 4px;
    border-right: solid 4px;
    border-color:white;
    margin:  auto;
    transform: rotate(135deg);
}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    .tmplate_btn_to_bottom { top: 70px; right: 20px; /* エリア配置の位置 */ }
}
@media screen and (min-width: 481px) {
    .tmplate_btn_to_bottom { top: 70px; right: 20px; /* エリア配置の位置 */ }
}

/*----------------トップ/ダウンへスクロールするボタン要素 CLASS (template) --------------------------------*/





/*------------------------イメージ部品:downscroll-----------------------------------*/
/*スクロールダウン全体の場所*/
.scrolldown_mark{
    position:fixed;
    /*描画位置  デフォルト設定は右下  */
    top:30%;
    right:10%;

    z-index: 99;   /*-- 重なり */
}

/*Scrollテキストの描写*/
.scrolldown_mark span{
    /*描画位置*/
    position: absolute;
    left:-10px;
    bottom:-65px;
    /*テキストの形状*/
    color: silver;
    opacity: 0.9;
    font-size: 1.2rem;
    letter-spacing: 0.2em;
    /*縦書き設定*/
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 丸の描写 */
.scrolldown_mark:before {
    content: "";
    /*位置*/
    position: absolute;
    left:-5.5px;
    /*丸の形状*/
    width:13px;
    height:13px;
    border-radius: 50%;

    background:silver;
    opacity: 0.8;

    /*動き ループ*/
    animation:
    circlemove 2.0s ease-in-out infinite,
    cirlemovehide 2.0s ease-out infinite;
}
/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
      0%{bottom:80px;}
     100%{bottom:-5px;}
}
/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
    0%{opacity:0}
    50%{opacity:1;}
    80%{opacity:0.9;}
    100%{opacity:0;}
}
@media screen and (max-width: 480px){
    .scrolldown_mark:before {
    left:-4.5px;
    /*丸の形状*/
    width:10px;
    height:10px;
    }
}
/* 線の描写 */
.scrolldown_mark:after{
    /*位置*/
    position: absolute;
    content:"";

    bottom:0;
    left:0;
    /*線の形状*/
    width:2px;
    height: 90px;
    background:silver;
    opacity: 0.8;
}

/*------------------------イメージ部品:downscroll-----------------------------------*/


/*------------------------イメージ部品:スイッチボタン-----------------------------------*/

/* === ボタンを表示するエリア ============================== */
.switchArea {
    /* デフォルトは相対配置  */
    position: relative;  
    /* デフォルト設定は右下  */
    bottom: 0%;
    right: 0%;

    margin         : 0;                   /* 中央寄せ           */
    width          : 60px;                /* ボタンの横幅       */

    line-height    : 30px;                /* 1行の高さ          */
    letter-spacing : 0;                   /* 文字間             */
    text-align     : center;              /* 文字位置は中央     */
    font-size      : 12px;                /* 文字サイズ         */

    z-index: 31; /*btn-animation-hovering*/
}
/* === チェックボックス ==================================== */
.switchArea input[type="checkbox"] {
    display        : none;            /* チェックボックス非表示 */
}
/* === チェックボックスのラベル（OFF） ==================== */
.switchArea label {
    display        : block;               /* ボックス要素に変更 */
    box-sizing     : border-box;          /* 枠線を含んだサイズ */
    height         : 30px;                /* ボタンの高さ       */
    border         : 2px solid;           /* 未選択タブのの枠線 */
    border-radius  : 15px;                /* 角丸               */
    border-color   : grey;              /* OFF時の枠色 */
}
/* === チェックボックスのラベル（ON） ================ */
.switchArea input[type="checkbox"]:checked +label {
    border-color   : BLUE;           /* ON時の枠色 */
}
/* === 表示する文字（OFF） ================================ */
.switchArea label span:after{
    content        : "OFF";               /* 表示する文字       */
    padding        : 0 0 0 18px;          /* 表示する位置       */
    color          : grey;              /* OFF時の文字色 */
}
/* === 表示する文字（ON） ============================ */
.switchArea  input[type="checkbox"]:checked + label span:after{
    content        : "ON";                 /* 表示する文字       */
    padding        : 0 18px 0 0;           /* 表示する位置       */
    color          : BLUE;               /* ON時の文字色 */
}
/* === 丸部分のSTYLE（OFF） =============================== */
.switchArea .id_img_sw {
    position       : absolute;            /* 親要素からの相対位置*/
    width          : 22px;                /* 丸の横幅           */
    height         : 22px;                /* 丸の高さ           */
    background     : grey;              /* カーソルタブの背景色 */
    top            : 4px;                 /* 親要素からの位置   */
    left           : 4px;                 /* 親要素からの位置   */
    border-radius  : 11px;                /* 角丸               */
    transition     : .4s;                 /* 滑らか変化         */
}
/* === 丸部分のSTYLE（ON） =========================== */
.switchArea input[type="checkbox"]:checked ~ .id_img_sw {
    transform      : translateX(33px);    /* 丸も右へ移動       */
    background     : BLUE;             /* カーソルタブの背景 */
}

/*説明文をつけるか否かは自由--------------------------------*/
/*-- デフォルト非表示 */
.switcharea_explain_hidden{
    position: absolute;
    border: 2px solid var(--AOXYZ_blue); /*AOXYZblue*/
    color:black;
    background-color: rgba(245,245,245,1);
    width: auto;       /*表示幅*/
    top:-25px;
    margin-left:10px; margin-right:auto;
    padding:2px;
    height: 0px;
    opacity: 0;
    visibility: hidden;
}
.switcharea_explain_hidden span{
    color:black;
    font-size: 1.3em;
}
.switchArea:hover ~ .switcharea_explain_hidden{
    height: Auto;
    opacity: 1;
    visibility: visible;
    transition: .5s;
}

/*------------------------イメージ部品:スイッチボタン-----------------------------------*/




/*--------------------------------グローバルメニュー--------------------------------*/
/* スマホ-ＰＣ分岐の基本表示 */
#id_sitemenu{
    position: fixed; /*-- 画面スクロールしても残る */
    box-sizing: border-box;  /*-- borderまでをwidth100%とするための指定処理、入れないとMarginまで広がってしまう */
    width: 100%;

    z-index: 97;   /*-- 重なり */
}
.isBlackbackground{
    background-color: rgba(0, 0, 0, 1.0);
    animation-name: Blackbackground;
    animation-timing-function: ease-out;
    animation-duration:1.5s;
}
@keyframes Blackbackground {
  0% {
    background-color: rgba(0, 0, 0, 0);
  } 25% {
    background-color: rgba(0, 0, 0, 0.25);
  } 50% {
    background-color: rgba(0, 0, 0, 0.5);
  } 75% {
    background-color: rgba(0, 0, 0, 0.75);
  } 100% {
    background-color: rgba(0, 0, 0, 1.0);
  }
}
#id_sitefooter{
    box-sizing: border-box;  /*-- borderまでをwidth100%とするための指定処理、入れないとMarginまで広がってしまう */
    width: 100%;
    min-width:800px;
    background-color: rgba(30, 30, 30, 1);

    z-index: 97;   /*-- 重なり */
}
/*スマホレスポンシブ対応--最大が960pxに適用する＝タブレットとスマホ*/
@media screen and (max-width: 960px){
    #id_sitemenu {
        display: none;
    }
    #id_sitefooter{
        box-sizing: border-box;  /*-- borderまでをwidth100%とするための指定処理、入れないとMarginまで広がってしまう */
        width: 100%;
        min-width:300px;
        max-width:960px; /*media screenの幅に合わせる*/
    }
}
#id_sitemenu_mobile{
    position: fixed;         /*-- 画面スクロールしても残る */
    display: flex;           /*-- ハンバーガーメニューとホームを並べる */
    box-sizing: border-box;  /*-- borderまでをwidth100%とするための指定処理、入れないとMarginまで広がってしまう */
    width: 100%;
    min-width:300px;
    max-width:480px;      /*media screenの幅に合わせる*/
    height:60px;          /*--ハンバーガーの上部幅に合わせる--*/
    background: black;

    z-index: 97;   /*-- 重なり */
}

/*スマホレスポンシブ対応--最小が961pxに適用する＝タブレットとスマホ以外*/
@media screen and (min-width: 961px) {
    #id_sitemenu_mobile {
        display: none;
    }
}
@media screen and (min-width: 481px) and (max-width: 960px){
    #id_sitemenu_mobile {
        /*タブレットでは四角形のメニュータブへ変更*/
        min-width:80px;
        max-width:80px;
        min-height:70px;
        max-height:70px;
    }
}

/*--------------------------------グローバルメニュー--------------------------------*/

/*--------------------------------グローバルメニューの装飾関連--------------------------------*/

/* 著作権*/
.copyright {
    padding: 1% 5%;
    color: white;
}

/* トップナビ＝メニュー*/
ul.topnav {
    list-style: none;     /* リストの先頭記号削除*/
    width: 100%;
    min-width:300px;
    top: 0;
    margin: 0;            /* 外側の余白*/
    padding: 1% 5%;       /* 内側の余白*/
    overflow: hidden;     /* ボックスに収まらない内容の表示方法*/
}

/* ホームリンク以外の項目の並べ方 */
ul.topnav li {
    float: right; /* 浮かせて右に寄せる */
}
/*-- トップナビのリストのリンク（a）CSS */
ul.topnav li a {
    display: inline-block; /* 横並びに配置する */
    color: white;
    vertical-align: middle;
    padding: 10px 15px; /* 内側の余白*/
    text-decoration: none;
    font-weight: Medium;
  /*  text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.73);  */ /* 文字にかげをつける */
    border-radius: 15px 15px 15px 15px; /* 枠に丸みをつける */
    transition: 1s; /* アニメーションの速度 */
}

/* トップナビの会社名ホームリンク*/
ul.topnav li.home {
    float: left; /* 浮かせて左に寄せる */
    padding: 0px; /* 内側の余白*/
    vertical-align: middle;
}
/*-- カーソルオン */
ul.topnav li.home a:hover {
    background: whitesmoke;
    color: black;
  /*  text-shadow: 4px 4px 10px rgba(255, 255, 240, 0.83), 6px 0px 15px rgba(255, 255, 240, 0.83); */ /* 文字にかげをつける */
}



/*-- 現在のナビ */
ul.topnav li.active a {
    background: white;
    color: black;
    font-weight: Medium;
}
/*-- カーソルオン */
ul.topnav li a:hover {
    background: whitesmoke;
    color: black;
  /*  text-shadow: 4px 4px 10px rgba(219, 219, 216, 0.83), 6px 0px 15px rgba(255, 255, 240, 0.83); */ /* 文字にかげをつける */
}

/*スマホレスポンシブ対応--最大が900pxに適用する＝タブレット直前のPC*/
@media screen and (max-width: 1100px){
    ul.topnav li a {
        padding: 10px 5px; /* 画面横幅が狭い場合には、li a のスキマを細くする 内側の余白*/
    }
}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    ul.topnav li {
        float: none; /* 浮かせず、text-alignて位置を調整 */
        margin-left: 10%;
        text-align: left;
    }
    .copyright {
        padding: 0% 25%;
    }
}



/*-- ナビのリストの二段落目リスト（ul）CSS */
ul.topnav li ul {
    list-style: none; /* リストの先頭記号削除*/
    display: none;    /* 非表示にしておく*/
    margin: 0px;      /* 外側の余白*/
    padding: 0px;     /* 内側の余白*/
    background: rgb(12, 0, 170);
}
ul.topnav  li ul a:hover {
    display: block;   /* カーソルが乗ったら表示する*/
    transition-delay: 2s; /* アニメーションの速度 */
}

ul.topnav2 li ul {
    visibility: hidden;
    opacity: 0;
    z-index: 80;
}


ul.topnav ul  {
    display: none;   /* 非表示にしておく*/
}

/*--------------------------------グローバルメニューの装飾関連--------------------------------*/




/*--------------------------------------------------------------------------------------------*/
/*-------------------------------- common-slider nonJS スライダーCSS ---------------------------------------*/
/*--------------------------------------------------------------------------------------------*/
.common-slider {
    position: relative;
    width: 100%;
    max-width: 1500px;
    height:    300px;
    display: flex;
    overflow: hidden;
    margin-left:auto; margin-right:auto;
    padding: 0px;     /* 内周:横に枠を設けてコンテンツの幅をそろえる */
}
.slider-item {
    width: 70%;               /*flexのmax-widthの半分弱*/
    min-width: 700px;
    padding: 3px;
    margin:  0%;              /* 外側の余白 */
}
.common-slider > :first-child {
    -webkit-animation-name: anime-common-slider;
    animation-name: anime-common-slider;
    -webkit-animation-duration: 30s;
    animation-duration: 30s;
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}
@keyframes anime-common-slider1 {

}

@keyframes anime-common-slider {
    0%  {  margin-left: 0;     }
   23%  {  margin-left: -50%; }
   25%  {  margin-left: -50%; }
   48%  {  margin-left: -100%; }
   50%  {  margin-left: -100%; }
   73%  {  margin-left: -150%; }
   75%  {  margin-left: -150%; }
   98%  {  margin-left: -200%; }
   100% {  margin-left: -200%; }
}
/*--------------------------------------------------------------------------------------------*/
/*-------------------------------- nonJS スライダーCSS ---------------------------------------*/
/*--------------------------------------------------------------------------------------------*/





/* ---------------------------画面スライドインアウトCSS--------------------------- */
.t_page{
    width: 100%;
/*    overflow-x: no-display;*/
}
.page_for_idx {
  position: absolute;
  width: 100%;
  min-height: 1000px;
  margin: 0;
  padding: 0;
  background-color: whitesmoke;

  -webkit-transition: all 1.5s cubic-bezier(0.5,1.5,0.5,1);
  -moz-transition:    all 1.5s cubic-bezier(0.5,1.5,0.5,1);
  -o-transition:      all 1.5s cubic-bezier(0.5,1.5,0.5,1);
  transition:         all 1.5s cubic-bezier(0.5,1.5,0.5,1);
}
/*---- 半透明閉じるカバー --------------*/
.cover_translucent_close {
    display: none; /*非表示*/
    /*絶対位置*/
    position: fixed;
    /*全体を覆うようにセット*/
    top: 0;
    left: 0;
    width: 100%;
    min-height: 2500px;  /*idx_sub_p2の高さより少し高くする*/
    background-color: rgba(0,0,255,0.5);
    transition: .3s ease-in-out;

    z-index: 11;    /*-- 重なりはmainの上かつsubの下 */
}
.z-index_15_css{
    z-index: 15;
}
.page_section{
    padding: 0% 5% 0% 5%;
}
#idx_page0
{ left: 0px;}
#idx_page1
,#idx_page2
,#idx_page3
,#idx_page4
,#idx_page5
,#idx_page11
{ left: -200%;}


 #t1:target  #idx_page0
,#t2:target  #idx_page0 
,#t3:target  #idx_page0
,#t4:target  #idx_page0
,#t5:target  #idx_page0
,#t11:target #idx_page0
{ filter: blur(4px); }

 #t1:target  #idx_page1
,#t2:target  #idx_page2
,#t3:target  #idx_page3
,#t4:target  #idx_page4
,#t5:target  #idx_page5
,#t11:target #idx_page11 {
    -webkit-transform: translateX(200%);
    -moz-transform:    translateX(200%);
    -o-transform:      translateX(200%);
    transform:         translateX(200%);
    transition-delay: 0.1s !important;
}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホのみ*/
@media screen and (max-width: 480px){
    .page_for_idx {
        /*スマホ用メニューの縦幅に合わせる*/
        top: 60px;
    }
}



/*コンタクトなど画面挿入用-------------------------*/
#idx_main_p
{ left: 0px;}
#idx_sub_p1
,#idx_sub_p2
{ left: -200%;}

#tgt_sub1:target #idx_main_p
,#tgt_sub2:target #idx_main_p 
{ filter: blur(4px);}

#tgt_sub1:target #idx_sub_p1
,#tgt_sub2:target #idx_sub_p2 {
    -webkit-transform: translateX(200%);
    -moz-transform:    translateX(200%);
    -o-transform:      translateX(200%);
    transform:         translateX(200%);
    transition-delay: 0.1s !important;
}
#tgt_sub1:target .cover_translucent_close
{ display: block; /*表示*/ }
/*コンタクトなど画面挿入用-------------------------*/


/* ---------------------------画面スライドインアウトCSS--------------------------- */







/*-----------------------------------------------------------------------------------------------------------------------*/
/*-- TOP-LOGO -- start ------------------------------------------*/
/*-----------------------------------------------------------------------------------------------------------------------*/

/*スマホレスポンシブ対応--最小480px＝タブレット or PC*/
@media screen and (min-width: 701px) {
    .top_logo_area{
        display: none;
    }
}
/*文字画像の画像サイズ＆画像配置*/
.top_logo_area {
    width: 200px; height: 70px;  /*位置*/ top:  0px; left:  75px;
    position: absolute; display: block;
    opacity:1.0;
    background-color: rgb(0, 0, 0);
}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    .top_logo_area{
        width: 170px; height: 60px;
    }
}

/*-----------------------------------------------------------------------------------------------------------------------*/
/*-- TOP-LOGO -- end ------------------------------------------*/
/*-----------------------------------------------------------------------------------------------------------------------*/




/* ---------------------------ハンバーガーメニューCSS--------------------------- */
/*ヘッダー*/
#id_nav_drawer {
    position: relative;
}
/*チェックボックスは非表示*/
.nav-unshown {
    display: none;
}

/*++++++++++ クリックで表示するカバーとコンテンツ ++++++++++*/
/*閉じるカバー*/
#id_nav_close {
    display: none;/*非表示*/
    /*絶対位置*/
    position: fixed;
    /*全体を覆うようにセット*/
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: blue;
    opacity: 0;
    transition: .3s ease-in-out;

    z-index: 100; /*TopMenu-CloseCover*/
}
/*コンテンツメニュー中身*/
#id_nav_content {
    overflow: auto;
    /*絶対位置*/
    position: fixed;
    /*全体を覆うようにセット*/
    top: 60px;    /*ヘッダーメニュー id_sitemenu_mobile の幅に合わせる*/
    left: 0px;
    width: 90%;        /*右側に隙間（閉じるカバー）*/
    max-width: 350px;  /*最大幅*/
    height: 100%;
    background: black;
    transition: .3s ease-in-out; /*滑らかに表示*/
    /*左に隠しておく*/
    -webkit-transform: translateX(-105%);
    transform: translateX(-105%);

    z-index: 101; /*TopMenu-CloseCover-CONTENT*/
}
/*閉じるカバー表示*/
#id_nav_input:checked ~ #id_nav_close {
    display: block;/*表示*/
    opacity: .5;
}
/*コンテンツメニュー表示*/
#id_nav_input:checked ~ #id_nav_content {
    /*中身を右へスライド*/
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
/*++++++++++ クリックで表示するカバーとコンテンツ ++++++++++*/


/*++++++++++ ハンバーガーアイコン No1 ++++++++++*/
/*アイコンのスペース*/
#id_nav_open {
    display: flex;
    margin-top: 25px;
    margin-left: 25px;
    width: 50px;
    height: 50px;
    vertical-align: middle;
}
/*ハンバーガーアイコン*/
#id_nav_open span, #id_nav_open span:before, #id_nav_open span:after {
    position: absolute;
    display: block;
    content: '';
    cursor: pointer;

    /*線の太さ-長さ*/
    height: 3px; width: 30px;
    border-radius: 4px;
    background:white;

    transition: all .75s;
}
#id_nav_open span:before { bottom: -10px;}
#id_nav_open span:after  { bottom: -20px;}
/*クリック後*/
#id_nav_input:checked ~ #id_nav_open span {
    transform: translateY(10px) rotate(405deg);
}
#id_nav_input:checked ~ #id_nav_open span:before {
    opacity: 0;
}
#id_nav_input:checked ~ #id_nav_open span:after {
    transform: translateY(-20px) rotate(450deg);
}
/*++++++++++ ハンバーガーアイコン No1 ++++++++++*/


/*++++++++++ ハンバーガーアイコン No2 ++++++++++*/
/*アイコンのスペース*/
#id_nav_open2 ,#id_nav_open3 ,#id_nav_open4 {
    display: flex;
    width: 50px;
    height: 50px;
    vertical-align: middle;
}
#id_nav_open2 span ,#id_nav_open3 span ,#id_nav_open4 span {
    position: absolute;
    display: block;
    content: '';
    cursor: pointer;

    /*線の太さ-長さ*/
    height: 4px; width: 30px;
    border-radius: 4px;
    background-color:white;

    transition: all .75s;
}
#id_nav_open2 span:nth-of-type(1) ,#id_nav_open3 span:nth-of-type(1) ,#id_nav_open4 span:nth-of-type(1) {
    top: 20px; left:50%;}
#id_nav_open2 span:nth-of-type(2) ,#id_nav_open3 span:nth-of-type(2) ,#id_nav_open4 span:nth-of-type(2) {
    top: 30px; left:50%;}
#id_nav_open2 span:nth-of-type(3) ,#id_nav_open3 span:nth-of-type(3) ,#id_nav_open4 span:nth-of-type(3) {
    top: 40px; left:50%;}
#id_nav_open2::after {
    position: absolute;
    display: block;
    content: '';

    top: 5px;
    left: 30%;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 4px solid transparent;
}
/*クリック後*/
#id_nav_input:checked ~ #id_nav_open2 span:nth-of-type(1) {
    transform: translateY(10px) rotate(495deg);
}
#id_nav_input:checked ~ #id_nav_open2 span:nth-of-type(2) {
    opacity: 0;
}
#id_nav_input:checked ~ #id_nav_open2 span:nth-of-type(3) {
    transform: translateY(-10px) rotate(405deg);
}

#id_nav_input:checked ~ #id_nav_open2::after {
    animation: kf_border-flash .4s .25s forwards;
}
@keyframes kf_border-flash {
    0% {
      border-color: transparent;
      transform: rotate(0);
    }
    25% {
      border-color: transparent white transparent transparent;
    }
    50% {
      border-color: transparent white white transparent;
    }
    75% {
      border-color: transparent white white white;
    }
    100% {
      border-color: white;
      transform: rotate(1000deg);
    }
}
/*++++++++++ ハンバーガーアイコン No2 ++++++++++*/


/*++++++++++ ハンバーガーアイコン No3 ++++++++++*/
/*クリック後*/
#id_nav_input:checked ~ #id_nav_open3 span:nth-of-type(1) {
    transform: translateY(10px) rotate(495deg);
}
#id_nav_input:checked ~ #id_nav_open3 span:nth-of-type(2) {
    opacity: 0;
}
#id_nav_input:checked ~ #id_nav_open3 span:nth-of-type(3) {
    transform: translateY(-10px) rotate(405deg);
}
/*++++++++++ ハンバーガーアイコン No3 ++++++++++*/


/*++++++++++ ハンバーガーアイコン No4 ++++++++++*/
/*クリック後*/
#id_nav_input:checked ~ #id_nav_open4 span:nth-of-type(1) {
    transform: translateY(10px) rotate(135deg);
}
#id_nav_input:checked ~ #id_nav_open4 span:nth-of-type(2) {
    opacity: 0;
}
#id_nav_input:checked ~ #id_nav_open4 span:nth-of-type(3) {
    transform: translateY(-10px) rotate(45deg);
}
/*++++++++++ ハンバーガーアイコン No4 ++++++++++*/



  
/* ---------------------------ハンバーガーメニューCSS--------------------------- */







/*-----------------------------パンくずリスト用--------------------------------*/
.breadcrumb{
    /*display:-ms-flexbox;*/
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;

    padding:1rem 2rem;
    margin-bottom:1rem;
    list-style:none;
    border-radius:.25rem;

    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    font-size: 1.2em;
}
.breadcrumb a {
    text-decoration: none;
    padding: 0 2px;
    color:rgba(255,255,255,1);
}
.breadcrumb a:hover {
    animation-duration:1s;
    animation: a_link_hover .5s forwards;
}
@keyframes a_link_hover {
    100% {
        color:rgba(255,255,255,0.5);
    }
}
.breadcrumb li {
    position: relative;
    display: inline-block;/*横に並ぶように*/
    list-style: none;
    margin-right: 1em;
    padding-left: 20px;
  }
.breadcrumb li:after {
    position: absolute;
    content: "";
    top:  0.35em;
    left: 5px;
    border-style: solid;
    border-color: transparent;
    border-left-color: rgba(255,255,255,1); /*背景色*/
    border-width: 8px 10px;
    width: 0;
    height: 0;
  }
/*-----------------------------パンくずリスト用--------------------------------*/





/*--------------------------------全画面サイズ関連--------------------------------*/

/* 画面ロード時のみに使用するエリア */
#id_loading_area {
    position: fixed;
    width: 100%;
    height: 100%;
    text-align:center;
    /*AOXYZblue*/
    background: linear-gradient(110deg, rgb(0, 0, 111), rgb(100, 100, 255));
    color:#fff;
    z-index: 700; /*loadin-AREA*/
}
#id_loading_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#id_loading_logo span {
    display: inline-block;
    width: 20ch;
    font: bold 200% Consolas, Monaco, monospace;
    overflow: hidden;
    white-space: nowrap;
    animation: typingAnime 2s steps(20);
}
@keyframes typingAnime {
    from { width: 0;}
}
/* 画面ロード時のみに使用フラッシュアップ--エリア */
.is_flashpopup{
    position:fixed;
    display: none;
    content: "";

    transform: scale(0);
    background-color: #fff;
  
    /*開始時のサークル形状*/
    top:calc(50% - 1rem);   /*50%から円の半径を引いた値*/
    left:calc(50% - 1rem);  /*50%から円の半径を引いた値*/
    width: 2rem;
    height: 2rem;
}
body.appear .is_flashpopup{
    display: block;
    border-radius: 50%;
    animation-name:flashpopup;
    animation-duration:1s;
    animation-fill-mode:forwards;
}
@keyframes flashpopup{
    /*開始時*/
    0% {
        transform: scale(0);
        z-index: 700; /*loadin-flashpopup*/
    }
    /*終了時*/
    100% {
        transform: scale(100);
        z-index: 700; /*loadin-flashpopup*/
    }
}


/* ----------------フェードアウトメッセージ用---------------------------------------------- */
#id_msg_fadeout_area ,#id_msg_popup_area ,#id_msg_success_js_fadeout_area ,#id_msg_fail_js_fadeout_area {
    position: absolute;
    display: inline-block;
    padding:20px;
    margin-left:auto; margin-right:auto;
    outline: solid 2px blue;
    background-color: rgba(244,255,255,0.7);
    z-index: 500; /*FADEOUT-MSG*/
}
#id_msg_fadeout_area ,#id_msg_popup_area ,#id_msg_success_js_fadeout_area ,#id_msg_fail_js_fadeout_area {
    top: 0%;     /* top  はJSでスクロール量を取得場合も有*/
    left: 35%;   /* ポップアップ表示時の位置-左側からの%  (表示前は is_transform_minus200pct で左に隠す)*/
    /*translate(X, Y)*/
    -webkit-transform: translate(-50%, 0%);
    -ms-transform:     translate(-50%, 0%);
    transform: translate(-50%, 0%);
}

/* ----------------ポップアップ確認ダイアログ用---------------------------------------------- */
#dialogue_box ,#dialogue_box_editstart ,#id_common_dialogue_box ,#id_input_common_dialogue_box ,#id_input_iframeoption_dialogue_box{
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%, -50%);

    margin-left:auto; margin-right:auto;
    padding:20px;

    max-width:80%;
    width:50%;
    outline: solid 2px blue;
    background-color: rgba(244,255,255,0.7);
    box-shadow: 2px 2px 4px darkgrey;
    z-index: 500; /*FADEOUT-MSG*/
}
/* ボタン装飾 */
.dialogue_box_btn {
    position: relative;
    /*ボタンの動作装飾のために追加(OVER部分を隠す)*/
    overflow: hidden;
    transition    : .3s;      /* 変化時間 */
    cursor        : pointer;

    /*ボタン形状*/
    background-color: rgb(220, 220, 220);    /* ボタン背景色     */
    border: 2px solid rgb(60, 60, 60); 
    border-radius : 5px;
    box-shadow    : 5px 5px 3px gray;   /* 影の設定 */
}
.dialogue_box_btn:hover {
    background-color: rgba(255, 255, 255,1);  /* ボタン背景色     */
    border: 2px solid var(--AOXYZ_blue); /*AOXYZblue*/
}





/* ----------------ポップアップ確認ダイアログ用---------------------------------------------- */


/* ボックス用 */
#id_container_top {
    position: relative; /* 雪などのアニメーションを absolute にするため、relative が必須  */
    /*トップ画面は画面の縦横と同じサイズとする*/
    /*幅を100vwにすると僅かにズレるため100%として、立幅を100vhの画面サイズとする*/
    width:100%;
    height:100vh;
    margin: 0px;  /* 画面端からの余白-外周 */
    padding: 0px; /* 画面端からの余白-内周 */
    text-align:center;

    background:green;

}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    #id_container_top{
        /* 画面が崩れないように最大を設定 */
        max-width:480px;
        width:100%;
        height:100%;
    }
}
#id_container_body {
    position: relative; /* 雪などのアニメーションを absolute にするため、relative が必須  */
    background-color: whitesmoke;
/*    background-color: green;*/
    width:100%;
    /* 画面縮小の際に崩れないように最小を定義 */
    min-width:300px;
    margin: 0px;  /* 画面端からの余白-外周 */
    padding: 0px; /* 画面端からの余白-内周 */
    text-align:center;
    z-index: 2;   /*-- 重なり */
}
/* トップ画面表示の際,存在しているが覆いかぶして見えなくする ブラックアウト */
#id_container_top.is_blackout::after ,#id_container_body.is_blackout::after {
    content: '';
    /* ↓暗いオーバーレイを半透明で配置 */
    background-color: rgba(0, 0, 80, 1);
    /* ↓全体を覆うように配置 */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;

    z-index: 200;   /*backCover-BLACKOUT-loading*/
}


/* 全体の横枠を調整するボックス---画面が大きい場合に読みにくさを調整する-- */
.box_basic {
    position: relative;
    width:100%;
    min-width:300px;/* 画面縮小の際に崩れないように最小を定義 */
    margin:0px;     /* 外周:ギリギリまで広げる */
    padding: 0 5% ; /* 内周:横に枠を設けてコンテンツの幅をそろえる */
    background-color: var(--class_box_basic_bgcolor);
}
.box_left {
    position: relative;
    width:100%;
    min-width:300px;/* 画面縮小の際に崩れないように最小を定義 */
    margin:0px;     /* 外周:ギリギリまで広げる */
    padding: 0 5% ; /* 内周:横に枠を設けてコンテンツの幅をそろえる */
    text-align:left;
    background-color: var(--class_box_left_bgcolor);
}
.box_center {
    position: relative;
    width:100%;
    min-width:300px;/* 画面縮小の際に崩れないように最小を定義 */
    margin:0px;     /* 外周:ギリギリまで広げる */
    padding: 0 5% ; /* 内周:横に枠を設けてコンテンツの幅をそろえる */
    text-align:center;
    background-color: var(--class_box_center_bgcolor);
}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    .box_basic ,.box_left , .box_center {
        padding: 0px 5px; /* 内周:横幅の枠をスマホ向けに小さくする */
    }
}
/*--------------------------------全画面サイズ関連--------------------------------*/


/*---------------------boxクラス基本CSS------------------------*/
/*boxクラスの基本枠のCSS (box_basicとは異なる)*/
.box_basic_css {
    position:relative;
    max-width: 1400px;
    width:100%;
    min-width:300px;/* 画面縮小の際に崩れないように最小を定義 */
    padding: 1px 10px; /* 内周:横に枠を設けてコンテンツの幅をそろえる */
    /* 外周:縦はゼロ、横は自動 */
    margin-top:0px;margin-bottom:0px;
    margin-left:auto; margin-right:auto;
    background-color: var(--class_box_basic_css_bgcolor);
}
@media screen and (max-width: 960px){
    .box_basic_css{
        width: 100%;
        padding: 2px; /* 内周 */
    }
}
/*---------------------boxクラス基本CSS------------------------*/


/*------- box_table tag_center_displaytable -------------------------*/
/*枠全体を中央にそろえるための左右調整*/
.tag_center_displaytable {
    display: table;
    /* テーブルセルの境界有へ変更*/
  /*
    border-collapse: separate;
    border-spacing: 5px;
  */
    margin-left:auto; margin-right:auto;
}
/*枠全体を左にそろえるための調整*/
.tag_left_displaytable {
    display: table;
    /* テーブルセルの境界有へ変更*/
  /*
    border-collapse: separate;
    border-spacing: 5px;
  */
    margin-left:5%; margin-right:auto;
}

/*枠を広めにとる*/
.tag_displaytable_wide {
    min-width: 70vw;
  /*  background-color: red; */
}
.th_class_box_table{
    padding: 0px 1px 0px 0px;
    min-width:150px;
 /* 
    border-right: 2px solid;
    border-color:fuchsia;
 */
}
.td_class_box_table{
    padding: 0px 1px;
    width: 100%;
}
/*スマホレスポンシブ対応--最大が700pxに適用する＝スマホとタブレット*/
@media screen and (max-width: 700px){
    .tag_displaytable_wide{
        width: 100%;
    }
    .th_class_box_table ,.td_class_box_table{
        display: block;
        text-align: left;
        padding: 0% 1%;
        width: 100%;
    }
}
/*------- box_table tag_center_displaytable -------------------------*/



/*---------------------box_title-h1/h2 概要説明/説明書き用 のCSS------------------------*/
/*-- box_title --:boxクラスの基本枠＋アルファをそれぞれのクラス用に定義*/
.box_title {
    position:relative;
  /*  border-radius: 5px;*/
/*    background-color: lightblue;*/
}
.h_center_area , .description_p_area{
    max-width: 1200px;
    min-width: 300px;
    margin-left:auto; margin-right:auto;
    padding: 1% 3% ; /* 内周 */
}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    .h_center_area ,.description_p_area{
        width: 95%;
        padding: 0; /* 内周 */
    }
}

/*---------------------box_title-h1/h2 概要説明/説明書き用 のCSS------------------------*/





/*--------------------- box_img 画像ファイル系・ボックス のCSS------------------------*/
.box_img {
    /*まだ定義していない*/
    position: relative;
}

.img_basic_pc {
    /*基本はrelativeだが引数で変更可能*/
    /*ループ事にdivでくくる*/
    position: relative;
}
.img_basic_mobile{
    display: none;
    position: relative;
}
/*スマホレスポンシブ対応--最大が700pxに適用する＝スマホとタブレット*/
@media screen and (max-width: 700px){
    .img_basic_pc {
        display: none;
    }
    .img_basic_mobile {
        display: block;
    }
}
.class_box_img_basic{
    max-width:100%;
    margin:auto; /*サイズ変更の際に中央配置へ縦横の自動調整*/
    padding:1px;
    border:0;
    vertical-align: center; /*インラインボックス、インラインブロック、表セルボックスの垂直方向の配置*/
    object-fit: scale-down;
}
/*--------------------- box_img 画像ファイル系・ボックス のCSS------------------------*/



/*--------------------- box_img_only_flex のCSS------------------------*/
.box_img_only_flex {
    display: flex;                /* フレックスボックスにする */
    flex-wrap: wrap;              /* 折り返し指定 --親要素で overflow-X: scroll; */
    justify-content:space-around; /* 主軸方向(複数の場合)-間隔配置 */
    align-content:stretch;        /* 主軸でない方向(複数の場合)-間隔配置 */
    align-items:stretch;          /* 主軸でない方向-制約範囲内で拡張(center/flex-start-/start/stretch) */

    background-color: whitesmoke;  /* 背景色指定 */
    padding:  2px;                    /* 余白指定 */
}
.box_img_only_flex_item {
    position: relative; /* ★下層のpaper-cornerのabsoluteを枠内で利かすため★ */
    max-width: 300px;
    min-width: 200px;
    padding: 20px;
    margin:  1%;              /* 外側の余白 */
    border-radius:  5px;        /* 角丸指定 */
    color: black;

    /* 装飾--紙質を出す */
    box-shadow: inset 0 0 30px rgba(199, 177, 111, 0.7);
}

.box_img_only_flex_item a {
    position: absolute; /* 親の枠内で絶対値 */
    width: 100%;
    height: 100%;
    /*余白による中央からズレの可能性を排除*/
    margin:0;  
    padding:0; 

    /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
    -ms-transform: translate(-5%,-10%);    /*旧対応*/
    -webkit-transform: translate(-5%,-10%);/*旧対応*/
    transform: translate(-5%,-10%);

    opacity: 0;
}
/*--------------------- box_img_only_flex のCSS------------------------*/





/*--------------------- box_contact コンタクト用フォームのCSS------------------------*/
.box_contact {    
    max-width: 900px;
    min-width:300px;
    margin-left:auto; margin-right:auto;
    padding: 1% 5%;
}
.box_contact_tag_input ,.box_contact_tag_textarea 
,.box_contact_tag_select ,.box_contact_tag_button {
    box-sizing: border-box;
    width: 100%;
    margin:1px 0px 10px;
    padding:5px;
}
.box_contact_tag_input ,.box_contact_tag_textarea 
,.box_contact_tag_select {
    border: 1px solid lightsteelblue;
    border-radius: 6px;
}
.box_contact_tag_input ,.box_contact_tag_select { height:35px;}
.box_contact_tag_button   { height:50px;}
.box_contact_tag_textarea { height:100px; resize:vertical;}
/* JSで入力枠の拡大表示/縮小表示を切り替え */
.box_contact_tag_input.twofold_frame ,.box_contact_tag_select.twofold_frame { height:70px;}
.box_contact_tag_button.twofold_frame   { height:100px;}
.box_contact_tag_textarea.twofold_frame { height:200px; resize:vertical;}

.box_contact_tag_input:focus ,.box_contact_tag_textarea:focus ,.box_contact_tag_select:focus {
    outline:0;
    animation: kf_border-contact-flash .5s forwards;
}
@keyframes kf_border-contact-flash {
    0%  { border-width:1px; border-color: transparent; }
    12% { border-width:1px; border-color: darkblue transparent transparent transparent; }
    25% { border-width:1px; border-color: darkblue darkblue transparent transparent; }
    37% { border-width:1px; border-color: darkblue darkblue darkblue transparent; }
    50% { border-width:1px; border-color: darkblue; }
    62% { border-width:3px 1px 1px 1px; border-color: darkblue; }
    75% { border-width:3px 3px 1px 1px; border-color: darkblue; }
    88% { border-width:3px 3px 3px 1px; border-color: darkblue; }
    100%{ border-width:3px; border-color: darkblue; }
}
@keyframes kf_border-contact-flash2 {
    0%  { border-width:1px;border-color: lightgrey;}
    20% { border-width:3px 1px 1px 1px; border-color: lightgrey;}
    40% { border-width:3px 3px 1px 1px; border-color: lightgrey;}
    60% { border-width:3px 3px 3px 1px; border-color: lightgrey;}
    80% { border-width:3px;border-color: lightgrey;}
    100%{ border-width:3px; border-color: darkblue;}
}
@keyframes kf_border-contact-flash3 {
    0%  { border-width:3px 3px 1px 1px; border-color: lightgrey;}
    50% { border-width:3px 3px 3px 3px; border-color: lightgrey;}
    100%{ border-width:3px; border-color: darkblue;}
}
/*--------------------- box_contact コンタクト用フォームのCSS------------------------*/




/*--------------------- box_login ログイン用フォームのCSS------------------------*/
.box_login {    
    max-width:500px;
    min-width:200px;
    margin-left:auto; margin-right:auto;
    margin-top: 10%;
    margin-bottom: 10%;
    padding: 5% 5% 10% 5%;

    border: 2px solid lightsteelblue;
}
.box_login_tag_input ,.box_login_tag_button {
    box-sizing: border-box;
    height:50px;
    margin:1px 0px 10px;
    padding:5px;
}
.box_login_tag_input ,.box_login_tag_button{
    border: 1px solid lightsteelblue;
    border-radius: 6px;
}
.box_login_tag_input  { width: 100%;}
.box_login_tag_button { width: 30%; right:5px; background-color: var(--AOXYZ_blue); /*AOXYZblue*/ }
.box_login_tag_button:hover { background-color:blue; box-shadow: 5px 5px 10px rgba(0,0,0,0.5);}
.box_login_tag_input:focus {
    outline:0;
    animation: kf_border-contact-flash .5s forwards;
}
/*--------------------- box_login ログイン用フォームのCSS------------------------*/


/*--------------------- box_figure_img のCSS-------------------------------------------*/
.box_figure_ul {
    list-style: none; /* リストの先頭記号削除*/
    margin: 0px;      /* 外側の余白*/
    padding: 0px;     /* 内側の余白*/
}
.box_figure_a:hover {
    color: rgb(0, 100, 0);
    background-color: rgb(245, 245, 245);
    transition-delay: 0.2s; /* アニメーションの速度 */
}

.box_figure_hp {
    position: relative;  /* ★下層のabsoluteを枠内で利かすため★ */
    max-width: 800px;
    min-width: 300px;
    padding: 0px;
    margin:  1%;              /* 外側の余白 */
    border-radius:  5px;        /* 角丸指定 */
}
/*<img>*/
/*<img>タグではwidth heightを指定せず、その親で指定することでレスポンシブに対応できる*/
.box_figure_img{
    vertical-align: center;
    max-width:100%;
    margin:auto; /*サイズ変更の際に中央配置へ縦横の自動調整*/
    padding:0px;
    object-fit: scale-down;    
}
.box_figure_p{
    padding:1% 2% 5% 2%;
    text-align: left;
}
/*スマホレスポンシブ対応--最大が700pxに適用する＝スマホとタブレット*/
/*画像＋文章の幅があるため、一概に960pxにはできない*/
@media screen and (max-width: 700px){
    .box_figure_hp {
        max-width: 100%;
        height: auto;
        width: auto;
        min-width: 200px;
        padding: 5px;    /* 内側余白指定 */
        margin:  1%;      /* 外側の余白 */
    }
}


/*--------------------- box_figure_img のCSS-------------------------------------------*/


/*--------------------- ボックス：Matching-QuestionのCSS (class_box_matchingquestion) ------------------------*/
.matchingquestion_radio{
  display: none; 
}
.matchingquestion_label{
    display:block;
    width: 90%;
    padding: 5px 3px;
    margin:10px;
    box-sizing:border-box;
    border:  2px solid blue;
    border-radius: 10px;
    background-color: rgba(200,200,200,0.5);
    text-align:center;
    transition: all 0.5s  ease-in-out;
}
/* Non-check and hovering */
.matchingquestion_label:hover {
    background-color: black;
    color: white
}
.matchingquestion_radio:checked + li .matchingquestion_label
{
    background-color: var(--AOXYZ_blue); /*AOXYZblue*/
    color: white;
}
.btn_box_matchingquestion {
    display:block;  /*marginで中央配置するため*/
    margin-left:auto; margin-right:auto;
    box-sizing: border-box;
    padding:5px;
    width: 60%;
    height:50px;

    /*ボタン形状*/
    background-color: rgb(60, 60, 60);    /* ボタン背景色     */
    border: 1px solid rgb(60, 60, 60); 
    border-radius : 30px;
    box-shadow    : 5px 5px 3px gray;   /* 影の設定 */
    /*ボタン文字*/
    color:white;
}
.btn_box_matchingquestion:hover {
    background-color: rgba(255, 255, 255,1);  /* ボタン背景色     */
    border: 3px solid rgb(0, 0, 111); /*AOXYZblue*/
    /*ボタン文字*/
    color: var(--AOXYZ_blue); /*AOXYZblue*/
}




/*--------------------- ボックス：Matching-QuestionのCSS (class_box_matchingquestion) ------------------------*/




/*--------------------- ボックス：box_button_diverge ------------------------*/

  .box_button_diverge {
      display:block;  /*marginで中央配置するため*/
      margin-left:auto; margin-right:auto;
      box-sizing: border-box;
      padding:5px;
      width: 60%;
      height:50px;
  
      /*ボタン形状*/
      background-color: rgb(60, 60, 60);    /* ボタン背景色     */
      border: 1px solid rgb(60, 60, 60); 
      border-radius : 30px;
      box-shadow    : 5px 5px 3px gray;   /* 影の設定 */
      /*ボタン文字*/
      color:white;
  }
  .box_button_diverge:hover {
      background-color: rgba(255, 255, 255,1);  /* ボタン背景色     */
      border: 3px solid rgb(0, 0, 111); /*AOXYZblue*/
      /*ボタン文字*/
      color: var(--AOXYZ_blue); /*AOXYZblue*/
  }
  
/*--------------------- ボックス：box_button_diverge ------------------------*/
  





/*--------------------------------縦メニュー：ユーザーアカウント用--------------------------------*/

nav.user_menu {
    position: fixed;
    width: 70px;
    height: calc(70px*8);
    top: 50px;
    left: 0;
    bottom: 0;
    overflow: hidden;
  
    background: whitesmoke;
    
    transition: 1.5s  ease-in-out;
    z-index: 99;

    /*このタブ下層の動きを一括定義*/
}
nav.user_menu:hover {
    width: 250px;
    transition: 1s;
}
  
.menu_tab{
    position: relative; /* aタグのクリック範囲を広げるための親側の設定 absoluteを有効にするには直前の親がrelativeでないと思った動作いならない */
    height:70px;
    display: block;
    overflow:hidden;
    padding: 0px;
/*    border: 1px solid lightgrey;*/
    border-right: 3px solid grey;

    text-align: center;

}
.menu_tab a{
    position: absolute;  /* aタグのクリック範囲を広げるための子側の設定 */
    top: 0px;
    left: 0px;

    width: 100%;
    height: 100%;
/*    background: rgba(100,100,100,0.5);*/
    border: 1px solid grey;
    border-radius: 50%;
    
    text-decoration: none;
}
nav.user_menu:hover .menu_tab a{ border: none;}
.menu_tab a:active{
    background: rgba(100,100,255,0.5);
}
.menu_tab a:hover {
    background: rgba(150, 150, 255, 0.5);
    border-radius: 0px 30px 30px 0px;
}
nav.user_menu:hover .div_span{
    /* 動作 */
    transition: all 1s;
    transform: rotate(360deg);
}
.icon_letter{
    font-size: 2.0rem;
    display:block;
    padding: 13px 0px 0px 0px;
}
/*メニューホバー時のみ隠す*/
nav.user_menu:hover .icon_letter{
    /* 隠す */
    animation-name:menu_nonhover;
    animation-duration: 0.5s;
    animation-fill-mode:forwards;
}
@keyframes menu_nonhover{
    0%   {
        display:block;
        font-size: 2.2rem;
    }
    90%  {
        display:block;
        font-size: 2.2rem;
    }
    91%  {
        visibility: hidden;
        display: none;
        font-size: 0px;
    }
    100% {
        visibility: hidden;
        display: none;
        font-size: 0px;
    }
}
  
.full_letter{
    /* 隠す */
    font-size: 0px;
    display: none;
}
/*メニューホバー時のみ表示*/
nav.user_menu:hover .full_letter{
    display:block;
    animation-name:menu_hovering;
    animation-duration: 0.5s;
    animation-fill-mode:forwards;
}
@keyframes menu_hovering{
    0%   {
        visibility: hidden;
        font-size: 0px;
    }
    90%  {
        visibility: hidden;
        font-size: 0px;
    }
    91%  {
        font-size: 2.2rem;
    }
    100% {
        font-size: 2.2rem;
    }
}

/*スマホレスポンシブ対応--最大が960pxに適用する＝スマホ/タブレット*/
@media screen and (max-width: 960px){
    nav.user_menu {
        display: none;
    }
}


/*--------------------------------縦メニュー：ユーザーアカウント用--------------------------------*/




/*=================================================================================================
--------------------- box_user_main ユーザーメイン画面用フォームのCSS--------------------------------
=================================================================================================*/

/*--------------------- box_user_main -> box_access_user_add のCSS START --------------*/
.box_access_user_add {    
    max-width: 1400px;
    min-width:300px;
    margin-left:auto; margin-right:auto;
    padding: 1% 5%;
}
/*ここから--切替用タブ-----------*/
.tab_btn_access_user_add {
    display: none; /*タブの切り替えを制御するラジオボタンを非表示*/
}
.tab_label_access_user_add_wrap{
    /*デフォルト値キャンセル*/
    padding:0; margin: 0; list-style-type:none;
    display:flex; /*ボタンを横並び*/
    margin-top:5px;
    justify-content:space-around; /*横幅いっぱいに配置*/
}
.tab_label_access_user_add{
    display:block;
    min-width: 150px;
    padding: 5px 0px;
    margin:0px;
    box-sizing:border-box;
    border-top:  1px solid blue;
    border-left: 1px solid blue;
    border-right:1px solid blue;
    border-radius: 4px 4px 0 0;
    background-color: rgba(200,200,200,1);
    text-align:center;
    transition: all 0.5s  ease-in-out;
}
/* Non-check and hovering */
#id_tab_input_access_user_add_001 ~ #id_tab_label_access_user_add_001:hover{
    background-color: black;
    color: white
}
/* on-check */
#id_tab_input_access_user_add_001:checked ~ #id_tab_label_access_user_add_001{
    background-color: white;  /* チェックON */
    color: black;
}
.tab_content_access_user_add{
    padding: 5px 0px 5px 1px;
    display: none; /*初期状態*/
}
#id_tab_input_access_user_add_001:checked ~ .grp_tab_content_access_user_add_001{
    display: block;  /* チェックON */
}
/*ここまで--切替用タブ-----------*/


.box_access_user_add_tag_input ,.box_access_user_add_tag_textarea 
,.box_access_user_add_tag_select ,.box_access_user_add_tag_button {
    box-sizing: border-box;
    width: 100%;
    margin:1px 0px 10px;
    padding:5px;
}
.box_access_user_add_tag_input ,.box_access_user_add_tag_textarea 
,.box_access_user_add_tag_select {
    border: 1px solid lightsteelblue;
    border-radius: 5px;
}
.box_access_user_add_tag_input ,.box_access_user_add_tag_select { height:35px;}
.box_access_user_add_tag_button { height:50px;}
.box_access_user_add textarea   { height:500px; resize:none;}

.box_access_user_add_tag_input:focus ,.box_access_user_add_tag_textarea:focus ,.box_access_user_add_tag_select:focus {
    outline:0;
    animation: kf_border-contact-flash .5s forwards;
}
/*--------------------- box_user_main -> box_access_user_add のCSS END --------------*/



/*--------------------- box_user_main -> box_contract_info 新規契約・契約更新のCSS START --*/
.box_contract_info {    
    max-width: 1200px;
    min-width:300px;
    margin-left:auto; margin-right:auto;
    padding: 1% 10%;
}
/*スマホレスポンシブ対応--最大が700pxに適用する＝スマホとタブレット*/
@media screen and (max-width: 700px){
    .box_contract_info {
        padding: 1% 3%;
    }
}
/*-- contract_plan_list 契約プランの選択フォームCSS---------*/
.contract_plan_list_radio{
    display: none; 
}
.contract_plan_list_label{
    display:block;
    width: 90%;
    padding: 5px 3px;
    margin:10px;
    box-sizing:border-box;
    border:  2px solid blue;
    border-radius: 10px;
    background-color: rgba(200,200,200,0.5);
    text-align:center;
    transition: all 0.5s  ease-in-out;
}
/*ラベルのラジオボタン風装飾*/
.contract_plan_list_label:before{
    content: "";
    background: white;
    position: relative;
    border-radius: 100%;
    border: 1px solid grey;
    display: inline-block;
    width:  20px;
    height: 20px;
    top: 5px;
    left: -30px;
    vertical-align: top;
    cursor: pointer;
    text-align: center;
    transition: all 250ms ease;
}
/* Non-check and hovering */
.contract_plan_list_label:hover {
    background-color: black;
    color: white
}
/*radio:checked 時の変化*/
.contract_plan_list_radio:checked + li .contract_plan_list_label
{
    background-color: var(--AOXYZ_blue); /*AOXYZblue*/
    color: white;
}
.contract_plan_list_radio:checked + li .contract_plan_list_label:before
{
    background-color: var(--AOXYZ_blue); /*AOXYZblue*/
    box-shadow: inset 0 0 0 4px #f4f4f4;
}
/*ボタン装飾*/
.btn_box_contract_plan_list {
    display:block;  /*marginで中央配置するため*/
    margin-left:auto; margin-right:auto;
    box-sizing: border-box;
    padding:5px;
    width: 60%;
    height:50px;
    /*ボタン形状*/
    background-color: rgb(60, 60, 60);    /* ボタン背景色     */
    border: 1px solid rgb(60, 60, 60); 
    border-radius : 30px;
    box-shadow    : 5px 5px 3px gray;   /* 影の設定 */
    /*ボタン文字*/
    color:white;
}
.btn_box_contract_plan_list:hover {
    background-color: rgba(255, 255, 255,1);  /* ボタン背景色     */
    border: 3px solid var(--AOXYZ_blue); /*AOXYZblue*/
    /*ボタン文字*/
    color: var(--AOXYZ_blue); /*AOXYZblue*/
}
/*-- contract_plan_list 契約プランの選択フォームCSS---------*/

/*--------------------- box_user_main -> box_contract_info 新規契約・契約更新のCSS END --*/



/*--------------------- box_user_main -> box_register_userinfo ユーザー新規登録・既存更新用のCSS START ---*/
.box_register_userinfo {    
    max-width: 1400px;
    min-width:300px;
    margin-left:auto; margin-right:auto;
    padding: 1% 5%;
}
.box_register_userinfo_tag_input ,.box_register_userinfo_tag_textarea 
,.box_register_userinfo_tag_select ,.box_register_userinfo_tag_button {
    box-sizing: border-box;
    width: 100%;
    margin:1px 0px 10px;
    padding:5px;
}
.box_register_userinfo_tag_input ,.box_register_userinfo_tag_textarea 
,.box_register_userinfo_tag_select {
    border: 1px solid lightsteelblue;
    border-radius: 5px;
}
.box_register_userinfo_tag_input ,.box_register_userinfo_tag_select { height:35px;}
.box_register_userinfo_tag_button { height:50px;}
.box_register_userinfo textarea   { height:500px; resize:none;}

.box_register_userinfo_tag_input:focus ,.box_register_userinfo_tag_textarea:focus ,.box_register_userinfo_tag_select:focus {
    outline:0;
    animation: kf_border-contact-flash .5s forwards;
}
/*--------------------- box_user_main -> box_register_userinfo ユーザー新規登録・既存更新用のCSS END ---*/





/*--------------------------------------------------------------------------------------*/
/*--------------------- box_upd_newsblog コンタクト用フォームのCSS------------------------*/
/*--------------------------------------------------------------------------------------*/
.box_upd_newsblog {    
    max-width: 1400px;
    min-width:300px;
    margin-left:auto; margin-right:auto;
    padding: 1% 5%;
}
/*ここから--切替用タブ-----------*/
.tab_btn_newsblog {
    display: none; /*タブの切り替えを制御するラジオボタンを非表示*/
}
.tab_label_newsblog_wrap{
    /*デフォルト値キャンセル*/
    padding:0; margin: 0; list-style-type:none;
    display:flex; /*ボタンを横並び*/
    margin-top:5px;
    justify-content:space-around; /*横幅いっぱいに配置*/
}
.tab_label_newsblog{
    display:block;
    min-width: 150px;
    padding: 5px 0px;
    margin:0px;
    box-sizing:border-box;
    border-top:  1px solid blue;
    border-left: 1px solid blue;
    border-right:1px solid blue;
    border-radius: 4px 4px 0 0;
    background-color: rgba(200,200,200,1);
    text-align:center;
    transition: all 0.5s  ease-in-out;
}
/* Non-check and hovering */
#id_tab_input_newsblog_001 ~ .tab_label_newsblog_wrap #id_tab_label_newsblog_001:hover,
#id_tab_input_newsblog_002 ~ .tab_label_newsblog_wrap #id_tab_label_newsblog_002:hover{
    background-color: black;
    color: white
}
/* on-check */
#id_tab_input_newsblog_001:checked ~ .tab_label_newsblog_wrap #id_tab_label_newsblog_001,
#id_tab_input_newsblog_002:checked ~ .tab_label_newsblog_wrap #id_tab_label_newsblog_002{
    background-color: white;  /* チェックON */
    color: black;
}
.tab_content_newsblog{
    padding: 5px 0px 5px 1px;
    display: none; /*初期状態*/
}
#id_tab_input_newsblog_001:checked ~ .grp_tab_content_newsblog_001,
#id_tab_input_newsblog_002:checked ~ .grp_tab_content_newsblog_002{
    display: block;  /* チェックON */
}
/*ここまで--切替用タブ-----------*/


.box_upd_newsblog_tag_input ,.box_upd_newsblog_tag_textarea 
,.box_upd_newsblog_tag_select ,.box_upd_newsblog_tag_button {
    box-sizing: border-box;
    width: 100%;
    margin:1px 0px 10px;
    padding:5px;
}
.box_upd_newsblog_tag_input ,.box_upd_newsblog_tag_textarea 
,.box_upd_newsblog_tag_select {
    border: 1px solid lightsteelblue;
    border-radius: 5px;
}
.box_upd_newsblog_tag_input ,.box_upd_newsblog_tag_select { height:35px;}
.box_upd_newsblog_tag_button { height:50px;}
.box_upd_newsblog textarea   { height:500px; resize:none;}

.box_upd_newsblog_tag_input:focus ,.box_upd_newsblog_tag_textarea:focus ,.box_upd_newsblog_tag_select:focus {
    outline:0;
    animation: kf_border-contact-flash .5s forwards;
}
/*--------------------------------------------------------------------------------------*/
/*--------------------- box_upd_newsblog コンタクト用フォームのCSS------------------------*/
/*--------------------------------------------------------------------------------------*/



/*--------------------------------------------------------------------------------------*/
/*--------------------- box_flex_chat コンタクト用フォームのCSS------------------------*/
/*--------------------------------------------------------------------------------------*/
/*チャットボックスのエリア定義*/
.chatbox {
    width: 80%;
    margin: auto;
    padding: 5% 0px;
    background-color: rgb(100, 100, 255);
    border-radius: 20px;
  }
.flex_chat {
    display: flex;
    flex-wrap: wrap;
}
.flex_chat.left {  flex-direction: row; }
.flex_chat.right { flex-direction: row-reverse; }
/*左右毎のチャットの横幅*/
.flex_chat_wrap {
    width: 80%;
}
.flex_chat_l, .flex_chat_r {
    position: relative;
    display: inline-block;
    width: 70%;
    margin: 10px 30px;
    padding:10px 20px;
    border-radius: 15px;
    text-align: left;
    transition: .3s ease-in-out;
}
.flex_chat_l {float: left;  background-color: lightcyan; }
.flex_chat_r {float: right; background-color: seashell; }
/*チャットの吹き出し形状*/
.flex_chat_l::after, .flex_chat_r::after {
    position: absolute;
    top: 10px;
    content: "";
    border: 15px solid transparent;
}
/*チャットの吹き出し位置と「トップのみ配色」*/
.flex_chat_l::after {left: -13px;  border-top-color: lightcyan; }
.flex_chat_r::after {right: -13px; border-top-color: seashell; }
/*チャットの画像*/
.box_chat_figure {
    position: relative;  /* ★下層のabsoluteを枠内で利かすため★ */
    padding: 0px;
    margin:  1%;
    border-radius: 5px;
}
/*チャット画像のサイズ指定*/
.img_chat_max {
    width:  100px;
    height: 100px;
}
/*チャット文章の指定*/
.chat_txt {
    /*いまは指定なし*/
}
@media screen and (max-width: 700px){
    .chatbox {
        width: 100%;
        padding: 2% 0px;
        background-color: lightskyblue;
    }
    .flex_chat_wrap {
        width: 75%;
    }
    .flex_chat_l, .flex_chat_r {
        width: 90%;
        margin: 10px 10px;
        padding:10px 10px;
    }
    .flex_chat_l {background-color: lawngreen; }
    .flex_chat_l::after {border-top-color: lawngreen; }
    .flex_chat_r {background-color: white; }
    .flex_chat_r::after {border-top-color: white; }
    .box_chat_figure {
        margin:  1px;
    }
    .img_chat_max {
        width:  55px;
        height: 55px;
    }
}
/*--------------------- box_upd_newsblog コンタクト用フォームのCSS------------------------*/




/*--------------------------------------------------------------------------------------*/
/*--------------------- box_flex_pic_desc -説明文と図形の表示のCSS------------------------*/
/*--------------------------------------------------------------------------------------*/
.box_flex_pic_desc {
    display: flex;                /* フレックスボックスにする */
    flex-direction: row;          /* アイテムが水平方向に左から右へと配置 */
    justify-content: center;      /* 主軸方向(複数の場合)-間隔配置 */
    align-items: center;      /* 主軸でない方向-制約範囲内で拡張(center/flex-start/start/end/stretch) */
    
    max-width: 1400px;
    margin: 10px;
    margin-left:auto; margin-right:auto;
}
.flex_dir_reverse{
    flex-direction: row-reverse;  /* アイテムが水平方向に右から左へと配置 */
}
.box_flex_pic_desc_item {
    align-self: center;  /* アイテムの垂直方向の位置を指定 */
    text-align: center;  /* アイテムのaタグなどのインライン要素を中央へセット(親要素であるbox_flex_pic_desc_itemにセットする必要あり) */
    position: relative;  /* ★下層のabsoluteを枠内で利かすため★ */
    max-width: 800px;
    min-width: 300px;
    padding: 0px;
    margin:  1%;              /* 外側の余白 */
    border-radius:  5px;        /* 角丸指定 */
}
/*<a>*/
.box_flex_pic_desc a {
    position: relative;
    width: 100%;
    height: 100%;
    padding:1px;
    top:0px;
}
/*<img>*/
/*<img>タグではwidth heightを指定せず、その親で指定することでレスポンシブに対応できる*/
.box_flex_pic_desc .tag_pic{
    vertical-align: center;
    max-width:100%;
    margin:auto; /*サイズ変更の際に中央配置へ縦横の自動調整*/
    padding:0px;
    object-fit: scale-down;
}
.box_flex_pic_desc:hover .tag_pic{
    box-shadow: 10px 10px 20px rgba(0, 0, 60, 0.9);
    border-radius:  10px;        /* 角丸指定 */
    transition: 0.5s; /* アニメーションの速度 */
}
/*<p>*/
.box_flex_pic_desc .tag_p{
    position: relative; /* ★下層のabsoluteを枠内で利かすため★ */
    height: 100%;
}

/*++++++++++box_flex_pic_desc_button定義++++++++++*/
.box_flex_pic_desc_button {
    position: relative; /* 親の枠内で絶対値 */
    width: 70%;
    min-width: 150px;
    min-height: 50px;
    /*ボタン枠内の要素を中央配置*/
    margin-left:auto; margin-right:auto;
    /*ボタンの動作装飾のために追加(OVER部分を隠す)*/
    overflow: hidden;
    text-align: left;  /* アイテムのaタグなどのインライン要素を左へセット(親要素である box_flex_pic_desc_button にセットする必要あり) */
}
/*ボタンを覆うクリック範囲*/
.box_flex_pic_desc_button a {
    position: absolute; /* 親の枠内で絶対値 */
    width: 100%;
    height: 100%;
    /*余白があると中央からズレる可能性を排除*/
    margin:0;  
    padding:0;
    text-decoration: none;
    /*ボタン文字の位置 aタグを左にしているため文字は center */
    text-align: center;
    border-radius:  5px;  /* 角丸指定 */
    opacity: 1;
}
.box_flex_pic_desc_button span {
    position: relative;
    width: 100%;
    top:15%; /*span文字の縦設定：中央へ*/
}
.box_flex_pic_desc_button:hover span {
    color:white; /*span文字を白色にする*/
    z-index: 11; /*is_diagonal_LR::beforeより上位*/
}
/*-- ボタン装飾--*/
.is_diagonal_LR::before {
    position: absolute; /* 親の枠内で絶対値 */
    content: '';
    top: 0;
    left: -130%;
    background-color: var(--AOXYZ_blue); /*AOXYZblue*/
    width:120%;
    height: 100%;
    transform: skewX(-25deg);
}
.is_diagonal_LR:hover::before {
    animation: diagonal_LR .3s forwards;
}
@keyframes diagonal_LR {
    100% {
        left:-10%;
    }
}
@keyframes diagonal_RL {
    100% {
        left:-130%;
    }
}

/*スマホレスポンシブ対応--最大が700pxに適用する＝スマホとタブレット*/
/*画像＋文章の幅があるため、一概に960pxにはできない*/
@media screen and (max-width: 700px){
    .box_flex_pic_desc {
        margin:  1px;    /* 内側余白指定 */
        flex-direction: column;   /* アイテムが垂直方向配置 */
        align-items: start;
    }
    .flex_dir_reverse{
        flex-direction: column;   /* アイテムが垂直方向配置 :（スマホでは左右関係なし） */
    }
    .box_flex_pic_desc_item {
        max-width: 100%;
        height: auto;
        width: auto;
        min-width: 200px;
        padding: 5px;    /* 内側余白指定 */
        margin:  1%;      /* 外側の余白 */
    }
}
/*---------------------box_flex_pic_desc-説明文と図形の表示のCSS------------------------*/





/*--------------------------------------------------------------------------------------*/
/*--------------------- box_flex_pic_desc02 -説明文と図形の表示のCSS------------------------*/
/*--------------------------------------------------------------------------------------*/
.box_flex_pic_desc02 {
    display: flex;                 /* フレックスボックスにする */
    flex-direction: row;           /* アイテムが水平方向に左から右へと配置 */
    flex-wrap: wrap;               /* 折り返し有無指定 */
    justify-content: stretch; /* 主軸方向(複数の場合)-間隔配置 */
    align-items: center;           /* 主軸でない方向-制約範囲内で拡張(center/flex-start/start/end/stretch) */
    
    max-width: 1400px;
    padding: 0px;
    margin:  0%;              /* 外側の余白 */
    margin-left:auto; margin-right:auto;
}
.flex_dir_reverse{
    flex-direction: row-reverse;  /* アイテムが水平方向に右から左へと配置 */
}
.box_flex_pic_desc02_item {
    align-self: center;  /* アイテムの垂直方向の位置を指定 */
    text-align: center;  /* アイテムのaタグなどのインライン要素を中央へセット(親要素であるbox_flex_pic_desc02_itemにセットする必要あり) */
    position: relative;  /* ★下層のabsoluteを枠内で利かすため aタグなど★ */
    width: 50%;           /*flexのmax-widthの半分弱*/
    min-width: 300px;
    padding: 3px;
    margin:  0%;              /* 外側の余白 */
    border-radius:  5px;        /* 角丸指定 */
}
.box_flex_pic_desc02_item:hover{
    box-shadow: 10px 10px 20px rgba(0, 0, 60, 0.9);
    border-radius:  10px;        /* 角丸指定 */
    transition: 0.5s; /* アニメーションの速度 */
}
/*<a>*/
.box_flex_pic_desc02_item .div_a {
    text-decoration: none;
    display:blcok;
    padding:0px;
}
/*<div - div_left>*/
.box_flex_pic_desc02 .div_left{
    position: relative;      /* ★下層のabsoluteを枠内で利かすため★ */
    display: inline-block;   /* div_leftとdiv_rightを横並びへ */
    width:65%;               /* div_left:65%  div_right:30% */
    height:150px;            /*tag_picの画像の縦最大幅と同じ*/
  /*  background-color: red; */
}
/*<div - title_h*/
.box_flex_pic_desc02 .title_h{
    margin: 0;
    padding: 0;
    width:100%;
    height:75%;             /* title 75% : それ以外25%*/
    line-height: 25px;      /* 行間 */
    color: black;
    text-overflow: ellipsis " [..]";
    overflow: hidden;
    white-space: wrap;
}
/*<div - sub_info>*/
.box_flex_pic_desc02 .sub_info{
    margin: 0;
    padding: 0;
    width:100%;
    line-height: 15px;
    color: grey;
}
/*<picuture - div_right>*/
.box_flex_pic_desc02 .div_right{
    position: relative;      /* ★下層のabsoluteを枠内で利かすため★ */
    display: inline-block;   /* div_leftとdiv_rightを横並びへ */
    width:30%;               /* div_left:65%  div_right:30% */
  /*  background-color: yellow; */
}
/*<img>*/
/*<img>タグではwidth heightを指定せず、その親で指定することでレスポンシブに対応できる*/
.box_flex_pic_desc02 .div_right .tag_pic{
    position: relative;      /* ★下層のabsoluteを枠内で利かすため★ */
    margin:0px;             /*サイズ変更の際に中央配置へ縦横の自動調整*/
    max-width:100%;
    max-height:150px;        /*画像の縦最大幅*/
    object-fit: contain;
}
/*<hr 区切り線>*/
.box_flex_pic_desc02 hr {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-top: 3px dotted lightgray;
}

/*スマホレスポンシブ対応--最大が700pxに適用する＝スマホとタブレット*/
/*画像＋文章の幅があるため、一概に960pxにはできない*/
@media screen and (max-width: 700px){
    .box_flex_pic_desc02 {
        flex-direction: column;   /* アイテムが垂直方向配置 */
        align-items: start;
    }
    .flex_dir_reverse{
        flex-direction: column;   /* アイテムが垂直方向配置 :（スマホでは左右関係なし） */
    }
    .box_flex_pic_desc02_item {
        width: 100%;
    }
    .box_flex_pic_desc02 .title_h{
        height:100px;
    }

}
/*---------------------box_flex_pic_desc02-説明文と図形の表示のCSS------------------------*/






/*class_box_flex_newsblog*/
/*---------------------box_flex_newsblog-説明文と図形の表示のCSS------------------------*/
.box_flex_newsblog {
    display:   flex;              /* フレックスボックスにする */
    flex-wrap: wrap;              /* 折り返し指定 --親要素で overflow-X: scroll; */
    justify-content:center;       /* 主軸方向(複数の場合)-間隔配置 */
    align-items:stretch;          /* 主軸でない方向-制約範囲内で拡張(center/flex-start-/start/stretch) */
    
    margin-left:auto; margin-right:auto;

    margin: 0px;
/*    max-width: 2000px;*/
}
.box_flex_newsblog_item {
    position: relative; /* ★下層のabsoluteを枠内で利かすため★ */
    width: auto;
    min-width: 300px;
    padding: 10px;
    margin:  1%;              /* 外側の余白 */
    border:1px dashed;
    border-radius:  20px;        /* 角丸指定 */
/*    background-color: red;*/
}
.box_flex_newsblog_item:hover {
    background-color: rgb(210, 250, 255,0.7);
}

/*class_box_flex_newsblog*/
/*---新規作成モード---------------------------------*/
.area_newsblog_mode_make{
    display : flex;
    flex-wrap: nowrap;
    justify-content: center;
}
.area_newsblog_mode_make_item{
    width: auto;
    margin:5px 2px;
/*    background-color:RED;*/
}
.btn_newsblog_mode_new{
    width:auto;
    height:auto;
    margin:5px 10px;
    padding:0px 50px;

    text-align: center;
    background-color: var(--AOXYZ_blue); /*AOXYZblue*/
    display: table-cell;
    vertical-align: middle;

    background-color: rgb(200, 200, 230,0.7);

    border:1px solid;
    border-color: black;
    border-radius: 5px;
}
.btn_newsblog_mode_new:hover {
    color: white;
    background-color: rgba(0, 0, 255, 0.7);
}
/*class_box_flex_newsblog*/
/*---編集モード---------------------------------*/
.area_newsblog_mode_edit{
    display : flex;
    flex-wrap: nowrap;
    flex-direction: row-reverse;
}
.area_newsblog_mode_edit_item{
    width: 85px;
    margin:5px 2px;
/*    background-color:RED;*/
}

.blogs_chkBox{
    /* 非表示 display: none; だと要素が存在しなくなるため、クリック時のスクロール(call_func_scroll_move_to_element_by_id)ができなくなる*/
    visibility: collapse; 
    /* display: none; */ 
}
.blogs_label{
    display: block;
    padding: 5px; /*内側の枠*/
}

/*「＋」は、すぐ隣、特に、その直後に出現するの要素（チェックの個別対応で使う）*/
/*--クリックで連動*/
.blogs_chkBox + .blogs_label .tag_thumbnail{
    display:  flex;
    width:auto; height:200px; overflow: hidden;
    margin-left:auto; margin-right:auto;

    background-size: contain; background-repeat: no-repeat;
    transition: .5s;
}
.blogs_chkBox:checked + .blogs_label .tag_thumbnail{
    /* 非表示 */
    width:0px; height: 0px; opacity: 0;
    transition: .5s;
}

/*--クリックで連動*/
.blogs_chkBox + .blogs_label .tag_index{
    width:300px; /* 拡大前(クリック前)の表題の最大幅を指定 */
    margin-left:auto; margin-right:auto;
}
.blogs_chkBox:checked + .blogs_label .tag_index{
    width:auto; /* 拡大前(クリック前)の表題の最大幅を指定 */
}

/*--クリックで連動*/
.blogs_chkBox + .blogs_label .tag_p{
    margin-left:auto; margin-right:auto;
    width:350px; height:300px; overflow: hidden;  /*flexitemの横幅となる300px 表示はいらない部分は隠す*/
    text-overflow: ellipsis;
    background:linear-gradient(to bottom, rgba(0, 0, 0, 1) 70%, rgba(50, 50, 50, 0.5) 90%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;

    transition: .5s;
/*    background-color: rgba(245, 245, 245, 0.5);*/
}
.blogs_chkBox:checked + .blogs_label .tag_p{
/*    background-color: rgba(0, 255, 130, 0.7);*/
    /* 枠指定⇒Autoへ:必須示 */
    width:auto; height:auto; overflow: hidden;
    color: black;
    padding:5px;
    outline: solid 1px blue;
    transition: .5s;
}

/*-- デフォルト非表示 */
.blogs_label .blogs_hidden{
    /* 非表示 */
    width:0px; height: 0px; opacity: 0;
    margin-left:auto; margin-right:auto;
    transition: .5s;
}
.blogs_chkBox:checked + .blogs_label .blogs_hidden{
    /* 枠指定⇒Autoへ:必須示 */
    display:  flex;
    width:auto; height:auto; overflow: hidden; opacity: 1;
    margin-top:5px;margin-bottom:5px;

    /* 枠最大値はbox_flex_newsblogのmax-widthに合わせる:必須示 */
    background-size: contain; background-repeat: no-repeat;
    transition: .5s;
}

/*-- デフォルト表示 */
.blogs_label .btn_newsblog_continue{
    width:100px;
    height:50px;
    margin-left:auto; margin-right:auto;

    padding: 15px;

    border:1px solid;
    border-color: blue;
    border-radius: 5px;

    text-align: center;
    color: blue;
}
.blogs_chkBox:checked + .blogs_label .btn_newsblog_continue{
    /* 非表示 */
    width:0px; height: 0px; opacity: 0;
    transition: .5s;
}

/*スマホレスポンシブ対応--最大が700pxに適用する＝スマホとタブレット*/
/*画像＋文章の幅があるため、一概に960pxにはできない*/
@media screen and (max-width: 700px){
    .box_flex_newsblog {
        margin:  1px;    /* 内側余白指定 */
        flex-direction: column;
    }
    .box_flex_newsblog_item {
        max-width: 100%;  /* 必須:枠内に収める */
        min-width: 200px;
        padding: 5px;    /* 内側余白指定 */
        margin:  1%;      /* 外側の余白 */
    }
    .blogs_chkBox + .blogs_label .tag_thumbnail{
        height:100px;
    }
    .blogs_chkBox + .blogs_label .tag_index{
        width:auto; /* 拡大前(クリック前)の表題の最大幅を指定 */
    }    
    .blogs_chkBox + .blogs_label .tag_p{
        width:auto;   /*タブレット以下では自動に変化　PCでは最大300px*/
        height:120px;
        font-size: small;
    }
    
}
/*---------------------box_flex_newsblog-説明文と図形の表示のCSS------------------------*/





/*--------------------- FLOWBOX - 横並び horizontal -折り返しなし のCSS------------------------*/
.box_flex_nowap_horizontal {
    display: flex;                /* フレックスボックスにする */
    flex-direction: row;          /* 主軸方向の定義 */
    flex-wrap: nowrap;            /* 折り返し指定 --親要素で overflow-X: scroll; */
    justify-content:space-around; /* 主軸方向(複数の場合)-間隔配置 */
    align-content:stretch;        /* 主軸でない方向(複数の場合)-間隔配置 */
    align-items:stretch;          /* 主軸でない方向-制約範囲内で拡張(center/flex-start-/start/stretch) */

    background-color: whitesmoke;  /* 背景色指定 */
    padding:  2px;                    /* 余白指定 */
}
.box_flex_nowap_test{
    display: inline-block;
}

/*--------------------- FLOWBOX - 横並び horizontal -折り返しなし のCSS------------------------*/

/*--------------------- FLOWBOX - 縦並び vertical -折り返しなし のCSS------------------------*/
.box_flex_nowap_vertical {
    display: flex;                /* フレックスボックスにする */
    flex-direction: column;       /* 主軸方向の定義 */
    flex-wrap: nowrap;            /* 折り返し有無指定*/
    justify-content:space-around; /* 主軸方向(複数の場合)-間隔配置 */
    align-content:stretch;        /* 主軸でない方向(複数の場合)-間隔配置 */
    align-items:stretch;          /* 主軸でない方向-制約範囲内で拡張(center/flex-start-/start/stretch) */

    background-color: whitesmoke;  /* 背景色指定 */
    padding:  2px;                    /* 余白指定 */
}
/*--------------------- FLOWBOX - 縦並び vertical -折り返しなし のCSS------------------------*/



/*---------------------FLOWBOX-図形横並び-のCSS------------------------*/
.box_flex {
    display: flex;                /* フレックスボックスにする */
    flex-direction: row;          /* 主軸方向の定義 */
    flex-wrap: wrap;              /* 折り返し有無指定 */
    justify-content:space-around; /* 主軸方向(複数の場合)-間隔配置 */
    align-content:stretch;        /* 主軸でない方向(複数の場合)-間隔配置 */
    align-items:stretch;          /* 主軸でない方向-制約範囲内で拡張(center/flex-start-/start/stretch) */

    background-color: whitesmoke;  /* 背景色指定 */
    padding:  2px;                    /* 余白指定 */
}
.box_flex_item , .box_flex_item_mono {
    position: relative; /* ★下層のpaper-cornerのabsoluteを枠内で利かすため★ */
    max-width: 300px;
    min-width: 200px;
    padding: 20px;
    margin:  0.5%;              /* 外側の余白 */
    border-radius:  5px;        /* 角丸指定 */
    color: black;

    /* 装飾--紙質を出す */
    box-shadow: inset 0 0 30px rgba(199, 177, 111, 0.7);
}

.box_flex_item:nth-child(4n-3) {
    /* グラディエーション背景色指定 */
    background: linear-gradient(110deg, rgb(170, 255, 170), whitesmoke);
}
.box_flex_item:nth-child(4n-2) {
    /* グラディエーション背景色指定 */
    background: linear-gradient(110deg, rgb(170, 170, 255), whitesmoke);
}
.box_flex_item:nth-child(4n-1) {
    /* グラディエーション背景色指定 */
    background: linear-gradient(110deg, rgb(255, 170, 170), whitesmoke);
}
.box_flex_item:nth-child(4n) {
    /* グラディエーション背景色指定 */
    background: linear-gradient(110deg, rgb(255, 255, 170), whitesmoke);
}
.box_flex_item_mono {
    background-color: whitesmoke; /* 背景色指定 */
}

.box_flex_item a , .box_flex_item_mono a{
    position: absolute; /* 親の枠内で絶対値 */
    width: 100%;
    height: 100%;
    /*余白による中央からズレの可能性を排除*/
    margin:0;  
    padding:0; 

    /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
    -ms-transform: translate(-6%,-7%);    /*旧対応*/
    -webkit-transform: translate(-6%,-7%);/*旧対応*/
    transform: translate(-6%,-7%);

    opacity: 0;
}
.box_flex_item:hover a , .box_flex_item_mono:hover  a{
    box-shadow: 10px 10px 20px rgba(0, 0, 255, 1);
    opacity: 0.5;

    transition: 0.5s; /* アニメーションの速度 */
}
/* 装飾--紙の端が折れた感じを出す ※このためには上位のブロックでrelativeがないとabsoluteの効果がでない*/
.box_papre_corner:before {
    position: absolute;
    content: " ";
    display: block;
    right:0;
    top: 0;
    border-width: 0 20px 20px 0;
    width: 20px;
    border-style: solid;

    border-color: whitesmoke whitesmoke grey grey;
}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    .box_flex {
        padding:  1px;    /* 内側余白指定 */
    }
    .box_flex_item , .box_flex_item_mono {
        width: 300px;
        min-width: 200px;
        padding: 15px;    /* 内側余白指定 */
        margin:  1.5%;      /* 外側の余白 */
    }
}



/*---------------------FLOWBOX-図形横並び-のCSS------------------------*/




/*---------------------FLOWBOX-新規作成/編集選択のCSS------------------------*/
.box_flex_item_new_edit_top {
    position: relative; /* ★下層のpaper-cornerのabsoluteを枠内で利かすため★ */
    max-width: 400px;
    min-width: 300px;
    padding: 30px;
    margin:  1%;              /* 外側の余白 */
    border-radius:  5px;        /* 角丸指定 */

    /* 装飾--紙質を出す */
    box-shadow: inset 0 0 30px rgba(170, 170, 255, 0.7);
}
.box_flex_item_new_edit_top {
    background-color: whitesmoke; /* 背景色指定 */
    min-height: 150px;
    text-align: center;
}
.box_flex_item_new_edit_top a{
    position: absolute; /* 親の枠内で絶対値 */
    width: 100%;
    height: 100%;
    /*余白による中央からズレの可能性を排除*/
    margin:0;
    padding:50px 5px;
/*    background-color: red;*/

    color: grey;
    text-decoration: none;

    /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
    -ms-transform: translate(-50%,-20%);    /*旧対応*/
    -webkit-transform: translate(-50%,-20%);/*旧対応*/
    transform: translate(-50%,-20%);

}
.box_flex_item_new_edit_top a:hover{
    color: black;
    box-shadow: 10px 10px 20px rgba(0, 0, 255, 0.5);
    transition: 0.5s; /* アニメーションの速度 */
}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    .box_flex_item_new_edit_top {
        width: 300px;
        min-width: 200px;
        min-height: 100px;
    }
    .box_flex_item_new_edit_top a{
        padding:30px;
        /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
        -ms-transform: translate(-50%,-30%);    /*旧対応*/
        -webkit-transform: translate(-50%,-30%);/*旧対応*/
        transform: translate(-50%,-30%);
    }
}

/*---------------------FLOWBOX-新規作成/編集選択のCSS------------------------*/





/*---------------------FLOWBOX-新規作成テンプレート選択のCSS------------------------*/
.box_flex_item_newtmp_choice {
    position: relative; /* ★下層のpaper-cornerのabsoluteを枠内で利かすため★ */
    max-width: 400px;
    min-width: 170px;
    padding: 20px;
    margin:  1%;              /* 外側の余白 */
    border-radius:  5px;        /* 角丸指定 */

    /* 装飾--紙質を出す */
    box-shadow: inset 0 0 30px rgba(170, 170, 255, 0.7);
}
.box_flex_item_newtmp_choice {
    background-color: whitesmoke; /* 背景色指定 */
    min-height: 170px;
    text-align: center;
}
.box_flex_item_newtmp_choice button{
    /* デフォルトセットを消す */
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}
.box_flex_item_newtmp_choice a ,.box_flex_item_newtmp_choice button{
    position: absolute; /* 親の枠内で絶対値 */
    width: 100%;
    height: 100%;
    /*余白による中央からズレの可能性を排除*/
    margin:0;
    padding:35px;
/*    background-color: red;*/

    color: rgb(120,120,120,0.8);
    text-decoration: none;

    /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
    -ms-transform: translate(-50%,-10%);    /*旧対応*/
    -webkit-transform: translate(-50%,-10%);/*旧対応*/
    transform: translate(-50%,-10%);
}
.box_flex_item_newtmp_choice a:hover ,.box_flex_item_newtmp_choice button:hover{
    color: black;
    box-shadow: 10px 10px 20px rgba(0, 0, 255, 0.5);
    transition: 0.5s; /* アニメーションの速度 */
}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    .box_flex_item_newtmp_choice {
        width: 300px;
        min-width: 200px;
        min-height: 150px;
    }
    .box_flex_item_newtmp_choice a ,.box_flex_item_newtmp_choice button {
        padding:50px;
        /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
        -ms-transform: translate(-50%,-15%);    /*旧対応*/
        -webkit-transform: translate(-50%,-15%);/*旧対応*/
        transform: translate(-50%,-15%);
    }
}

/*---------------------FLOWBOX-新規作成テンプレート選択のCSS------------------------*/



/*---------------------FLOWBOX-ユーザ追加-新規/既存の選択のCSS------------------------*/
.box_flex_item_useradd_choice {
    position: relative; /* ★下層のpaper-cornerのabsoluteを枠内で利かすため★ */
    max-width: 400px;
    min-width: 170px;
    padding: 20px;
    margin:  1%;              /* 外側の余白 */
    border-radius:  5px;        /* 角丸指定 */

    /* 装飾--紙質を出す */
    box-shadow: inset 0 0 30px rgba(170, 170, 255, 0.7);
}
.box_flex_item_useradd_choice {
    background-color: whitesmoke; /* 背景色指定 */
    min-height: 170px;
    text-align: center;
}
.box_flex_item_useradd_choice button{
    /* デフォルトセットを消す */
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}
.box_flex_item_useradd_choice label ,.box_flex_item_useradd_choice button{
    position: absolute; /* 親の枠内で絶対値 */
    width: 100%;
    height: 100%;
    /*余白による中央からズレの可能性を排除*/
    margin:0;
    padding:35px;
/*    background-color: red;*/

    color: rgb(120,120,120,0.8);
    text-decoration: none;

    /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
    -ms-transform: translate(-50%,-10%);    /*旧対応*/
    -webkit-transform: translate(-50%,-10%);/*旧対応*/
    transform: translate(-50%,-10%);
}
.box_flex_item_useradd_choice label:hover ,.box_flex_item_useradd_choice button:hover{
    color: black;
    box-shadow: 10px 10px 20px rgba(0, 0, 255, 0.5);
    transition: 0.5s; /* アニメーションの速度 */
}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    .box_flex_item_useradd_choice {
        width: 300px;
        min-width: 200px;
        min-height: 150px;
    }
    .box_flex_item_useradd_choice label ,.box_flex_item_useradd_choice button{
        padding:50px;
        /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
        -ms-transform: translate(-50%,-15%);    /*旧対応*/
        -webkit-transform: translate(-50%,-15%);/*旧対応*/
        transform: translate(-50%,-15%);
    }
}

/*---------------------FLOWBOX-ユーザ追加-新規/既存の選択のCSS------------------------*/




/*---------FLOWBOX-テンプレート追加機能の <flex_div_double> / <flex_div_triple> など (横並び)のCSS------------------------*/
.tmplate_box_flex {
    display: flex;                /* フレックスボックスにする */
    flex-direction: row;          /* 主軸方向の定義 */
    flex-wrap: wrap;              /* 折り返し有無指定 */
    justify-content:space-around; /* 主軸方向(複数の場合)-間隔配置 */
    align-content:stretch;        /* 主軸でない方向(複数の場合)-間隔配置 */
    align-items:stretch;          /* 主軸でない方向-制約範囲内で拡張(center/flex-start-/start/stretch) */

    background-color: whitesmoke;  /* 背景色指定 */
    padding:  2px;                    /* 余白指定 */
}
.tmplate_box_flex_item ,.tmplate_box_flex_item_mono 
,.tmplate_box_flex_item_for_double ,.tmplate_box_flex_item_mono_for_double 
,.tmplate_box_flex_item_for_triple ,.tmplate_box_flex_item_mono_for_triple {
    position: relative;  /* ★下層のpaper-cornerのabsoluteを枠内で利かすため★ */
    min-width: 250px;
    border-radius: 5px;
    color: black;
    /* 装飾--紙質を出す */
  /*  box-shadow: inset 0 0 30px rgba(199, 177, 111, 0.7);  */
}
.tmplate_box_flex_item_for_double { max-width: 48%; padding: 1%; margin:  0.5%; }
.tmplate_box_flex_item_for_triple { max-width: 31%; padding: 1%; margin:  0.5%; }

.tmplate_box_flex_item_for_double:nth-child(4n-3) ,.tmplate_box_flex_item_for_triple:nth-child(4n-3) {
    background-color: rgb(183, 247, 183); /* 背景色指定 */
}
.tmplate_box_flex_item_for_double:nth-child(4n-2) ,.tmplate_box_flex_item_for_triple:nth-child(4n-2) {
    background-color:  rgb(193, 237, 255); /* 背景色指定 */
}
.tmplate_box_flex_item_for_double:nth-child(4n-1) ,.tmplate_box_flex_item_for_triple:nth-child(4n-1) {
    background-color:  rgb(252, 224, 229); /* 背景色指定 */
}
.tmplate_box_flex_item_for_double:nth-child(4n-0) ,.tmplate_box_flex_item_for_triple:nth-child(4n-0) {
    background-color:  rgb(253, 235, 205); /* 背景色指定 */
}
.tmplate_box_flex_item_mono_for_double ,.tmplate_box_flex_item_mono_for_triple {
    background-color: whitesmoke; /* 背景色指定 */
}

.tmplate_box_flex_item a , .tmplate_box_flex_item_mono a{
    position: absolute; /* 親の枠内で絶対値 */
    width: 100%;
    height: 100%;
    /*余白による中央からズレの可能性を排除*/
    margin:0;  
    padding:0; 

    /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
    -ms-transform: translate(-6%,-7%);    /*旧対応*/
    -webkit-transform: translate(-6%,-7%);/*旧対応*/
    transform: translate(-6%,-7%);

    opacity: 0;
}
.tmplate_box_flex_item a:hover , .tmplate_box_flex_item_mono  a:hover{
    box-shadow: 10px 10px 20px rgba(0, 0, 255, 1);
    opacity: 0.5;

    transition: 0.5s; /* アニメーションの速度 */
}
/* 装飾--紙の端が折れた感じを出す ※このためには上位のブロックでrelativeがないとabsoluteの効果がでない*/
.box_papre_corner:before {
    position: absolute;
    content: " ";
    display: block;
    right:0;
    top: 0;
    border-width: 0 20px 20px 0;
    width: 20px;
    border-style: solid;

    border-color: whitesmoke whitesmoke grey grey;
}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    .tmplate_box_flex {
        padding:  1px;    /* 内側余白指定 */
    }
    .tmplate_box_flex_item , .tmplate_box_flex_item_mono {
        width: 300px;
        min-width: 200px;
        padding: 15px;    /* 内側余白指定 */
        margin:  1.5%;      /* 外側の余白 */
    }
}

/*---------FLOWBOX-テンプレート追加機能の <flex_div_double> (横並び)のCSS------------------------*/




/*-------------------------------- iframe Map/動画埋め込み用CSS --------------------------------*/
.iframeview{
    position:relative;
    margin:auto; /*サイズ変更の際に中央配置へ縦横の自動調整*/
    width:100%;
    aspect-ratio: 16 / 9;
  /*  padding-top: 56.25%;*/ /*PC向けYouTubeの標準アスペクト比は16:9=>9/16=>56.25%*/
    overflow: hidden;
    background-color: red;
}
.iframeview iframe ,.iframeview img{
    position:absolute;
    top:0;
    left:0;
    width: 100%; height: 100%;
    margin:0px;
    padding:0px;
    border:0;
    object-fit: contain;  /* cover/fill/contain/scale-down */
    background-color: yellow;
}
/*-------------------------------- iframe Map/動画埋め込み用CSS --------------------------------*/




/*---------------------------- 基本テーブル設定CSS --------------------------------*/
table{
    /*-- 画像のサイズをディスプレイに合わせるCSS */
    width: 100%;
    /*-- テーブルのセル同士の距離を指定 collapse:境界無し  */
    border-collapse: collapse;
    /*border-spacing:0px;*/
}
/*-- thテーブルヘッダー */
table th{
    text-align: center;
    vertical-align: middle;
}
/*-- tdテーブルデータ要素 */
table td{
    text-align: left;
    vertical-align: middle;
}
/*---------------------------- 基本テーブル設定CSS --------------------------------*/


/*--------------------- tbl_multiple -特殊テーブルの表示のCSS ------------------------*/
table.tbl_multiple ,.tbl_pickup {
    position: relative;
    width:auto;
    border-radius: 5px;
}
/*paddingを指定すると幅が広くならず、文字の改行が発生してしまう*/
table.tbl_multiple th ,table.tbl_multiple td ,.tbl_pickup th ,.tbl_pickup td{
  /*  padding:1%; */
  min-width:100px;
}
table.tbl_multiple th ,.tbl_pickup th{ vertical-align: middle;}
table.tbl_multiple tr ,.tbl_pickup tr{ vertical-align: middle;}

/*-- テーブル内の値が<img>の場合のクラス */
.img_class_box_table_multiple {
    display: block;   /* marginで中央配置にするため*/
    margin-left: auto; margin-right: auto;
    object-fit: cover;
    width:50px;
}

table.tbl_multiple tr:first-child th:first-child { border-radius: 10px 0 0 0;}
table.tbl_multiple tr:first-child th:last-child  { border-radius: 0 10px 0 0;}
/*-- trテーブル行の最後の要素 かつ tdテーブル列の最初/最後の要素を指定 */
table.tbl_multiple tr:last-child td:first-child { border-radius: 0 0 0 10px;}
table.tbl_multiple tr:last-child td:last-child  { border-radius: 0 0 10px 0;}

table.tbl_pickup tr:first-child th:first-child { border-radius: 10px 0 0 0;}
table.tbl_pickup tr:first-child th:last-child  { border-radius: 0 10px 0 0;}
/*-- trテーブル行の最後の要素 かつ tdテーブル列の最初/最後の要素を指定 */
table.tbl_pickup tr:last-child td:first-child { border-radius: 0 0 0 10px;}
table.tbl_pickup tr:last-child td:last-child  { border-radius: 0 0 10px 0;}

/* .tbl_multiple の配色設定 START ---------------------------------------------*/
/*１列目*/
/*-- テーブルの１行目-１列目のth要素のみを指定 */
table.tbl_multiple tr:nth-child(1) th:nth-child(1){
    background-color: rgb(220, 220, 220 ,1.0); /*lightgrey+alfa:1.0*/
}
/*-- テーブルの奇数行(3行目以降=2n+3)-1列目のtd要素のみを指定 */
table.tbl_multiple tr:nth-child(2n+3) td:nth-child(1){
    background-color: rgb(220, 220, 220 ,1.0); /*lightgrey+alfa:1.0*/
}
/*-- テーブルの偶数行(2n)-1列目(1)のtd要素のみを指定 */
table.tbl_multiple tr:nth-child(2n) td:nth-child(1){
    background-color: whitesmoke;
}

/*-- テーブルの１行目-奇数列(3列目以降)のth要素のみを指定 */
table.tbl_multiple tr:nth-child(1) th:nth-child(2n+3){
    background-color: rgb(180, 200, 255, 1.0); /*blue+alfa:1.0*/
}
/*-- テーブルの1行目-偶数列(2n)のth要素のみを指定 */
table.tbl_multiple tr:nth-child(1) th:nth-child(2n){
    background-color: rgb(200, 250, 255, 1.0); /*lightblue+alfa:1.0*/
}

/*-- テーブルの偶数行(2n)-奇数列(3列目以降=2n+3)のtd要素のみを指定 */
table.tbl_multiple tr:nth-child(2n) td:nth-child(2n+3){
    background-color: rgb(180, 200, 255, 0.3); /*blue+alfa:0.3*/
}
/*-- テーブルの偶数行(2n)-偶数列(2列目以降=2n)のtd要素のみを指定 */
table.tbl_multiple tr:nth-child(2n) td:nth-child(2n){
    background-color: rgb(200, 250, 255, 0.3); /*lightblue+alfa:0.3*/
}

/*-- テーブルの奇数行(3行目以降=2n+3)-奇数列(3列目以降=2n+3)のtd要素のみを指定 */
table.tbl_multiple tr:nth-child(2n+3) td:nth-child(2n+3){
    background-color: rgb(180, 200, 255, 0.5); /*blue+alfa:0.5*/
}
/*-- テーブルの奇数行(3行目以降=2n+3)-偶数列(2列目以降=2n)のtd要素のみを指定 */
table.tbl_multiple tr:nth-child(2n+3) td:nth-child(2n){
    background-color: rgb(200, 250, 255, 0.5); /*lightblue+alfa:0.5*/
}
/* .tbl_multiple の配色設定 END ---------------------------------------------*/

/* .tbl_pickup の配色設定 START ---------------------------------------------*/
/*１列目*/
/*-- テーブルの１行目-１列目のth要素のみを指定 */
table.tbl_pickup tr:nth-child(1) th:nth-child(1){
    background-color: rgb(220, 220, 220 ,1.0); /*lightgrey+alfa:1.0*/
}
/*-- テーブルの奇数行(3行目以降=2n+3)-1列目のtd要素のみを指定 */
table.tbl_pickup tr:nth-child(2n+3) td:nth-child(1){
    background-color: rgb(220, 220, 220 ,1.0); /*lightgrey+alfa:1.0*/
}
/*-- テーブルの偶数行(2n)-1列目(1)のtd要素のみを指定 */
table.tbl_pickup tr:nth-child(2n) td:nth-child(1){
    background-color: whitesmoke;
}

/*-- テーブルの１行目-奇数列(3列目以降)のth要素のみを指定 */
table.tbl_pickup tr:nth-child(1) th:nth-child(2n+3){
    background-color: rgb(50, 100, 255 ,1.0); /*blue+alfa:1.0 for siteABC*/
    border-left: solid 3px blue;
    border-right: solid 3px blue;
    color:white;
}
/*-- テーブルの1行目-偶数列(2n)のth要素のみを指定 */
table.tbl_pickup tr:nth-child(1) th:nth-child(2n){
    background-color: rgb(200, 250, 255, 1.0); /*lightblue+alfa:1.0*/
}

/*-- テーブルの偶数行(2n)-奇数列(3列目以降=2n+3)のtd要素のみを指定 */
table.tbl_pickup tr:nth-child(2n) td:nth-child(2n+3){
    background-color: rgb(50, 100, 255 ,0.3); /*blue+alfa:0.3 for siteABC*/
    border-left: solid 3px blue;
    border-right: solid 3px blue;
}
/*-- テーブルの偶数行(2n)-偶数列(2列目以降=2n)のtd要素のみを指定 */
table.tbl_pickup tr:nth-child(2n) td:nth-child(2n){
    background-color: rgb(200, 250, 255, 0.3); /*lightblue+alfa:0.3*/
}

/*-- テーブルの奇数行(3行目以降=2n+3)-奇数列(3列目以降=2n+3)のtd要素のみを指定 */
table.tbl_pickup tr:nth-child(2n+3) td:nth-child(2n+3){
    background-color: rgb(50, 100, 255 ,0.5); /*blue+alfa:0.6 for siteABC*/
    border-left: solid 3px blue;
    border-right: solid 3px blue;
}
/*-- テーブルの奇数行(3行目以降=2n+3)-偶数列(2列目以降=2n)のtd要素のみを指定 */
table.tbl_pickup tr:nth-child(2n+3) td:nth-child(2n){
    background-color: rgb(200, 250, 255, 0.6); /*lightblue+alfa:0.6*/
}
/* .tbl_pickup の配色設定 END ---------------------------------------------*/


/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 960px){
    .scroll_x {
        overflow-x: scroll;
    }
    table.tbl_multiple ,.tbl_pickup {
      content: "※このテーブルは横にスクロールできます。";
    }
    table.tbl_multiple th ,.tbl_pickup th{
        white-space:nowrap;  /*nowrap:折り返しされない*/
    }
    /*-- テーブルの１列目の要素のみを指定 */
    table.tbl_multiple tr th:first-child , table.tbl_multiple tr td:first-child
    ,.tbl_pickup tr    th:first-child    , .tbl_pickup        tr td:first-child {
            min-width: 200px;
        position: sticky;
        left: 0;
    }
    /*-- テーブルの２列目以降の要素を指定 */
    table.tbl_multiple tr td:nth-child(n+1)
    ,.tbl_pickup       tr td:nth-child(n+1) {
            word-wrap: break-all;
    }
    /*-- テーブル内の値が<img>の場合のクラス */
    .img_class_box_table_multiple{
        width:30px;
    }
}
/*--------------------- tbl_multiple -特殊テーブルの表示のCSS ------------------------*/




/*------------ echo_box_html_content_edit ---コンテンツ編集ページの表示のCSS ------------*/
.domain_content_edit_thead {
    border-spacing: 0px;
    border: 3px solid blue;
}
.domain_content_edit_tbody {
    border-bottom: 1px dashed blue;
  /*  background-color: lightgrey; */
    /*border: 1px solid blue;*/
}
.domain_content_edit_tbody:hover {
    background-color: rgba(230, 230, 230, 0.9);
    box-shadow: 2px 3px 2px rgba(0, 0, 0, 0.8);
    transition: all 0.5s ease-out;
}
/*------------ echo_box_html_content_edit ---コンテンツ編集ページの表示のCSS ------------*/








/*-------------------------------- HPトップ画像用CSS --------------------------------------------------*/
/*

/*トップページ背景画像の天気--雪*/
/*javascriptのタグ*/
#front_snow_js{ 
    /*
    fixed:   この場合は、コンテナの堺関係なく画面全体に雪が降る
    relative:この場合は、<div id="front_snow_js"></div>の区間のみに雪が降る
    absolute:この場合は、区切りは関係なく、元々の有効範囲が最優先され、雪が降る →画面サイズが変わっても連動しない
    */
    position:absolute;
    /* ↓全体を覆うように配置 */
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    display: block;
    z-index: 11;   /*-- 重なり */
}
#front_snow_js.isOFF{ 
    /*非表示*/
    width: 0%;
    height: 0%;
}
#front_snow_js.isON{ 
    /*表示*/
    width: 100%;
    height: 100%;
}
/*javascriptのタグ*/
#front_polygon_js{ 
    position:absolute;
    /* ↓全体を覆うように配置 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 11;   /*-- 重なり */
}


/*-------------------------------- HPトップ画像用CSS ----------------------------------------------------*/




/*-------------------------------- id_home_img_non_anime --画像用CSS --------------------------------*/

#id_home_img_non_anime{
    position:relative;
    /* container_top全面にセット container_TOP内でフル表示*/
    /* サイズはcontainer_topのCLASSで定義*/
    width: 100%;
    height: 100%;
    /* コントロール+スクロールで縮小拡大しても、背景画像は変化させない*/
    /* max-width:100vw;  表示端末の画像幅を100とした際の割合 100vm=100%*/
    /* min-width:100vw;  表示端末の画像幅を100とした際の割合 100vm=100%*/

    background-color: white;
}
/* 画像を動かすアニメーション設定 */
#id_home_img_non_anime .imgFull {
    position: absolute;
    /* container_top全面にセット container_TOP内でフル表示*/
    /* サイズはcontainer_topのCLASSで定義*/
    width: 100%;
    height: 100%;

    /* 位置 --トップメニュー分下げる--タブレット/スマホでは解除してTOP0PXへ*/
    top: 80px;
    left: 0;
    display: block;

    /* 背景画像：表示領域に収める */
    background: white var(--id_home_img_non_anime_LP_pc_url) no-repeat center center;
    background-size:contain;  /* contain / cover */

    /* アニメーションの設定なし*/
}
/*スマホレスポンシブ対応--最小480px-最大が960pxに適用する＝タブレット*/
@media screen and (min-width: 481px) and (max-width: 960px){
    #id_home_img_non_anime .imgFull {
        /* 位置 --トップメニュー分下げる--タブレット/スマホでは解除してTOP0PXへ*/
        top: 0px;
        width: 100%;
        max-width: 830px;
        /* 背景画像：表示領域に収める */
        background: var(--id_home_img_non_anime_LP_mobile_url) no-repeat center center;
        /* 背景画面が崩れないように contain で画面を維持 */
        background-size:contain;  /* contain / cover */
    }
}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    #id_home_img_non_anime{
        /* 画面が崩れないように最大を設定 */
        max-width: 480px;
        min-height: 700px;
    }
    #id_home_img_non_anime .imgFull {
        /* 位置 --トップメニュー分下げる--タブレット/スマホでは解除してTOP0PXへ*/
        top: 0px;
        /* 画面が崩れないように最大を設定 */
        max-width: 480px;
        min-height: 700px;

        /* 背景画像：表示領域に収める */
        background: var(--id_home_img_non_anime_LP_mobile_url) no-repeat center center;
        background-size:contain;  /* contain / cover */
    }
}

/*トップページ会社名用*/
#id_home_img_non_anime h1 {
    /*文字フォントはclassを継承するため、位置と色のみ設定*/
    position:absolute;
    color: rgba(0, 0, 0, 0.05);
    font-weight: bold;/*太字に*/
    /*文字を中央に配置*/
    top: 45%;
    left: 50%;

    /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
    -ms-transform: translate(-50%,-45%);    /*旧対応*/
    -webkit-transform: translate(-50%,-45%);/*旧対応*/
    transform: translate(-50%,-45%);
    /*余白による中央からズレの可能性を排除*/
    margin:0;  
    padding:0; 

    z-index: 21;   /*--奥行--*/
}
/*-- カーソルオン */
#id_home_img_non_anime h1:hover {
    color: rgba(255, 255, 255, 1);
    text-shadow: 4px 4px 10px rgba(0, 0, 0, 0.8), 6px 2px 15px rgba(0, 0, 0, 0.7); /* 文字にかげをつける */
    transition: 1.0s; /* アニメーションの速度 */
}
#id_home_img_non_anime p:hover {
    color: rgba(255, 255, 255, 0.9);
    background-color: rgba(0, 0, 0, 0.4);
    text-shadow: 4px 4px 10px rgba(0, 0, 0, 0.8), 6px 2px 15px rgba(0, 0, 0, 0.7); /* 文字にかげをつける */
    transition: 1.0s; /* アニメーションの速度 */
}
/*トップページ説明文字*/
#id_home_img_non_anime p{
    /*文字フォントはclassを継承するため、位置と色のみ設定*/
    position:absolute;
    color: rgba(0, 0, 0, 0);
    /*文字を中央に配置*/
    top: 60%;
    left: 50%;

    /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
    -ms-transform: translate(-50%,-20%);    /*旧対応*/
    -webkit-transform: translate(-50%,-20%);/*旧対応*/
    transform: translate(-50%,-20%);
    /*余白による中央からズレの可能性を排除*/
    margin:0;  
    padding:0; 

    z-index: 21;   /*--奥行--*/

}

/* Vカーソルの表示エリアCSS */
#id_home_img_non_anime .area_down_cursol {
    /* カーソルの形状は、共通定義： shape_arrow */
    /*配置を定義*/
    position:absolute;
    content:  '';
    /*中央下に配置*/
    left: 50%;
    bottom: 10%;
    /*--アニメ--*/
    animation-name:ky_flash_onoff;
    animation-duration:2S;
    animation-timing-function:linear;
    animation-iteration-count:infinite;

    z-index: 21;   /*--奥行--*/
}

/* ボタン */
#id_home_img_non_anime .switchArea {
    position:absolute;
    color: white;
    /*文字を中央に配置*/
    bottom: 5%;
    right: 0%;
    display: block;
  }


/*-------------------------------- id_home_img_non_anime --画像用CSS-END --------------------------------*/




/*------------------------------- #id_home_img_rolling --画像用CSS --------------------------------*/

#id_home_img_rolling {
    position:relative;
    /* container_top全面にセット container_TOP内でフル表示*/
    /* サイズはcontainer_topのCLASSで定義*/
    width: 100%;
    height: 100%;
    /* コントロール+スクロールで縮小拡大しても、背景画像は変化させない*/
    /* max-width:100vw;  表示端末の画像幅を100とした際の割合 100vm=100%*/
    /* min-width:100vw;  表示端末の画像幅を100とした際の割合 100vm=100%*/
}
/* 画像を動かすアニメーション設定 */
#id_home_img_rolling .imgFull {
    position: absolute;
    /* container_top全面にセット container_TOP内でフル表示*/
    /* サイズはcontainer_topのCLASSで定義*/
    width: 100%;
    height: 100%;

    /* 位置 */
    top: 0;
    left: 0;
    display: block;

    /* 背景画像：表示領域全体を覆う */
    background:white no-repeat center center;
    background-size:cover;  /* contain / cover */

    /* アニメーションの設定 */
    animation-name: imgAnime;
    animation-duration: calc(6s*6);
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  }
  @keyframes imgAnime {
    0%{
        background-position: left;
        background-image : var(--id_home_img_rolling_image01_url);   /* 背景の画像を指定 */
      }
   16%{
        background-position: right;
        background-image : var(--id_home_img_rolling_image01_url);   /* 背景の画像を指定 */
      }
   17%{
       background-position: right;
       background-image : var(--id_home_img_rolling_image02_url);   /* 背景の画像を指定 */
      }
   33%{
       background-position: left;
       background-image : var(--id_home_img_rolling_image02_url);   /* 背景の画像を指定 */
      }
   34%{
       background-position: left;
       background-image : var(--id_home_img_rolling_image03_url);   /* 背景の画像を指定 */
      }
   50%{
       background-position: right;
       background-image : var(--id_home_img_rolling_image03_url);      /* 背景の画像を指定 */
      }
   51%{
       background-position: right;
       background-image : var(--id_home_img_rolling_image04_url);      /* 背景の画像を指定 */
      }
   67%{
       background-position: left;
       background-image : var(--id_home_img_rolling_image04_url);   /* 背景の画像を指定 */
      }
   68%{
       background-position: left;
       background-image : var(--id_home_img_rolling_image05_url);      /* 背景の画像を指定 */
      }
   84%{
       background-position: right;
       background-image : var(--id_home_img_rolling_image05_url);      /* 背景の画像を指定 */
      }
   85%{
       background-position: right;
       background-image : var(--id_home_img_rolling_image06_url);      /* 背景の画像を指定 */
      }
  100%{
       background-position: left;
       background-image : var(--id_home_img_rolling_image06_url);      /* 背景の画像を指定 */
   }
}

/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    #id_home_img_rolling{
        /* 画面が崩れないように最大を設定 */
        max-width: 480px;
        min-height: 700px;
    }
    #id_home_img_rolling .imgFull {
        /* 画面が崩れないように最大を設定 */
        max-width: 480px;
        min-height: 700px;
        animation-duration: 60s;
    }
}
  
/* 画像を暗くする オーバーレイ */
.overlay_daytime::after{
    position: absolute;
    content: '';
    /* ↓暗いオーバーレイを半透明で配置 */
    background-color: rgba(0, 0, 0, 0);
    /* ↓全体を覆うように配置 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
}
.overlay_nighttime::after{
    position: absolute;
    content: '';
    /* ↓暗いオーバーレイを半透明で配置 */
    background-color: rgba(0, 0, 0, 0.4);
    /* ↓全体を覆うように配置 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
}

/*トップページ会社名用*/
#id_home_img_rolling h1 {
    /*文字フォントはclassを継承するため、位置と色のみ設定*/
    position:absolute;
    color: rgba(255, 255, 255, 0.8);
    font-weight: bold;/*太字に*/
    /*文字を中央に配置*/
    top: 40%;
    left: 50%;

    /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
    -ms-transform: translate(-50%,-50%);    /*旧対応*/
    -webkit-transform: translate(-50%,-50%);/*旧対応*/
    transform: translate(-50%,-50%);
    /*余白による中央からズレの可能性を排除*/
    margin:0;  
    padding:0; 

    z-index: 21;   /*--奥行--*/
}
/*-- カーソルオン */
#id_home_img_rolling h1:hover {
    color: rgba(0, 0, 0, 0.7);
    text-shadow: 4px 4px 10px rgba(255, 255, 240, 0.83), 6px 0px 15px rgba(255, 255, 240, 0.83); /* 文字にかげをつける */
    transition: 1.5s; /* アニメーションの速度 */
}
/*トップページ説明文字*/
#id_home_img_rolling p{
    /*文字フォントはclassを継承するため、位置と色のみ設定*/
    position:absolute;
    color: white;
    /*文字を中央に配置*/
    top: 55%;
    left: 50%;

    /*★★重要：縦と横の文字のズレが補正----ボタンの大きさ分を調節して中央へ配置★★*/
    -ms-transform: translate(-50%,-50%);    /*旧対応*/
    -webkit-transform: translate(-50%,-50%);/*旧対応*/
    transform: translate(-50%,-50%);
    /*余白による中央からズレの可能性を排除*/
    margin:0; padding:0; 

    z-index: 21;   /*--奥行--*/
}

/* Vカーソルの表示CSS */
#id_home_img_rolling .area_down_cursol {
    /* カーソルの形状は、共通定義： shape_arrow */
    /*配置を定義*/
    position:absolute;
    content:  '';
    /*中央下に配置*/
    left: 50%;
    bottom: 30%;
    /*--アニメ--*/
    animation-name:ky_flash_onoff;
    animation-duration:2S;
    animation-timing-function:linear;
    animation-iteration-count:infinite;

    z-index: 21;   /*--奥行--*/
}

/* ボタン */
#id_home_img_rolling .switchArea {
    position:absolute;
    color: white;
    /*文字を中央に配置*/
    bottom: 5%;
    right: 0%;
    display: block;
  }


/*------------------------------- id_home_img_rolling --画像用CSS-END --------------------------------*/







/*--------------------------------メインメニューの目次の装飾関連--------------------------------*/
.sideByside {
    position: relative;         /* aタグのクリック範囲を広げるための親側の設定 absoluteを有効にするには直前の親がrelativeでないと思った動作いならない */
    left: 40%;
    min-width:240px;
    display: inline-block;      /* インラインブロック要素にする */
    border: 0px solid;
    border-color:White;
    background-image: linear-gradient(rgb(50, 50, 250) 0%, #7aceff 100%);
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.29);
    border-bottom: solid 2px rgb(50, 50, 250);
    border-radius: 30px 30px 30px 30px; /* 枠に丸みをつける */
    padding: 40px;                      /* 余白指定 */
    z-index: 31;   /*-- 重なり */
}
.sideByside a {
    position: absolute;  /* aタグのクリック範囲を広げるための子側の設定 */
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    border-radius: 30px 30px 30px 30px; /* 枠に丸みをつける */
    color: White;
    text-decoration: none;
    text-align: center;
    padding:20px 0;
    text-shadow: 0px 0px 5px rgba(97, 179, 185, 0.705); /* 文字にかげをつける */

}
.sideByside a:hover {
    background-image: linear-gradient(rgb(50, 50, 250) 0%, #7aceff 100%);
    color: black;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.29);
    border-bottom: solid 2px rgb(50, 50, 250);
    font-weight:700;
    transition: 1s; /* アニメーションの速度 */
}
.sideByside a:active {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
    border-bottom: none;
}

/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    /* ホーム項目ボタンサイズ縮小1 */
    .sideByside {
        left: 10%;
        min-width:150px;
        border-radius: 20px 20px 20px 20px; /* 枠に丸みをつける */
        padding: 10px;                      /* 余白指定 */
    }
    /* ホーム項目ボタンサイズ縮小2 */
    .sideByside a {
        border-radius: 20px 20px 20px 20px; /* 枠に丸みをつける */
        padding:20px 0;
        font-size: 1.2rem;
    }
    /* ホーム項目ボタンサイズ縮小3 */
    .sideByside a:hover {
        font-size: 1.2rem;
    }
   
}

/*--------------------------------メインメニューの目次の装飾関連--------------------------------*/




/*--------------------------------画面ホバーボタン -------------------------------------------*/

/* 画面ホバーボタン (問合せ用などに使える) */
.cls_hover_btn_300px ,.cls_hover_btn_600px ,.cls_hover_btn_area_left {
    position: fixed;   /*画面内で位置固定*/
    /*絶対(fixed)配置*/
    bottom: 5%;
    margin:0px;

    min-width:250px;

    border: 0px solid;
    border-radius: 30px 30px 30px 30px; /* 枠に丸みをつける */
    background-image: linear-gradient(rgb(50, 50, 250) 50%, #7aceff 100%);
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.29);
    border-bottom: solid 2px rgb(50, 50, 250);

    /* スクロール前は非表示--jsで表示をコントロール- */
    opacity: 0; z-index: -10;   /*アクティブ前は最後背景 */
    transition: all 0.65s;
}
.cls_hover_btn_size_amazongiftcard ,.cls_hover_btn_size_amazongiftcard_2nd {
    position: fixed;   /*画面内で位置固定*/
    /*絶対(fixed)配置*/
    bottom: 20%;
    margin:0px;

    min-width:150px;
    max-width:15%;

    border: 0px solid;
    border-radius: 10px 10px 10px 10px; /* 枠に丸みをつける */
    background-size:cover;  /* contain / cover */
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.29);
    border-bottom: solid 2px rgb(50, 150, 50);

    /* スクロール前は非表示--jsで表示をコントロール- */
    opacity: 0; z-index: -10;   /*アクティブ前は最後背景 */
    transition: all 0.65s;
}
.cls_hover_btn_size_ask_lineapp ,.cls_hover_btn_size_qrcode_lineapp{
    position: fixed;   /*画面内で位置固定*/
    /*絶対(fixed)配置*/
    top: 30%;
    margin:0px;

    min-width:100px;
    max-width:5%;

    border: 0px solid;
    border-radius: 10px 10px 10px 10px; /* 枠に丸みをつける */
    background-size:cover;  /* contain / cover */
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.29);
    border-bottom: solid 2px rgb(50, 150, 50);

    /* スクロール前は非表示--jsで表示をコントロール- */
    opacity: 0; z-index: -10;   /*アクティブ前は最後背景 */
    transition: all 0.65s;

}
.cls_hover_btn_300px ,.cls_hover_btn_600px{right: 5%;}
.cls_hover_btn_area_left{left: 5%;}
.cls_hover_btn_size_amazongiftcard ,.cls_hover_btn_size_amazongiftcard_2nd{right: 0%;}
.cls_hover_btn_size_ask_lineapp ,.cls_hover_btn_size_qrcode_lineapp{right: 0%;}

.cls_hover_btn_300px.isActive ,.cls_hover_btn_600px.isActive ,.cls_hover_btn_area_left.isActive ,.cls_hover_btn_size_amazongiftcard.isActive ,.cls_hover_btn_size_amazongiftcard_2nd.isActive {
    /* スクロール後は表示--jsで表示をコントロール- */
    opacity: 1; z-index: 31;   /*アクティブ後に表示 */
    transition: all 0.65s;
}
.cls_hover_btn_size_ask_lineapp.isActive ,.cls_hover_btn_size_qrcode_lineapp.isActive {
    /* スクロール後は表示--jsで表示をコントロール- */
    opacity: 1; z-index: 403; /*LINE-btn*/
    transition: all 0.65s;
}
.cls_hover_btn_300px a ,.cls_hover_btn_600px a ,.cls_hover_btn_area_left a {
    position: relative; /*ボタン内の相対(relative)配置*/
    top: 0%;
    left: 0px;
    margin:0px;

    display: block;
    width:100%; height:100%;
    padding-top:5px; padding-bottom: 5px; /* 余白指定-ボタンの縦幅- */
    border-radius: 30px 30px 30px 30px; /* 枠に丸みをつける */

    /*文字の定義*/
    color: White;
    font-size: 1.7rem;
    text-align: center;
    text-decoration: none;
}
.cls_hover_btn_size_amazongiftcard a ,.cls_hover_btn_size_amazongiftcard_2nd a 
,.cls_hover_btn_size_ask_lineapp a ,.cls_hover_btn_size_qrcode_lineapp a {
    /* cls_hover_btn_size_amazongiftcardの縦横サイズを揃える */
    position: relative; /*ボタン内の相対(relative)配置*/
    bottom: -10px;  /*位置の調節*/
    left: 0px;
    margin:0px;
    display: block;
    width:100%;

    /*文字の定義*/
    color: White;
    font-size: 1.7rem;
    text-align: center;
    text-decoration: none;
}
.cls_hover_btn_300px a:hover ,.cls_hover_btn_600px a:hover ,.cls_hover_btn_area_left a:hover 
,.cls_hover_btn_size_amazongiftcard a:hover ,.cls_hover_btn_size_amazongiftcard_2nd a:hover 
,.cls_hover_btn_size_ask_lineapp a:hover ,.cls_hover_btn_size_qrcode_lineapp a:hover {
    /*文字*/
    color: black;
    font-size: 1.9rem;
    font-weight:700;

    transition: 1s; /* アニメーションの速度 */
}

/*<img>*/
/*<img>タグではwidth heightを指定せず、その親で指定することでレスポンシブに対応できる*/
.cls_hover_btn_size_amazongiftcard a .tag_pic ,.cls_hover_btn_size_amazongiftcard_2nd a .tag_pic 
,.cls_hover_btn_size_ask_lineapp a .tag_pic ,.cls_hover_btn_size_qrcode_lineapp a .tag_pic 
{
    vertical-align: center;
    max-width:100%;
    margin:auto; /*サイズ変更の際に中央配置へ縦横の自動調整*/
    padding:0px;
    object-fit: scale-down;
}
.cls_hover_btn_size_amazongiftcard a .tag_pic ,.cls_hover_btn_size_amazongiftcard_2nd a .tag_pic 
,.cls_hover_btn_size_ask_lineapp a .tag_pic ,.cls_hover_btn_size_qrcode_lineapp a .tag_pic 
{
    box-shadow: 10px 10px 20px rgba(0, 0, 60, 0.9);
    border-radius:  10px;        /* 角丸指定 */
    transition: 0.5s; /* アニメーションの速度 */
}


/*-------ボタン内における?ボタンエリアの配置-------*/
.area_close_btn {
    position: absolute;   /*画面内で位置固定*/
    top: -5px;
    right: -5px;
    z-index: 31;
}
.area_close_btn input[type="checkbox"] {
    display: none;   /* チェックボックス非表示 */
}

/* === チェックボックスのラベル（ONのとき） ==================== */
   /* 共通部品 lavel class="close_btnを表示 */
/* === チェックボックスのラベル（OFFのとき） ================ */
/*
.area_close_btn input[type="checkbox"]:checked +label {
    background-color: black;
}
*/

/*タブレットスマホレスポンシブ対応--最大が700pxに適用する＝タブレット*/
@media screen and (max-width: 700px){
    .cls_hover_btn_size_amazongiftcard ,.cls_hover_btn_size_amazongiftcard_2nd {
        width: 150px; height: auto;
        right: 1%;   /* エリア配置の位置 */
    }
    .cls_hover_btn_size_amazongiftcard:hover ,.cls_hover_btn_size_amazongiftcard_2nd:hover {
        min-width:200px;
        width: auto; height: auto;
    }

    .cls_hover_btn_size_ask_lineapp ,.cls_hover_btn_size_qrcode_lineapp {
        min-width:80px;
        right: 1%;   /* エリア配置の位置 */
    }
    .cls_hover_btn_size_ask_lineapp:hover ,.cls_hover_btn_size_qrcode_lineapp:hover {
        min-width:100px;
        width: auto; height: auto;
    }

}
/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    .cls_hover_btn_300px ,.cls_hover_btn_600px ,.cls_hover_btn_area_left {
        min-width:auto;
        width: 85px; height: 70px;
    }
    .cls_hover_btn_300px:hover ,.cls_hover_btn_600px:hover ,.cls_hover_btn_area_left:hover {
        width: auto; height: auto;
    }
    .cls_hover_btn_300px a ,.cls_hover_btn_600px a ,.cls_hover_btn_area_left a{
        font-size: 1.3rem;
        padding-left:10px; padding-right:10px; /* 余白指定-ボタンの横幅- */
    }
    .cls_hover_btn_300px a:hover ,.cls_hover_btn_600px a:hover ,.cls_hover_btn_area_left a:hover {
        font-size: 1.9rem;
    }
    .area_close_btn { top: -10px;  right: -10px; }

}


/* -- js--ボタン表示を縮小⇒Xボタンのみへ -- */
.cls_hover_btn_300px.small ,.cls_hover_btn_300px.small a
,.cls_hover_btn_600px.small ,.cls_hover_btn_600px.small a {
    width:0px; height: 0px;  /*表示幅をなくす＝非表示*/
    padding: 0px;  /* 余白指定-ボタンの幅になる- */
    font-size: 0rem;
    right: 0%;
}
.cls_hover_btn_area_left.small ,.cls_hover_btn_area_left.small a {
    width:0px; height: 0px;  /*表示幅をなくす＝非表示*/
    padding: 0px;  /* 余白指定-ボタンの幅になる- */
    font-size: 0rem;
    left: 5%;
}
.cls_hover_btn_size_amazongiftcard.small ,.cls_hover_btn_size_amazongiftcard.small a 
,.cls_hover_btn_size_amazongiftcard_2nd.small ,.cls_hover_btn_size_amazongiftcard_2nd.small a {
    width:0px; height: 0px;  /*表示幅をなくす＝非表示*/
    padding: 0px;  /* 余白指定-ボタンの幅になる- */
    font-size: 0rem;
    right: 0%;
}






/*======= ボタンの装飾 <span>部品として他のボタンも作れる ==============*/
/*  必須事項：エリアの定義とそのエリアへのjs付加のコード $css_cls_hover_btn_300.addClass('small')のような*/
.close_btn{
    display: block;
    position:relative;
    /*ボタンの位置⇒追加CSSで設定;*/
    /*枠の装飾--大きさ*/
    width:30px;
    height:30px;
    /*枠の装飾--円*/
    border: 2px solid white;
    border-radius: 50%;
    background-color: blue;
    transition: all 1s; /* アニメーション設定 */
}
.close_btn a{
    position: relative;                 
    /*ボタン内の相対(relative)配置*/
    top:   0px;
    left:  0px;
    margin:0px 0px 0px -25px;  /* クリック幅の位置調整指定 */
    padding:40px;       /* 余白指定-aボタンの見えないクリック領域の幅になる- */
/*    background-color: rgba(50,50,50,0.5);*/

    z-index: 21;   /*--奥行--*/
}
/*バツの棒を１本ずつ定義*/
.close_btn::before, .close_btn::after{
    content:  '';
    position: absolute;                 
    /*ボタン内の相対(relative)配置*/
    top: 50%;
    left: 50%;
    /*-- ×ボタンの大きさ */
    width: 4px;
    height: 30px;
    background-color: white; /* 棒の色 */
    border-radius: 2.5px; /* 棒の四隅の丸み*/
}
/*バツの棒を１本ずつ定義*/
.close_btn::before{
    transform: translate(-50%,-50%) rotate(45deg);
}
.close_btn::after{
    transform: translate(-50%,-50%) rotate(-45deg);
}
.close_btn:hover { /* マウスオーバー時のスタイル */
    transform: rotate(360deg);
    background-color: black;
}
/*=======?ボタンの装飾 <span>部品として他の?ボタンも作れる===ここまで===========*/


/*--------------------------------画面ホバーボタン -------------------------------------------*/




/*--------------------------------- 編集ボタン -------------------------------------------*/
/*エリアの配置*/
.area_edit_btn {
    float: right;
    width:40px;
    height:40px;

    margin-top:10px;

    background:var(--parts_edit_button_url) no-repeat center center;
    background-size:cover;

    /*-- button特有の修飾をなくす-- */
    border: none;
    outline: none;
  
    z-index: 21;   /*-- 重なり */

}
.area_edit_btn:hover {
    outline-color: rgba(20, 20, 250,0.6);
    outline-style: solid;
    outline-width: 5px;
}
.area_edit_btn a{
    position: relative;                 
    /*ボタン内の相対(relative)配置*/
    margin:0px 0px 0px -20px;  /* クリック幅の位置調整指定 */
    padding:40px;       /* 余白指定-aボタンの見えないクリック領域の幅になる- */
    background-color: rgba(50,50,50,0.5);

    z-index: 21;   /*--奥行--*/
}
/*--------------------------------- 編集ボタン -------------------------------------------*/


/*--------------------------------- 編集クリック -------------------------------------------*/
.acd_chkbox_edit{
    display: none; /* 非表示 */
}
.acd_label_edit{
    display: block;
/*    background-color: rgba(211,211,211,0.5);*/
}
/*--クリック連動でピンon/off*/
.acd_chkbox_edit + .acd_label_edit .edit_dot{
    display:  inline-block;
    width:30px;
    height:30px;
    margin-left:30%; margin-right:auto;
    background:var(--parts_edit_dot01_url) no-repeat center center;
    background-size:cover;
    vertical-align: middle;
    transition: .5s;
}
.acd_chkbox_edit:checked + .acd_label_edit .edit_dot{
    background:var(--parts_edit_dot02_url) no-repeat center center;
    background-size:cover;
    transition: .5s;
}
/*-- デフォルト非表示 */
.acd_label_edit_content_hidden{
    position: absolute;
    background-color: var(--AOXYZ_blue); /*AOXYZblue*/
    background-color: rgba(222,222,222,0.5);
    width: 70px;       /*表示幅*/
    margin-left:0px; margin-right:auto;
    padding:2px;
    height: 0px;
    opacity: 0;
    visibility: hidden;
}
.acd_chkbox_edit:checked + .acd_label_edit + .acd_label_edit_content_hidden{
    height: Auto;
    opacity: 1;
    visibility: visible;
    transition: .5s;
}
.acd_chkbox_edit_li {
    position: relative;                 
    list-style-type: none;
    top: 0px;
    margin:0; padding:0px 0px 1px 0px ;
/*    background-color: red;*/
}
.acd_chkbox_edit_btn{
    position: relative;
    /*文字*/
    color: rgba(88,88,88,1);
    margin-left:auto; margin-right:auto;
    padding:5px 15px 5px 15px;
    border: none;
    cursor: pointer;
    z-index: 31;   /*--奥行--*/
/*    background-color: lightgreen;*/
}
.acd_chkbox_edit_btn:hover {
    /*文字*/
    color: black;
    background-color: lightskyblue;
    transition: 1s; /* アニメーションの速度 */
}

.acd_chkbox_edit_a{
    position: relative;
    /*ボタン内のaタグ枠*/
    padding:7px 15px 2px 15px;

    /*文字*/
    color: rgba(88,88,88,1);;
    text-decoration: none;
/*    background-color: lightgreen;*/
}
.acd_chkbox_edit_a:hover {
    /*文字*/
    color: black;
    background-color: lightskyblue;
    transition: 1s; /* アニメーションの速度 */
}
/* チェックボックスの説明ポップアップ */
.editchkboxarea_explain_hidden{
    position: absolute;
    background-color: var(--AOXYZ_blue); /*AOXYZblue*/
    border-radius: 5%;
    /*後で*/
    background-color: rgba(245,245,245,0.95);
    width: auto;       /*表示幅*/
    top:-25px; right:-10px;
    margin-left:10px; margin-right:auto;
    padding:2px;
    height: 0px;
    opacity: 0;
    visibility: hidden;

    z-index: 21;   /*--奥行--*/
}
.editchkboxarea_explain_hidden span{
    color:black;
    font-size: 1.3em;
}
.acd_label_edit:hover ~ .editchkboxarea_explain_hidden{
    height: Auto;
    opacity: 1;
    visibility: visible;
    transition: .5s;
}

/*スマホレスポンシブ対応--最大が480pxに適用する＝スマホ*/
@media screen and (max-width: 480px){
    .acd_chkbox_edit + .acd_label_edit .edit_dot{
        margin-left:auto; margin-right:auto;
    }
    .acd_label_edit_content_hidden{
        margin-left:-30px; margin-right:auto;
    }
}
/*--------------------------------- 編集クリック -------------------------------------------*/



/*--------------------------------- ツールチップ -------------------------------------------*/
/* ツールチップのエリア */
.area_tooltip {
    display:  inline-block;
    position: relative;
    cursor: pointer;
}
/* ツールチップ用画像エリア */
.area_tooltip_img{
    width: 15px; height:auto;
}
/* ツールチップのテキスト */
.tooltip-text ,.tooltip-text_R ,.tooltip-text_L ,.tooltip-text_B {
    display: none;/*非表示*/
    position: absolute;

    padding: 5px; /* 余白 */
    border-radius: 3px; /* 角丸 */

    /* 文字 */
    color: white; 
    line-height: 1.3;      /* 行間 */
    white-space: nowrap;   /* テキストを折り返さない */
    background-color: var(--AOXYZ_blue); /*AOXYZblue*/
    opacity: 0;
    transition: 0.3s ease-out;
}
.tooltip-text {
    top: -45px; /* 親要素からの位置 */
    left: 50%; /* 親に対して中央配置 */
    transform: translateX(-50%); /* 親に対して中央配置 */
}
.tooltip-text_R {
    top: -0px;  /* 親要素からの位置 */
    right: -130px; /* 親の右配置 */
}
.tooltip-text_L {
    top: 0px;  /* 親要素からの位置 */
    left: -130px; /* 親の左配置 */
}
.tooltip-text_B {
    bottom: -50px; /* 親要素からの位置 */
    left: 50%; /* 親に対して中央配置 */
    transform: translateX(-50%); /* 親に対して中央配置 */
}
.tooltip-text:before ,.tooltip-text_R:before ,.tooltip-text_L:before ,.tooltip-text_B:before {
	content: '';
	position: absolute;    
}
.tooltip-text:before {
	top:  25px;    /*thisからの距離*/
	left: 50%;     /*thisからの距離*/
	margin-left: -8px; /*▲の位置-左右-*/
	border: 8px solid transparent;     /*▲の形状*/
	border-top: 15px solid var(--AOXYZ_blue); /*AOXYZblue*/ /*▲の形状*/
}
.tooltip-text_R:before {
	top: 5px;     /*thisからの距離*/
	left: -20px;  /*thisからの距離*/
	margin-left: 0px; /*▲の位置-左右-*/
	border: 8px solid transparent;      /*▲の形状*/
	border-right: 15px solid var(--AOXYZ_blue); /*AOXYZblue*/ /*▲の形状*/
}
.tooltip-text_L:before {
	top: 5px;     /*thisからの距離*/
	right: -20px;  /*thisからの距離*/
	margin-left: -10px; /*▲の位置-左右-*/
	border: 8px solid transparent;      /*▲の形状*/
	border-left: 15px solid var(--AOXYZ_blue); /*AOXYZblue*/ /*▲の形状*/
}
.tooltip-text_B:before {
	bottom: 30px;     /*thisからの距離*/
	left: 50%;     /*thisからの距離*/
	margin-left: -8px; /*▲の位置-左右-*/
	border: 8px solid transparent;      /*▲の形状*/
	border-bottom: 15px solid var(--AOXYZ_blue); /*AOXYZblue*/ /*▲の形状*/
}
.area_tooltip:hover .tooltip-text   { display: block; opacity: 1;}
.area_tooltip:hover .tooltip-text_R { display: block; opacity: 1;}
.area_tooltip:hover .tooltip-text_L { display: block; opacity: 1;}
.area_tooltip:hover .tooltip-text_B { display: block; opacity: 1;}
/*--------------------------------- ツールチップ -------------------------------------------*/



/*--------------------------------説明コメントの非表示-表示--------------------------------*/
.acd-chkBox{
    display: none; /* 非表示 */
}
.acd-label{
    display: block;
    background-color: rgba(211,211,211,0.5);
    color: var(--AOXYZ_blue); /*AOXYZblue*/
    font-weight: bold;
    padding: 10px;
    border-radius: 10px 10px 10px 10px; /* 枠に丸みをつける */
}
.acd-label:hover{
    outline-color: rgba(20, 20, 250,1);
    outline-style: solid;
    outline-width: 3px;
}

.acd-label p{
    display:  inline-block;
    width:auto;
    height:auto;
}
/*--クリック連動でピンon/off*/
.acd-chkBox + .acd-label .pin{
    display:  inline-block;
    width:20px;
    height:20px;
    margin: 0px 10px 5px 0px;
    background:var(--img_pin_50px_45deg_url) no-repeat center center;
    background-size:cover;
    vertical-align: middle;
}
.acd-chkBox:checked + .acd-label .pin{
    background:var(--img_pin_50px_0deg_url) no-repeat center center;
    background-size:cover;
}
/*-- デフォルト非表示 */
.acd-content_hidden{
    padding: 1% 5%;
    height: 0px;
    opacity: 0;
    visibility: hidden;
}
.acd-chkBox:checked + .acd-label + .acd-content_hidden{
    height: Auto;
    opacity: 1;
    visibility: visible;
    transition: .5s;
}
/*スマホレスポンシブ対応--最大が700pxに適用する＝スマホとタブレット*/
@media screen and (max-width: 700px){
    .acd-content_hidden {
        padding: 1% 3%;
    }
}
/*
.acd-label:hover + .acd-content_hidden{
    height: Auto;
    opacity: 1;
    visibility: visible;
    transition: 1.5s;
}
*/
/*--------------------------------説明コメントの非表示-表示--------------------------------*/



/*--------------------------------矢印アーケード(説明コメントの非表示-表示)--------------------------------*/
.arrow_acd_chkBox{
    display: none; /* 非表示 */
}
.arrow_acd_label{
    display: block;
    background-color: rgba(255,255,255,0); /*透明*/
    color: var(--AOXYZ_blue); /*AOXYZblue*/
    padding: 5px;
    text-align: center;
}
.arrow_acd_label:hover{
    outline-color: rgba(20, 20, 250,1);
    outline-width: 3px;
}

.arrow_acd_label p{
    display:  inline-block;
    width:auto;
    height:auto;
}
/*--クリック連動で矢印の向きのon/off*/
.arrow_acd_chkBox + .arrow_acd_label .img_arrow{
    display: block;  /* inline-block */
    /* vertical-align: middle; */
    width:100px;
    height:50px;
    margin-left: auto; margin-right: auto;
    background:var(--img_arrow_150px_0deg_url) no-repeat center center;
    background-size:cover;
}
.arrow_acd_chkBox:checked + .arrow_acd_label .img_arrow{
    background:var(--img_arrow_150px_180deg_url) no-repeat center center;
    background-size:cover;
}
/*-- デフォルト非表示 */
.arrow_acd_content_hidden{
    padding: 0px;
    height: 0px;
    opacity: 0;
    visibility: hidden;
}
.arrow_acd_chkBox:checked + .arrow_acd_label + .arrow_acd_content_hidden{
    height: Auto;
    opacity: 1;
    visibility: visible;
    transition: .5s;
}
/*--------------------------------矢印アーケード(説明コメントの非表示-表示)--------------------------------*/
































/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆スマホ-ＰＣ切り替え◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */

/* スマホ 最大画面横幅サイズ480px以下*/
@media screen and (max-width: 480px) {
    /*
    ul.topnav li.right {float: right;}
    ul.topnav li {float: none;}
    */

    /* ホームアイコン画像用サイズ */
    .homebackicon {
        max-width:32px;
        max-height:32px;
        top: 25px;
        left: 80px;
    }
    /* 言語切り替え画像サイズ */
    .global_lang {
        max-width:32px;
        max-height:32px;
        top: 25px;
        left: 120px;
    }
    /*スマホ用-追加条件*/
    .global_input{
        /*違い*/
        margin-top: 20px;
        right: 60px;
    }
    /* スマホ時_改行する */
    .mobile_br {
        display: block; 
    }
    /* スマホ時_非表示タグ化 */
    .mobile_hidden {
        display: none; 
    }
    /* 年間スケジュールボタンサイズ縮小 */
    .schedule_button {
        min-width:50px;
        padding: 3px;                      /* 余白指定 */
        margin: 2px;                       /* 外側の余白*/
    }
}
/* スマホ以外 最小画面サイズ481px以上*/
@media screen and (min-width: 481px) {
    /*
    ul.topnav li.right {float: right;}
    ul.topnav li {float: none;}
    */
    img {
        width: 100%;
    }
    /* ホームアイコン画像用サイズ */
    .homebackicon {
        max-width:36px;
        max-height:36px;
        top: 20px;
        right: 120px;
    }
    /* 言語切り替え画像サイズ */
    .global_lang {
        max-width:36px;
        max-height:36px;
        top: 20px;
        right: 70px;
    }
    /*ＰＣ用-追加条件*/
    .global_input{
        /*違い*/
        margin-top: 60px;
        right: 10px;
    }
    /* スマホ時_改行する */
    .mobile_br {
        display: none; 
    }

}   
/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆スマホ-ＰＣ切り替え◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */






/*-------------------------------- 日付によって装飾を変更するCSS --------------------------------*/
td.ontoday{
    color: white;
    background-color: rgb(25, 29, 255);
    border: 1px solid lightgrey;
    box-shadow: 0px -3px 5px 1px #eee inset;
    font-weight: bold;
    animation-name:ky_flash_onoff;       /*--点滅設定--*/
    animation-duration:3S;
    animation-timing-function:linear;
    animation-iteration-count:infinite;
}
td.ontomorrow{
    background-color: lightskyblue;
    border: 1px solid lightgrey;
    box-shadow: 0px -3px 5px 1px #eee inset;
    font-weight: bold;
    animation-name:ky_flash_onoff;       /*--点滅設定--*/
    animation-duration:3S;
    animation-timing-function:linear;
    animation-iteration-count:infinite;
}
td.onNewterm{
    background-color: lightskyblue;
    border: 1px solid lightgrey;
    box-shadow: 0px -3px 5px 1px #eee inset;
    font-weight: bold;
    animation-name:ky_flash_onoff;       /*--点滅設定--*/
    animation-duration:3S;
    animation-timing-function:linear;
    animation-iteration-count:infinite;
}

.ontoday{
    color: pink;
    background-color: rgb(25, 29, 255);
    font-weight: bold;
    animation-name:ky_flash_onoff;       /*--点滅設定--*/
    animation-duration:3S;
    animation-timing-function:linear;
    animation-iteration-count:infinite;
}
.ontomorrow{
    background-color: lightskyblue;
    font-weight: bold;
    animation-name:ky_flash_onoff;       /*--点滅設定--*/
    animation-duration:3S;
    animation-timing-function:linear;
    animation-iteration-count:infinite;
}

.scroll-flash{
    background-color: lightskyblue;
    font-weight: bold;
    animation-name:ky_flash_onoff;       /*--点滅設定--*/
    animation-duration:3S;
    animation-timing-function:linear;
    animation-iteration-count:infinite;
}
/*--アニメーションの定義--*/
@keyframes ky_flash_onoff {
    0%,40%,60%,100% {
      opacity: 1;
    }
    45%,55% {
      opacity: 0.5;
    }
}

/*-------------------------------- 日付によって装飾を変更するCSS --------------------------------*/



/*--------------------------------無限スクロールリストを増加させるボタン要素--------------------------------*/

#id_infinity_scroll {
    display:  block;
    color: white;
    background-color: Blue;
    text-align:center;
    opacity:0.5;
    border-radius: 5px;
    height: 40px;
    width:  200px;
    padding: 5px;
    cursor:pointer;
    bottom: 30px;
}
/*--------------------------------無限スクロールリストを増加させるボタン要素--------------------------------*/







