@charset "utf-8";

/*共通*/


body{
  font-family: 'M PLUS 1p', sans-serif; 
  position: relative;
  height: 100svh;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.container{
  width: 90%;
  padding: 30vh 10px 100px;
  margin-left: auto;
  margin-right: auto;
  background-color: #ccc;
}
.inner{
  display: flex;
  flex-wrap: wrap;
}

img {
  /* 画像が親要素よりも大きくなるのを防ぐ */
  max-width: 100%;
}


/*基本のリンク設定*/
a {
  text-decoration: none;
  color: #444444;
}

a :visited {
  color: #999999;
}


/*リンクをホバーで拡大*/
.link-ex{
  display: inline-block;
  padding: 5px;
  transition: .3s;
  color: #2FC5B9;
  font-weight: 600;
}
.link-ex:hover {
  transform: scale(1.1);/*1.1倍大きく*/
}

/*リンクにホバーで下線*/

.link-l {
  position: relative;
  display: inline-block;
  transition: .3s;
  color: #444444;
  text-decoration: none;/*元々のアンダーラインを非表示にしておく*/
}
.link-l::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #444444;
  transition: .3s;
}
.link-l:hover::after {
  width: 100%;
}

/*色付き*/
.link-lg {
  position: relative;
  display: inline-block;
  transition: .3s;
  color: #2FC5B9;
  text-decoration: none;/*元々のアンダーラインを非表示にしておく*/
  font-weight: 500;
}
.link-lg::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #2FC5B9;
  transition: .3s;
}
.link-lg:hover::after {
  width: 100%;
}


.link-lo {
  position: relative;
  display: inline-block;
  transition: .3s;
  color: #FF9F1D;
  text-decoration: none;/*元々のアンダーラインを非表示にしておく*/
  font-weight: 500;
}
.link-lo::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #FF9F1D;
  transition: .3s;
}
.link-lo:hover::after {
  width: 100%;
}

/*spanで文字をいじる*/
.small{
  font-size: 0.7rem;
}
.bold{
  font-weight: bold;
}

/*文字色*/
.gr{
  color: #2FC5B9;
}

.or{
  color: #FF9F1D;
}


/*自作svgを使う時用*/
.svg-gray{
  width: 1em;
  height: 1em;
  fill: #444444;
  stroke: #444444;
  margin-right: 5px;
}


/*左下バナー*/
#home-ba{
  position: fixed;
  bottom:20vh;
  width: 35vw;
  max-width: 220px;
  transition:0.2s;
}

#home-ba:hover {
  filter: brightness(110%);
}

#home-ba:active{
  bottom: 19vh;
}


/*下部ナビ*/
.bottom-menu {
  z-index: 10;
  position: fixed;
  bottom: 5px;
  display: flex;
  justify-content: space-around;
  width: 90%;
  left: 30px;
}

.bottom-menu ul.b-menu-list {
  position: absolute;
  bottom: 0;
  display: flex;
  margin: 5px 0 0 0;
  list-style: none;
}


.bottom-menu .b-menu {
  position: relative;
  bottom: 0;
  display: flex;
  transition: all 100ms cubic-bezier(0.42, 0, 0.58, 1);
}

.bottom-menu .b-menu a {
  text-decoration: none;
  text-align: center;
  color: #444444;
  font-size: 8px;
  height: 30vh; /*ボタンの高さ*/
  max-height: 70px;
  width: 16vw; /*ボタンの幅*/
  max-width: 80px; /*PC表示時にこれ以上大きくならない*/
  background: white;
  border-radius: 10px 10px 0 0;
  box-shadow: 0px 0px 0 1px #444444;
}


/* hover時の動きの設定 */
.bottom-menu .b-menu:hover {
  bottom: -10px;
}

/*現在地*/
.now{
  cursor: default;
}



/*戻るボタン*/
.bottom-index-back {
  z-index: 15;
  position: fixed;
  bottom: 0;
}

