@charset "utf-8";

/**********************************************/


/* 科学情報出版株式会社（基本設定）
/* 基本サイズ  ：W960px
/* 基本色　　　：#4dac26（R:77 G:172 B:38）
/**********************************************/

body {
    margin: 0;
    padding: 0;
    font-size: 90%;
    font-family: 'メイリオ', Meiryo, helvetica, sans-serif;
    background-color: #f5f5f5;
    background-attachment: fixed;
    min-width: 960px;
}

h1 {
    position: relative;
    font-size: 1.6em;
    text-shadow: 1px 1px 1px #ddd;
    background-image: url("../img/line_a.gif"), url("../img/h1.gif");
    background-repeat: repeat-x, repeat-y;
    background-position: left bottom, left top;
    padding-left: 20px;
    padding-bottom: 8px;
    margin-top: 10px;
    line-height: 100%;
}

h1 span {
    font-size: 0.55em;
    display: block;
    letter-spacing: 1;
}

h1 b {
    font-size: 0.8em;
    margin-left: 10px;
    letter-spacing: 0;
}


/*戻るボタン*/

h1 img.backbtn {
    position: absolute;
    top: 5px;
    right: 0px;
}


/*購入ボタン*/

h1 img.orderbtn {
    position: absolute;
    top: 5px;
    right: 0px;
}


/*フォームボタン*/

h1 img.formbtn {
    position: absolute;
    top: 5px;
    right: 0px;
    border-radius: 3px;
}

h1 img.orderbtn3 {
    position: absolute;
    top: 0px;
    right: 0px;
}

h2 {
    font-size: 1.4em;
}

h3 {
    font-size: 1.2em;
    background: url("../img/h3.gif") no-repeat left center;
    background-color: #f2f2f2;
    /*#f7fbfa*/
    padding: 4px 30px;
}

h3 span {
    font-size: 0.8em;
}

h3~h3 {
    margin-top: 30px;
}

h4 {
    font-size: 1.1em;
}

img {
    border-width: 0;
}

a {
    color: #000;
}

a:hover {
    text-decoration: none;
}

a:hover img {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    -ms-box-shadow: none;
    box-shadow: none;
}

form {
    margin: 0;
    padding: 0;
}


/*PDFマーク*/


/*
#contents a[href$=".pdf"] {    
  background: url("../img/icon_pdf.png") no-repeat right top;
  padding-right:18px;
  margin-right:5px;
}
*/


/*注意事項*/

.list-caution {
    font-size: 0.9em;
    margin: 0 0 0 1em;
    padding: 0;
    list-style: none;
}

.list-caution li {
    background: url("../img/icon_caution.png") no-repeat left 3px;
    margin-bottom: 1px;
    padding-left: 15px;
}


/*ページタイトル*/

.pagettl {
    margin: 5px 0 0 0;
    padding: 3px 20px;
    background-color: #4dac26;
    color: #fff;
}


/****************************/


/*背景用外枠
/****************************/

.outbox {
    width: 100%;
    padding-top: 0px;
    overflow: auto;
    background-image: url("../img/emc.png"), url("../img/emc2.png");
    background-repeat: no-repeat, no-repeat;
    background-position: left 80px, right bottom;
}


/****************************/


/* 基本の幅
/****************************/

.container {
    width: 960px;
    margin: 0 auto;
}


/****************************/


/* ヘッダー
/****************************/

#header {
    width: 100%;
    height: 130px;
    line-height: 100%;
    background-image: url("../img/lang.png"), url("../img/header_line.gif"), url("../img/backline.gif");
    background-repeat: no-repeat, no-repeat, repeat-x;
    background-position: right top, center top, center top;
    background-color: #fff;
    color: #4dac26;
    z-index: 3000;
}


/*内枠*/

#header .container {
    position: relative;
    height: 80px;

    width: 1100px;
}


/*タイトル*/

#header .logo {
    position: absolute;
    top: 14px;
    left: 0px;
    display: block;
    z-index: 4;
}

