/************************************************************************************/
/* 【ハンバーガーメニュー】【SaikoujiとTempleGeneratorで共用(共通仕様)する】        */
/* 【重要】【ハンバーガーメニューを更新する場合は、まずSaikoujiでテストする。】     */
/*         【その後、OKであればTempleGeneratorへコピーして使用する。】              */
/* 【重要】【.HamburgerMenu-togglerのleft: calc(800px - 50px + 28px);の、           */
/*         「+34px」は、Saikoujiの場合はつけて、TempleGeneratorの場合は外す】       */
/* 【機能】 SaikoujiとTempleGeneratorのハンバーガーメニュー(メインメニュー)を定義   */
/************************************************************************************/

/************************************************************************************/
/* ハンバーガーメニューの定義【開始】                                               */
/************************************************************************************/

/*---------------------------------------------------------------------------*/
/*【PC用とスマホ用の共通の設定】サイト全体への適用
/*---------------------------------------------------------------------------*/

/************************************************************************************/
/* ハンバーガーメニューのボタンを定義する【開始】                                   */
/************************************************************************************/

/* ハンバーガーメニューの、ダミーのチェックボックス(非表示)(メニューを開くか閉じるかを指定)を設定する */
.HamburgerInput-toggler{
	display: none;
}

/* ハンバーガーメニューのボタンを指定する */
.HamburgerMenu-toggler{
	position: absolute;
	position: fixed;

	/************************************************************************************/
	/*下記のleftの、「+34px」は、Saikoujiの場合はつけて、TempleGeneratorの場合は外す    */
	/************************************************************************************/
	/*重要*/left: calc(800px - 50px);/*【重要：ここ１カ所のみ変更する】【TempleGenerator用】*/
	/*重要*/left: calc(800px - 50px + 28px);/*【重要：ここ１カ所のみ変更する】【Saikouji用】*/

	right: 0px;
	top: 0px;
	width:50px; /* 【ハンバーガーメニューの大きさを指定する】 */
	height: 60px; /* 【ハンバーガーメニューの大きさを指定する】 */
	background: #000;

	border-radius: 12px;

	z-index: 1000;
	display: flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	cursor: pointer;
}


.HamburgerMenu-toggler::before {
	content: "Menu";
	position: absolute;
	top: 65%;
	left: 12%;
	left: 15%;
	font-size: 13px;
	color: rgba(0, 0, 0, 0.1); /* 透明度を調整 */
	color:#FFF;
	font-weight: bold;
}

/* 文字をゆっくり表示する(animation: fadeIn 2s forwards;で使う) */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.HamburgerInput-toggler:checked ~ .HamburgerMenu-toggler::before {
	content: "Close";
	position: absolute;
	top: 65%;
	left: 12%;
	left: 15%;
	font-size: 13px;
	color: rgba(0, 0, 0, 0.1); /* 透明度を調整 */
	color:#FFF;
	font-weight: bold;
	animation: fadeIn 2.5s forwards;
}

/* ハンバーガーメニューをクリックしたとき、背景色を黒色に変える */
.HamburgerInput-toggler:checked ~ .HamburgerMenu-toggler {
	background: #000;
}


/* 緑色系(1,2,8) */
.HamburgerMenu-toggler1,.HamburgerMenu-toggler2,.HamburgerMenu-toggler8{
	background: #060;
	border: 2px solid #000;
}

/* 赤色系(3,6,7) */
.HamburgerMenu-toggler3,.HamburgerMenu-toggler6,.HamburgerMenu-toggler7{
	background:#800;
	background:#C00;
	border: 2px solid #800;
}

/* 青色系(4,5) */
.HamburgerMenu-toggler4,.HamburgerMenu-toggler5{
	background: #00C;
	border: 2px solid #000;
}

/* 茶色系(9) */
.HamburgerMenu-toggler9{
	background:#725;
	border: 2px solid #C00;
}

.HamburgerMenu-toggler-line{
	width: 60%;
	width: 70%;
	height:3px;
	height:4px;
	border-radius: 7px;
	background:#ffcf27;
	background:#AAF;
	background:#000;
	background:#FFF;
	margin: 0 0 10px 0px;/*【順番に上、右、下、左の値】*/
	margin: 0px 0 10px 0px;/*【順番に上、右、下、左の値】*/
	position: relative;
	transition: all .40s ease-out;
	transition: all .60s ease-out;
}

