@charset "utf-8";

img, object, embed, video {
	max-width: 100%;
}
input {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type="number"]::-webkit-outer-spin-button, 
input[type="number"]::-webkit-inner-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
} 
input[type="number"] { 
  -moz-appearance:textfield; 
} 

body {
	margin: 0;
	color: #222;
	font-family: 'メイリオ',Meiryo,"Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3";
	background-color: #fff;
	
}
a:link ,a:visited {
	color: #333;
	text-decoration: underline;
}
a:hover,a:active {
	color: #7F167F;
	text-decoration: none;
}

/* Navbar & Navmenu color */


.header {
  background: #536493;
  position: fixed;
  width: 100%;
  height: 60px;
z-index: 100;
}

/* Nav items */
.menu {
  list-style: none;
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  margin-top: 52px;
  padding: 0 0 10px 0;
  clear: both;
  background: #ddd;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  transform: scale(1, 0);
  transform-origin: top;
z-index: 100;
}
.pcnavi{
	display: none;
}

/* Hamburger menu button */
.menu-btn:checked ~ .menu {
  transform: scale(1, 1);
  transform-origin: top;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

/* Hamburger menbu text */
.menu a  {
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 2px;
  font-size: 16px;
  text-transform: capitalize;
  color: #333;
  opacity: 0;
  transition: 0.5s;
}

.menu li {
  border-top: 1px solid rgb(75, 75, 75);
  padding: 15px 0;
  margin: 0 54px;
  opacity: 0;
  transition: 0.5s;
}

.menu-btn:checked ~ .menu a,
.menu-btn:checked ~ .menu li {
  opacity: 1;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
}

.menu-btn {
  display: none;
}

.menu-icon {
  display: inline-block;
  position: absolute; /* 右端に固定 */
  right: 8px; /* 右端の余白を調整 */
  top: 14px; /* 垂直方向の中央揃え */
  cursor: pointer;
  padding: 14px 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.navicon {
  background: #ddd;
  display: block;
  height: 3px;
  width: 26px;
  position: relative;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

.navicon:before,
.navicon:after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  background: #ddd;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

.navicon:before {
  top: 9px;
}

.navicon:after {
  bottom: 9px;
}

/* Hamburger Menu Animation Start */
.menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(-45deg);
}

.menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}

.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
  top: 0;
}
.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  bottom: 0;
}

.menu-btn:checked ~ .menu-icon .navicon {
  background: rgba(0, 0, 0, 0);
  transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
/* Hamburger Menu Animation End */

/* Navbar Container */
.navtext-container {
  width: 100%;
  height: 52px;
  position: absolute;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Navbar Text */
.navtext {
  position: absolute;
  text-transform: uppercase;
  color: #fff;
padding-top: 8px;
  letter-spacing: 2px;
  font-size: 21px;
}
.navtext a {
	color: #fff;
	text-decoration: none;
}

#top {
	line-height: 160%;
	font-size: 100%;
	width: 94%;
	margin-right: auto;
	margin-left: auto;
	padding-top: 3px;
	margin-top: 0px;
	max-width: 1200px;
}
main {
	width: 100%;
	margin-top: 78px;
	padding-bottom: 30px;
}
footer {
	clear: both;
	border-top-width: 3px;
	border-top-style: solid;
	border-top-color: #222;
	margin-top: 20px;
	font-size: 100%;
	padding-top: 10px;
	line-height: 140%;
	margin-bottom: 10px;
}
footer a {
	margin-left: 4px;
	margin-right: 4px;
	white-space: nowrap; /* ← 改行しない */
}

h1 {
	font-size: 180%;
	margin-bottom: 35px;
	font-weight: normal;
	border-left-width: 0px;
	margin-top: 15px;
	padding-top: 12px;
	color: #D04848;
	line-height: 120%;
}
h2 {
	font-size: 140%;
	margin-bottom: 16px;
	font-weight: normal;
	border-left-width: 0px;
	margin-top: 15px;
	padding-top: 12px;
	color: #D04848;
	line-height: 110%;
}
.counter {
  font-size: 38px;
  display: inline-block;
  padding: 30px 30px;
  border-radius: 10px;
line-height: 150%;
}
.counter2 {
  font-size: 30px;
  display: inline-block;
padding-top: 28px;
padding-bottom: 10px;
padding-left: 20px;
padding-right: 20px;
line-height: 150%;
}

/* パンくずリスト*/
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  font-size: 80%;
line-height: 1.8; 
margin: 0;
padding: 0px 0 10px 0;
}

