@charset "utf-8";
/* CSS Document */

body{margin:0;
padding:0;
font-family: 'メイリオ',Meiryo,'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','ＭＳ Ｐゴシック',sans-serif;
color:#231f20;
 -webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
		line-height:200%;
			word-break: break-all;
}


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

p{margin:2% 0;
line-height:1.7;}

img{
-webkit-backface-visibility: hidden;
}


*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

h1{display:none;}

h2, h3, h4,strong{font-family: heisei-maru-gothic-std, sans-serif;

font-weight: 400;

font-style: normal;
line-height: 1.5;

}


a:link{color:#231f20;
text-decoration:none;}

a:visited{color:#231f20;
text-decoration:none;}

#main p a:link{color:#00bfff;
text-decoration:underline;}

#main p a:hover{color:#F66;
text-decoration:none;}

#main p a:visited{color:#F90;
text-decoration:underline;}


#main p.date a:link,#main .next a:link{color:#231f20;
text-decoration:none;}

#main p.date a:visited,#main .next a:visited{color:#231f20;
text-decoration:none;}

#header01{text-align:center;
overflow:hidden;
padding-top:15%;}

#header01 img{
	max-width:320px;
	width:40%;
height:auto;
margin-top:5%;}


.sponly{text-align:center;
font-size:12px;}

#header01 ul{display: flex;
	justify-content: center;
	padding:0;
margin:0;
padding-bottom:1%;
display:none;}

#header01 li{float:left;
width:150px;
list-style:none;
border-right:1px dotted #aaaaaa;
text-align:center;
}
#header01 ul li:first-child{border-left:1px dotted #aaaaaa;}

#block01,#block02,#block03{width:96%;
margin:auto;}

#block01 ul,#block02 ul,#block03 ul{
	list-style:none;}

#block03{margin-bottom:5%;}

#block01 img{display:block;
margin:auto;
width:100%;}

#block02 ul{
	width:100%;
	margin:2% auto !important;
	}

#block02 li{margin:0 0 3% 0;
line-height:200%;}

#block02 li:last-child{margin-bottom:0;}

#block02 li img{width:100%;}

#top_tel2{width:96%;
margin:auto;}

#top_tel2 img{width:100%;}

.button {
    display:block;
	color:#ffffff;
    width: 100%;
		margin:auto;
    text-align: center;
    text-decoration: none;
    outline: none;
    position: relative;
    z-index: 2;
    line-height: 40px;
    overflow: hidden;
	font-weight:bold;
	margin-bottom:2%;
	background:#cdf5f1;
	margin-top:2%;
	-webkit-border-radius:5px 5px 5px 5px;
-moz-border-radius:5px 5px 5px 5px;  
border-radius:5px 5px 5px 5px;
font-size:16px;
}


.button:before,
.button:after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.button:after {
    top: -100%;
    width: 100%;
    height: 100%;
}
.button,
.button:before,
.button:after {
    -webkit-transition: all .3s;
    transition: all .3s;
}

.button:hover {
 	font-weight:bold;
}
.button:hover:after {
    top: 0;
	font-weight:bold;
    background-color:#daf4f2;
}

.button2 {
    display:block;
    width: 100%;
		margin:auto;
    text-align: center;
    text-decoration: none;
    outline: none;
    position: relative;
    z-index: 2;
    line-height: 40px;
    overflow: hidden;
	font-weight:bold;
	margin-bottom:2%;
	background:#cdf5f1;
	margin-top:2%;
	-webkit-border-radius:5px 5px 5px 5px;
-moz-border-radius:5px 5px 5px 5px;  
border-radius:5px 5px 5px 5px;
font-size:24px;
}


.button2:before,
.button2:after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.button2:after {
    top: -100%;
    width: 100%;
    height: 100%;
}
.button2,
.button2:before,
.button2:after {
    -webkit-transition: all .3s;
    transition: all .3s;
}

.button2:hover {
 	font-weight:bold;
}
.button2:hover:after {
    top: 0;
	font-weight:bold;
    background-color:#daf4f2;
}


#top_news_bg,#top_tel{background:#f5f5f5;
 position: relative;
 padding:2%;}

#top_news_bg:after,#top_tel:after {
content: "";
	position: absolute;
	top: -60px;
	left: 50%;
 	margin-left: -30px;
	border: 30px solid transparent;
	border-bottom: 30px solid #f5f5f5;
}

#top_news_bg h2.blogtitle{
	max-width:240px;
	display:block;
	margin:auto;
	padding-top:4%;
	text-align:center;}

#top_news_bg h2.blogtitle img{width:100%;
height:auto;}

#top_news_list{max-width:1000px;
margin:auto;
padding:8% 0%;
font-size:14px;}


#top_news_list ul{list-style:none;
line-height:150%;}

#top_news_list li{border-bottom:1px dotted #999;
padding-left: 5em;
padding-bottom:0.5%;}

#top_newproducts{max-width:1000px;
margin:auto;
padding:8% 0%;}

#top_newproducts h2{width:200px;
margin:auto;}

#top_newproducts ul a{
font-weight:normal;}

#top_newproducts ul{
	overflow:hidden;
	width:96%;
	margin:3% auto;}