#header .logo:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
}


/*サブメニュー*/

#header .menu {
    position: absolute;
    bottom: 10px;
    right: 0px;
    list-style: none;
    z-index: 3;
}

#header .menu li {
    background: url("../img/menu_line2.gif") no-repeat right center;
}

#header .menu li:last-child {
    background-image: none;
}


/*SNSメニュー*/

#header .sns {
    position: absolute;
    top: 22px;
    right: 0px;
    list-style: none;
    z-index: 3;
}

#header .sns li {
    float: left;
    margin-right: 5px;
}

#header .sns li:last-child {
    margin-right: 0;
}

#header .sns li#login {
    margin-right: 30px;
}


/*カートボタン*/

#header #btncart img {
    border-radius: 3px;
}


/*言語ボタン*/

.lang {
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 2;
}


/*メッセージ*/

#header .message {
    position: absolute;
    top: 10px;
    right: 0px;
    margin: 0;
    font-size: 0.85em;
    z-index: 1;
}


/*メインメニュー*/

#navigation {
    width: 100%;
    height: 50px;
    background: url("../img/menu_line.gif") repeat-x center bottom;
    -moz-box-shadow: 2px 2px 5px 1px #bbb;
    -webkit-box-shadow: 2px 2px 5px 1px #bbb;
    -ms-box-shadow: 2px 2px 5px 1px #bbb;
    box-shadow: 2px 2px 5px 1px #bbb;
    z-index: 2001;
}

#navigation .mainmenu {
    position: relative;
    width: 960px;
    height: 50px;
    margin: 0 auto;
}

#navigation .mainmenu img {
    display: none;
}

#navigation .mainmenu ul {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: url("../img/mainmenu.gif") no-repeat center center;
}

.mainmenu ul {
    width: 960px;
    height: 50px;
    margin: 0 0 0 1px;
    padding: 0;
}

.mainmenu ul:after {
    height: 0;
    visibility: hidden;
    content: ".";
    display: block;
    clear: both;
}

.mainmenu ul li {
    float: left;
    list-style: none;
    height: 50px;
}

.mainmenu ul li span {
    display: none;
}

.mainmenu ul li a {
    height: 50px;
    display: inline-block;
    /*
    display:table-cell;
    vertical-align:middle;
    */
    /*
    background-color:red;
    opacity: 0.3;
    filter: alpha(opacity=30);
    -moz-opacity: 0.3;
    */
}

.mainmenu ul li a:hover {
    background: url("../img/mainmenu_on.gif") no-repeat center top;
}

.mainmenu ul li.btn1 a {
    width: 157px;
}

.mainmenu ul li.btn2 a {
    width: 157px;
}

.mainmenu ul li.btn4 a {
    width: 158px;
}

.mainmenu ul li.btn3 a {
    width: 172px;
}

.mainmenu ul li.btn7 a {
    width: 157px;
}

.mainmenu ul li.btn8 a {
    width: 159px;
}

.mainmenu ul li.btn1 a:hover {
    background-position: 0px 0px;
}

.mainmenu ul li.btn2 a:hover {
    background-position: -157px 0px;
}

.mainmenu ul li.btn4 a:hover {
    background-position: -314px 0px;
}

.mainmenu ul li.btn3 a:hover {
    background-position: -472px 0px;
}

.mainmenu ul li.btn7 a:hover {
    background-position: -644px 0px;
}

.mainmenu ul li.btn8 a:hover {
    background-position: -801px 0px;
}

.mainmenu li#check {
    background: url("../img/check.gif") no-repeat left 47px;
}


/*非表示設定*/

.mainmenu ul li.btn6 {
    display: none;
}


/*位置固定*/

.fixed {
    position: fixed;
    top: 0;
}

.fixed-menu {
    position: fixed;
    top: 60px;
}


/*ヘッダーサブメニュー*/

.topsub {
    position: absolute;
    top: 45px;
    right: 200px;
    /*border:1px red solid;*/
    font-size: 0.8em;
}