.HamburgerInput-toggler:checked ~ .HamburgerMenu-toggler .HamburgerMenu-toggler-line {
	top: 5px;
	top: 7px;
	top: 9px;
	top: 3px;
	width: 90%;
	translateY:100px;
	transform:rotate(45deg);
}

.HamburgerInput-toggler:checked ~ .HamburgerMenu-toggler .HamburgerMenu-toggler-line:nth-child(2) {
	display: none;
}

.HamburgerInput-toggler:checked ~ .HamburgerMenu-toggler .HamburgerMenu-toggler-line:nth-child(3) {
	top: -5px;
	top: -10px;
	translateY:10;
	transform:rotate(135deg);
}

/* ================================================================================ */
/* ハンバーガーメニューのボタンの定義【終了】                                       */
/* ================================================================================ */


/************************************************************************************/
/* ハンバーガーメニューの本体と背景を定義する【開始】                               */
/************************************************************************************/

.HamburgerSidebar {
	position: absolute;
	position: fixed;
	margin: 0px 0px 0px 0px;/*【順番に上、右、下、左の値】*/
	margin: 0px 0px 0px 120px;/*【順番に上、右、下、左の値】*/
	padding: 70px 5px 5px 25px;/*【順番に上、右、下、左の値】*/
	padding: 75px 0px 0px 15px;/*【順番に上、右、下、左の値】*/
	padding: 75px 0px 0px 0px;/*【順番に上、右、下、左の値】*/
	z-index:200;/*【CssTempleInfoCommonにz-index=110があるので、110より大きい値にする】*/
	top: 0;
	height: 100vh;/*【「vh」は、画面の高さの100%を表す】*/
	width: 100%;
	width: 92%;/*【スマホでは、右端が欠けるので、９５％にする】*/
	width: calc(800px - 50px - 50px);/*【PCでは、画面の右端から50px左を右端とする】*/
	width: calc(800px - 50px);/*【PCでは、画面の右端から50px左を右端とする】*/
	width: calc(800px - 50px - 120px);/*【PCでは、画面の右端から50px左を右端とする】*/
	background:#000;
	border-radius: 5px;

	list-style: none;
	opacity: 0.5;
	opacity: 0.3;

	overflow-y: scroll;
	justify-content: center;
	align-items: center;
	transform: translateY(-100%);

	/*transition: all .60s ease-out;*/
	transition: opacity 1.0s ease-in,transform .6s ease-out;
	transition: opacity .9s ease-in,transform .4s ease-out;

}

.HamburgerSidebar::before {
	margin: 0px 0px 0px 0px;/*【順番に上、右、下、左の値】*/
	padding: 18px 0px 0px 25px;/*【順番に上、右、下、左の値】*/
	content: "メニュー一覧";
	position: absolute;
	top: 0;
	left: 0;
	height: 42px;
	width: 100%;
	font-size:24px;
	font-weight: bold;
	color: white;
	color: red;
	color: #CCF;
	background-color: black;
}

.HamburgerSidebar::after {
	margin: 0px 0px 0px 0px;/*【順番に上、右、下、左の値】*/
	padding: 22px 0px 0px 175px;/*【順番に上、右、下、左の値】*/
	content: "(下記のメニューをクリックしてください)";
	position: absolute;
	top: 0;
	left: 0;
/*	height: 40px;*/
/*	width: 100%;*/
	font-size:12px;
	color: white;
	/*background-color: black;*/
}

.HamburgerSidebar1 {
	background:#550;
	background: #460;
	border: 8px solid #00A;
}

.HamburgerSidebar2 {
	background:#060;
	border: 8px solid #808;
}

.HamburgerSidebar3,.HamburgerSidebar6,.HamburgerSidebar8 {
	background:#A00;
	background:#500;
	border: 8px solid #088;
}

.HamburgerSidebar4{
	background:#006;
	border: 8px solid #880;
}

.HamburgerSidebar5 {
	background:#505;
	border: 8px solid #0A0;
}

.HamburgerSidebar7,.HamburgerSidebar9 {
	background:#725;
	border: 8px solid #2A2;
}

.HamburgerSidebar a{
	text-decoration: none;
}

/* ============================================= */
/* ハンバーガーメニューの各項目の間に罫線を書く  */
/* ============================================= */
.HamburgerMenuBorder01{
	/*【順番に上、右、下、左の値】*/
	/*margin: 0px 0px 0px 0px !important;*/
	margin: 0px 0px 0px 0px;
	/*【順番に上、右、下、左の値】*/
	/*padding: 0px 0px 0px 0px !important;*/
	padding: 5px 0px 5px 0px;
	border-top: none;
	border-top: solid white 2px;
	border-right: solid white 2px;
	border-bottom: solid white 2px;
	border-right: none;
	border-left: solid white 0.5px;
	border-left: none;


}

