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

/*----------------------
	デフォルトスタイル
-----------------------*/
body,p,h1,h2,h3,h4,h5,h6,
span,small,strong,
div,ul,li,
figure,img,
header,footer,nav,section{
    margin:0;
    padding:0;
	border:none;
	outline:none;
	font-size:1rem;
}

header,footer,nav,section{display:block;}


li{list-style:none;}


body{
	font-family: "游明朝", YuMincho,"Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, serif;
	background-color: #FFF;
	text-align: center;
  width: 100%;  /* モーダル表示時、幅が変更されるのを防ぐ */
}



/* ★広告モーダル */


#modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0,0,0,0.8); /* 背面のbodyを少しだけ暗くし、操作できないニュアンスを出す */
  z-index:1200;
}

.modal-mask {
  position: absolute;
  width: 100%;
  height: 100vh;
  opacity: 0.2;
}

.modal-container {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90%;
  background: #fefefe;
  transform: translate(-50%, -50%);
  box-shadow: 3px 3px 5px #fff; /* 背面のbodyの上に立体的にのせているイメージ */
}

.modal-inner {
  position: relative; /* 閉じるボタンの相対位置の基準とする */
  margin: 10px auto;
  width: 90%;
  height: auto;
  text-align: center;
}



button.modal-close {
  position: absolute;
  top: calc(-10% - 8px);  /* 位置の基準とする親要素のmargin分と、親要素からはみ出す距離（ここでは8px)を引く */
  right: calc(-5% - 8px);
  padding: 3px;
  width: 60px;
  height: 60px;
  border: 1px solid #fefefe;
  border-radius: 50%;
  background-color: #fefefe;
  font-size: 60px;
  box-shadow: 2px 2px 3px #888;
  line-height: 10px;
  color: #444;
  cursor: pointer;
}


/* ★★★★★★広告モーダルend */










/* 画像ボケ防止 */
img {
  -webkit-backface-visibility: hidden;
}


/* アコーディオンタッチ時のハイライト無効化 */
html {-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}


.clear-both {clear:both;}

div.none{display:none;}



.jcart-button{
    color: #ff0000;
}



/* リンク色 */
a:link {
	color:#004824;
    text-decoration:none;
}



/*訪問後のリンク*/
a:visited {
    color:#004824;
    text-decoration:none;
}


/*【角丸】*/
.corner{
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
}


.menu-banner{
	max-width:100%;
	min-width:10px;
	height:auto;
	margin:0 0 3px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
}


td.u01{
	width:50%;
}


p.u01{
	background-color: #004824;
	color:#FFFFFF;
	border-radius:10px 10px 0px 0px ;
	margin:0;
	padding:10px;
}

p.u02{
	border:solid 1px #FF9900;
	border-radius:10px;
	color:#FF6600;
	text-align:center;
	margin:5px 30px;
	padding: 5px;
	font-size:0.9rem;
	font-weight: bold;
}

p.u03{
	color:#000000;
	margin:0;
	padding:0px 10px;
	font-size:0.7rem;
}

td.u04{
	border:1px solid #cccccc;
	padding:5px;
}


table.u05{
	width:100%;
	border:1px solid #cccccc;
	background-color:#aae1c6;
	margin:0 0 50px 0;
}

table.u05 td{
	width:50%;
	padding:15px;
}


/* カート */
.zipsearch001{
	border:solid 1px #cfcfcf;
	border-radius:5px;
	color:#666666;
	text-align:center;
	margin:1px 0px;
	padding:0 5px ;
	font-size:0.8rem;
	font-weight: nomal;
}




p.checkout01 {
    text-align:right;
    color: #ff0000;
    font-size: 1.5rem;
    font-weight:bold;
    margin: 10px 0px 10px;
    padding: 0px;
    background: #ffffff;
    border-top: 3px #ff0000 double;
}




p.checkout02{
	width:100px;
	border:solid 1px #FF9900;
	border-radius:10px;
	color:#FF6600;
	text-align:center;
	margin:5px 0px;
	padding: 5px;
	font-size:0.9rem;
	font-weight: bold;
}