.bottom-index-back .b-menu {
  position: relative;
  bottom: 0;
  display: flex;
  transition: all 100ms cubic-bezier(0.42, 0, 0.58, 1);
}

.bottom-index-back .b-menu a {
  justify-content: center;
  text-decoration: none;
  text-align: center;
  color: #444444;
  font-size: 13px;
  width: 40px;
  height: 60px;
  margin: 0 5px 0 0;
  padding: 15px 10px;
  border-radius: 10px 10px 0 0;
  background: white;
  box-shadow: 0 0 0 1px #444444;
}

.bottom-index-back .b-menu::before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: '\f060';
  font-weight: 900;
  bottom: 70px;
  left: 20px;
  pointer-events: none;
}


/* hover時の動きの設定 */
.bottom-index-back .b-menu:hover {
  bottom: 10px;
}


/*フッター*/
footer{
  background:white;
  width: 100%;
  height: 15px;
  z-index: 15;
  position: fixed;
  bottom: 0;
}

footer p{
color: #444444;
font-size: 10px;
text-align: center;
margin: 0;
}



/*インデックス*/
#index{
  position: relative;
  text-align: center;
  max-width: 960px;
  margin: 0 auto;
}

.caution{
  width: 80%;
  max-width: 450px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  color: #444444;
}

.caution p{
  font-size: 0.9rem;
}

.caution ul {
  padding:0;
  list-style-type:none;
}
.caution ul li {
  position:relative;
  padding: 0 0 0 25px;
  font-size: 0.8rem;
}
.caution ul li:before {
  position:absolute;
  top: 0;
  left: 0;
  content:'';
  display:block;
  height: 15px;
  width: 15px;
  background: #999999;
  border-radius: 2px;
  clip-path: polygon(80% 0, 100% 0, 100% 100%, 50% 100%, 50% 80%, 80% 80%);
  transform: rotate(45deg);
}

.caution ul li strong{
  border-bottom: 1px solid #444444;
  margin: auto .4em;
}

.enter{
  padding: 0.5em;
  margin: auto;
  background: linear-gradient(to right, #fff 0%, #454e70 30%, #454e70 70%, #fff 100%);
  color: #fff;
  font-size: 1.2rem;
  cursor: pointer;
}

.enter a{
  text-decoration: none;
  color: #FFFFFF;
  padding: 0.5em 0;
  transition: 0.5s;
}

.enter a:hover{
  color: #999999;
}



/*ホーム*/

.big-bg {
  /* 画像の縦横比を保ったまま表示領域いっぱいに広げる */
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}



#home {
  /* 背景画像の指定 */
  background-image: url(../img/layout/BG.png);
  /* bodyの高さで終わらないように、ブラウザの高さいっぱいに広げる */
  min-height: 100svh;
  }

  /* スマホ */
  @media (max-width: 425px) {
  #home {
   /* 背景画像の指定 */
   background-image: url(../img/layout/BG_m.png);
   /* bodyの高さで終わらないように、ブラウザの高さいっぱいに広げる */
   min-height: 100svh;
  }
  }



#home .page-title {
  text-transform: none;
}

/*いいねボタン*/
.iine-home{
  position: absolute;
  bottom: 100px;
  left: 50%;
  transform: translateX(-50%);
}


/*ヘッダー*/
header.headhome{
	position: relative;
	height: 150px;
	background: #444444;
}
header.headhome ::after {
	position: absolute;
	bottom: -100px;
	display: block;
	width: 100%;
	height: 100px;
	content: '';
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon fill='%23444444' points='0,0 0,100 100,0'%3E%3C/polygon%3E%3C/svg%3E");
}
	/* ↑[fill='%2380deea']部分がカラー指定,[80deea]部分を変更 */
	/* svgファイルを外部読み込みする場合は下記を[ファイル名.svg]として保存してurl(ファイル名.svg)で指定 */
	/* <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none">
	<polygon fill="#80deea" points="0,0 0,100 100,0"></polygon>
	</svg>*/