/* ============================================= */
/* ハンバーガーメニューの各項目の設定            */
/* ============================================= */
.HamburgerMenu-link,.HamburgerMenu-linksub,.HamburgerMenu-link1,.HamburgerMenu-link2,.HamburgerMenu-link3,.HamburgerMenu-link4,.HamburgerMenu-link5,.HamburgerMenu-link6,.HamburgerMenu-link7,.HamburgerMenu-link8,.HamburgerMenu-link9 {
	margin: 0px 0px 3px 0px;/*【順番に上、右、下、左の値】*/
	padding: 0px 0px 1px 70px;/*【順番に上、右、下、左の値】*/
	padding: 0px 0px 1px 54px;/*【順番に上、右、下、左の値】*/
	color: white;
	font-size: 10vmin;
	font-size: 14px;
	line-height: 15vmin;
	line-height: 16px;
	line-height: 24px;
	-webkit-transition: all .25s ease-out;
	-webkit-transition: all .75s ease-out;
	transition: all .25s ease-out;
	transition: all .75s ease-out;

	display:flex;
	text-overflow: ellipsis;/* 要素がはみ出したときに「…」を付けてくれる。ただしこれだけでは効かず、改行させない「white-space: nowrap」と、はみ出した要素を隠す「overflow: hidden」をセットで使う */
	white-space: nowrap;
	overflow: hidden;

	border-top: none;
	border-bottom: solid #888 0.1px;
	border-right: none;
	border-left: none;

	/* 赤色の三角矢印３つを書く */
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100'><polygon points='130,15 130,85 190,50' fill='red' stroke='lightyellow' stroke-width='4'/><polygon points='160,15 160,85 220,50' fill='red' stroke='lightyellow' stroke-width='4'/><polygon points='190,15 190,85 250,50' fill='red' stroke='lightyellow' stroke-width='4'/></svg>");
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100'><polygon points='70,15 70,85 130,50' fill='red' stroke='lightyellow' stroke-width='4'/><polygon points='100,15 100,85 160,50' fill='red' stroke='lightyellow' stroke-width='4'/><polygon points='130,15 130,85 190,50' fill='red' stroke='lightyellow' stroke-width='4'/></svg>");
    background-repeat: no-repeat;

}


li:has(.HamburgerMenu-link),li:has(.HamburgerMenu-linksub),li:has(.HamburgerMenu-link1),li:has(.HamburgerMenu-link2),li:has(.HamburgerMenu-link3),li:has(.HamburgerMenu-link4),li:has(.HamburgerMenu-link5),li:has(.HamburgerMenu-link6),li:has(.HamburgerMenu-link7),li:has(.HamburgerMenu-link8),li:has(.HamburgerMenu-link9){
	margin: 0px 0px 0px 0px;/*【順番に上、右、下、左の値】*/
	padding: 0px 0px 0px 50px;/*番号「Ax」の横の位置*//*【順番に上、右、下、左の値】*/
	padding: 0px 0px 0px 0px;/*番号「Ax」の横の位置*//*【順番に上、右、下、左の値】*/
	list-style: none;
}


.HamburgerMenu-link:hover,.HamburgerMenu-linksub:hover,.HamburgerMenu-link1:hover,.HamburgerMenu-link2:hover,.HamburgerMenu-link3:hover,.HamburgerMenu-link4:hover,.HamburgerMenu-link5:hover,.HamburgerMenu-link6:hover,.HamburgerMenu-link7:hover,.HamburgerMenu-link8:hover,.HamburgerMenu-link9:hover {
	color: Gold;
	color: Yellow;
	transition: all .3s ease-out;

/*	background: linear-gradient(0deg, #F00 0%, #FAA 70%, #FAA 80%, #F00 100%);
*/


	/* 赤色の三角矢印３つと、背景のグラデーションは同時に書かないと一方が消えてしまう */
	background-image:  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100'><polygon points='130,15 130,85 190,50' fill='red' stroke='lightyellow' stroke-width='4'/><polygon points='160,15 160,85 220,50' fill='red' stroke='lightyellow' stroke-width='4'/><polygon points='190,15 190,85 250,50' fill='red' stroke='lightyellow' stroke-width='4'/></svg>"),linear-gradient(0deg, #F00 0%, #FAA 70%, #FAA 80%, #F00 100%);
	background-image:  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100'><polygon points='70,15 70,85 130,50' fill='red' stroke='lightyellow' stroke-width='4'/><polygon points='100,15 100,85 160,50' fill='red' stroke='lightyellow' stroke-width='4'/><polygon points='130,15 130,85 190,50' fill='red' stroke='lightyellow' stroke-width='4'/></svg>"),linear-gradient(0deg, #F00 0%, #FAA 70%, #FAA 80%, #F00 100%);
}
.HamburgerMenu-link:focus, .HamburgerMenu-link:active {
	color: Gold;
}