p.checkout03{
	width:100%;
	border:solid 1px #FF0000;
	border-radius:10px;
	color:#FF0000;
	text-align:center;
	margin:5px 0px;
	padding: 5px;
	font-size:1rem;
	font-weight: bold;
}

p.thanks01{
	width:100%;
	background: #ff0000;
	border:solid 1px #ffffff;
	border-radius:10px;
	color:#ffffff;
	text-align:center;
	margin:5px 0px;
	padding: 5px;
	font-size:1.2rem;
	font-weight: bold;
}


p.thanks02{
	background: #ffffff;
	border:solid 1px #004824;
	border-radius:0px;
	color:#004824;
	text-align:left;
	margin:5px 0px;
	padding: 5px;
	font-size:2rem;
	font-weight: bold;
}







td.thanks{
	border-top:double 5px #FF0000;
        color: #ff0000;
        font-size: 1.5rem;
        font-weight:bold;
}



p.guide01{
	border-bottom:1px #CCCCCC solid;
        color: #666666;
        font-size: 1.2rem;
        font-weight:bold;
	padding:0px 10px;
	margin:0px;
}


p.guide02{
	border:3px #004824 solid;
        color: #004824;
        font-size: 1.2rem;
        font-weight:bold;
	padding:10px;
	margin:0px;
}




.details01{
	border:solid 1px #cccccc;
	border-radius:10px;
	color:#000000;
	text-align:center;
	margin:10px;
	padding: 10px 30px;
	font-size:1.2rem;
	font-weight: bold;
}


.details02{
	background: #ffffff;
	border:solid 1px #004824;
	border-radius:30px;
	color:#004824;
	text-align:center;
	margin:10px;
	padding: 10px 30px;
	font-size:1rem;
	font-weight: nomal;
}





/* PC版ヘッダ固定 */
header#top1{
	height: 80px;
	width: 100%;
	text-align:left;
	background-color: #fff;
	color:#000000;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index:999;
}

table#top-head {
	width: 100%;
	text-align:left;
	background-color: #ffffff;
	color:#000000;
	box-shadow:0px 9px 3px -3px rgba(0,0,0,0.6);
	-webkit-box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.6);
	-moz-box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.6);
}


/* 一覧ソート用 */


a.sort01{
	background-color: #2f885b;
	border:solid 1px #cccccc;
	border-radius:5px;
	color:#ffffff;
	text-align:center;
	margin:0px 3px 0px 0px;
	padding: 5px 20px;
	font-size:0.9rem;
	font-weight: nomal;
}





/* wordpress新着情報用 */

.wp-news {
  list-style: none;
}
 
.wp-news li {
  width: 24%;
  height:100%;
  text-align: center;
  display: inline-block;
}
 
.wp-news li a {
  text-decoration: none;
}

.wp-title{
	color:#000000;
	border-bottom: solid 3px orange;
}