/*左上の円*/
header .circle{
  display: inline-block;
  width: 180px;
  height: 150px;
  border-bottom-right-radius: 100%;
  border-top: 30%;
  background: white;
  text-align:left;
}

/*サイト名*/
header.headhome h1{
  margin-top: 5px;
  font-size: 20px;
  color: #444444;
}

header.headhome h1::before{
  font-family: "Font Awesome 5 Free";
  content: '\f7a5';
  font-weight: 900;
  color: #2FC5B9;
  padding-left: 3px;
}

/*SNSアイコン*/
header.headhome a{
  font-size: 30px;
  color:#2FC5B9;
  transition: color 0.3s ease 0s; /*色をふわっと変化させる*/
  text-indent: 10px;
}

header.headhome a:hover{
  color:#ccc; /*ホバー時の色*/
}


/*ヘッダー右側メッセージ欄*/
.top-comment{
  position: absolute;
  z-index: 5;
  top: 10px;
  right:5%;
  width: 45vw;
  max-width: 450px; /*PCで表示時にこれ以上大きくならない*/
  height: 120px;
  background: white;
  border-radius: 10px;
}

/*文字の設定*/
.top-comment p{
  color: #444444;
  padding: 0 10px;
  font-size: 12px;
  line-height: 1.2;
}

/*最終更新日*/
.last-updated{
  color:#fff;
  margin-bottom: 0.2rem;
  padding: 0.2rem;
  width: 100px;
  border-left: 10px solid #FF9F1D;
  background-color: #444444;
  font-weight: bold;
  font-size: 12px;
}

/*最終更新日のあとに絵文字*/
.last-updated::after{
  color: #FF9F1D;
  vertical-align:5px;
  margin-left: 5px;
  font-family: "Font Awesome 5 Free";
  content: '\f5bc';
  font-weight: 900;
}

/*ゲージ風の装飾*/
.gauge{
  position: absolute;
  z-index: 5;
  pointer-events: none; 
  width: 120px;
  height: 100px;
  border-bottom-right-radius: 100%;
  border-top: 30%;
  border-right:solid 40px;
  border-bottom: solid 40px;
  border-color: #2FC5B9;
  text-align:left;
}


/*ゲージ内の文字*/
.counter {
  position: absolute;
  top:85px;
  z-index: 10;
  padding: 10px;
  font-size: 10px;
  color: white;
  line-height: 0.5;
}







/*モーダルウィンドウ*/
/*アバウト*/
#DIALOG1 {
	/* ウインドの大きさに連動して可変サイズ。*/
	width: 85%;
	min-width: 250px;
  max-width: 800px;
	height: 70%;
	min-height: 180px;
  color: #444444;

	box-sizing: border-box;
	overflow: hidden;

	/* DIALOG1 は自動的に画面中央に配置されます。 */

	padding: 0.7em;
	background: #fff;
	border: 2px solid #fff;
	border-radius: 15px;           /* 角を丸くする */
	box-shadow: 1px 1px 5px #444444;  /* 影を付ける */
	text-align: center;
}

/*無理やり自動フォーカスを止めるための透明a要素*/
#DIALOG1 .op{
  opacity: 0;
}

#DIALOG1 div {
	margin: 1em 0 0 0;
  padding: 0 5px;

	height: calc( 100% - 70px );   /* ウインドの高さに連動して可変サイズ。固定サイズのタグの高さを適当に引く。 */
	overflow: auto;                /* 高さが小さい場合はスクロールバーを表示する。*/

	font-size: 0.8rem;
	text-align: center;
	line-height: 1.8;

  background: #EAEAEA;
}

