@charset "utf-8";

/*全体設定↓
-------------------------------*/
html{
	-webkit-box-sizing: border-box;/*ボタン用*/
  box-sizing: border-box;/*ボタン用*/
  scroll-behavior: smooth;/*上に戻るボタン用*/
  font-size: 1.4vw; /* フォントサイズ */
}

/*	ボディ
---------------------------------------*/
body{
  background: #000000 url(../images/bg1.png) no-repeat top center  /100%;/*背景画像*/
  background-attachment: fixed;
  color: #ffc55d;	/*全体の文字色*/
  font-family: 'メイリオ', Meiryo,'ヒラギノ角ゴシック','Hiragino Sans','Calibri','Andale Mono',sans-serif;
  overflow-wrap: anywhere;/*文字の折り返し*/
}
h1{
  font-size: 2.3em;
  width: 23ch;
  animation: typing 3s steps(23), effect .5s step-end infinite alternate;
  white-space: nowrap;
  overflow: hidden;
  border-right: 3px solid;
}
 
@keyframes typing {
  from {
    width: 0
  }
}
    
@keyframes effect {
  50% {
    border-color: transparent
  }
}
}
p{
 font-size: 1.15em;
}
a{
  color: #f6ad49;
  text-shadow: 0 0 4px #ec6800, 0 0 10px #fff, 0 0 18px #fff; 
  font-size:1.24em;
  text-decoration: none;
  line-height: 1.4;

}
a:hover{
  color: #fff;
  text-shadow: 0 0 6px #eb6101, 0 0 12px #eb6101, 0 0 20px #eb6101; 
}
/*---------------googlefont-----------------------*/
.wdxl-lubrifont-jp-n-regular {
  font-family: "WDXL Lubrifont JP N", sans-serif;
  font-weight: 400;
  font-style: normal;
}


/* スマホサイズ場合に文字サイズを調整 */

@media screen and (max-width: 960px) {
html{
		font-size: 2.5vw;
	}
body{
		font-size: 1.2em;
		line-height: 1.7;
	}
	h1{
	font-size: 1.7rem;
	width: 75%;
	animation: none;
	min-width: 0;
	}
	h2,h3,h4{
	min-width: 0;
	}

	p{
	font-size: 1.5rem;
	}
	a {
	font-size: 1.55rem;
	line-height: 1.7;
  text-shadow: 0 0 4px #ec6800, 0 0 7px #e2c5a4, 0 0 10px #e2c5a4; 

	}
}
/*------------共通ここまで↑-------------------*/

/*全体枠*/

#container {
  max-width: 1000px;
  margin: 0 auto 120px;/*上、左右、下*/
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  background: url(../images/hexsaback2.png) repeat-y right /28%;
  background-attachment: fixed;
  background-color: rgba(0,0,0,0.7);

}
/*404用*/
#container_missing {
 max-width: 1000px;
  margin: 0 auto 120px;/*上、左右、下*/
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  background: url("../images/hexsaback-renovation.png") repeat-y right /28%;
  background-attachment: fixed;
  background-color: rgba(0,0,0,0.7);
	
}
/*=======↑工事中背景画像付404用===============*/
#container h1{
  background-color : rgba(0,0,0,0.9);/*アルファ透過指定*/
   color: #e59b38;
   font-weight: 800;
  text-decoration: none;
  vertical-align: bottom;
  padding-top: 10px;
  padding-bottom: 0;
  padding-left: 0.4em;
  border-right: 5px double #ffa400;
  border-bottom: 2px dashed #ffa400;
}
#container h2{
	font-size: 1.4em;
	 border-bottom: 2px solid #693d02;/* #f8f4e6(象牙色)*/
    background: url("../images/boder4.png") no-repeat right bottom /60%;
	}
#container h3{
	margin-left: 5%;
	margin-bottom: 2em;
	font-size: 1.3em;
	min-width: 700px;
	max-width: 900px;
}
#container p{
	margin: 0 3em;
	paddin: 3em 20px;
	display:inline-block;
	line-height: 1.48;
}