.wp-date{color:#666666;}

div.wp01{
position:relative;
height:500px;
background:#ffffff;
padding:10px;
border:1px solid #cccccc;
border-radius:10px;
z-index:10;
}




.wp-news2 {
  list-style: none;
}
 
.wp-news2 li {
  width: 49%;
  height:100%;
  text-align: center;
  display: inline-block;
}
 
.wp-news2 li a {
  text-decoration: none;
}


div.wp01s{
position:relative;
height:400px;
background:#ffffff;
padding:10px;
border:1px solid #cccccc;
border-radius:10px;
z-index:10;
}





a.type{
	color:#000000;
	text-decoration:underline dotted #333333;
}



/* 汎用 */

.left{text-align:left;}
.right{text-align:right;}
.center{text-align:center;}

.fs07{font-size:0.7rem;}
.fs08{font-size:0.8rem;}
.fs09{font-size:0.9rem;}
.fs12{font-size:1.2rem;}
.fs15{font-size:1.5rem;}

.red{color:#FF0000;}
.blue{color:blue;}


img.max {
	max-width:100%;
	min-width:10px;
	height:auto;
}


/* ■保険料シミュレーター */

/* 複数のラジオボタン 横幅未設定 */



.radio01 input{
	display: none;
}

.radio01 label{
	display:inline-block;
	width:45%;
	float: center;
	cursor: pointer;
	margin: 3px;
	padding: 5px 10px;
	background: #ffffff;
	color: #cfcfcf;
	font-size: 1rem;
	text-align: center;
	border:1px solid #cccccc;
        border-radius: 5px;
}


.radio01 input[type="radio"]:checked + label {
	background-color: #e67168;
	color: #fff;
}





p.p101 {
    color: #666666;
    font-size: 1rem;
    margin: 0 0 1px 0;
    padding: 10px;
    background: #F6F6F6;
    font-weight: bold;
}

<!-- アコーディオン -->


.accbox {
    margin: 2em 0;
    padding: 0;
    max-width: 100%;
}


.accbox label {
    display: block;
    margin: 0 0 1px 0;
    padding : 10px;
    color :#666666;
    font-weight: nomal;
    background :#cce4ff;
    cursor :pointer;
    transition: all 0.2s;
}

.accbox label:hover {
    background :#85baef;
    color:#ffffff;
}

.accbox input {
    display: none;
}

.accbox .accshow {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.5s;
}

.cssacc:checked + .accshow {
    height: auto;
    padding: 5px;
    background:  rgba(0, 0, 0, 0);
    opacity: 1;
}


p.acckid{
	font-size:0.9rem;
	margin:0 0 10px 0;
	padding:0 10px;
}










/* ■ページ内リンク用上部スペース */
div.space_sp {height:100px;}
div.space_pc {height:100px;}




/* ■続きを読むボタン（開閉） */

.cp_box *, .cp_box *:before, .cp_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box {
	position: relative;
}
.cp_box label {
	position: absolute;
	z-index: 1;
	bottom: 0;
	width: 100%;
	height: 140px; /* グラデーションの高さ */
	cursor: pointer;
	text-align: center;
	/* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
	background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%);
}
.cp_box input:checked + label {
	background: inherit; /* 開いた時にグラデーションを消す */
}
.cp_box label:after {
	line-height: 2.5rem;
	position: absolute;
	z-index: 2;
	bottom: 20px;
	left: 50%;
	width: 16rem;
	font-family: FontAwesome;
	content: '▽'' 続きを読む';
	transform: translate(-50%, 0);
	letter-spacing: 0.05em;
	color: #ffffff;
	border-radius: 20px;
	background-color: rgba(27, 37, 56, 1);
}
.cp_box input {
	display: none;
}
.cp_box .cp_container {
	overflow: hidden;
	height: 200px; /* 開く前に見えている部分の高さ */
	transition: all 0.5s;
}
.cp_box input:checked + label {
	/* display: none ; 閉じるボタンを消す場合解放 */
}
.cp_box input:checked + label:after {
	font-family: FontAwesome;
	content: '▲'' 閉じる';
}
.cp_box input:checked ~ .cp_container {
	height: auto;
	padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
	transition: all 0.5s;
}



p {margin: 0 0 0.6rem 0;}



/* ■入力フォーム */

input,
select,
textarea {
    padding: 5;
    outline: none;
    border: 1px solid #333;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    font-size: 1.1rem;
}

input:focus,
texture:focus {
    box-shadow: 0 0 7px #3498db;
    border: 1px solid #3498db;
}






/* ■メニューBOX */

.contents100 {
     width: 100%;
     margin: auto;
     text-align:left;
}
 .flexbox {
     display: flex;
 }
 .box101 {
     width: 30%;
     margin: 0;
     padding:10px;
     border: 1px #666666 solid;
 }
 .box102 {
     width: 70%;
     margin: 0;
     padding:10px;
     border: 1px #666666 solid;
 }
 @media screen and (max-width: 540px) {
     .flexbox {
         display: block;
     }
     .flexbox .box101 {
         width: 95%;
         margin: 0 auto;
     }
     .flexbox .box102 {
         width: 95%;
         margin: 0 auto;
     }
 }



div.open{
    width:50%;
    background: #02426A;
    text-align:center;
    margin:5 0;
    padding:5px;
    font-size: 0.9rem;
    border-radius: 10px;
    text-decoration: none;
}

div.open a{color: #ffffff;}



div.open02{
    width:80%;
    background: #efefef;
    text-align:center;
    align:center;
    margin:10px auto;
    padding:5px;
    font-size: 1rem;
    border:solid #cfcfcf 1px;
    border-radius: 5px;
    text-decoration: none;
}

div.open02 a{
	color: #111111;
	display: block;
}






h5{
	margin:0px;
	padding-bottom:.2em;
	font-size:0.5rem;
	font-weight:normal;
	text-align:right;
	border-bottom: 1px #666666 solid;
}

hr.top01{
 border-top: 1px solid #666666;
}


h1{
    color: #fff;
    font-size: 1.2rem;
    margin: 0px 0px 10px;
    border-left: 20px #004824 solid;
    padding: 10px;
    background: #2F885B;
}






h2{
    background-color: #dbebf8;
    color: #004080;
    font-size: 1.2rem;
    padding: 5px 15px;
    border: 1px #004080 solid;
    font-weight:bold;
    border-radius: 5px;
}




td.h01{
    vertical-align:bottom;
    color: #666666;
    font-size: 1.6rem;
    padding: 0px 0px 0px 15px;
    border-left: 10px #666666 solid;
    font-weight:bold;
}



td.h02{
    height:90px;
    background: url(./img/h2.gif) no-repeat;
    background-position: left 0% top 0%;
    vertical-align:middle;
    color: #000000;
    font-size: 1.2rem;
    padding: 0px 0px 0px 90px;
    font-weight:bold;
}



td.h04{
    vertical-align:bottom;
    padding: 0px;
    border-top: 1px #666666 dotted;
}





h3{
    color: #02426A;
    font-size: 1.2rem;
    margin: 30px 0px 10px;
    padding: 10px;
    background: #ffffff;
    border: 1px #02426A SOLID;
    border-left: 10px #02426A solid;
}


h4{
    color: #ffffff;
    font-size: 1.1rem;
    margin: 0px;
    padding: 10px;
    background: #480700;
}


p.p01{
	color:#666666;
	font-size:1.5rem;
	font-weight:bold;
}


p.p02{
	color:#02426A;
	font-size:1rem;
	font-weight:bold;
}


p.p03{
  border-bottom: solid 3px #cce4ff;
  position: relative;
}

p.p03:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #5472cd;
  bottom: -3px;
  width: 10%;
}


p.p06{
  color: #505050;
  padding: 0.2rem 1rem;
  margin: 0;
  display: inline-block;
  background: #dbebf8;
  vertical-align: middle;
  border-radius: 25px;
}


p.p06:before {
  content: '●';
  color: white;
  margin-right: 3px;
}





.p04 {
  position: relative;
  padding: 0 .4em .1em;
}
.p04::after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  width: 100%;
  height: 10px;
  background-color: #b6f0fc;
}



.p08 {
  position: relative;
  padding: 0 .4em .1em;
}
.p08::after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  width: 100%;
  height: 10px;
  background-color: #ffff00;
}