.HamburgerMenu-linksub {
	border-bottom: double #200 3.0px;
    background-repeat: no-repeat;
	background-color:#400;

	/* 赤色の三角矢印３つを書く */
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100'><polygon points='130,15 130,85 190,50' fill='yellow' stroke='blue' stroke-width='4'/><polygon points='160,15 160,85 220,50' fill='yellow' stroke='blue' stroke-width='4'/><polygon points='190,15 190,85 250,50' fill='yellow' stroke='blue' stroke-width='4'/></svg>");
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100'><polygon points='70,15 70,85 130,50' fill='yellow' stroke='blue' stroke-width='4'/><polygon points='100,15 100,85 160,50' fill='yellow' stroke='blue' stroke-width='4'/><polygon points='130,15 130,85 190,50' fill='yellow' stroke='blue' stroke-width='4'/></svg>");

}

.HamburgerMenu-link1 {
	border-bottom: solid #020 2.0px;
	border-bottom: double #020 3.0px;
}

.HamburgerMenu-link2 {
	border-bottom: solid #888 0.1px;
	border-bottom: double #020 3.0px;
}

.HamburgerMenu-link3,.HamburgerMenu-link6,.HamburgerMenu-link8 {
	border-bottom: solid #888 0.1px;
	border-bottom: double #200 3.0px;
	border-bottom: double #100 4.0px;
}

.HamburgerMenu-link4 {
	border-bottom: solid #888 0.1px;
	border-bottom: double #002 3.0px;
	border-bottom: solid #002 2.0px;
}

.HamburgerMenu-link5 {
	border-bottom: solid #888 0.1px;
	border-bottom: double #303 3.0px;
}

.HamburgerMenu-link7,.HamburgerMenu-link9 {
	border-bottom: solid #888 0.1px;
	border-bottom: double #303 3.0px;
}

.HamburgerInput-toggler:checked ~ .HamburgerSidebar {
	transform: translateY(0%);
	opacity: .98;
	opacity: .95;
}

/* ================================================================================ */
/* ハンバーガーメニューの本体と背景を定義する【終了】                               */
/* ================================================================================ */

/************************************************************************************/
/* アコーデオンメニュー(HamburgerGroupMenu)の定義【開始】                           */
/************************************************************************************/
/* ================================================================================ */
/* 【重要】【重要】【重要】【クラス名を変換中】【クラス名を変換中】【クラス名を変換中】*/
/* 【重要】HamburgerAccordion-002は、HamburgerGroupMenuに変換する                   */
/* 【重要】変換が完了したら、HamburgerAccordion-002は削除する                       */
/* ================================================================================ */

.HamburgerGroupMenu p,.HamburgerAccordion-002 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
/*    padding: 0 2em 1.5em;
*/
    margin: 0px 0px 0px 0px;/*【順番に上、右、下、左の値】*/
    padding: 4px 5px 4px 5px;/*【順番に上、右、下、左の値】*/
    padding: 4px 5px 4px 0px;/*【順番に上、右、下、左の値】*/
    color: #333333;
    transition: transform .5s, opacity .5s;
    transition: transform 2.0s, opacity 2.0s;
}

.HamburgerGroupMenu[open] p,.HamburgerAccordion-002[open] p {
    transform: none;
    opacity: 1;
}

.HamburgerGroupMenu,.HamburgerAccordion-002 {
    /* max-width: 500px; */
    margin-bottom: 7px;
/*    border: 2px solid #9139b1;
    border: 2px solid #F00;
*/
    border-top: 2px solid #F00;
    border-bottom: 2px solid #F00;
    border-left: 6px double #F00;
    border-right: 6px double #F00;
    border-radius: 25px;
    border-radius: 15px;
    border-radius: 5px;
}