.breadcrumb li {
  margin: 0;  /* ← li 自体の余白をゼロに */
  padding: 0; /* ← 念のため */
}

.breadcrumb li + li:before {
  content: "›";
  margin: 0 6px;
  color: #bbb;
}

.breadcrumb a {
  color: #444;
  text-decoration: none;
}

.breadcrumb a:hover {
  color: #FF4B91;
}

.breadcrumb li:last-child {
  color: #aaa;
}
/* パンくずリストここまで*/


.imgleft{
	float: left;
	padding-right:5px;
}
.no_underline a {
	text-decoration: none;
}

.logoimg {
	width: 40px;
	margin-bottom: 9px;
	margin-top: 4px;
	margin-right: 4px;
	vertical-align: middle;
}
.logoimg_footer {
	width: 40px;
	margin: 18px;
}
.img1 {
	width: 70px;
	margin: 6px;
	float: left;
}
.actimg{
	float: left;
	padding-right:5px;
	width: 66px;
	height: 66px;
}
.bottonimg {
	height: 36px;
	margin-right: 8px;
	vertical-align: middle;
}
.samimg {
	width: 48%;
	height: auto;
	padding: 2px;
	max-height: 200px;
	object-fit: cover;          /* ボックスいっぱいに拡大しつつトリミング */
  object-position: center;    /* 中央を基準にトリミング */
}
.samimg2 {
	width: 100%;
	height: auto;
	padding: 0px;
}

.font125 {
	font-size: 125%;
}
.font150 {
	font-size: 150%;
}


.small {
	font-size: 90%;
}
.small2 {
	font-size: 80%;
}
.small3 {
	font-size: 70%;
}
.color5 {
	color: #DC0000;
}
.color6 {
	color: #A62349;
}
.color7 {
	color: #0078AA;
}
.color8 {
	color: #F16767;
}
.color9 {
	color: #25B7C0;
}


.movie {

	width: 720px;
	height: 480px;	
	}
div.iframe_wrapper {
  position: relative;
  width: 100%; /* ここは適時編集してください（px指定してmin-widthと組み合わせるなり） */
max-width: 720px;
max-height: 480px;
	overflow: hidden;
	margin:  0 auto; 
}
div.iframe_wrapper::before {
  content:'';
  display: block;
  padding-top: 66.66%; /* 高さ÷横幅×100,720+480 */
}
div.iframe_wrapper iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
z-index: 10;
}


.t-line1 tr:nth-child(odd) td {  /* テーブルの背景色を交互にする */
  background-color: #F9F2ED;  
}  
.trline {
	border-bottom: 2px solid #333;
}
.floatclear{clear: both;}


.back_color1 {
	background-color: #FFF1DC;
	padding-left: 12px;
	padding-right: 12px;
	padding-bottom: 12px;
	padding-top: 12px;
	margin-top: 20px;
	margin-bottom: 30px;
	border-radius: 10px;
}
.back_color2 {
	background-color: #F0EEED;
	padding-left: 12px;
	padding-right: 12px;
	padding-bottom: 12px;
	padding-top: 12px;
	margin-top: 20px;
	margin-bottom: 30px;
	border-radius: 10px;
}
.back_color3 {
	background-color: #EEB0B0;
	padding-left: 12px;
	padding-right: 12px;
	padding-bottom: 12px;
	padding-top: 12px;
	margin-top: 20px;
	margin-bottom: 30px;
	border-radius: 10px;
}
.back_color4 {
	background-color: #FBD6D2;
	padding-left: 12px;
	padding-right: 12px;
	padding-bottom: 12px;
	padding-top: 12px;
	margin-top: 20px;
	margin-bottom: 30px;
	border-radius: 10px;
}

.back_color5 {
	background-color: #FFEBB7;
	padding-left: 12px;
	padding-right: 12px;
	padding-bottom: 12px;
	padding-top: 12px;
	margin-top: 20px;
	margin-bottom: 30px;
	border-radius: 10px;
}
.back_color8 {
	padding: 7px;
	border: 1px solid #666666;
}

.back_color9 {
	padding: 3px 8px;
	margin: 4px;
	border: 1px solid #666666;
	border-radius: 6px;
	background-color: white;
}
.center {
	text-align: center;
}
.left {
	text-align: left;
}
.lineheight180 {
	line-height: 180%;
}
.lineheight200 {
	line-height: 200%;
}
.line_border1 {
	border: dashed 1px #ddd;
}