#container p+img{
	display: inline-block;
	vertical-align: top;
	}
#container #main h2+p {
	background-image: none;
}
/*======================
	スマホ閲覧時用推奨文
=================*/
#mobilephone-text {
	display: none;
	}
/*==============スマホ用960px以下設定====================*/

@media screen and (max-width: 960px) {
			#container{
					max-width: 100%;
					container-type: inline-size;
					margin-left: 0;
					margin-right: 0;
					margin-top: 120px;
			}
			#container h1{
					max-width: 90%;
					min-width: 0;
					font-size: 6cqh;
					overflow: hidden;
			}
			#container h2{
					font-size: 1.3em;
					max-width: 90%;
					min-width: 0;
			}
			#container h3{
					font-size: 1.26em;
					min-width: 0;
			}
			#container p{
			max-width: 90%;
			margin-left: 0;
			margin-right: 0;
			padding-left: 10px;
			padding-right: 10px;
			}
			
			#mobilephone-text{
			display: block;
			font-size: medium;
			color: #e4f47a;
			}
	}
/*
	↑スマホ用設定==================*/
/*====================----------------
			#main　メイン
====================================*/
#main {
	background: url("../images/border2.png") no-repeat bottom center /40%;
	padding-left: 1em;
	padding-right: 1em;
	padding-bottom: 50px;
	margin-bottom: 13%;
	width: 100%;

}
#main h2{
  margin-left:1em;
  padding-left:12px;
  color: #f6ad49; 
  max-width: 800px;
  border-bottom: 3px solid #9d896c;/* #f8f4e6(象牙色) #9d896c(空五倍子色 うつぶしいろ)*/
}
#main h3{
	width: 80%;
	margin-left: 5%;
	margin-right: 10%;
	font-weight: 100;
	border-bottom: 4px double #ffc45c;/*下線　二重線*/
}
#main h2+h3{
	margin-bottom: 1em;;
}
#main p{
	margin-bottom: 2.7em;

}

#title h2+p{
	background-image: none;
}
/*====(使わない？)
	background-color : rgba(247,185,119,0.55);  ------------#f7b977 (杏色)アルファ透過
	text-shadow: 0 0 4px #ec6800, 0 0 10px #fff, 0 0 18px #fff;  -------テキストぼかし効果
===============*/
/*==============h1,h2要素スマホ用960px以下設定====================*/

@media screen and (max-width: 960px) {
			#main {
					width: clac(100% -5px);
					margin-left: 0;
					margin-right: 5px;
					padding-left: 5px;
					padding-right: 0;
					padding-bottom: 2em;
					background: url(../images/border2.png) no-repeat bottom center /70%;
				}
			#main h2{
					max-width: 90%;
					margin-left: 0;
					margin-right: 0;
					overflow: hidden;
					background: url("../images/boder4.png") no-repeat left bottom /90%;
					min-width: 0;/*画面幅飛び出し防止*/	
			}
			#main h3{
					max-width: 100%;
					margin-left: 0;
					margin-right: 0;
					min-width: 0;/*画面幅飛び出し防止*/
			}
			#main p{
					padding-left: 10px;
					padding-right: 10px;
					margin-left: 0;
					margin-right: 0;
			}
}
/*
===================↑h1,h2,h3スマホ用設定===========*/

/*==============================================
	メイン画像余白と最大・最小幅指定
--------------------------------*/
.mainvisuale {
			width: 100%;
			height: auto;
			margin: 0 auto;
	}
	
#main img{
	margin-left: 0;
	margin-right: 1em;
	margin-bottom: 1em;
	width: 40%;
	height: auto;
	max-width: 300px;
	max-height: 300px;
	float: left;
}
/*--------------------------------
	メイン画像スマホ設定
--------------------------------*/
@media screen and (max-width: 960px) {
			#main img{			/* 単位 vw で画面サイズ基準*/
					display: inline-block;
					max-width: 50%;					
					margin-top: 1em;
					margin-bottom: 1.1em;
					margin-left: 0;
					margin-right: 10px;
					clear: both;
			}
			#main img+p{
				display: inline-block;
				vertical-align: top;
			}
			 #main .clear-set{
 		clear: both;
 			}
 		.mainvisuale{
 			width: 95%;
 			max-width: 700px;
 			margin: 10px 0;
 		}
}
/* ===========メインここまで↑============= */
/*-------------------テキスト　装飾系-----------------*/
.right {
	text-align: right;/*テキスト右寄り用*/
	padding-right: 1em;
}