#top_newproducts ul li {
  width: 31%;
  margin: 0 1%;
  display: inline-block;
  vertical-align:top;
  list-style:none;
  font-size:14px;
  line-height:150%;
  margin-bottom:3%;
}

#top_newproducts ul li img{width:100%;
height:auto;}

#top_newproducts ul li:nth-child(3n) {
  margin-right:0;
}
	
#top_newproducts ul img,#productslist ul img{
	border:1px solid #dcdbdb;}

#top_bnarea{max-width:800px;
text-align:center;
margin:0% auto 10% auto;}

#top_tel img{display:block;
margin:auto;}

#top_tel{padding:30px 0;
text-align:center;}

#footer_bg{
	border-top:4px solid #ff5757;
	
}

#footer_bg a,#footer_menu li{font-size:12px;
}

#footer_menu{max-width:1000px;
margin:auto;
padding:3%;
overflow:hidden;}

ul.footer_01,ul.footer_02,ul.footer_03{
padding-left:4%;
line-height:200%;}

ul.footer_01{list-style:none;
}

#footer_menu ul ul{margin-left:3%;
list-style:none;}

#copyr{max-width:1000px;
margin:2% auto;
text-align:center;}

#sidebar ul{margin-left:1%;
list-style:none;
line-height:200%;
}

#sidebar ul ul{margin-left:4%;
list-style:inside;}

#sidebar li{
	padding:2%;
	border-bottom:1px dashed #CCC;}
	
#sidebar li a{display:block;
zoom:1}


#side_block{margin-bottom:3%;}

#side_block ul{
margin-top:1%;
margin-left:0;}
#side_block h2{background:white;
border-bottom:1px solid #393435;
padding:8px 0;}

#side_block img{max-width:600px;
display:block;
height:auto;
margin:2% auto;
width:100%;}

#side_fb{max-width:600px;
display:block;
height:auto;
margin:2% auto;}


#sidebar .cattoph2{font-size:20px !important;
border-bottom:3px solid #231f20 !important;}

#contents_all{
	max-width:1000px;
	margin:auto;
	overflow:hidden;
	margin-bottom:50px;}

#contents_all2{
	max-width:1000px;
	margin:auto;
	overflow:hidden;
	margin-bottom:50px;}

	
#sidebar i{font-size:12px;}

#main h2{font-size:20px;
padding:1%;
background:#ff5757;
color:white;
box-sizing:border-box;
-webkit-border-radius:5px 5px 5px 5px;
-moz-border-radius:5px 5px 5px 5px;  
border-radius:5px 5px 5px 5px;
line-height: 1.7;
margin-top:6% !important;
}


#main h2.title{font-size:20px;
border:none;
background:none;
	border-radius:0;
	border-top:1px solid #CCC;
	color:#333;
	padding:2% 0%;
	margin-top:0;
	font-weight:bold;
}


#main h3{
font-size:18px;
margin:3% 0;
padding:1.5%;
background:#ffffd1;
-webkit-border-radius:5px 5px 5px 5px;
-moz-border-radius:5px 5px 5px 5px;  
border-radius:5px 5px 5px 5px;}


#entry b,strong{font-size:20px;
background:#ffdada;
font-weight:bold;}

#entry li{line-height:200%;
list-style:inside;}


#main img{max-width:100%;
height:auto;}

#main p{
	line-height:1.7;
	margin-bottom:3%;
	margin-top:3%;}

img.cattop{margin-bottom:3%;}

#productslist ul{overflow:hidden;
list-style:none;
margin-top:20px;
width:100%;}

#productslist ul li {
	display:inline-block; 
/display:inline; 
/zoom:1;
width: 31.6%;
  font-size:14px;
  vertical-align: top;
  margin-right:1%;
  margin-bottom:2%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  }
#productslist ul li:nth-child(3n){margin-right:0;}

  
#productslist li img,#productslist2 img{width:100%;
height:auto;}


/* clearfix */
.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}

#list_all{margin-top:3%;}

#productslist2 img{
	width:30%;
	float:left;
	margin:3% 0;}
	
#productslist2 .rightframe{width:68%;
float:right;}

#productslist2{
	overflow:hidden;
	border-top:1px dashed #999;
	margin-top:3%;}

#productslist2 h2{background:none;
border-bottom:2px solid #333;
	-webkit-border-radius:0;
-moz-border-radius:0;  
border-radius:0;
font-size:16px;
margin-top:3%;
}

#productslist3 img{
	width:28%;
	height:auto;
	float:left;
	margin:3% 0;}
		
#productslist3 .rightframe{width:70%;
float:right;}

#productslist3{
	overflow:hidden;
	max-width:1000px;
	margin:auto;}

#productslist3 h2{background:none;
border-bottom:2px solid #333;
	-webkit-border-radius:0;
-moz-border-radius:0;  
border-radius:0;
margin-top:3%;
}


#b_list,#b_list2{overflow:hidden;}

#b_list h2{font-weight:normal;
background:orange;
color:white;
font-size:16px;}

#b_list h2:nth-child(1) {
	margin-top:0 !important;
}


#b_list p{margin-top:2%;}

#b_list ul{margin-top:2%;
min-height: 100%;
overflow: hidden;}