.topsub a {
    text-decoration: none;
    padding: 0 4px;
}

.topsub a:hover {
    text-decoration: underline;
}


/****************************/


/*右コンテンツ
/****************************/

#contents {
    width: 750px;
    float: right;
    margin-bottom: 30px;
}


/*コンテンツ（内枠）*/

.inbox {
    clear: both;
    overflow: auto;
    background-color: #fff;
    padding: 20px 25px;
}

.inbox h1 {
    text-shadow: none;
}


/*コンセプト*/

.concept {
    font-size: 1.6em;
    text-shadow: 1px 1px 1px #ddd;
}

.concept span {
    display: block;
    margin-bottom: 15px;
}


/****************************/


/*左コンテンツ
/****************************/

#sidemenu {
    width: 180px;
    float: left;
    margin-bottom: 20px;
}

#sidemenu img.thema {
    display: block;
    margin-bottom: 15px;
    box-shadow: 0 0 5px rgba(99, 99, 99, 0.5);
    border-radius: 2px;
}

#sidemenu h3 {
    font-size: 1em;
}

.thema2 {
    display: block;
    margin-bottom: 5px;
}


/*サブメニュー*/

.submenu {
    margin: 0 0 15px 0;
    padding: 2px;
    list-style: none;
    font-size: 0.8em;
    background-color: #fff;
    border: 1px #7CC65D solid;
    font-size: 0.8em;
}

.submenu li {
    background: url("../img/icon_menu.png") no-repeat 5px 8px;
    background-color: #d6edcb;
    padding: 7px 0 7px 23px;
    border-bottom: 1px #fff solid;
}

.submenu li span {}

.submenu li:hover {
    background-color: #E7FADF;
}

.submenu li a {
    display: block;
    /*
    padding:7px 0 7px 23px;
    border-bottom:1px #fff solid;
    */
    text-decoration: none;
}

.submenu li:last-child a {
    border-bottom-width: 0;
}

.submenu li a:hover {
    /*background:url("../img/icon_menu.png") no-repeat 5px center;
    background-color:#E7FADF;*/
}

.submenu li.nolink:hover {
    background-color: #d6edcb;
}


/*サブメニュー内メニュー*/

.submenu ul {
    margin: 3px 1em 5px 0;
    padding: 0;
    list-style-type: none;
}

.submenu ul li {
    background-image: none;
    padding: 3px 0 3px 17px;
    border-bottom: 1px #000 dotted;
    margin-bottom: 3px;
    background: url("../img/icon11.png") no-repeat 5px center;
}

.submenu ul li:last-child {}


/*サブメニュー２*/

.submenu2 {
    margin-bottom: 40px;
    font-size: 0.8em;
}


/*バナー*/

.banner {
    margin-top: 30px;
}

.banner ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.banner li {
    margin-bottom: 15px;
}

.banner li img {
    width: 180px;
    display: block;
    border-radius: 2px;
}

.banner li img.shadow-a {
    margin-bottom: 20px;
}

.banner li img.shadow-b {
    -moz-box-shadow: 1px 1px 5px 1px #ccc;
    -webkit-box-shadow: 1px 1px 5px 1px #ccc;
    -ms-box-shadow: 1px 1px 5px 1px #ccc;
    box-shadow: 1px 1px 5px 1px #ccc;
    width: 180px;
}

.banner li img.shadow-c {
    -moz-box-shadow: 1px 1px 5px 1px #ccc;
    -webkit-box-shadow: 1px 1px 5px 1px #ccc;
    -ms-box-shadow: 1px 1px 5px 1px #ccc;
    box-shadow: 1px 1px 5px 1px #ccc;
    width: 160px;
}


/*新刊広告（ランダム表示）*/

.sideadv {
    position: relative;
    margin: 20px auto 30px;
    padding: 15px 20px 10px;
    background-color: #fff;
    font-size: 0.75em;
    text-align: center;
    border: 1px #ddd solid;
    line-height: 120%;
}