.HamburgerGroupMenu summary:hover,.HamburgerAccordion-002 summary:hover{
	background-image:  linear-gradient(0deg, #F00 0%, #FAA 70%, #FAA 80%, #F00 100%);
}

.HamburgerGroupMenu summary,.HamburgerAccordion-002 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin: 0px 0px 0px 0px;/*【順番に上、右、下、左の値】*/
    padding: 1em 2em;
    padding: 4px 4px;
    padding: 4px 5px 4px 65px;/*【順番に上、右、下、左の値】*/
    padding: 4px 0px 4px 65px;/*【順番に上、右、下、左の値】*/
    padding: 4px 0px 4px 75px;/*【順番に上、右、下、左の値】*/
    padding: 4px 0px 4px 45px;/*【順番に上、右、下、左の値】*/

	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><circle cx='49' cy='51' r='47' fill='red'  stroke='lightyellow' stroke-width='4'/></svg>");
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><circle cx='45' cy='51' r='47' fill='yellow'  stroke='blue' stroke-width='4'/></svg>");
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><circle cx='60' cy='51' r='44' fill='yellow'  stroke='blue' stroke-width='4'/></svg>");

    background-position: right calc(2em - 7px) center;
    background-position: left calc(2em - 7px) center;
    background-position: left calc(2em - 29px) center;
    background-size: 22px;
    background-size: auto;
    background-repeat: no-repeat;
    color: #9139b1;
    color: #FF0;
    background-color: #400;
    border-radius: 15px;
    border-radius: 5px;
    font-size: 16px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}

.HamburgerGroupMenu summary::-webkit-details-marker,.HamburgerAccordion-002 summary::-webkit-details-marker {
    display: none;
}

.HamburgerGroupMenu summary::before,.HamburgerAccordion-002 summary::before,
.HamburgerGroupMenu summary::after,.HamburgerAccordion-002 summary::after {
    position: absolute;
    right: 0;
    left: calc(2em + 1.5px);
    left: calc(2em + 2.0px);
    left: calc(2em + 6.0px);
    left: calc(2em - 11.0px);
    width: 3px;
    width: 3px;
    height: 10px;
    height: 14px;
    height: 16px;
    border-radius: 5px;
    background-color: #FFF;
    background-color: #000;
    content: '';
}

.HamburgerGroupMenu summary::before,.HamburgerAccordion-002 summary::before {
    rotate: 90deg;
}

.HamburgerGroupMenu summary::after,.HamburgerAccordion-002 summary::after {
    transition: rotate .3s;
    transition: rotate .6s;
}

.HamburgerGroupMenu[open] summary::after,.HamburgerAccordion-002[open] summary::after {
    rotate: 90deg;
}


/* ================================================================================ */
/* アコーデオンメニューの定義【終了】                                               */
/* ================================================================================ */


/************************************************************************************/
/*【スマホ用の設定】【スマホ用の設定】【スマホ用の設定】【スマホ用の設定】          */
/*【スマホ用の設定】【スマホ用の設定】【スマホ用の設定】【スマホ用の設定】          */
/*【スマホ用の設定】【スマホ用の設定】【スマホ用の設定】【スマホ用の設定】          */
/************************************************************************************/
/*【スマホ用の設定】スクリーン・サイズが640pixel以下の場合                          */
/************************************************************************************/
/*570pxの理由は、Xpedia ZやGalaxy 4Sが360px × 568pxのため、横でもスマホ用にするため。*/
@media screen and (max-width: 640px) {


/************************************************************************************/
/* 【共通部分の置き換え】【スマホ用だけの設定】【開始】                             */
/************************************************************************************/

/* ハンバーガーメニューのボタンを指定する */
.HamburgerMenu-toggler{
	left: auto;
	right: 0px;
}

/* ハンバーガーメニューの背景を指定する */
.HamburgerSidebar {
	margin: 0px 0px 0px 0px;/*【順番に上、右、下、左の値】*/
	width: 92%;/*【スマホでは、右端が欠けるので、９５％にする】*/
}

.HamburgerSidebar::before {
	padding: 18px 0px 0px 15px;/*【順番に上、右、下、左の値】*/
	font-size:16px;
}

.HamburgerSidebar::after {
	font-size:10px;
	padding: 21px 0px 0px 115px;/*【順番に上、右、下、左の値】*/
}

/* ================================================================================ */
/* スマホのみの設定【スマホ用の設定】【終了】                                       */
/* ================================================================================ */

}