#b_list li img,#b_list2 li img{width:100% !important;
height:auto;}

#b_list li,#b_list2 li{
list-style:none;
height:auto;
padding:2%;
margin-bottom:2%;
border:1px solid #CCC;
	background:url(images/keisen2.jpg) repeat-x left bottom;
background-size:100% auto;/*この場合は高さが自動設定*/
}

#b_list li span,#b_list2 li span{font-size:12px;}

#b_list b,#b_list2 b{font-weight:normal;
color:#F60;}


.date{font-size:10px;
display:block;
padding:0;}

p.pankuzu{display:block;
text-align:right;}


#blogentry{width:70%;
margin:auto;}

#blogentry p{padding:0;
margin:0;
line-height:200%;}

#blogentry img{
background:#CCC;
max-width:100%;
height:auto;}

#blogentry h2,#kotei_block h2{margin:4% 0;}

#kotei_block h3{font-size:18px;
border-bottom:1px solid #231f20;
padding:1% 0%;
margin-bottom:2%;
font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", "Sawarabi Mincho", Meiryo, serif;
}

#kotei_block p{margin-bottom:3%;
line-height:200%;}

#item_img{width:43%;
float:left;}

#item_img .item01img{width:100%;
height:auto;}

#item_img ul{
list-style:none;
overflow:hidden;
}

#item_img li{float:left;
border:1px solid #eeeeee;
width: 32%;
margin-bottom:3%;}

#item_img li img{width:100%;
height:auto;}

#item_img ul li:nth-child(3n-1) {
  margin: 0 2%;
}

#item_img:after{overflow:hidden;}

#item_text{width:53%;
float:right;
font-size:14px;}

#item_text h2{margin-bottom:4%;}

.clearboth{clear:both;}

#item_all{
	overflow:hidden;
	margin-bottom:5%;}
	
#item_about{background:#eeeeee;
font-size:12px;
padding:2%;
margin-top:2%;}

/* ページャー */
.pager{
	clear:both;
    margin: 30px 0px !important;
    text-align:center;
	}
 
a.page-numbers,
.pager .current{
    background-color: white;
    border: solid 1px #aaaaaa;
    border-radius:5px;
    padding:5px 8px;
    margin:0 2px;
	font-size:18px;}
 
.pager .current{
    background-color: #eeeeee;
    border: solid 1px #000000;
    color: #000000;}
 
.pager a:hover{
    color: #000000;
    border: solid 1px #000000;
    background-color: #eeeeee;}
.pager a{text-decoration:none;}


ul.rslides{margin:0;
padding:0;}

.rslides img{
	width:100%;}


#breadcrumb {
    font-size: 12px !important;
	color:#999;
padding:1% 0;
}
#breadcrumb a {
	color:#999;
    text-decoration: none;
}
div#breadcrumb {
    clear: both;
    margin: 0;
 margin:auto;
}
div#breadcrumb li {
    display: inline;
}

#breadcrumb ul li a:after {
content: ">";
}


li.news_icon{
		list-style-type:none;
	background-image:url(images/info_button.png);
	background-repeat:no-repeat;
	background-position:left center;
	padding-left:60px;
	}
li.blog_icon{
		list-style-type:none;
	background-image:url(images/blog_button.png);
	background-repeat:no-repeat;
	background-position:left center;
	padding-left:60px;
}

.next{width:100%;
overflow:hidden;
margin:20px auto;
}


.backpage a,.nextpage a,.list_back a{display:block;
zoom:1;
line-height:normal;}

.backpage{float:left;
border:1px solid #f0ecd4;
padding:0;
margin:0;
padding:8px;
margin:20px 0px;
}


.nextpage{float:right;
border:1px solid #f0ecd4;
padding:0;
margin:0;
padding:8px;
margin:20px 0px;
}


.list_back{
	clear:both;
	width:200px;
	margin:auto;
border:1px solid #f0ecd4;
text-align:center;
padding:8px;
}

.seni{width:900px;
margin:auto;}

#top_news_list span{color:#F00;}



.google-maps {
position: relative;
padding-bottom: 50%; // これが縦横比
height: 0;
overflow: hidden;
margin:3% 0;
}
.google-maps iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}

.table1{width:100%;
border:1px solid #CCC;
border-collapse:collapse;
margin:2% 0 5% 0;
}

.table1 th{
border-collapse:collapse;
padding:2%;
border:1px solid #CCC;
width:150px !important;
vertical-align:middle;
}

.table1 td{border-collapse:collapse;
padding:2%;
border:1px solid #CCC;
}

.table1 a{color:#F60;
font-weight:bold;
text-decoration:underline;}


.mailform{width:80%;
margin:auto;}

.mailform span{font-size:14px;
color:#F90;}

.wpcf7 input[name="your-name"],
.wpcf7 input[name="your-email"],
.wpcf7 input[name="your-subject"],
.wpcf7 input[name="text-130"] {
        width: 70%;
        height: 30px !important;
}
 
.wpcf7 textarea[name="your-message"] {
        width: 70%;
        height: 250px !important;
}

/* 送信ボタンを見やすくする */
input.wpcf7-submit {
	width: 30%;
	height: 40px;
	background:#CCC;
	color:#666;
	font-size: 18px;
}

/* スクロールで固定するメニュー */

#menu-wrap{
  display:none !important;}