.sideadv img.bookcover {
    width: 100%;
    display: block;
    border-radius: 1px;
    margin: 0 auto 5px;
    border: 1px #ddd solid;
}


/*新刊マーク*/

.sideadv img.mknew {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 80px;
    z-index: 2;
}


/**********************/


/*SNSバナーbox
/**********************/

.snsbox {
    clear: both;
    margin: 0;
    padding: 0;
    list-style: none;
    background-image: url("../img/line_center.png"), url("../img/line_a.gif");
    background-repeat: no-repeat, repeat-x;
    background-position: center top, center top;
    padding-top: 50px;
    overflow: auto;
}

.snsbox li {
    width: 200px;
    float: left;
    margin-right: 53px;
    background: url("../img/bnrshadow.png") no-repeat center bottom;
    padding-bottom: 10px;
}

.snsbox li:last-child {
    margin-right: 0;
}

.snsbox li img {
    width: 200px;
    display: block;
}


/****************************/


/*ページトップ
/****************************/

.pagetop {
    clear: both;
    margin-top: 40px;
    text-align: right;
    background: url("../img/line_center_a.png") no-repeat center bottom;
}

.pagetop img:hover {
    cursor: pointer;
    opacity: 1;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
}


/****************************/


/* フッター
/****************************/

#footer {
    clear: both;
    width: 100%;
    background-color: #4dac26;
}


/*メニュー*/

.footermenu ul.menu {
    width: 960px;
    margin: 0 auto;
}

.footermenu ul.menu a {
    text-decoration: none;
}

.footermenu ul a:hover {
    text-decoration: underline;
}


/*メニュー：上段*/

#fmain {
    width: 100%;
    margin: 0 auto 10px;
    padding: 20px 0;
    background-color: #339933;
    color: #fff;
    -moz-box-shadow: 2px 2px 5px 1px #2D6814;
    -webkit-box-shadow: 2px 2px 5px 1px #2D6814;
    -ms-box-shadow: 2px 2px 5px 1px #2D6814;
    box-shadow: 2px 2px 5px 1px #2D6814;
}

#fmain a {
    padding: 4px 20px;
    color: #fff;
    background: url("../img/footer_line.gif") no-repeat right center;
}

#fmain li:first-child {
    background: url("../img/footer_line.gif") no-repeat left center;
}


/*メニュー：下段*/

#smain {
    clear: both;
    font-size: 0.87em;
    padding: 10px 0;
}

#smain li:before {
    content: " ｜ ";
}

#smain li:last-child:after {
    content: " ｜ ";
}


/*コピーライト*/

.copyright {
    overflow: auto;
    width: 960px;
    margin: 0 auto;
}

.copyright img {
    float: left;
    margin: 0 20px 0 0;
    width: 140px;
}

.copyright img:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
}

.copyright p {
    text-align: left;
    margin: 20px 0 0;
    font-size: 1.2em;
    font-weight: bold;
}

.copyright p span {
    display: block;
    font-size: 0.6em;
    font-weight: normal;
}

#footer h5 {
    font-size: 0.8em;
    text-align: right;
    margin: 0;
    padding: 0;
    color: #000;
}


/*********************/


/*ログイン（ポップアップ用）
/*********************/

#loginbox {
    display: none;
    position: absolute;
    width: 650px;
    padding: 20px;
    background-color: #4dac26;
    filter: alpha(opacity=90);
    background-color: rgba(77, 172, 38, 0.9);
    -moz-box-shadow: 2px 2px 10px 1px #e7e7e7;
    -webkit-box-shadow: 2px 2px 10px 1px #e7e7e7;
    -ms-box-shadow: 2px 2px 10px 1px #e7e7e7;
    box-shadow: 2px 2px 10px 1px #e7e7e7;
    z-index: 4000;
}


/*表示領域*/

#loginbox>div {
    position: relative;
    overflow: auto;
    padding: 15px 20px 30px 50px;
    background: url("../img/logo_b.png") no-repeat 450px 215px;
    background-color: #fff;
    border-radius: 3px;
}