/*------===============引用ブロック装飾==================*/
q{
	quotes: none;
	border-bottom: 2px dotted;
	line-height: 1.2;
	}
figure{
	position:relative;
	color: #ffebc7;
	background:rgba(0,0,0,0.5) ;
	background-image: linear-gradient(94deg, #ffe8c1, #ffaf30 1%, #000000 5%);/*背景グラデーション*/
	border: solid 1px #f8f4e6;
	text-shadow: 0 0 6px #a86c12, 0 0 12px #eb6101, 0 0 20px #a86c12; /*文字装飾*/
	margin: 2em 1.5em 2em;
	padding-left:  5%;
	padding-top: 2em;
	padding-bottom: 2em;
	padding-right: 3%;
	border: solid 2px #ffe6aa;
	border-radius: 20px;
	min-height: 100px;
	min-width: 90%;
	z-index: 1;
}

figure:before{ /*引用クォーテーション用*/
    position:absolute;
    left:45%;
    top:-24px;
    background-color: #000000;
    color: #ffbc50;
    border:2px solid #f8f4e6;
    box-sizing:border-box;
    font-family:'FontAwesome';
    content:'\f10e';
    line-height:1;
    padding-top:12px;
    text-align:center;
    width:48px;
    height:48px;
    font-size:20px;
    border-radius:24px;
}
/*--============
	figure,figcaption,blockqoute以下の装飾設定は
	
	gears.css ファイルの方へ
===================-----------*/
/*------------------個人的考察コメント----------------------*/
.coment{
	min-height: 95px;
	max-width: 85%;
	border-left: solid 2px #ea9702;
	border-top: solid 1px #ea9702;
	border-radius: 10% 30%;
	color: #d89542;
	font-size: 1em;/*文字サイズ*/
	font-family: font-family: 'Yu Gothic UI','ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','Osaka','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',serif;
	line-height: 1.3;
	margin: 2em 10% 10px 0;
	padding-left: 12%;
	padding-right: 2em;
	padding-bottom: 1em;
	padding-top: 5px;
	background-color: #000000;
	background: url("../images/kousatu.png") no-repeat left top/10% ;/*個人的考察背景画像指定*/
	min-width: 0;
}
/*--------------------UPdata欄-------------------------------*/
#update{
	width: 90%;
	margin: 0 auto 30px;
	padding: 15px 10px;
	height: 100px;
	overflow: auto;
}
#update ul,li{
	list-style: none;
}
#update li{
	line-height: 2em;
}
/*---------スマホ用-----------*/
@media and screen (max-width: 960px){
	#update{
		height: 80px;
		}
	}
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*===============================
		サブブロック全体↓
--------------------------------*/
#sub-box{
	width: 95%;
  margin: 50px auto;
  padding-top: ;
  
	}

.caution1 h2{
	min-width: 0;
	width: 100%;
	max-width: 800px;
	height: 2em;
	margin-left:1em;
	margin-top: 12%;
	padding-left:1em;
	font-size: 1.7em;
	color: #f7b977; 
	 border-left: 10px solid #f8f4e6;/* #f8f4e6(象牙色)*/
	}

/*==================
		注意事項
================*/
.caution1{
	width: 50%;
	 margin-top: 2em;
	 margin-bottom: 4em;
 	float: left;
 	}