.introimg{max-width:710px;
width:100%;}

		
	#block02 ul img{width:100%;}
#top_news_list{width:96%;
margin:auto;}

#kotei_block,#contents_all,#contents_all2{width:96%;
margin:auto;
margin-bottom:10%;}


#sidebar{width:100%;
float:none;
font-size:16px;
margin-bottom:8%;
margin-top:5%;}

#sidebar .vcside{display:block;
text-align:center;
margin-left:auto;
margin-right:auto;
max-width:300px;
margin-bottom:2%;}


.vcmain{border:2px solid #FC0;
text-align:center;
padding:2% !important;
margin:3% auto;}

.vcmain p{font-weight:bold;}

.vcmain img{max-width:468px;}


#main{width:100%;
float:none;
}

.mailform{width:100%;
margin:auto;}

#b_list2{margin-top:5%;}

		
#top_bnarea img{width:96% !important;
margin:auto;}


.gnavi img{width:100%;
height:auto;
}

#footer_menu ul{width:100%;
margin-bottom:2%;
margin-left:2%;}

#b_list li img,#b_list2 li img{width:96%;
height:auto;}


#b_list2 ul{
	max-width:400px;
	margin:auto;}
	
#b_list2 li{
float:none;
width:100%;
margin-bottom:5%;
}


#blogentry{width:100%;
margin:auto;}


#header-top p{display:none;}


.header_sp {
  width: 100%;
  z-index: 4;
  position:fixed;}
  .header_sp h1 {
    text-align: center;
    font-size: 10px;
    font-size: 1.5rem;
    padding: 10px 40px 10px 0px;
    color: #fff; }
  .header_sp .header__heading {
	border-top:4px solid #ff5757;
	opacity: 1.0;
    position: absolute;
    width: 100%;
    z-index: 12;
	height:50px;
	border-bottom:1px solid #CCC;}
	
.header__heading ul{display:table;
width:80%;
}

.header__heading li{display:table-cell;
width:13.3%;
padding:3px;
max-height:52px;}

.header__heading li img{width:auto;
max-height:52px;
height:auto !important;}


#head_right{display:none;}

.nav-content {
  position: absolute;
  width: 100%;
  top: -735px;
  z-index: 10;
  -webkit-transition: 1.5s top;
          transition: 1.5s top; }
  .nav-content ul li {
    font-size: 12px;
    font-size: 1.2rem;
	background:white;
		opacity: 1.0;
	border-top:1px solid #CCC;}
    .nav-content ul li a {
      text-align: center;
      display: block;
	  zoom:1;
      padding: 10px 0px;
      color:#333;
	  text-decoration:none;}

.is-open .nav-content {
  top: 50px; }

#js-cover {
  background: #000;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0px;
  opacity: 0;
  z-index: 1; }

.menu-button {
  width: 30px;
  height: 30px;
  display: block;
  position: absolute;
  right: 14px;
  top: 10px; }
  .menu-button i {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 3px;
    background: orange;
    -webkit-transition: background 0.5s;
            transition: background 0.5s;
    position: relative;
    left: 5px;
    top: 14px; }
    .menu-button i:before,
    .menu-button i:after {
      content: "";
      display: block;
      width: 20px;
      height: 2px;
      border-radius: 3px;
      background: orange;
      position: absolute;
      -webkit-transform: rotate(0deg);
          -ms-transform: rotate(0deg);
              transform: rotate(0deg);
      -webkit-transition: all 0.3s !important;
              transition: all 0.3s !important; }
    .menu-button i:before {
      -webkit-transform: translateY(8px);
          -ms-transform: translateY(8px);
              transform: translateY(8px); }
    .menu-button i:after {
      -webkit-transform: translateY(-8px);
          -ms-transform: translateY(-8px);
              transform: translateY(-8px); }

.is-open .menu-button i {
  background: orange; }
  .is-open .menu-button i:after {
    -webkit-transform: translateY(0px) rotate(-45deg);
        -ms-transform: translateY(0px) rotate(-45deg);
            transform: translateY(0px) rotate(-45deg); }
  .is-open .menu-button i:before {
    -webkit-transform: translateY(0px) rotate(45deg);
        -ms-transform: translateY(0px) rotate(45deg);
            transform: translateY(0px) rotate(45deg); }

.flogo{max-width:320px;
}

.formbutton{max-width:300px;}

#movieframe{
	margin:auto;
box-sizing:border-box;
width:96%;
}

#movieframe h2,#block01 h2,#block02 h2,#block03 h2{background:#81d8d0;
color:white;
font-size: 4.8vw;
text-align:center;
margin:4% auto 2% auto;
padding:2%;
-webkit-border-radius:5px 5px 5px 5px;
-moz-border-radius:5px 5px 5px 5px;  
border-radius:5px 5px 5px 5px;}

.movie {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px; /* 現プレイヤーでは不要？ */
    height: 0;
    overflow: hidden;
	margin-bottom:3%;
}
 
.movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#entryfoot{margin:5% auto;
border:1px solid #CCC;
padding:2%;
	background:url(images/keisen2.jpg) repeat-x right bottom;
	background-size:100% auto;/*この場合は高さが自動設定*/
		-webkit-border-radius:5px 5px 5px 5px;