.conbox {
	float:left;
	margin:5px 1%;
	height:300px;
	width:48%;
	font-size:90%;
	line-height: 120%;
}
.conbox a {
text-decoration: none;
}
.conbox img {
margin-left: auto;
margin-right: auto;
display: block;
margin-bottom: 5px;
}
.conbox2 {
	float:left;
	margin:5px 1%;
	height:278px;
	width:48%;
	font-size:86%;
	line-height: 120%;
}
.conbox2 a {
text-decoration: none;
}
.conbox2 img {
margin-left: auto;
margin-right: auto;
display: block;
margin-bottom: 5px;
}


.searchbox {
	float:left;
	margin:5px 1%;
	height:130px;
	width:31%;
	font-size:80%;
	line-height: 120%;
	text-align: center;
}
.rankbox {
	float:left;
	margin:5px 1%;
	height:144px;
	width:31%;
	font-size:80%;
	line-height: 120%;
	text-align: center;
}
.rankbox img {
	max-height: 100px;
	border-radius: 4px;
border: 1px solid #ccc; 
}

.boxtext {
	display: -webkit-box;
    -webkit-line-clamp: 2; /* 2行まで表示 */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis; /* 省略記号を付ける */
    word-break: break-all; /* 長い単語を折り返し */
}

.mobileon {
	display: inline;
}

/*タグボタンここから*/

.botton_li {
	display: inline-block;
	margin-top: 0.5em;
	margin-right: .3em;
	margin-left: 0;
	margin-bottom: .3em;
	padding: 0;
}
.botton_li a {
	display: inline-block;
	height: 30px;
	line-height: 32px;
	padding: 0 1em;
	background-color: #FFEFD6;
	border: 1px solid #777;
	border-radius: 2px;
	white-space: nowrap;
	color: #333;
	font-size: 15px;
	text-decoration: none;
	-webkit-transition: .2s;
	transition: .2s;
}
.botton_li a:hover {
	background-color: #FBD6D2;
	border: 1px solid #555;

}
.botton_li_now{
	display: inline-block;
	height: 28px;
	line-height: 28px;
	padding: 0 1em;
	background-color: #25B7C0;
	border: 1px solid #aaa;
	border-radius: 3px;
	white-space: nowrap;
	color: #FFFFFF;
	font-size: 14px;
	text-decoration: none;
	-webkit-transition: .2s;
	transition: .2s;
}


/*タグボタン小ここから*/

.botton_li4 {
	display: inline-block;
	margin-top: 0.5em;
	margin-right: .25em;
	margin-left: 0;
	margin-bottom: .3em;
	padding: 0;
}
.botton_li4 a {
	display: inline-block;
	height: 28px;
	line-height: 28px;
	padding: 0 1em;
	background-color: #fff;
	border: 1px solid #777;
	border-radius: 2px;
	white-space: nowrap;
	color: #333;
	font-size: 14px;
	text-decoration: none;
	-webkit-transition: .2s;
	transition: .2s;
}
.botton_li4 a:hover {
	background-color: #FF5F9E;
	border: 1px solid #555;

}

.break {
    display: block;
    width: 100%;
    height: 0;
  }

/*フォームここから*/
.formbox {
	padding-bottom: 20px;
	padding-top: 6px;

}
.formline {
	margin: 6px 0px;
}

.formbutton{
    padding: 14px 6px;
	font-size: 14px;
	width: 40px;
    border: 1px solid #373737;
    background-color: #aaa;
    color: #000000;
	border-radius: 8px;
}
.formbutton:link{
    text-decoration: none;
}


.form5 input {/* テキストボックス用 */
	font: 16px/20px sans-serif;
	box-sizing: border-box;
	width: 180px;
	padding: 0.3em;
	transition: 0.3s;
	letter-spacing: 1px;
	border: 1px solid #1b2538;
	border-radius: 4px;
	background-color: #fff;
}
.form5 input[type="submit"]{
	padding: 5px 10px;
	font-size: 16px;
	width: 70px;
    border: 1px solid #373737;
	background-color: ghostwhite;
    color: #000000;
	border-radius: 4px;
}
.form5 textarea {/* テキストボックス用 */
	font: 16px/20px sans-serif;
	box-sizing: border-box;
	width: 330px;
	height: 140px;
	padding: 7px 6px;
	transition: 0.3s;
	letter-spacing: 1px;
	border: 1px solid #777;
	border-radius: 4px;
	background-color: #fff;
}

.form1{
	display: inline;
}