.caution p{
 margin: 50px 30px;
}
/*---------
注意事項多国語版画像
------------------*/
.caution2 {
 width: 45%;
  float: left;
}
.caution2 img{
  margin: 200px 10px;
  max-width: 360px;
  min-width: 100px;
 background-color: rgba(0,0,0,0.65);
 border: none;
  
}
/*================================
	 ↓caution1　スマホ用
---------------------------------*/
@media screen and (max-width: 960px) {
	#sub-box{
			width: 95%;
			margin: 10px 0;
	}
	#sub-box h2{
			min-width: 0;
	}
	.caution1{
 				margin-top: 2em;
 				margin-bottom: 2em;
 				width: 100%;
	}
	.caution2 {
			width: 100%;
			min-width: 0;
	}
	.caution2 img{
			margin: 35px 0;
			width: 100%;
			max-width: 100%;
	
	}
}
/*↑ caution スマホ用
-------------------------------*/
/*　ゲーム著作権表記
------------------------------*/
.soft-copyright{
  font-size: 0.8em;
  margin-top: 5em;
  padding: 40px 5px;
 background: linear-gradient(0deg, #000000, 98%, #f7ad53 );/*背景グラデーション*/
 border-top: solid 1px #f8f4e6;
  clear: left;
  width: 100%;
  min-height: 400px;
  }
.soft-copyright img{
	max-width: 800px;
	object-fit: cover;
}
@media screen and (max-width: 960px){
	.soft-copyright{
			width: 95%;
			max-width: 700px;
			margin: 20px 0 5px;
	}
	.soft-copyright img{
			width: 100%;
			margin: 0;
			height: auto;
	}
}
/*-----------使用環境---------------*/
.browsercheck{
	font-size: 0.82em;
	margin-top: 3em;
	background-color: #000000;
	border-top: solid 1px #f8f4e6;
	font-weight: 100;
	clear: both;/*フロート解除*/
}
/*=================================
	フッターメニュー↓
----------------------------*/
html footer {
		background-color: #402f02;
		text-align: center;
}
/*=========================
	SNSアイコン
----------------------*/

#sns{
	font-size: small;
	padding: 0;
	width: 400px;
	margin: 0 auto;
	justify-content: center;
}
#sns ul{
		width: fit-content;
	height: 42px;
	display: flex;

}

#sns li{
	height: 45px;
	margin: 0;
	background-color: #000000;
	border-radius: 50%;
	flex: auto;
	list-style: none;
	width: fit-content;

}

#sns a:hover{
	opacity: 0.7;
}

#sns img{
	width: 100%;
	height: auto;
}
	
/*=========
スマホ用
========================*/
@media screen and (max-width: 960px) {
		#sns {
			width: 90%;
			margin: 0 10px;	
			}
		#sns ul{
			height: 140px;
			}
		#sns li{
			width: 90px;
			margin-left: 10px;
		
		}
		#sns img{
		object-fit: contain;
		height: auto;
		}
}

/*--------------------*/

#copy{
 border-top: solid 1px #555;
  color: #f6ad49;
  font-size: 0.8em;
  margin: 2em 3em;
  padding-top: 0.8em;
 
}
#copy img{
  max-height:34px;
  margin: 0 1em;
}

/*=======================

	フッター スマホ用設定
============================*/
@media screen and (max-width: 960px) {
			 fotter{
				max-width: 100%;
				 font-size: clamp(16px, 1.8vw, 20px);
			}
}

/*　フッタースマホここまで
-----------------------------*/
/*ページトップ矢印設定↓
-----------------------------*/
#page-top a{
  background:#1c1816;
  color:#fff;
  text-align: center;
  display: block;
  text-decoration: none;
  padding:7px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.8rem;
  transition: all 0.3s;
}
	#page-top img{
      height:45px;
    }
#page-top a:hover{
  background: #8d5227;
}
/*==============/ページトップ矢印↑===============*/

/*辞典入口 ↓
---------------------------*/
.enter{
margin: 3em auto;/*上下、左右*/
text-align: center;
}


/*　入口ボタンデザイン
------------------------------------*/
.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}
.btn--orange,
a.btn--orange {
  color: #fff;
  background-color: #d8a373;
}
.btn--orange:hover,
a.btn--orange:hover {
  color: #fff;
  background:  #eec362;/*玉蜀黍色*/
}
/*=======
　ボタン　スマホ設定
==================*/
@media screen and (max-width: 960px) {
					.btn,
					a.btn,
					button.btn{
						max-width: 90%;
						padding: 0.7em;
						font-size: 1.4em;
						min-width: 0;
			}
}