span.span04{
  color: #666666;
  padding: 0 1rem;
  margin:0 2px 0 0;
  display: inline-block;
  background: #ffffff;
  vertical-align: middle;
  border: solid 1px #cfcfcf;
  border-radius: 25px;
}



p.p05{
  border-bottom: solid 3px #cce4ff;
	font-size:1rem;
	font-weight:bold;
  margin:20px 0 0 0;
}





p.p07{
	font-size:0.9rem;
	margin:0;
	line-height:1rem;
}





p.p11{
	color:#004824;
	font-size:1.2rem;
	font-weight:bold;
	margin:3px 0;
	padding:6px;
	line-height:1rem;
  border-left: solid 5px #004824;
}






.cell-link {
    text-align:center;
    font-size: 0.9rem;
    background-image: linear-gradient(white,white,white,#cfcfcf);
    padding: 0;
    height: 0;
    border: 1px #cccccc solid;
    border-radius: 5px;
}

.cell-link a{
	height: 100%;
	padding: 20px 5px;
	display: block;
	align-items: center;
}



.plink01:after{
	content:url(img/icon_link02.png);
}



.plink02{
	font-size:0.8rem;
	text-align:right;
}

.plink02:before{
	content:url(img/icon_link02.png);
}


.urllink:after{
	content:url(img/icon_link01.png);
}




.td333 {width:33.33%;}
.td50 {width:50%;}
.td100 {width:100%;}



.link01{
  color: #666666;
  padding: 0.1rem 1rem;
  margin:0 2px 2px 0;
  display: inline-block;
  background: #ffffff;
  vertical-align: middle;
  border: solid 1px #cfcfcf;
  border-radius: 25px;

}

.link02{
  color: #333333;
  padding: 0.1rem 0.5rem;
  margin:0 0 0 5px;
  display: inline-block;
  background: #ffffff;
  vertical-align: middle;
  border: solid 1px #cfcfcf;
  border-radius: 15px;

}



.att:after{
	content:url(img/icon_att.png);
}

.pdf:after{
	content:url(img/icon_pdf.png);
}






.input01{
	width:95%;
	margin:0 0 0 5px;
	box-sizing:border-box;
}




div.div02{
background-image: linear-gradient(white,white,white,#f0f0f0);
padding:10px;
border:1px solid #cccccc;
border-radius:10px;
}



div.div03{
background:#ffffff;
padding:10px;
border:1px solid #cccccc;
border-radius:10px;
}

div.div04{
background:#ffffff;
padding:10px;
margin:20px;
border:2px solid #00ccff;
border-radius:10px;
}


p.mds01{
border:1px solid #cccccc;
color:#ffff00;
font-size:1.1rem;
}







p.note {
  padding-top: 0;
  padding-bottom: 0;
  font-size: 20px;
  line-height: 1.5;
  background: repeating-linear-gradient(rgba(255,255,255,0) 0, rgba(255,255,255,0) 29px, #ccc 29px, #ccc 30px);
    color: #000;
}





P.j00 {
    background-color: #ffffff;
    margin: 30px 0px 0px 0px;
    color: #004080;
    font-size: 1.2rem;
    padding: 0px 5px;
    border: 3px #004080 solid;
    border-left: 20px #004080 solid;
    font-weight:bold;
    border-radius: 5px;
}



/* 電話番号リンク */
A.j03{
  font-size:16px;
  color: #333333;
  padding: 0.1rem 1.5rem;
  margin:0 2px 2px 0;
  display: inline-block;
  background: #ffffff;
  vertical-align: middle;
  border: solid 1px #cfcfcf;
  border-radius: 25px;
}

A.j03:after{
	content:url(img/icon_call01.png);
}


/* 番号リンク */
A.j04{
  font-size:1rem;
  line-height:1rem;
  color: #333333;
  padding: 1px 25px;
  margin: 0;
  display: inline-block;
  background: #ffffff;
  vertical-align: middle;
  border: solid 1px #cfcfcf;
  border-radius: 25px;
}

A.j04:after{
	content:url(img/icon_call02.png);
}



/* 番号リンク */
p.j05{
  font-size:1rem;
  line-height:1rem;
  color: #333333;
  padding: 1px 25px;
  margin: 0;
  display: inline-block;
  background: #ffffff;
  vertical-align: middle;
  border-radius: 25px;
}

p.j05:after{
	content:url(img/icon_call02.png);
}









P.k00 {
    background-color: #ffffff;
    margin: 30px 0px 0px 0px;
    color: #004080;
    font-size: 1rem;
    padding: 5px 5px;
    border: 1px #004080 solid;
    border-left: 10px #004080 solid;
    font-weight:nomal;
    border-radius: 5px;
}






.int01 {
    padding: 0 0 0 20px;
}







/* 試算フォーム */
input.values01 {width: 4rem;}

/* 試算フォーム input number 矢印消去 chrome safari */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* 試算フォーム input number 矢印消去 Firefox IE */
input[type="number"] {
    -moz-appearance:textfield;
}



/* フェイドイン */

.fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition : all 900ms;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
    z-index:1;
}






/*■枠線付きのテーブル*/



/* 下枠線のみ */
TABLE.solid01 {
	border: 0px #b4b4b4 solid;
	border-collapse: collapse;
	padding: 5px;
	width: 100%;
	align: center;
	font-size:1.5rem
}


TABLE.solid01 td {
	border-bottom: 1px #cccccc dotted;
	border-collapse: collapse;
	padding: 5px;
	font-size:1.2rem
}


.solid01 TR td:nth-of-type(1){
color:#0066FF;
font-weight:bold;
text-align:center;
}

.solid01 TR td:nth-of-type(3){
color:#0066FF;
font-weight:bold;
text-align:center;
}


.solid01 TR td:nth-of-type(2){
color:#666666;
font-weight:bold;
text-align:right;
border-right: 1px #666666 dotted;
}

.solid01 TR td:nth-of-type(4){
color:#666666;
font-weight:bold;
text-align:right;
}





TABLE.solid02 {
	width:100%;
	border: 0px #b4b4b4 solid;
	border-collapse: collapse;
	padding: 5px;
	width: 100%;
	align: left;
}


TABLE.solid02 td{
	vertical-align: middle;
	border: 1px #cccccc solid;
	border-collapse: collapse;
	padding: 5px;
}


TABLE.solid02 th{
	vertical-align: middle;
	border: 1px #cccccc solid;
	border-collapse: collapse;
	padding: 5px;
	font-weight:normal;
    white-space: nowrap;
    width: 90px;
}

th.solid02a {
	text-align:center;
}




TABLE.solid03 {
	width:100%;
	border: 1px #b4b4b4 solid;
	margin: 0 0 10px 0;
	padding: 5px 10px 5px 10px;
        border-radius: 5px;
}


TABLE.solid03 th{
	font-weight:normal;
        width: 90px;
}

TABLE.solid03 td{
	vertical-align: middle;
}





.td-01{
color:#000000;
font-weight:bold;
font-size:1.1rem;
text-align:right;
}


.td-02{
color:#000000;
font-weight:nomal;
font-size:0.9rem;
text-align:right;
}




td.kubun {
	white-space: nowrap;
	width:10px;
}

tr.bg001{background:#ccffcc;}

tr.bg002{background:#f0f0f0;}

tr.bg003{
	background:#dbebf8;
	color:#666666;
	font-weight:bold;
}










/*▼▼▼▼　画面幅設定 */


.max960 {
	max-width: 960px;
	margin: 0 auto;
	text-align: left;
}



/*■横幅で表示変更
--------------------*/

.phone-display{display:none;}
 
@media screen and (max-width:640px){

.com-display{display:none;}

.phone-display{display:inherit;}
}



img.pc01{margin:0 0 5px 0;}
img.sp01{display:none;}
 
@media screen and (max-width:400px){
img.pc01{display:none;}
img.sp01{display:inherit; margin:0 0 5px 0;}
}










/*■テーブル要素、縦横入れ替え
--------------------*/

@media only screen and (max-width:560px){
    .tateyoko { margin: 0; }
    .tateyoko th{
	background:#cccccc;
        width: 100%;
        display: block;
        border-top: none;
    }
    .tateyoko td{
        width: 100%;
        display: block;
        border-top: none;
    }
}








/* フローティングボタン共通 */

.fbutton{
    position: fixed;
    font-size: 0.8rem;
    font-weight:bold;
    z-index:999;
}

.fbutton a{
    background: #2F885B;
    text-decoration: none;
    color: #ffffff;
    border: 2px #004824 solid;
    width: 80px;
    padding: 5px 0;
    text-align: center;
    display: block;
}


.fbutton a:hover {
    text-decoration: none;
    background: #400048;
    border: 2px #400048 solid;
    color: #ffffff;
}


/*■上に戻るボタン　*/
.fbutton-1 {bottom: 10px; right: 10px;}

/*■トップページへ戻るボタン　*/
.fbutton-2 {bottom: 10px; left: 10px;}

/*■前のページへ戻るボタン　*/
.fbutton-3 {bottom: 46px; left: 10px;}


/* ■カートボタン */
.cart{
    position: fixed;
    font-size: 0.8rem;
    font-weight:bold;
    z-index:999;
    top:85px;
    right:10px;
}







textarea {width: 95%;}





/*■100％幅、基本テーブル*/
TABLE#table1 {
width: 100%;
align: center;
border: 0px;
}

/*■枠線付きのテーブル*/
TABLE#solid {
	border: 1px #b4b4b4 solid;
	border-collapse: collapse;
	padding: 5px;
}


td#bg1 {
	vertical-align: middle;
	margin-bottom: 1em;
	padding: 15px;
	border-top: none;
	background-color: #efefef;
	font-size: 0.9rem;
	color: #000000;
}







/*■YouTube動画埋め込み可変　*/

.youtube {
	position: relative;
	padding-bottom : 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}



/*----------------------------------------
使っているもの。ここまで
----------------------------------------*/



/*■携帯用アコーディオンメニュー
--------------------*/

li{
list-style: none;
cursor: pointer;
font-size:1rem;
font-weight:bold;
}

ul.acordion{
background: #ffffff;
border-top: solid 3px #999999;
border-bottom: solid 1px #999999;
margin: 0;
padding: 0;
text-align:left;
position:fixed;
width:100%;
z-index:9999;
box-shadow:0px 9px 3px -3px rgba(0,0,0,0.6);
  -webkit-box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.6);
  -moz-box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.6);
}

