@charset "utf-8";

/*body
---------------------------------------------------------------------------*/
body {
	color: #333;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	margin:0;
    padding:0;
	line-height: 1.6;
    text-align:center;
	background:url(../img/body_bg.png) repeat;
	-webkit-text-size-adjust: 100%;
	width: 100%;
	font-size: 16px;
}
h1,h2,h3,h4,p,ul,li,dl,dt,dd{
    margin:0;
    padding:0;
}
ul{list-style-type: none;}
header,footer,main,menu,nav,section{display: block;}

/*ヘッダー
---------------------------------------------------------------------------*/
header{
	border-bottom:2px #DDD solid;
	background: #FFFFFF;
	box-shadow: 0 0 3px #EEE;
    display:inline-block;
    width:100%;
    margin:0 auto;
	text-align: left;
    top:0;
}
/*メイン
---------------------------------------------------------------------------*/
#container {
    position: relative;
    padding: 0;
    text-align: left;
		overflow: hidden;

}
#main{
	width: 100%;
	text-align: left;
	margin:0 auto 15px 0;
	position: relative;
	padding: 2px 0 0;
}
#main p{
    color: #222222;
    line-height:1.6em;
    margin:12px 15px;
}
/*新サイト用に使ったセレクタ
---------------------------------------------------------------------------*/
.img_c {display: block;margin: 0 auto;width: 100%;}
.sub_cach{
	background:#054E96;
	border-bottom: 5px #163055 solid;
	padding: 10px 8px 8px;
	color: #FFF;
}
.sub_cach03{
	background:#054E96;
	border-bottom: 5px #163055 solid;
	padding: 10px 8px 8px;
	color: #FFF;
	margin: 2% 0;
}

.m_card_w{
	width: 100%;
	margin: -1% 0 0;
}
.m_card{
	float: left;
	width:40%;
	margin: 20px 5% 0 5%;
	display: inline-block;
}
.m_card_cp{
	width:98%;
	margin: 0 1% 0;
	text-align: center;
}

.m_card_p{
	margin: 0 1% 3% 3% ;
	float: left;
	line-height: 160%;
	}