/*-----------------------------------
	ヘッダー　メニュー
------------------------------------*/
.c-header {
  align-items: center;
  background-color: #120b01; /* 背景色 */
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  padding: 1rem 2rem; /* 余白 */
 z-index: 2;
   
}

.c-header__logo {
  color: #f39800; /* 文字色 */
  min-width: 80px; /* 最小幅 */
  text-decoration: none;
  
}

.c-header__list {
  box-sizing: border-box;
  display: flex;
  margin: 0;
  padding: 0;
  
}

.c-header__list-item {
  list-style: none;
}

.c-header__list-link {
  color: #fff; /*文字色*/
  font-size: 1.5em;/*文字サイズ*/
  display: block;
  margin-right: 20px; /* 右端位置 */
  text-decoration: none;
  padding: 10px 0; /* 余白 */
  text-shadow: 0 0 4px #fff, 0 0 10px #ec6800, 0 0 18px #ec6800; 

　
}

.c-header__list-link:hover {
  filter: opacity(0.6); /* カスタマイズ可 */
}

.c-hamburger-menu {
  position: relative;
}
/*================
ハンバーガーメニュースマホ用スタイル設定
======================*/
@media screen and (max-width: 960px) {
	.c-header {		/*追加上部設置*/
		position: fixed;
		top: 0;
		right: 0px;
		width: 100%;
	}
  .c-hamburger-menu__list {
    background-color: #333; /* 背景色 */
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    left: 0;
    padding: 2rem; 
    position: absolute;
    transform: translateX(-100%);
    transition: 0.3s; /* 変化 */
    top: 100%;
    width: 100%;
  }
  .c-header__logo img{
 	min-width: 50%;
}

  #hamburger:checked ~ .c-hamburger-menu__list {
    transform: translateX(0%);
    transition: 0.3s;
  }
}

.c-hamburger-menu__input {
  display: none;
}

.c-hamburger-menu__bg {
  background-color: #000; /* 背景色 */
  cursor: pointer;
  display: none;
  height: 100vh;
  left: 0;
  opacity: 0.4; /* 透過 */
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

#hamburger:checked ~ .c-hamburger-menu__bg {
  display: block;
}

.c-hamburger-menu__button {
  display: none;
}

@media screen and (max-width: 960px) {
  .c-hamburger-menu__button {
    align-items: center;
    appearance: none;
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 5px; /* カスタマイズしてください */
    height: 50px; /* 高さ */
    justify-content: center;
    width: 50px; /* 幅 */
  }
}

.c-hamburger-menu__button-mark {
  background-color: #f8b862; /* ボタン背景 */
  display: block;
  height: 4px; /* 高さ */
  transition: 0.3s; /* 変化 */
  width: 45px; /* 幅 */
  text-shadow: 0 0 4px #fff, 0 0 10px #fde8d0, 0 0 18px #fde8d0; 
}
@media screen and (max-width: 960px) {
  #hamburger:checked ~ .c-hamburger-menu__button .c-hamburger-menu__button-mark:nth-of-type(1) {
    transform: translate(1px, 1px) rotate(45deg); /* 傾きと長さ */
    transform-origin: 0%; /* カスタマイズしてください */
  }
  #hamburger:checked ~ .c-hamburger-menu__button .c-hamburger-menu__button-mark:nth-of-type(2) {
    opacity: 0;
  }
  #hamburger:checked ~ .c-hamburger-menu__button .c-hamburger-menu__button-mark:nth-of-type(3) {
    transform: translate(3px, 14px) rotate(-45deg); /* 傾きと長さ */
    transform-origin: 0%; /* カスタマイズしてください */
  }
}
/*-------------------------------*/
/*=====TOPに戻る　下追加======*/
li.c-header__list-item:last-child{
	display: none;
 }

@media screen and (max-width: 960px){
	li.c-header__list-item:last-child{
				display: block;
			}
	}