.form1 input {/* テキストボックス用 */
	box-sizing: border-box;
	width: 94px;
	padding: 7px 6px;
	transition: 0.3s;
	letter-spacing: 1px;
	border: 1px solid #777;
	border-radius: 4px;
	background-color: #fff;
}
.form1 input[type="submit"]{
	padding: 4px 3px;
	width: 38px;
    border: 1px solid #777;
	background-color: ghostwhite;
    color: #000000;
	border-radius: 4px;
}


/*フォームここまで*/
/* 送信ボタンここから */
.sbt_1{
	width: 120px;
	height: 40px;
	background-color: #E4DCCF;
	font-size: 14px;
	text-align: center;
	font-weight: bold;
	border-radius: 10px;
	position: relative;
	border: 1px solid #777;
}

.sbt_1:hover{
	background-color: #777 !important;
	color: #fff;
}
.sbt_2{
	width: 100%;
	max-width: 720px;
	padding: 12px;
	margin-top: 10px;
	margin-bottom: 8px;
	background-color: #D04848;
	color: #fff;
	font-size: 24px;
	text-align: center;
	font-weight: bold;
	border-radius: 8px;
	position: relative;
	border: 1px solid #fff;
}

.sbt_2:hover{
	background-color: #888888 !important;
	color: #fff;
}
/* 送信ボタンここまで */

.pagetop {
    display: none;
    position: fixed;
    bottom: 22px;
    right: 0px;
}
.pagetop a {
	display: block;
	background-color: #ccc;
	text-align: center;
	color: #222;
	font-size: 14px;
	text-decoration: none;
	padding: 10px 18px;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	margin-top: 5px;
}
.pagetop a:hover {
    display: block;
    background-color: #b2d1fb;
    text-align: center;
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    padding:10px 18px;
	filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
	margin-top: 5px;
}

#game-container {
			display: none;
		}
		
		#start-button {
			display: inline;
		}
		
		#start-button.hidden {
			display: none;
		}
		
		#game-container.show {
			display: inline;
		}

/* アイコン付き吹き出し（左側） */
.talk10 {
margin-bottom: 10px;
}

.talk10 figure img {
width: 100%;
height: 100%;
border: 2px solid #555; /* 円の線の太さと色の設定 */
border-radius: 50%;
margin: 0;
}

p.talk10-text {
margin: 0 0 8px;
}

p.talk10-text:last-child {
margin-bottom: 0px;
}

.talk10:after,.talk:before {
clear: both;
content: "";
display: block;
}

.talk10-img {
margin-left: 4px;
margin-top: -1px;
float: left;
width: 70px;
height: 70px;
}

.talk10-txt {
color: #444; /* 吹き出し内テキストの色 */
position: relative;
margin-left: 100px;
padding: 0.6em 0.8em 1em 0.8em;
border: 2px solid #555; /* 吹き出し線の太さと色の設定 */
background-color: #fff; /* 吹き出しの背景色 */
border-radius: 5px; /* 吹き出しの角の丸み */
}

.talk10-txt:before {
position: absolute;
content: '';
border: 10px solid transparent;
border-right: 10px solid #555; /* 吹き出しの三角形の設定（色以外の変更は非推奨） */
top: 24px;
left: -20px;
}

.talk10-txt:after {
position: absolute;
content: '';
border: 10px solid transparent;
border-right: 10px solid #fff;
top: 24px;
left: -17px;
}



/* Tablet Layout: 481px to 768px. Inherits styles from: Mobile Layout. */

@media only screen and (min-width: 481px) {


.conbox {
	float:left;
	margin:5px;
	height:300px;
	width:160px;
	font-size:90%;
	line-height: 120%;
}
.conbox2 {
	float:left;
	margin:5px;

	width:160px;
	font-size:86%;
	line-height: 120%;
}

.searchbox {
	float:left;
	margin:5px;
	height:130px;
	width:100px;
	font-size:80%;
	line-height: 120%;
}
.rankbox {
	float:left;
	margin:5px;
	height:130px;
	width:100px;
	font-size:80%;
	line-height: 120%;
}
.samimg {
	height: 300px;
	max-height: 300px;
	width: auto;
	padding: 2px;
}
.samimg2 {
	height: auto;
	width: 740px;
	padding: 2px;
}
.mobileon {
	display: none;
}
.break {
  display: none;
}
	
}

/* Desktop Layout: 769px to a max of 1232px.  Inherits styles from: Mobile Layout and Tablet Layout. */

@media only screen and (min-width: 769px) {

.pcnavi{
	display: inherit;
	width: 100%;
	padding-top: 57px;
	background-color: #F0EEED;
	text-align: center;
	padding-bottom: 6px;
}


	
}