-moz-border-radius:5px 5px 5px 5px;  
border-radius:5px 5px 5px 5px;
}

#entryfoot h2{
	font-size:18px;
	background:#0cc0df;
		margin-top:0 !important;}

#entryfoot p{line-height: 1.7;}


#entryfoot table{
	width:100%;
	margin:2% 0;
	border:1px solid #CCC;
	border-collapse:collapse;
	word-break:break-all;
}
	
#entryfoot table th{width:20%;
	border:1px solid #CCC;
	border-collapse:collapse;
	background:#f5f5f5;
		padding:1%;
	text-align:left;
	vertical-align:middle;}

#entryfoot table td{
	border:1px solid #CCC;
	border-collapse:collapse;
	background:#fdfdfd;
	padding:1%;
	text-align:left;
	vertical-align:middle;}

#frame01{overflow:hidden;}

#frame01 img{float:right;
width:40%;
margin-left:2%;
margin-top:2%;}


.box26 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #ff914d;
    border-radius: 8px;
}
.box26 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #ff914d;
    font-weight: bold;
}
.box26 p {
    margin: 0; 
    padding: 0;
}

.box26 a{color:#0C0 !important;
text-decoration:underline;}


.double-border {
    width:100%;
    border:3px solid #81d8d0;
    outline: 1px solid #81d8d0; /* 線幅、線のスタイル、カラー */
outline-offset: -10px; /* 対象の要素からの距離、マイナス(内側)にも対応 */
padding:3%;
margin:5% auto;
box-sizing:border-box;}

.double-border h3{border:none !important;
font-size:20px !important;
border-bottom:3px solid #81d8d0 !important;
text-align:center;
color:#1d2088;
background:none !important;}

.double-border p{font-size:18px;
text-align:center;}

.double-border ul{list-style:inside;
width:80%;
margin:5% auto;}

.double-border li{
	list-style:none;
	font-size:24px;
	border-bottom:1px dashed #666;
	line-height:200%;}
	
.double-border li span{
	display:block;
	text-align:right;
	margin-top:-9%;
	color:#e5004f;}
	
.double-border strong{font-size:24px;}

#pagebottom{margin-top:6%;}

.pconly{display:none;}

ul.entryli{list-style:inside;
border:2px solid #81d8d0;
font-weight:bold;
padding:3% 2%;
margin:0;}

ul.entryli li{line-height:200%;
border-bottom:1px dashed #999;
padding:1% 0;}


/*-----------------------------
ギャラリー
------------------------------*/
.gallery {
}
.gallery-item {
 float: left;
 margin-top: 0;
 margin-left: 0;
}
.gallery-icon {
 text-align: center;
}
.gallery-caption {
 color: #21759B;
 font-size: 90%;
 margin: 0;
 text-align: center;
}
.gallery-item img{
 width: 100%;
 padding: 0%;
 margin: 0%;
 float: left;
 height: auto;
}
.gallery-columns-1 .gallery-item {
 width: 100%;
 margin: 0%;
 box-sizing: border-box;
 float: left;
 height: auto;
}
.gallery-columns-2 .gallery-item {
 width: 49.5%;
 margin-right: 1%;
 margin-top:1%;
 float: left;
 height: auto;
 box-sizing:border-box;
}
.gallery-columns-3 .gallery-item {
 width: 32.6%;
 margin-right: 1%;
 margin-top:1%;
 float: left;
 height: auto;
}
.gallery-columns-4 .gallery-item {
 width: 23%;
 margin: 1%;
 float: left;
 height: auto;
}

.gallery-columns-2 .gallery-item:nth-of-type(2n) {
    margin-right: 0 !important;/*2の倍数めの画像の右マージンを0に*/
}

.gallery-columns-3 .gallery-item:nth-of-type(3n) {
    margin-right: 0 !important;/*2の倍数めの画像の右マージンを0に*/
}

/* この記事が気に入ったらいいね！しよう
===============================================*/

.follow {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  background:#000;
}

.follow .thumb {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  background-size: cover;
}

.follow .layer {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  background: -moz-linear-gradient(top,  rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.75) 30%, rgba(0,0,0,0.9) 60%, rgba(0,0,0,0.9) 100%);
  background: -webkit-linear-gradient(top,  rgba(0,0,0,0.6) 0%,rgba(0,0,0,0.75) 30%,rgba(0,0,0,0.9) 60%,rgba(0,0,0,0.9) 100%);
  background: linear-gradient(to bottom,  rgba(0,0,0,0.6) 0%,rgba(0,0,0,0.75) 30%,rgba(0,0,0,0.9) 60%,rgba(0,0,0,0.9) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#99000000', endColorstr='#e6000000',GradientType=0 );
}

.follow .follow_inner {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.follow .follow_inner ul {
  width: 100%;
  text-align: center;
}

.follow .follow_inner ul li {
	padding:1% 0 !important;
}

.follow .follow_inner ul li  a{color:white;}


.follow .follow_inner .msg {
  color: #fff;
  text-align: center;
  line-height: 1.5;
  font-weight: bold;
}

.follow .follow_inner .msg span {
  display: block;
  text-align: center;
  font-weight: normal;
}



@media (min-width: 769px) {

  .follow {
    margin-bottom: 20px;
  }

  .follow .follow_inner ul {
    margin-bottom: 20px;
  }

  .follow .follow_inner .msg {
    font-size: 100%;
  }

  .follow .follow_inner .msg span {
    font-size: 58.33%;
    margin-top: 10px;
  }

}

@media (min-width: 481px) and (max-width: 768px) {
	
  .follow .follow_inner ul {
    margin-bottom: 10px;
  }

  .follow .follow_inner .msg {
    font-size: 100%;
  }

  .follow .follow_inner .msg span {
    font-size: 66.66%;
    margin-top: 6px;
  }

}

@media (max-width: 480px) {

  .follow {
    margin-bottom: 20px;
  }

  .follow .follow_inner ul {
    margin-bottom: 0;
  }

  .follow .follow_inner .msg {
    font-size: 100%;
  }

  .follow .follow_inner .msg span {
    font-size: 75%;
    margin-top: 6px;
  }

}

.insta_all{
padding:3%;
margin-bottom:3%;
text-align:center;
background:url(images/bg028_09.gif);}

.insta_all p{background:white;
padding:2%;}


.insta_all a{text-decoration:none !important;
color:#333 !important;}

.insta_btn {
  display: inline-block;
  text-align: center;/*中央揃え*/
  color: #2e6ca5;/*文字色*/
  font-size: 20px;/*文字サイズ*/
  text-decoration: none;/*下線消す*/
}

.insta_btn:hover {/*ホバー時*/
  color:#668ad8;/*文字色*/
  transition: .5s;/*ゆっくり変化*/
}

.insta_btn .insta{/*アイコンの背景*/
  position: relative;/*相対配置*/
  display: inline-block;
  width: 50px;/*幅*/
  height: 50px;/*高さ*/
  vertical-align: middle;/*垂直中央に*/
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
  overflow: hidden;/*はみ出た部分を隠す*/
  border-radius: 13px;/*角丸に*/

}

.insta_btn .insta:before{/*グラデーションを重ねるため*/
  content: '';
  position: absolute;/*絶対配置*/
  top: 23px;/*ずらす*/
  left: -18px;/*ずらす*/
  width: 60px;/*グラデーションカバーの幅*/
  height: 60px;/*グラデーションカバーの高さ*/
  background: -webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
  background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);/*グラデーション②*/
}

.insta_btn .fa-instagram {/*アイコン*/
  color: #FFF;/*白に*/
  position: relative;/*z-indexを使うため*/
  z-index: 2;/*グラデーションより前に*/
  font-size: 35px;/*アイコンサイズ*/
  line-height: 50px;/*高さと合わせる*/
}

.lineat{border:2px solid #0C3;
text-align:center;
margin-bottom:3%;}


@media screen and (max-width: 640px)  {

#item_img{width:100%;
float:none !important;}

#item_img li img{width:100%;
height:auto;}


#item_text{
font-size:14px;
float:none !important;
width:100%;}