#DIALOG1 .close {
  /* 閉じるボタン */
	appearance: none;

	/* absolute で dialog の右上に配置する。 */
	position: absolute;

	/* 位置は適当に調整する。 
	   popover の場合は #DIALOG1 がトップレイヤーに配置される点に注意。
	   閉じるボタンが dialog の外側にはみだすとクリップされます。
	 */
	right: 0.1em;
	top: 0.2em;

	width: 2em;
	height: 2em;
	padding: 0;

	/* テキストを button タグに対して上下左右中央に配置する。 */
	display: flex;
	align-items: center;
	justify-content: center;

	font-weight: bold;
	background: #444444;
	color: #fff;
	border: 1px solid #444444;
	border-radius: 1em;
}

#DIALOG1 .close:hover {
	cursor: pointer;               /* マウスカーソルを指先表示にする。*/
}

#DIALOG1 h5{
  font-size: 12px;
  margin-bottom: 5px;
}

#DIALOG1 h6{
  font-size: 12px;
  margin-top: 50px;
  margin-bottom: 0;
}

/*更新履歴*/
#DIALOG2 {
	/* ウインドの大きさに連動して可変サイズ。*/
	width: 85%;
	min-width: 250px;
  max-width: 800px;
	height: 70%;
	min-height: 180px;
  color: #444444;

	box-sizing: border-box;
	overflow: hidden;

	/* DIALOG1 は自動的に画面中央に配置されます。 */

	padding: 0.7em;
	background: #fff;
	border: 2px solid #fff;
	border-radius: 15px;           /* 角を丸くする */
	box-shadow: 1px 1px 5px #444444;  /* 影を付ける */
	text-align: center;
}

#DIALOG2 div {
	margin: 1em 0 0 0;

	height: calc( 100% - 70px );   /* ウインドの高さに連動して可変サイズ。固定サイズのタグの高さを適当に引く。 */
	overflow: auto;                /* 高さが小さい場合はスクロールバーを表示する。*/

	font-size: 0.875rem;
	text-align: center;
	line-height: 2;

  background: #EAEAEA;
}

#DIALOG2 .close {
  /* 閉じるボタン */
	appearance: none;

	/* absolute で dialog の右上に配置する。 */
	position: absolute;

	/* 位置は適当に調整する。 
	   popover の場合は #DIALOG1 がトップレイヤーに配置される点に注意。
	   閉じるボタンが dialog の外側にはみだすとクリップされます。
	 */
	right: 0.1em;
	top: 0.2em;

	width: 2em;
	height: 2em;
	padding: 0;

	/* テキストを button タグに対して上下左右中央に配置する。 */
	display: flex;
	align-items: center;
	justify-content: center;

	font-weight: bold;
	background: #444444;
	color: #fff;
	border: 1px solid #444444;
	border-radius: 1em;
}

#DIALOG2 .close:hover {
	cursor: pointer;               /* マウスカーソルを指先表示にする。*/
}

/*更新履歴一覧*/
#DIALOG2 dl{
  width: 90%;
  margin: auto;
  text-align: left;
}

#DIALOG2 dt{
  float:left;
}

#DIALOG2 dd{
  margin-left: 10%;
  border-bottom:1px solid #ccc;
}

#DIALOG2 .or{
  background-color:#FF9F1D;
  border-radius:5px;
  color:#fff;
  margin:0 10px;
  padding:2px 10px;
  text-decoration:none;
  cursor: default;
}

#DIALOG2 .gr{
  background-color:#2FC5B9;
  border-radius:5px;
  color:#fff;
  margin:0 10px;
  padding:2px 10px;
  text-decoration:none;
  cursor: default;
}

#DIALOG2 .new::after{
  content:"NEW";
  color: #d10606;
  font-size: 0.7rem;
  border: 1px solid #d10606;
  padding: 2px 5px;
  margin: 0 0 0 10px;
}