#loginbox h2 {
    height: auto;
    margin: -5px 0 5px 0;
    font-size: 1.4em;
}

#loginbox form {
    width: 40%;
    float: left;
}

#loginbox label {
    margin-bottom: 5px;
    font-size: 0.9em;
}

#loginbox input[type="text"] {
    display: block;
    margin-bottom: 10px;
    width: 100%;
    padding: 5px 5px;
    font-size: 1.1em;
}

#loginbox input[type="submit"] {
    display: block;
    margin: 15px auto 0;
    font-size: 1.1em;
    padding: 5px 20px;
}

#loginbox ul {
    width: 45%;
    float: right;
    margin: 10px 0 0 0;
    padding: 0;
    font-size: 0.9em;
}


/*閉じるボタン*/

#loginbox .closed {
    width: 80px;
    background-color: #000;
    color: #fff;
    padding: 3px 10px;
    font-weight: bold;
    font-size: 1em;
    margin: 0 0 0 auto;
    cursor: pointer;
    border-radius: 2px;
    -moz-box-shadow: 1px 1px 1px 1px #ddd;
    -webkit-box-shadow: 1px 1px 1px 1px #ddd;
    -ms-box-shadow: 1px 1px 1px 1px #ddd;
    box-shadow: 1px 1px 1px 1px #ddd;
    display: block;
    text-align: center;
}

#loginbox .closed span {
    font-size: 1.2em;
    margin-left: 3px;
}

#loginbox .closed:hover {
    background-color: #000;
    filter: alpha(opacity=80);
    background-color: rgba(0, 0, 0, 0.8);
    box-shadow: none;
}


/*********************/


/*メニュー（横並び）
/*********************/

.menu {
    margin: 0;
    padding: 0;
}

.menu li {
    display: inline;
    list-style-type: none;
}

.menu a {
    padding: 0 5px;
}

.menu:after {
    height: 0;
    visibility: hidden;
    content: ".";
    display: block;
    clear: both;
}

.menu {
    zoom: 1;
}

@media screen {}


/*********************/


/*パンくずリスト
/*********************/

#navi {
    margin: 10px 0 20px 0;
    padding: 0;
    color: #999;
    font-size: 0.9em;
    text-align: left;
}

#navi li {
    display: inline;
    list-style-type: none;
    line-height: 100%;
    font-size: 0.9em;
    background: url("../img/navi.png") no-repeat right center;
    text-shadow: 1px 1px 1px #fff;
    padding-right: 15px;
}

#navi a {
    text-decoration: none;
    color: #999999;
    padding: 1px 0px 1px 0;
}

#navi a:hover {
    text-decoration: underline;
}

#navi:after {
    height: 0;
    visibility: hidden;
    content: ".";
    display: block;
    clear: both;
}

#navi {
    zoom: 1;
}

#navi li:last-child {
    background-image: none;
}


/**********************/


/*年メニュー
/**********************/


/*
ul.yeartab {
    margin:0;
    padding:0;
    overflow: auto;
    border: 1px #ddd solid;
    list-style:none;
    line-height:100%;
    font-size:0.9em;
}
ul.yeartab li {
    float:left;
    width:38px;
    padding:5px 0 5px 10px;

}
ul.yeartab li a {
    display:block;
    text-decoration:none;
    padding:3px 10px 3px 3px;
    border-right: 1px #000 dotted;
}

ul.yeartab li:last-child a {
    border-right-width:0;
}

ul.yeartab li a.selected {
    font-weight:bold;
    color:#cc3300;
}
ul.yeartab li a:hover {
    background-color: #eff7f5;
    font-weight:bold;
    font-size:0.9em;
}
*/

ul.yeartab {
    clear: both;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px #ddd solid;
    background-color: #fff;
    padding: 5px 2% 5px 2%;
    line-height: 100%;
    font-size: 0.9em;
    overflow: hidden;
    /*
    display: table;
    border-collapse: separate;
    border-spacing: 0 0;
    table-layout: fixed;
    */
    margin: 0 auto 30px;
}