.m_card_p span{color:#fe6000;}
.m_card_p ul{
	margin:0 auto;
	padding:0 ;
	}
.m_card_p li{
	background: url(../img/m_card_p.png) no-repeat center left;
	background-size: 18px;
	padding: 4px 0 2px 25px;
	margin: 1% 0.5% ;
	text-align: left;
	font-weight: bold;
	}
.m_card_te{
width:98%;
line-height:130%;
margin:0 auto 10px;
	font-size: 13px;
	background: #DDDDDD;
	text-align: center;
}
.m_card_te th{
vertical-align:middle;
padding:8px 3px 5px 3px ;
	font-weight:normal;
	background: #CCDCF3;

}
.m_card_te td{
padding:8px 3px 5px 3px ;
	font-weight: bold;
	background: #FFF;
}
.arrow{background: url(../img/arrow.gif) no-repeat center left;background-size:100%;padding: 5% 0;text-align: left !important;height:60px;}

/*ここまで
---------------------------------------------------------------------------*/

.sub_cach02{
	background:linear-gradient(#20BAB8,#3DCFCE);
	padding: 10px 8px 8px;
	color: #FFF;
}
.banner{
	float: left;
	display: block;
	margin: 5px 0 10px 5px;
}
.m_btn{
	float: left;
	display: block;
	margin: 5px 0 10px 5px;
}
section{
	background-color:#FFF;
	border-top:1px solid #DDD;
	border-bottom:1px solid #DDD;
	margin: 5% auto;
}
section h1,h2,h3{
    color: #333333;
    padding:0 5px 10px 10px;
    clear: both;
    margin:0;
	border-bottom:#E5E3E3 solid 1px;
}
section p{
    color: #222222;
    line-height:1.6em;
    margin:12px 15px;
}

.unei_h1{
	background:	#FECB5F	;
	padding: 10px 8px 8px;
	color: #222222;
	font-size: 100%;
}
.unei_h3{
	padding: 10px 8px 8px;
	font-size: 100%;
	border-left: #FECB5F 5px solid;
}
.clearfix:after{
    content: "."; 
    display: block; 
	height: 0;
    font-size:0;
    clear: both;
    visibility:hidden;
}
.clearfix{
    display: inline-block;
}
.spec_th2 {
	background:#FEF9E2 !important;
	text-align: right !important;
	padding:8px 8px 5px 0 !important;
}
/*運営者情報
---------------------------------------------------------------------------*/
table.unei_te{
width:96%;
line-height:130%;
margin:15px auto 10px auto;
	background: #DDDDDD;
	text-align: left;
	font-size: 14px;
}
table.unei_te th{
vertical-align:middle;
padding:8px 3px 5px 13px ;
	background: #FFFDE2;
	font-weight: normal;
	width: 30%;
	
}
table.unei_te td{
padding:8px 3px 5px 13px ;
	background: #FFF;
	font-weight: normal;
}
/*フッター
---------------------------------------------------------------------------*/
footer {
	text-align: center;
	background:	#FECB5F;
	margin:0;
	padding:10px 0 15px 5px;
	
	line-height: 160%;
	width: 100%;
}

footer p{
    font-size:90%;
}
footer a{
}
footer ul{
	margin:0;
	padding:0;
	}
footer li{
	margin:0 5px;
	padding:5px 0;
	vertical-align: middle;

	line-height: 140%;
	display: inline;
	font-size: 90%;
	}
#foot{
	position: relative;
	margin: 0 auto;
	width: 100%;
}

/*文字装飾
---------------------------------------------------------------------------*/
.b {font-weight:bold;}
.red {font-weight:bold; color:rgba(252,0,4,1.00);}
.red_un {font-weight:bold; color:rgba(252,0,4,1.00); text-decoration:underline;}
.bl {color: rgba(28,98,238,1.00);}
.bra { color:rgba(97,0,1,1.00);}
.line{ color:rgba(255,0,0,1.00); background:rgba(255,242,160,1.00); font-weight:bold;}
.x10{ font-size:10px;line-height: 140%;}
.x12{ font-size:10px; line-height:15px; display:block;}
.x8{ font-size:8px;}
.x11{ font-size:11px; }
.x18{ font-size:18px;}
.x22{ font-size:22px;}
.x28{ font-size:28px;}
.pink{ color:#FF50FE;}
.pink_b{color: #FF0086; font-weight: bold;}
.x11_110{font-size: 11px;;color: #515151 !important;}  
.white{color: #FFF; font-weight: bold;}
.orange{color:orange; font-weight: bold;}
.x24_b{ font-size:24px;font-weight: bold;}
.kome{margin-top:10px;}
.x30_b{ font-size:30px;font-weight: bold;}
.x28_b{ font-size:30px;font-weight: bold;}

/*ヘッダー
---------------------------------------------------------------------------*/

.logo{
	position: relative;
	top:0;
	left:5%;
}



/*画像の振り分け-----*/
.pc { display: block !important; }
.sp { display: none !important; }
/*新サイト用
---------------------------------------------------------------------------*/
#main{
	width:90%;
	margin: 0 auto;
}

.main_catch{
	width:70%;
	margin: 0 auto;
	}

.m_card_w{
	margin: 0 0 15px;
}
.m_card{
	width:26%;
	margin: 6px 20px 0 130px;
}
.m_card_p{
	width:50%;
	margin: 8px 0 0 30px;
}
.m_card_p li{
	font-size: 22px;
	font-weight: bold;
	}
.m_card_btn{
	margin:0 auto 1%;
	padding:0 ;
	display: block;
	}
.review_top{
	background: url(../img/review_top_bg.gif) no-repeat center top;
	margin: 0 1%;
	padding:5% 0 5%;
	background-size: cover;
	}
.review_w{
	background: url(../img/review_w_bg.gif) repeat-y center top;
	margin: 0 1%;
	padding: 0 0 1%;
	background-size: cover;
	}
.re_01{
	background: url(../img/re_1.gif) no-repeat center left;
	margin: 0 2%;
	background-size: 100px;
	padding: 0 0 5% 18%;
	float: left;
	}
.re_02{
	background: url(../img/re_2_2.gif) no-repeat center left;
	margin: 0 2%;
	background-size: 100px;
	padding: 0 0 5% 18%;
	float: left;
	}
.re_03{
	background: url(../img/re_3.gif) no-repeat center left;
	margin: 0 2%;
	background-size: 100px;
	padding: 0 0 5% 18%;
	float: left;
	}
.review_txt {
 	position: relative;
	display: inline-block;
 	margin: 1.5em 0 1.5em 0px;
	padding: 7px 10px;
	min-width:70%;
 	max-width:90%;
 	color: #555;
	font-size: 15px;
	float: left;
	background:#FFF;
	box-shadow: 0 0 3px 5px #e0edff;
	border-radius: 8px;
}

.review_txt:before{
	content: "";
	position: absolute;
	top: 50%;
	left: -30px;
 	margin-top: -15px;
	border: 15px solid transparent;
	border-right: 15px solid #e0edff;
}
.point1 {
	width: 94%;
	margin: 3% 3% 0 3%;
	background: linear-gradient(#EFEFEF, #C6C6C6);
	padding: 0 0 3%;
}
.point2 {
	width: 94%;
	margin: 3% 3% 0 3%;
	background:#C6C6C6;
	padding: 0 0 3%;
}
.point3 {
	width: 94%;
	margin: 3% 3% 0 3%;
	background:#D5D5D5;
	padding: 0 0 3%;
}
.p_num{
	float: left;
	margin:-2% 3% 0 0;
	width: 90px;
	padding: 0 1.5%;
	}
.p_txt01{
	float: left;
	color: #4074FF;
	margin: 3% 0 0 0;
	width: 75%;
	font-size: 160%;
	font-weight: bold;
	line-height: 120%;
	}
.p_img{
	float: left;
	margin: 3% 1% 0 1%;
	width: 100px;
	}
.p_txt02{
	float: left;
	margin: 3% 1% 0 1%;
	width: 60%;
	font-size:15px;
	}

.otoku_w{
	width: 80%;
	margin: 2% auto 1%;
}
.otoku_txt{
	margin: 0 0 0 110px;
	background: #FFF;
	padding: 0 3px;
	text-align: left;
	float: left;
	font-size: 120%;
}
.otoku_01{
	margin: 1.5% 2%;
	width: 94%;
	background: #FFF;
	box-shadow:1px 1px 2px 2px #a6a6a6 inset;
	border-radius: 3px;
	padding: 8px;
	position: relative;
}

.otoku_txt span {font-size: 130%;font-weight: bold;color: #094BFF;}
.otoku_img {width:100px;float: left;display: block;position: absolute;top: 0;bottom: 0;margin: auto;}
/*新しく組み直し
---------------------------------------------------------------------------*/
.m_card_tbtn{
	margin:0 auto 1%;
	padding:0 ;
	display: block;
	}
.m_card_btn{
	margin:2% auto 3%;
	padding:0 ;
	}
.mob_fra{
	border: #FF8E00 solid 5px;
	width: 90%;
	margin: 0 auto 2%;
	padding: 10px 0 0;
}
.mob_prod{
	width: 90%;
	margin: 5px auto 3px;
	text-align: center;
	line-height: 170%;
	font-size: 180%;
	}
.mob_prod span {font-size: 170%;color:#FF8E00;font-weight: bold;}
.mob_prod a {text-decoration: none;color: #4B4B4B;}
.mob_card{width: 50%;margin: 0 auto 0;display: block;}
.mob_point{
	width:90%;
	margin: 0 auto 3%;
}
.mob_point ul{
	margin:0 auto;
	padding:0 ;
	}
.mob_point li{
	background: url(../img/m_card_p.png) no-repeat center left;
	background-size: 30px;
	padding: 8px 0 5px 35px;
	margin: 1% 0.5% ;
	color: #FF6700;
	font-size: 150%;
	font-weight: bold;
	line-height: 100%;
	}
/*タイマー部分のカッコ*/
.time{
    width:60%;
    padding:5% 2% 0 2%;
    position:relative;
    background-color:#FFF;
    margin:0 auto 3% auto;
	font-size: 22px;
	vertical-align: bottom;
	line-height: 200%;
	text-align: center;
}
.time_dis {padding: 1% 2% 0 2%;font-size:210%;font-weight: bold;color: #FF6E00;}
.time_txt {font-size: 200%;font-weight: bold;text-align: center;text-decoration: underline;}
.time_w{
	border:1px #D8D8D8 solid;
	padding: 6% 3% 1.5% 1%;
	border-radius: 5px;
	background: linear-gradient(#FFF, #E6E6E6);
}
.time:before,
.time:after{
    content: "";
    position: absolute;
    top: -2px;
    bottom:-2px;
    width: 10px;
    border: 5px solid  #FC9F43;
}
.time:before{
    left: -2px;
    border-right:none;
    border-radius:4px 0 0 4px;
    z-index:10;

}
.time:after{
    right: -2px;
    border-left:none;
    border-radius:0 4px 4px 0;
	
}
/*下のタイマー部分*/
.time_un{
    width:96%;
    padding:5% 2% 1.5% 2%;
    position:relative;
	background: #FFFADA;
   margin:0 auto 3% auto;
	font-size: 15px;
	vertical-align: bottom;
	line-height: 200%;
	text-align: center;
}
.time_un_dis {padding: 1% 2% 0 2%;font-size:210%;font-weight: bold;color: #FFF;}
.time_un_txt {color:#FFF;font-size: 180%;font-weight: bold;text-align: center;}
.time_un_w{
 	position: relative;
	min-width: 120px;
 	max-width: 100%;
	border:1px #D8D8D8 solid;
	padding: 28px 3% 20px 3%;
	border-radius: 5px;
	background: linear-gradient(#224193, #162C63);
	color: #FDFDFD;
	margin: 0 0 5%;
	font-size: 22px;
}
.time_un_w:before{
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
 	margin-left: -30px;
	border: 30px solid transparent;
	border-top: 15px solid #162C63;
}
.time_un_img {
	width: 90%;
	background: #FFF;
	padding: 3% 1% 0;
	border: #BFBFBF double 4px;
	font-size: 22px;
	margin: 0 auto;
}
.ptop{
	text-align: right;
	margin: 0 15px 0 ;
}
.ptop a {
	color: #FFFFFF;
	font-size: 80%;
	background:	#E0221C;
	font-weight: bold;
	padding: 1% 3%;
	border-radius: 6px 6px 0 0;
	text-decoration: none;
}
.merit{
	width:90%;
	line-height:130%;
	margin:0 auto 10px;
	font-size: 14px;
	background: #94ADD0;
	text-align: center;
}
.merit th{
	vertical-align:middle;
	padding:8px 3px 5px 3px ;
	font-weight:bold;
}
.merit td{
	padding:8px 3px 5px 3px ;
	background: #FFF;
}


/*ここまで
---------------------------------------------------------------------------*/

section{
    margin:0 auto 30px;
	padding:0 0 20px;
	border: 1px solid #DDD;
    border-radius: 5px;
}

section h1{
	line-height: 200%;
}
section h2,h3{
    font-size:160%;
}
.sub_cach{
	background: #032C8C;
	padding: 10px 8px 8px;
	color: #FFF;
	font-size: 160%;
}
.sub_cach span {color: #FFF96E;	font-size: 140%;}
/*pagetop
-----------------------------------------*/
#page-top {
	position: fixed;
	bottom: 0px;
	right: 10px;
	z-index: 1;
}
#page-top a {
	text-decoration: none;
	text-align: right;
	display: block;
	opacity: 0.7;
}
#page-top a:hover {
	text-decoration: none;
	opacity: 0.5;
}
.small{ font-size:14px;color: #333;}

.donyu{margin:10px}

.midashi_01 {
  margin: 10PX 5px 0PX;
  padding: 0.5em;/*文字周りの余白*/
  color: #494949;/*文字色*/
  background: #D1F1DD;/*背景色*/
  border-left: solid 5px #004A32;/*左線（実線 太さ 色）*/
  font-weight: bold;
  font-size: 18px;
  text-align: left;
}
.top-image{max-width: 700px;
margin: 0px auto;}
.lp-main{width:94%;
margin: 0px auto;
max-width: 700px;}
.lp-main p{margin:0px 5px}
.marker{background-color:#FFFA8C}
.shirofuchi{
  text-shadow: 1px 1px 0 #FFF,
               -1px 1px 0 #FFF,
               1px -1px 0 #FFF,
               -1px -1px 0 #FFF;
  }
.midashi_02 {
  margin: 10PX 0PX;
  padding: 0.5em;/*文字周りの余白*/
  color: #111111;/*文字色*/
  background: #FECB5F;/*背景色*/
  font-weight: bold;
  font-size: 22px;
  text-align: left;
}

.box01 {
    margin: 1em;
    background: #FBFFF4;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
}
.box01 .box-title {
    font-size: 1.2em;
    background: #288F47;
    padding: 6px 10px;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.box01 p {
    padding: 15px 20px;
    margin: 0;
}
.box02 {
    margin: 1em 0;
	border: solid 2px #FFC107;
}
.box02 .box-title {
    font-size: 25px;
    background: #FECB5F;
    padding: 4px;
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.box02 p {
    padding: 15px 20px;
    margin: 0;
}
.box02 img {
    margin: 10px;
	text-align: center;
}
.table01{
width:98%;
line-height:130%;
margin:0 auto 10px;
	font-size: 13px;
	background: #DDDDDD;
	text-align: center;
}
.table01 th{
vertical-align:middle;
padding:8px 3px 5px 3px ;
	font-weight:normal;
	background: #EEFFE4;

}
.table01 td{
padding:8px 3px 5px 3px ;
	font-weight: bold;
	background: #FFF;
}

/*関連記事
---------------------------------------------------------------------------*/
.related-articles {
	background: #ffffff;
    border: 2px solid #288F47;
    border-radius: 8px;
    padding: 15px;
    margin: 20px auto 10px;
}

.related-articles h3 {
    color: #288F47;
    font-size: 18px;
    margin-bottom: 10px;
}

.related-articles ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.related-articles li {
    padding: 10px;
    border-bottom: 1px solid #ddd;
}

.related-articles li:last-child {
    border-bottom: none;
}

.related-articles a {
    text-decoration: none;
    color: #288F47;
    font-weight: bold;
    display: block;
    font-size: 14px; /* 文字サイズを小さく調整 */
}

.related-articles a:hover {
    text-decoration: underline;
}

.hidden {
    display: none;
}

#toggle-button {
    background: #288F47;
    color: #fff;
    border: none;
    padding: 10px;
    width: 100%;
    margin-top: 10px;
    cursor: pointer;
    border-radius: 5px;
    font-size: 16px;
}

#toggle-button:hover {
    background: #1f6e38;
}

@media screen and (max-width: 768px) {
    .related-articles a {
        font-size: 12px; /* スマホ表示時にさらに小さく */
    }
}