/*連絡*/
#DIALOG3 {
	/* ウインドの大きさに連動して可変サイズ。*/
	width: 85%;
	min-width: 250px;
  max-width: 800px;
	height: 70%;
	min-height: 180px;
  color: #444444;

	box-sizing: border-box;
	overflow: hidden;

	/* DIALOG3 は自動的に画面中央に配置されます。 */

	padding: 0.7em;
	background: #fff;
	border: 2px solid #fff;
	border-radius: 15px;           /* 角を丸くする */
	box-shadow: 1px 1px 5px #444444;  /* 影を付ける */
	text-align: center;
}

/*無理やり自動フォーカスを止めるための透明a要素*/
#DIALOG3 .op{
  opacity: 0;
}

#DIALOG3 div {
	margin: 1em 0 0 0;

	height: calc( 100% - 70px );   /* ウインドの高さに連動して可変サイズ。固定サイズのタグの高さを適当に引く。 */
	overflow: auto;                /* 高さが小さい場合はスクロールバーを表示する。*/

	font-size: 0.875rem;
	text-align: center;
	line-height: 1.8;

  background: #EAEAEA;
}

#DIALOG3 .close {
  /* 閉じるボタン */
	appearance: none;

	/* absolute で dialog の右上に配置する。 */
	position: absolute;

	/* 位置は適当に調整する。 
	   popover の場合は #DIALOG1 がトップレイヤーに配置される点に注意。
	   閉じるボタンが dialog の外側にはみだすとクリップされます。
	 */
	right: 0.1em;
	top: 0.2em;

	width: 2em;
	height: 2em;
	padding: 0;

	/* テキストを button タグに対して上下左右中央に配置する。 */
	display: flex;
	align-items: center;
	justify-content: center;

	font-weight: bold;
	background: #444444;
	color: #fff;
	border: 1px solid #444444;
	border-radius: 1em;
}

#DIALOG3 .close:hover {
	cursor: pointer;               /* マウスカーソルを指先表示にする。*/
}

#DIALOG3 .contact{
  height: 10%;
}

/*見出し*/
#DIALOG1 h3{
  font-size: 15px;
  font-weight: normal;
}

#home h4{
  position: relative;
  display: inline-block;
  padding: 0 55px;
  font-weight: normal;
}
#home h4:before, #home h4:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: black;
}

#home h4:before {
  left:0;
}
#home h4:after {
  right: 0;
}
  
/*右側メニューの位置*/
.right-nav {
  position: fixed;
  top: 75%;
  right: 0;
  transform: translateY(-50%);
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0 0 0 5px;
}

/*右側メニューアイコンの設定*/
.right-nav .r-nav {
  position: relative;
  right: -10px;
  margin: 1vh 0;
  padding: 10px 0;
  border-radius: 10px 0 0 10px;
  background: white;
  box-shadow: 0px 0px 0px 3px white;
  cursor: pointer;
  transition: right 0.2s ease-in-out;
  list-style: none;
}
.right-nav .r-nav .nav-label {
  padding: 0 0 0 20px;
}

.r-nav button{
  min-width: 80px;
  color: #444444;
  font-size: 0.9rem;
  cursor: pointer;
  background-color: #FFFFFF;
}

/*アイコン部分*/
.right-nav .r-nav.about::before,
.right-nav .r-nav.log::before,
.right-nav .r-nav.mail::before {
  position: absolute;
  content: '';
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
  font-size: 1.3rem;
  color: #444444;
}

/*アバウト*/
.right-nav .r-nav.about::before {
  font-family: "Font Awesome 5 Free";
  content: '\f059';
  font-weight: 900;
}

/*更新履歴*/
.right-nav .r-nav.log::before {
  font-family: "Font Awesome 5 Free";
  content: '\f27a';
  font-weight: 400;
}

/*連絡*/
.right-nav .r-nav.mail::before  {
  font-family: "Font Awesome 5 Free";
  content: '\f0e0';
  font-weight: 900;
}

.right-nav .r-nav:hover {
  right: 0;
  box-shadow: 0px 0px 0px 5px white;
}












/*イラスト・漫画ページ用*/