ul.yeartab li {
    /*
    display: table-cell;
    vertical-align: top;
    */
    display: inline-block;
    width: 12%;
    margin: 2px 0px;
    text-align: center;
    /*
    float:left;
    width:38px;
    padding:5px 0 5px 10px;
*/
}

ul.yeartab li a {
    display: block;
    text-decoration: none;
    padding: 2px 10px;
    border-right: 1px #ddd solid;
    /*
    display:block;
    text-decoration:none;
    padding:3px 10px 3px 3px;
    border-right: 1px #000 dotted;
*/
}

ul.yeartab li:last-child a {
    /*
    border-right-width:0;
    */
}

ul.yeartab li a.selected {
    font-weight: bold;
    color: #cc3300;
}

ul.yeartab li a:hover {
    background-color: #eff7f5;
    font-weight: bold;
    font-size: 0.9em;
}


/**********************/


/*詳細ボタン
/**********************/

.lnkbtn {
    display: block;
    margin-bottom: 8px;
    padding: 8px 0;
    background: url("../img/btn.png") repeat-x left center;
    font-size: 0.9em;
    text-decoration: none;
    line-height: 100%;
    text-align: center;
    border-radius: 3px;
    border-top: 1px solid #ccc;
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
    border-left: 1px solid #ccc;
    font-weight: bold;
}

.lnkbtn span {
    background: url("../img/icon4.png") no-repeat left center;
    padding: 0 22px;
}

.lnkbtn:hover {
    background-image: none;
    background-color: #ccc;
    color: #fff;
}


/**********************/


/*画像見出し
/**********************/

.subtitle {
    position: relative;
}

.subtitle img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.subtitle a {
    position: absolute;
    font-size: 0.8em;
    text-decoration: none;
    z-index: 2;
    background: url("../img/icon_next.png") no-repeat right center;
    background-color: #ddd;
    padding: 2px 27px 2px 10px;
    border-radius: 3px;
}

.subtitle a:hover {
    text-decoration: underline;
}


/**********************/


/*移動用リンク
/**********************/

.next {
    clear: both;
    margin: 10px 0 20px 0;
    padding: 0;
    color: #999999;
    font-size: 0.9em;
    text-align: left;
}

.next li {
    display: inline;
    list-style: none;
    line-height: 100%;
    font-size: 0.9em;
}


/*************************************/


/*書籍画像ポップアップ処理
/*************************************/

.zoomer_wrapper {
    width: 100%;
    height: 300px;
    margin: 10px auto;
    overflow: hidden;
    border: 1px solid #ddd;
    border-radius: 3px;
    background-color: #fff;
}

.zoomer.dark_zoomer {
    background: #333 url("../js/jquery.zoomer/zoomer-bg-dark.png") repeat center;
}

.zoomer.dark_zoomer img {
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}


/*ポップアップ用背景*/

#backLayer2 {
    display: none;
    /*初期値非表示*/
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: black;
    filter: alpha(opacity=60);
    opacity: 0.6;
    z-index: 5000;
}


/*ポップアップ用内枠*/

#publicity2 {
    top: 50px;
    display: none;
    /*初期値非表示*/
    position: fixed;
    width: 800px;
    padding: 10px 20px;
    background: #fff;
    z-index: 5001;
}


/*サムネイル*/

.thumbnail-pop {
    width: 100%;
    margin: 0 auto 0px;
    padding: 0;
    list-style: none;
    background: url("../img/logo_b.png") no-repeat right bottom;
    text-align: center;
}

.thumbnail-pop li {
    display: inline;
    height: 60px;
}

.thumbnail-pop li img {
    width: auto;
    height: 60px;
    margin-right: 7px;
    border: 1px #ddd solid;
}

.thumbnail-pop li:last-child img {
    margin-right: 0;
}

.thumbnail-pop li img:hover {
    cursor: pointer;
    opacity: 0.7;
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
}