#item_text h2{margin-bottom:4%;}
}


#picup h2,#picup p{background:none;
color:#333;
margin:0;
padding:2%;}

#picup h2{padding:0% 2% 0% 2%;
margin:0 !important;}

#picup{background:#f5f5f5;
margin-bottom:2%;}


/* 商品に見立てた枠 */
.triangle {
    margin: 0 auto;
    position: relative;
}

/* ラベル部分 左上に表示 */
.triangle::before {
    content: "";
    top: 0;
    left: 0;
    border-bottom: 5em solid transparent;
    border-left: 5em solid #cb6ce6; /* ラベルの色はここで変更 */
    position: absolute;
    z-index: 2;
}
.triangle::after {
    content: "Hot!";
    display: block;
    top: 15px;
    transform: rotate(-45deg);
    color: #fff; /* 文字色はここで変更 */
    left: 10px;
    position: absolute;
    z-index: 3;
	font-size:20px;
}

.catname{font-size:10px;
color:#CCC;
margin:2% 0;}

#side_block .a-ranking{overflow:hidden;}

#side_block .a-ranking li {padding:2% 0 !important;
margin:0 !important;
font-size:14px;
}


#side_block .a-ranking img{width:40%;
float:left;
margin-right:2%;}


.rankh2 {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px !important;
  width:100%;
  color: white;
  font-size: 20px;
  background:#F66 !important;
  border:none !important;
}

.rankh2:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 20%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #F66;
}

.rankh2 h2 {
  margin: 0;
  padding: 0;
}

/** 人気記事のアイキャッチ内に順位番号を表示 */
body{
  counter-reset: rank_number;  
}
.wpp_thumb_wrapper{
  position: relative;
}
.wpp_thumb_wrapper:after{
  counter-increment: rank_number;
  content: counter(rank_number);
  display: block;
  position: absolute;
  left: 0;
  width: 30px;
  height: 30px;
  background:#F66;
  color: white;
  font-size: 16px;
  text-align: center;
  border-radius: 2px;
}


.share_button{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;  
 }
 .share_button div{
     text-align: center;
     border: 1px;
     border-radius: 4px; 
 }
 .share_button .share_button_box{
     width:calc(100% / 4);
     margin:2px;
     color:white;
    padding:0.5em 0em;
    font-size:12px;
    cursor : pointer;
     }