/*ヘッダー*/
header.headic{
position: fixed;
top: 0;
left: 0;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
z-index: 10;
height: 25vh;
padding: 5px 5%;
background: #FFFFFF;
transition: 0.5s;
box-shadow: 0 0 4px #444444;
}

/*ページ名*/
header.headic h1{
  display: none;
  font-size: 250%;
  color: #444444;
}
header .logo{
  width: 50vw;
  max-width: 200px;
}

/*右側のリスト*/
header.headic ul{
  font-size: 0.9rem;
  padding-right: 10vw;
}

header.headic li{
  list-style: none;
}

/*スクロール時*/
header.scroll{
  position: fixed;
  align-items: flex-end;
  top: 0;
  left: 0;
  width: 100%;
  transform: translateY(-22vh);
}

header.scroll h1{
  display: block;
  font-size:60%
}

header.scroll .logo{
  display: none;
}

header.scroll ul{
  display:none;
}

.blank{
  height: 230px;
}


/*イラストのサムネ（そのままふわっと表示、1枚絵）*/
.itmb{
  width:100px;
  height:100px;
  object-fit:cover;
  margin:2.5px 0.5px;
}

/*画像多いページに遷移する用のサムネ*/
.ltmb{                               /*親divに指定*/
  position: relative;
}

/*サムネ画像のサイズ*/
.ltmb img{
  width:28vw;
  max-width: 150px;
  height: 28vw;
  max-height: 150px;
  object-fit:cover;
  margin:5px 3px;
}

/*スタック部分の指定*/
.ltmb p{
  position: absolute;
  left: 0;
  bottom: 0;
  color: white;
  background-color: #444444;
  border-radius: 10px 10px 10px 10px;
  padding: 0 8px;
  pointer-events: none;
}

/*スタックアイコンの色サイズ指定*/
.tmbs{
  width: 1em;
  height: 1em;
  fill: white;
  stroke: white;
  margin-right: 5px;
}

/*画像多いページでクソデカにならない用*/
.pictree{
  max-width: 85%;
  object-fit:contain;
  margin: 10px;
}

.container-pt{
  width: 90%;
  padding-top: 5%;
  padding-bottom: 100px;
  margin-left: auto;
  margin-right: auto;
  background-color: #ccc;
  text-align: center;
}
.container-pt p{
  color: #444444;
  font-size: 0.9rem;
  margin: 10px 5%;
}

.container-pt h3{
  border-left: 8px solid #999999;
  border-bottom: 2px solid #999999;
  padding-left: 5px;
  margin-left: 10px;
  text-align: left;
}



/*わーワー風漫画サムネ*/

.ww-align{
  text-align: center;
}

/* --- 親要素 ------------------------------ */
.comic-ww {
  position      : relative;
  display       : inline-block;
  border        : 2px solid #444444; /* 全体に枠を付ける     */
  background    : #FFFFFF;           /* 背景を枠色と合わせる */
  overflow      : hidden;            /* はみ出し範囲は非表示 */
  cursor        : default;           /* カーソル形状         */
  border-radius : 5px;               /* 角丸                 */
  width: 40vw;
  max-width: 190px;
  height: 250px;
  padding: 5px;
}

/*　親要素内の配置 */
.comic-ww > p {
  color: #444444;
  margin: 0.2em 0px;
  text-align: center; /*中央揃え*/
}

/*サムネの設定*/
.tmb-ww {
  width: 95%;
  height: auto;
  object-fit: cover;
  border: 5px solid #000000;
  transition:0.3s;
}
.tmb-ww:hover{ 
	opacity:0.6;
}

.ccap{
  font-size: 0.8rem;
  overflow:auto;
}

.ctit{
  font-size: 16px;
}


.banner-align{
margin-top: 30px;
}

/*バナー風漫画サムネ*/
/* ---親要素 ------------------------------ */
.comic-banner{
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  border: 2px solid #444444;
  background: #FFFFFF;
  overflow      : hidden;            /* はみ出し範囲は非表示 */
  cursor        : default;           /* カーソル形状         */
  border-radius: 10px;
  width: 85vw;
  max-width: 800px;
  height: 20vh;
  max-height: 200px;
  padding: 5px;
  margin: 5px 0;

}