ul.acordion li {
border-bottom: solid 1px #ffffff;
}
ul.acordion li:first-child {
border-top: none;
}
ul.acordion li ul {
margin: 0;
padding: 0;
border: none;
}
ul.acordion li ul li {
background: #A0DEBF;
border-left: solid 1px #ffffff;
border-top: solid 0px #ffffff;
width:50%;
  box-sizing: border-box;
  display: block;
  float: left;
}

ul.acordion li ul li:last-child{
border-bottom: solid 0px #ffffff;
}
ul.acordion li ul li a {
font-size:0.9rem;
color: #2f885b;
display: block;
padding: 10px;
text-decoration: none;
}

ul.acordion a:hover { background:#ffffff; color:#004824; }
ul.acordion a:active { background:#ffffff; color:#ff0000; }

ul.acordion li .none-submenu {
background: url(img/trigger-arrow.png) no-repeat 98% 50%;
background-size: 2%;
display: block;
padding: 3px;
}
ul.acordion li .active-submenu {
background: url(img/triggeractive-arrow.png) no-repeat 98% 50%;
display: block;
padding: 3px;
}
@media only screen and (max-width: 960px) {
ul.acordion li .none-submenu{ background: url(img/trigger-arrow.png) no-repeat 96% 50%; }
ul.acordion li .active-submenu{ background: url(img/triggeractive-arrow.png) no-repeat 96% 50%; }
}












/*■PC用サイドメニュー１
--------------------*/


#pcmenu1 {
margin: 0 10px 0 0;
padding: 0;
list-style: none;
}
#pcmenu1 li {
display: block;
width: 220px;
height: 50px;
margin: 0;
line-height: 48px;
background: linear-gradient(#fff, #f1f1f1);
border: 1px solid #cfcfcf;
}
#pcmenu1 li + li {
margin-top: -1px;
}
#pcmenu1 li:first-child {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
#pcmenu1 li:last-child {
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}

#pcmenu1 li a {
display: block;
position: relative;
width: 100%;
height: 100%;
padding: 0 10px 0 18px;
box-sizing: border-box;
text-decoration: none;
color: #666;
}


#pcmenu1 li a:hover {
display: block;
position: relative;
width: 100%;
height: 100%;
padding: 0 10px 0 18px;
box-sizing: border-box;
text-decoration: none;
color: #666;
background-image: linear-gradient(white,white,white,#bee9d3);
}









#pcmenu1 li a::after {
content: url(img/menu01.gif);
position: absolute;
right: 10px;
top: 50%;
margin-top: -10px;
}


#pcmenu1 li a:hover:after {
content: url(img/menu02.gif);
position: absolute;
right: 10px;
top: 50%;
margin-top: -10px;
}





















/*■スマホ用タイルメニュー
--------------------*/

#spmenu{
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

#spmenu li{
  box-sizing: border-box;
  font-size:0.9rem;
  font-weight:bold;
  display: block;
  float: left;
  width: 50%;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
 }

#spmenu li a{
  display: block;
  padding: 5px;
  background: #D1F1B8;
  color: #666666;
  text-align: left;
  text-decoration: none;
}

#spmenu li a:hover{
  background: #90ee90;
  color: #666666;
}