.share_button .share_button_box:hover{
    opacity:0.8;
    }
.share_button .share_button_box .fa-2x {
font-size: 1.5em;
}
.share_button .a{background-color:rgb(71,160,235);}
.share_button .b{background-color:rgb(64,90,147);}
.share_button .c{background-color:rgb(59,110,183);}
.share_button .d{background-color:rgb(206,85,66);}
.share_button .e{background-color:rgb(222,79,90);}
.share_button .f{background-color:rgb(85,191,56);}


#side_block .cms-nav.cms-nav-ranking li {
margin:0 !important;
padding:0 !important;
    position: relative;
}

.cms-nav.cms-nav-ranking li::after {
    pointer-events: none;
    position: absolute;
    display: block;
    content: '';
    letter-spacing: 0.1em;
    font-size: 12px;
    font-weight: 700;
    top: 0px;
    width: 40px;
    height: 40px;
    padding-top: 8px;
    background:#960;
    text-align: center;
    color: #fff;
    z-index: 2;
}

.cms-nav.cms-nav-ranking li:nth-child(3)::after,
.cms-nav.cms-nav-ranking li:nth-child(2)::after,
.cms-nav.cms-nav-ranking li:nth-child(1)::after {
    width: 50px;
    height: 50px;
    padding-top: 12px;
    font-size: 14px;
}

.cms-nav.cms-nav-ranking li:nth-child(1)::after {
    content: '1';
    background:#F90;
}

.cms-nav.cms-nav-ranking li:nth-child(2)::after {
    content: '2';
    background:#6C3;
}

.cms-nav.cms-nav-ranking li:nth-child(3)::after {
    content: '3';
    background:#F36;
}

.cms-nav.cms-nav-ranking li:nth-child(4)::after {
    content: '4';
}

.cms-nav.cms-nav-ranking li:nth-child(5)::after {
    content: '5';
}

.cms-nav.cms-nav-ranking li:nth-child(6)::after {
    content: '6';
}

.cms-nav.cms-nav-ranking li:nth-child(7)::after {
    content: '7';
}

.cms-nav.cms-nav-ranking li:nth-child(8)::after {
    content: '8';
}

.cms-nav.cms-nav-ranking li:nth-child(9)::after {
    content: '9';
}

.cms-nav.cms-nav-ranking li:nth-child(10)::after {
    content: '10';
}


blockquote {
    position: relative;
    padding: 15px 10px 5px;
    box-sizing: border-box;
    background: #f3f3f3;
	margin-bottom:4%;
	margin-top:2%;
}

blockquote:before{
    display: inline-block;
    position: absolute;
    top: -8px;
    left: 9px;
    width: 40px;
    height: 30px;
    vertical-align: middle;
    text-align: center;
    content: "\f10d";
    font-family:"Font Awesome 5 Free";
    color: #FFF;
    font-size: 18px;
    line-height: 30px;
    background: #6fcdd9;
    font-weight: 900;
}

blockquote:after{
    position: absolute;
    content: '';
    top: -8px;
    left: 49px;
    border: none;
    border-bottom: solid 8px #6cacb5;
    border-right: solid 9px transparent;
}

blockquote p {
    position: relative;
    padding: 0;
    margin: 10px 0;
    z-index: 2;
    line-height: 1.7;
}

blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}

#spad{max-width:320px;
margin:auto !important;
}



#textinfo{background:#f5f5f5;
padding:2%;
	-webkit-border-radius:5px 5px 5px 5px;
-moz-border-radius:5px 5px 5px 5px;  
border-radius:5px 5px 5px 5px;
font-family: heisei-maru-gothic-std, sans-serif;}


#textinfo a{
color:#093;}

#main ol li{list-style-type:decimal !important;}