/*　親要素内の配置 */
.c-banner-cap {
  color: #444444;
}

.tmb-banner{
  width: 30vw;
  max-width: 200px;
  height: 20vh;
  max-height: 200px;
  object-fit: cover;
  border-radius: 10px;
  margin-right: 10px;
  transition:0.3s;
}

.tmb-banner:hover{ 
	opacity:0.6;
}

.comic-banner .ctit{
  border-bottom: solid #EAEAEA;
  font-size: 1rem;
  margin: 0;
}

.comic-banner p{
  margin: 5px 0;
}





/*テキストページ*/

/*ヘッダー*/

.container-tx{
  height: 100svh;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  background-color: #ccc;

}

.headtx{
  width: 90%;
  color: #444444;
	box-sizing: border-box;
  margin: auto;
  
  padding: 0.5em;
	background: #fff;
	border: 2px solid #fff;
	border-radius: 0  0px 15px 15px;           /* 角を丸くする */
	box-shadow: 0 0 3px #444444;  /* 影を付ける */
	text-align: center;
}

.headtx h1{
  font-size: 1.3rem;
}

.inner-tx {
	margin: 1em 0 0 0;
  padding: 0 1vh;
	height: 75svh;   /* ウインドの高さに連動して可変サイズ。固定サイズのタグの高さを適当に引く。 */
	overflow: auto;                /* 高さが小さい場合はスクロールバーを表示する。*/

	font-size: 0.85rem;
	text-align: left;
	line-height: 1.8em;

  background: #EAEAEA;
}

/*見出し*/
.inner-tx h3{
  border-left: 8px solid #999999;
  border-bottom: 2px solid #999999;
  padding-left: 5px;
}

/*中見出し*/
.inner-tx h4{
  font-size: 0.9rem;
  font-weight: 500;
  margin: 5px 10px 0;
}

.inner-tx h5{
  font-size: 0.95rem;
  font-weight: normal;
  border-bottom: 1px solid #999999;
  margin: 0 0 10px;
}

/*キャプション*/
.inner-tx .caption{
  font-size: 0.7rem;
}

/*本文*/
.inner-tx p{
  margin: 0;
}

.inner-tx .main-text{
  white-space: pre-wrap;
}

/*上下左右にマージンの付くdiv*/
.inner-tx div.ss{
  margin: 50px 10px;
}

/*リスト*/
.inner-tx ul{
  padding:0;
  list-style-type:none;
}
.inner-tx li {
  position:relative;
  padding: 0 0 0 20px;
}
.inner-tx li::before,
.inner-tx li::after {
  position: absolute;
  top: 5px;
  left: 0;
  content: '';
  width: 14px;
  height: 14px;
}
.inner-tx li::before {
  background: #999999;
  clip-path: circle(50% at 50% 50%);
}
.inner-tx li::after {
  left: -1px;
  background: #EAEAEA;
  clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 70%, 70% 70%, 70% 0);
  transform:  rotate(-45deg) scale(0.5);
}

.inner-tx .new::after{
  content:"NEW";
  color: #d10606;
  font-size: 0.7rem;
  margin-left: 10px;
}


/*オフラインページ*/
#offline{
  background-color: #EAEAEA;
  color: #444444;
  max-height: 100svh;
}

/*ヘッダー*/
.headoff{
  position: absolute;
  z-index: 50;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 80px;

}
.headoff h1{
  font-weight: normal;
  font-size: 15px;
  color: #FFFFFF;
  margin-top: 2px;
}

.headoff-trapezoid{
  margin: 0 0 30px;
  position: relative;
  border-top: 30px solid #000000;
	border-left: 25px solid transparent;
	border-right: 25px solid transparent;
	height: 0;
  background-color: #EAEAEA;
}