/*閉じるボタン*/

#close2 {
    position: absolute;
    top: 5px;
    right: 0px;
    text-align: center;
    width: 100%;
    font-size: 0.9em;
}

#close2 span {
    display: inline-block;
    cursor: pointer;
    background-color: #000;
    color: #fff;
    border-radius: 3px;
    width: 120px;
    font-size: 1.1em;
    padding: 3px 5px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

#close2:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
}


/*注意書き*/

.img-caution {
    display: block;
    margin: 10px auto 15px;
}


/**********************/


/*アコーディオンメニュー
/**********************/

dl.acmenu {
    margin: 0;
    padding: 0;
}

dl.acmenu>dt {
    cursor: pointer;
    line-height: 36px;
    padding-left: 45px;
    font-size: 1.8em;
    color: #0000ff;
    text-decoration: underline;
}

dl.acmenu>dt:hover {
    text-decoration: none;
    color: #000;
}

dl.acmenu>dd {
    display: none;
    margin: 0;
    padding: 30px 0 20px;
}

dl.acmenu>dd.active {
    display: block;
}


/*＋-ボタン*/

.acmenu dt.plus {
    background: url("../img/ac_open.gif") no-repeat left center;
    background-size: 36px;
}

.acmenu dt.plus-on {
    background: url("../img/ac_close.gif") no-repeat left center;
    background-size: 36px;
}


/**********************/


/*Javascript無効メッセージ
/**********************/

.nojs {
    padding: 20px 0;
    background-color: #fff;
}

.nojs img {
    display: block;
    margin: 10px auto;
}

.nojs-headline {
    width: 300px;
    display: block;
    margin: 10px auto;
}


/*フォント調整*/

.phi {
    font-family: serif;
}


/**********************/


/*ハンバーガーメニュー
/**********************/

.spmenu_btn {
    display: none;
    /* visibility: hidden; */
    background-color: #4dac26;
    height: 45px;
    width: 45px;
    position: fixed;
    top: 15px;
    right: 10px;
    z-index: 999;
    border-radius: 2px;
    transition: 0.3s;
    /* border: 1px dotted #fff; */
}

.spmenu_btn div {
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 2px;
    transition: 0.3s;
}

.spmenu_btn div:nth-child(1) {
    transform: translate(-50%, -10px);
}

.spmenu_btn div:nth-child(3) {
    transform: translate(-50%, 8px);
}

.spmenu_btn.active div:nth-child(1) {
    transform: rotate(45deg) translate(-8px, 0);
}

.spmenu_btn.active div:nth-child(2) {
    /* transform: translate(-100%, 0); */
    opacity: 0;
}

.spmenu_btn.active div:nth-child(3) {
    transform: rotate(-45deg)translate(0, -8px);
}

.spmenu {
    display: flex;
    flex-direction: column;
}

.spmenu {
    visibility: hidden;
    /* display: none; */
    position: fixed;
    /* top: 50%;
    left: 65%; */
    transform: translate(100%, 0);
    z-index: 1000;
    transition: 0.5s;
    z-index: 100;
    visibility: hidden;
    transition: 0.3s;
    height: 100%;
    width: 70%;
    position: fixed;
    right: 0;
    background-color: #4dac26;
}

.spmenu ul {
    margin-top: 70px;
}

.spmenu ul li {
    list-style: none;
    line-height: 50px;
}

.spmenu ul li a {
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    border-bottom: dotted #ffF 1px;
}

.spmenu.active {
    visibility: visible;
    transform: translate(0, 0);
}

.sp-sns {
    display: flex;
    flex-direction: row;
    margin: 0 0 0 30px;
}

.sp-sns span {
    padding: 0 10px;
}


/**********************/


/*iPad
/**********************/


/**********************/


/*スマホ
/* TOPページのレスポンシブ対応はcommon2.cssに記述 */


/**********************/

@media only screen and (min-width: 600px) and (max-width: 979px) {}

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

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

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