.imgwaku{border:2px solid #CCC;}


.openinfo{background:#ffe4e1;
border-radius:10px;
padding:1% 2%;
font-size:12px;}

.openinfo span{color:#F36;
font-weight:bold;
font-size:16px;}


.pink_waku{border:3px solid #fa8072;
padding:3%;
border-radius:10px;
font-family: heisei-maru-gothic-std, sans-serif;

font-weight: 400;
margin-top:4%;
padding-top:0 !important;}

.pink_waku h2{background:#fa8072 !important;
color:white;
padding:3%;
border-radius:10px;
margin-top:0 !important;}


.skyblue_waku{border:3px solid #00bfff;
padding:3%;
border-radius:10px;
font-family: heisei-maru-gothic-std, sans-serif;

font-weight: 400;
margin-top:4%;
padding-top:0 !important;}

.skyblue_waku h2{background:#00bfff !important;
color:white;
padding:3%;
border-radius:10px;
margin-top:0 !important;}

.green_waku{border:3px solid #9acd32;
padding:3%;
border-radius:10px;
font-family: heisei-maru-gothic-std, sans-serif;

font-weight: 400;
margin-top:4%;
padding-top:0 !important;}

.green_waku h2{background:#9acd32 !important;
color:white;
padding:3%;
border-radius:10px;
margin-top:0 !important;}


.kgtitle{font-size:20px;
font-weight:bold;}

.kg_schedule{background:#f5f5f5;
padding:4%;
border-radius:10px;
color:#F90;}


#yaku_bn img{width:100%;
height:auto;
margin:auto;}

@media screen and (max-width: 480px){
.share_button{
    margin-top:1em;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    }
.share_button .share_button_box{
     min-width:calc(100% / 4);
     padding-right:10px;
     padding-left:10px;
     margin:1px;
     color:white;
     font-size:10px;
     flex:1;
     }
.share_button .share_button_box .fa-2x {
     font-size: 1.33333333em;
     line-height: 0.75em;
     vertical-align: -15%;
}
.share_button .share_button_box:active{
    opacity:0.8;
    }
}


  /* ---------- headerメニューBase20250829 ---------- */
  :root{
    --header-h: 60px;
    --bg: #ffffff;
    --ink:#1a1a1a;
    --line:#e5e5e5;
  }
  * { box-sizing: border-box; }
  html,body { margin:0; padding:0; }
  a { color: inherit; text-decoration: none; }
  a:focus-visible, button:focus-visible, label:focus-visible {
    outline: 2px solid #4d90fe;
    outline-offset: 2px;
  }

  /* ---------- Header (追従) ---------- */
  .site-header {
    position: fixed; /* スクロールしても追従 */
    top: 0; left: 0; right: 0;
    height: var(--header-h);
    background: var(--bg);
    border-bottom: 1px solid var(--line);
    z-index: 1000;
  }
  .header-inner {
    max-width: 1100px;
    margin: 0 auto;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 16px;
  }
  .brand {
    font-weight: 700;
    letter-spacing: .02em;
  }
  .spacer { flex: 1; }

  /* ---------- Hamburger (右配置) ---------- */
  #nav-toggle { display: none; } /* チェックボックス本体を隠す */

  .hamburger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px; height: 44px;
    border-radius: 8px;
    cursor: pointer;
    border: 1px solid var(--line);
    background: #fff;
  }
  /* アイコン */
  .hamburger .bars,
  .hamburger .bars::before,
  .hamburger .bars::after {
    content: "";
    display: block;
    width: 22px; height: 2px;
    background: var(--ink);
    border-radius: 2px;
    transition: transform .25s ease, opacity .25s ease;
  }
  .hamburger .bars { position: relative; }
  .hamburger .bars::before { position: absolute; top: -7px; }
  .hamburger .bars::after  { position: absolute; top: 7px; }

  /* チェック時（×アイコン） */
  #nav-toggle:checked + label .bars {
    transform: rotate(45deg);
  }
  #nav-toggle:checked + label .bars::before {
    transform: translateY(7px) rotate(90deg);
  }
  #nav-toggle:checked + label .bars::after {
    transform: translateY(-7px) rotate(90deg);
    opacity: 0;
  }

  /* ---------- Nav ---------- */
  nav.primary-nav {
    /* モバイルではオフキャンバス（右から） */
    position: fixed;
    top: var(--header-h);
    right: 0;
    width: min(80vw, 320px);
    height: calc(100dvh - var(--header-h));
    background: var(--bg);
    border-left: 1px solid var(--line);
    transform: translateX(100%);
    transition: transform .25s ease;
    padding: 16px;
    overflow-y: auto;
  }
  /* オーバーレイ（背景タップで閉じる見た目だけ。CSSのみなのでクリックでは閉じません） */
  .overlay {
    position: fixed;
    inset: var(--header-h) 0 0 0;
    background: rgba(0,0,0,.3);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
  }

  /* リスト */
  .menu {
    list-style: none;
    margin: 0; padding: 8px 0 0;
    display: grid;
    gap: 8px;
  }
  .menu a {
    display: block;
    padding: 12px 10px;
    border-radius: 8px;
    border: 1px solid var(--line);
    background: #fff;
  }
  .menu a:hover { background: #f5f5f5; }

  /* チェック時＝開く */
  #nav-toggle:checked ~ .overlay {
    opacity: 1;
    pointer-events: auto;
  }
  #nav-toggle:checked ~ nav.primary-nav {
    transform: translateX(0);
  }

  /* ---------- Desktop（≥ 900px） ---------- */
  @media (min-width: 900px) {
    .hamburger { display: none; } /* PCではボタン非表示 */
    nav.primary-nav {
      position: static;
      transform: none;
      transition: none;
      height: auto;
      width: auto;
      border: 0;
      padding: 0;
      background: transparent;
      overflow: visible;
    }
    .overlay { display: none; }
    .menu {
      display: flex;
      gap: 10px;
      align-items: center;
      padding: 0;
    }
    .menu a {
      border: 0;
      background: transparent;
      padding: 8px 10px;
      border-radius: 6px;
    }
    .menu a:hover { background: #f2f2f2; }
  }

  /* ---------- Demo content spacing ---------- */
  .page {
    max-width: 1100px;
    padding: calc(var(--header-h) + 24px) 16px 80px; /* ヘッダー分の余白 */
    margin: 0 auto;
  }

  /* ユーザーの設定尊重 */
  @media (prefers-reduced-motion: reduce) {
    * { transition: none !important; }
  }

#header_pc{display:none;}