/*メインのスライダー*/
/* external css: flickity.css */
#slider {
  margin-top: 10px;
  position: relative;
}

#slider .slider-cell {
  width: 100%;
  height: 55svh;
  margin-right: 10px;
  counter-increment: slider-cell;
}

#slider .slider-cell h2{
  background-color: #FF9F1D;
  font-size: 0.8rem;
  text-align: center;
  color: #FFFFFF;
  font-weight: 600;
}


/*汎用div*/
#slider .wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-content: space-around;
  flex-direction: column;
}

#slider .item{
  overflow: auto;
  padding: 5px 20vw;
  margin: 0;
}

#slider .item ul{
  list-style: none;
  font-size: 0.7rem;
  text-align: left;
}

#slider .item summary{
  color: #FF9F1D;
  font-weight: bold;
  font-size: 0.8rem;
}

#slider .item h4{
  margin: 0;
  font-size: 0.8rem;
  font-weight: bold;
  border-bottom: 1px solid #444444;
}



/*ネップリのサムネ*/
.ntmb-v{
  width:7vw;
  object-fit:cover;
  margin:2px 0.5px;
}
.ntmb-w{
  height:7vw;
  object-fit:cover;
  margin:2px 0.5px;
}

.ntmb-s{
  height:7vw;
  width: 7vw;
  object-fit:cover;
  margin:2px 0.5px;
}


/*表紙*/
#slider .hyoshi{
  position: absolute;
  z-index: 3;
  top:20%;
  left:15%;
  width: 30%;
  background-size: cover;
}

/*ピックアップ*/
#slider .pick{
  position: absolute;
  top:50%;
  transform: translateY(-50%);
  right:15%;
  width: 35%;
  background-size: cover;
  display:flex;
  flex-wrap: wrap;
}

#slider .pick img{
  width: 100px;
  flex-grow: 1;
  object-fit: cover;
}


/*詳細*/
#slider .slider-cell .ingredient{
  position: absolute;
  z-index: 6;
  left: 15%;
  bottom: 15%;
  max-width: 30%;
}

/*タイトル*/
#slider .slider-cell .ingredient h3{
  font-size: 1rem;
  color: #FFFFFF;
  text-shadow: 0 0 5px #444444;
  margin: 0;
}

#slider .slider-cell .ingredient p{
  color: #444444;
  font-size: 0.75rem;
  background-color: rgba(234,234,234,0.8);
}


/*あらすじ*/
#slider .slider-cell .summary{
  position: absolute;
  z-index: 4;
  right: 10%;
  bottom: 20%;
  max-width: 30%;
  background-color: rgba(234,234,234,0.9);

}

#slider .slider-cell .summary p{
  font-size: 0.75rem;

}

/*ボタン*/
#slider .slider-cell .link{
  position: absolute;
  z-index: 10;
  bottom: 2%;
  left: 50%;
  transform: translateX(-50%);
}

a.cp_btn {
  display: inline-block;
  padding: 0.5rem;
  text-align: center;
  text-decoration: none;
  color: #2FC5B9;
  border: 2px solid #2FC5B9;
  border-radius: 3px;
  transition: .4s;
  background-color: #EAEAEA;
  font-size: 0.85rem;
}
a.cp_btn:hover {
  background: #2FC5B9;
  color: #fff;
}


#slider .slider-cell p{
  color: #444444;
  font-size: 0.8rem;
}


/*小さいスライダー*/
#slider-nav{
  background: #EAEAEA;
}

#slider-nav .slider-cell{
  width: 60vw;
  max-width: 350px;
  margin: 5px 20px 5px;
  border-radius: 5px;
  background: #FFFFFF;
  background-size: cover;
  counter-increment: slider-cell;
}

#slider-nav .slider-cell img{
  border-radius: 5px;
}

#slider-nav .slider-cell.is-nav-selected {
  box-shadow: 0 0 3px;
}