/* CSS Document */
body {
    font-size: 1.6em;
    line-height: 1.75em
    }
@media screen and (max-width: 960px) {
    main {
        padding: 0 20px
        }
    }
main > section:not(.tabs-container) {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto
    }
img.imgSp, br.brSp {
    display: none
    }
p {
    margin: 0 0 20px
    }
.btn:hover {
    opacity: 0.7;
    -moz-opacity: 0.7;
    -ms-filter: "alpha(opacity=70)";
    filter: alpha(opacity=70)
    }
.note {
    font-size: 1.4rem
    }
a.arrow {
    background-size: 7px auto
    }
a.ancdown, a.ancup {
    background-position: 0 10px
    }
/*=========================== 画像 */
/* Header
----------------------------------------------*/
header {
    background: #04140d;
    padding-top: 40px;
    /*min-width:1150px;*/
    }
@media screen and (max-width: 1060px) {
    header {
        min-width: 0
        }
    }
header .header-inner {
    background: #0f261b;
    position: relative;
    height: 110px
    }
    
 /* 20170622 update */
@media screen and (max-width: 1060px) {
    header .header-inner {
        height: 160px
        }
    }
@media screen and (max-width: 740px) {
    header .header-inner {
        height: 210px
        }
    }
header .header-inner:before, header .header-inner:after {
    content: " ";
    display: table
    }
header .header-inner:after {
    clear: both
    }
header .logo {
    float: left;
    margin: 33px 0 0 40px
    }
@media screen and (max-width: 1149px) {
    header .logo, header .logo img {
        width: 142px
        }
    header .logo {
        margin: 23px 0 0 32px
        }
    }
header .statement {
    float: left;
    margin: 28px 30px 0 40px
    }
@media screen and (max-width: 1149px) {
    header .statement {
        margin: 15px 30px 0 24px
        }
    }
header .menu-wrapper {
    overflow: hidden;
    position: relative;
    top: -30px;
    height: 140px
    }
@media screen and (max-width: 1060px) {
    header .menu-wrapper {
        top: -40px;
        height: 131px;
        overflow: visible
        }
    }
@media screen and (max-width: 740px) {
    header .menu-wrapper {
        height: 181px
        }
    }
@media screen and (max-width: 1060px) {
    header .menu-wrapper {
        clear: left;
        min-width: 0
        }
    }
header .menu-wrapper .menu-global {
    display: table;
    float: right;
    position: absolute;
    top: 95px;
    right: 20px
    }
    
/*20161107 add*/
header .menu-wrapper .menu-global .menu-global-en{
 display:none;
}
/*/20161107 add*/
    
    
    
@media screen and (max-width: 740px) {
    header .menu-wrapper .menu-global {
        top: 135px
        }
    }
header .menu-wrapper .menu-global li, header .menu-wrapper .menu-group-cell {
    display: table-cell;
    vertical-align: middle
    }
@media screen and (max-width: 740px) {
    header .menu-wrapper .menu-group-cell, header .menu-wrapper .menu-group-cell.utility {
        margin-bottom: 6px;
        display: block
        }
    }
header .menu-wrapper .menu-global li {
    padding: 0 10px
    }
@media screen and (max-width: 740px) {
    header .menu-wrapper .menu-global li {
        padding: 0 6px
        }
    }
header .menu-wrapper .menu-global li a {
    font-size: 1.6rem
    }
@media screen and (max-width: 1170px) {
    header .menu-wrapper .menu-global li a {
        font-size: 1.4rem
        }
    }
header .menu-wrapper .menu-global li a.active, header .menu-wrapper .menu-global li a:hover {
    color: #f08200
    }
    
/* 20170622 update */
header .menu-group-sub {
    display: table;
    position: absolute;
    top: 50px;
    right: 20px
    }
@media screen and (max-width: 740px) {
    header .menu-group-sub {
        display: block;
        left: 0
        }
    }
    
    
/*20161109 update*/
header .menu-group-sub li a.active,
header .menu-group-sub li a:hover{
    color:#f28300;
    }
/*/20161109 update*/
    
/* 20170622 update */
header .menu-group-sub:before {
    content: "";
    display: block;
    height: 1px;
    width: 810px;
    background: #7c807d;
    position: absolute;
    right: -20px;
    top: 30px
    }
@media screen and (max-width: 1149px) {
    header .menu-group-sub:before {
        width: 720px
        }
    }
@media screen and (max-width: 740px) {
    header .menu-group-sub:before {
        width: auto;
        top: 75px;
        left: 0
        }
    }
header .menu-wrapper .menu-global .coupon {
    display: none
    }
header .menu-wrapper .menu-sns {
    display: table;
    position: absolute;
    right: 20px;
    top: 0;
    z-index: 1
    }
@media screen and (max-width: 1060px) {
    header .menu-wrapper .menu-sns {
        top: -60px
        }
    }
@media screen and (max-width: 740px) {
    header .menu-wrapper .menu-sns {
        right: 10px
        }
    }
header .menu-wrapper .menu-sns li {
    display: table-cell;
    padding: 0 10px
    }
header .menu-wrapper .menu-sns li a {
    display: block;
    background-image: url(../images.087b1aaa819f36af29124b0c3584e9cd/sprite_sns.png);
    background-size: 102px auto;
    background-repeat: no-repeat
    }
header .menu-wrapper .menu-sns li:nth-child(1) a {
    width: 26px;
    height: 20px;
    background-position: 0 0
    }
header .menu-wrapper .menu-sns li:nth-child(1) a:hover {
    background-position: -54px 0
    }
header .menu-wrapper .menu-sns li:nth-child(2) a {
    width: 48px;
    height: 22px;
    background-position: 0 -25px
    }
header .menu-wrapper .menu-sns li:nth-child(2) a:hover {
    background-position: -54px -25px
    }
header .menu-wrapper .menu-sns li:nth-child(3) a {
    width: 21px;
    height: 21px;
    background-position: 0 -51px
    }
header .menu-wrapper .menu-sns li:nth-child(3) a:hover {
    background-position: -54px -51px
    }
header .menu-wrapper .menu-corporate, header .menu-wrapper .menu-language, header .menu-wrapper .utility ul {
    display: table
    }
header .menu-wrapper .menu-corporate li, header .menu-wrapper .menu-language li, header .menu-wrapper .utility li {
    display: table-cell;
    padding:0 10px;/*20161107 rewrite*/
    }
   
   
/*20161107 add*/
header .menu-wrapper .utility li.menu-en-sp{
    display:none;
    }
/*/20161107 add*/ 
    
    
header .menu-wrapper .menu-corporate li a, header .menu-wrapper .menu-language li a {
    padding-left: 12px;
    display: block;
    font-size: 1.2rem;
    position: relative
    }
    

/*20161107 add*/
header .menu-wrapper .menu-language li a{
    width:74px;
    height:24px;
    background-color:#fff;
    padding:3px 14px 7px 22px;
    color:#004121;
    }
header .menu-wrapper .menu-language li a:hover{
    color:#f28300;
    }
/*/20161107 add*/    
    
    
    
    
@media screen and (max-width: 1170px) {
    header .menu-wrapper .menu-corporate li a, header .menu-wrapper .menu-language li a {
        font-size: 1.1rem
        }
    header .menu-wrapper .menu-corporate li, header .menu-wrapper .menu-language li, header .menu-wrapper .utility li {
        padding: 0 7px
        }
    }
@media screen and (max-width: 740px) {
    header .menu-wrapper .menu-corporate li, header .menu-wrapper .menu-language li, header .menu-wrapper .utility li {
        padding: 0 10px
        }
    }
header .menu-wrapper .utility nav .menu {
    display: none
    }
header .menu-wrapper .utility nav a:before {
    margin: 0 5px 0 0;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-image: url(../images.087b1aaa819f36af29124b0c3584e9cd/sprite_menu.png);
    background-size: 90px auto;
    background-repeat: no-repeat
    }
header .menu-wrapper .utility nav .login a:before {
    width: 11px;
    height: 20px;
    background-position: -57px 0
    }
header .menu-wrapper .utility nav .login a.active:before, header .menu-wrapper .utility nav .login a:hover:before {
    background-position: -57px -27px
    }
header .menu-wrapper .utility nav .coupon a:before {
    width: 23px;
    height: 13px;
    background-position: -120px 0;
    background-size: auto auto
    }
header .menu-wrapper .utility nav .coupon a.active:before, header .menu-wrapper .utility nav .coupon a:hover:before {
    background-position: -120px -23px
    }
header .menu-wrapper .utility nav .shop a:before {
    width: 20px;
    height: 20px;
    background-position: -30px 0
    }
header .menu-wrapper .utility nav .shop a.active:before, header .menu-wrapper .utility nav .shop a:hover:before {
    background-position: -30px -26px
    }
header .menu-wrapper .utility li a {
    font-size: 1.2rem
    }
header .menu-wrapper .utility li a span {
    display: inline-block;
    vertical-align: middle
    }
header .menu-wrapper .utility .menu {
    display: none
    }
header .menu-wrapper .menu-corporate li a span, header .menu-wrapper .menu-language li a span {
    vertical-align: middle
    }
header .menu-wrapper .menu-corporate li a[target="_blank"] span:after, header .menu-wrapper .menu-language li a[target="_blank"] span:after {
    margin-left: 4px;
    content: "";
    display: inline-block;
    width: 12px;
    height: 11px;
    background: url(../images.087b1aaa819f36af29124b0c3584e9cd/icon_win-pc.png) 0 0 no-repeat
    }
header .menu-wrapper .menu-corporate li a[target="_blank"]:hover span:after, header .menu-wrapper .menu-language li a[target="_blank"]:hover span:after {
    background: url(../images.087b1aaa819f36af29124b0c3584e9cd/icon_win-pc.png) 0 -11px no-repeat
    }
    
    
    
/*20161109 update*/
header .menu-wrapper .menu-corporate li a:after,
header .menu-wrapper .menu-language li a:after {
    margin-top: -.2rem;
    top: 50%;
    left: 0;
    content: "";
    display: block;
    position: absolute;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    width: 7px;
    height: 7px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
/*/20161109 update*/
/*20161107 add*/
header .menu-wrapper .menu-language li a:after {
    top: 40%;
    left: 8px;
    border-right: 1px solid #004121;
    border-bottom: 1px solid #004121;
}
/*/20161107 add*/
    
    
    
@media screen and (max-width: 1170px) {
    header .menu-wrapper .menu-corporate li a:after, header .menu-wrapper .menu-language li a:after {
        margin-top: -0.3rem
        }
    }


/*20161109 update*/
header .menu-wrapper .menu-corporate li a.active:after,
header .menu-wrapper .menu-corporate li a:hover:after,
header .menu-wrapper .menu-language li a.active:after,
header .menu-wrapper .menu-language li a:hover:after {
    border-right: 1px solid #f28300;
    border-bottom: 1px solid #f28300;
}
/*/20161109 update*/
/*20161107 add*/
header .menu-wrapper .menu-language li a.active:after{
    border-right: 1px solid #004121;
    border-bottom: 1px solid #004121;
}
header .menu-wrapper .menu-language li a:hover:after {
    border-right: 1px solid #f28300;
    border-bottom: 1px solid #f28300;
}
/*/20161107 add*/
    
    
header .menu-wrapper .close {
    display: none
    }
/* Footer
----------------------------------------------*/
footer {
    max-width: 960px;
    width: 100%;
    margin: 80px auto 0 auto;
    border-top: 1px dashed #ccc;
    padding: 80px 0 40px 0;
    position: relative
    }
@media screen and (max-width: 960px) {
    footer {
        padding: 80px 20px 36px
        }
    }
ul#footer_sns {
    display: table;
    width: 100px;
    margin: 0 auto
    }
ul#footer_sns li {
    display: table-cell;
    width: 30px;
    padding: 0 10px
    }
ul#footer_sns li img {
    width: 30px
    }
footer #topagetop {
    width: 88px;
    height: 84px;
    position: absolute;
    top: 60px;
    right: 5px
    }
@media screen and (max-width: 960px) {
    footer #topagetop {
        right: 20px
        }
    }
footer #topagetop img {
    width: 100%
    }
footer #footer_gnavi {
    display: none
    }
ul#footer_banner {
    font-size: 0;
    line-height: 1;
    margin-top: 40px;
    margin-bottom: 38px;
    border-left: 1px solid #ccc
    }
ul#footer_banner a {
    color: #333;
    text-decoration: none
    }
ul#footer_banner li {
    display: inline-block;
    width: 16.35%
    }
ul#footer_banner li img {
    width: 100%;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc
    }
ul#footer_banner li:nth-of-type(5) {
    margin-left: 1.9%;
    position: relative;
    /* バナー2個を1個に統合 start */
    width: 32.7%;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    /* バナー2個を1個に統合 end */
    }
/* バナー2個を1個に統合 start */
ul#footer_banner li:nth-of-type(5) a {
    display: block;
    text-align: center
    }
ul#footer_banner li:nth-of-type(5) img {
    width: 31.5%;
    margin-top: 1px;
    border-top: none;
    border-bottom: none;
    border-right: none
    }
/* バナー2個を1個に統合 end */
ul#footer_banner li:nth-of-type(5):before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
    border-left: 1px solid #ccc;
    position: absolute;
    top: 0;
    left: 0
    }
ul#footer_link {
    margin-top: -5px;
    text-align: center;
    font-size: 0;
    line-height: 1
    }
ul#footer_link li {
    margin-top: 5px;
    display: inline-block;
    font-size: 1.2rem;
    border-left: 1px solid #a7a7a7;
    padding: 0 15px
    }
ul#footer_link li:first-child {
    border-left: none
    }
ul#footer_link li a {
    color: #1a1a1a;
    text-decoration: none
    }
footer small {
    display: block;
    margin-top: 20px;
    text-align: center;
    color: #1a1a1a;
    line-height: 1;
    font-size: 1.2rem
    }
#breadcrumb {
    max-width: 960px;
    margin: 0 auto
    }
#breadcrumb li {
    padding: 7px 18px 8px 0;
    margin-right: 16px;
    font-size: 1.1rem
    }
#breadcrumb li:after {
    margin-top: -4px;
    top: 50%;
    right: 0;
    content: "";
    display: inline-block;
    position: absolute;
    border-right: 1px solid #7c807d;
    border-bottom: 1px solid #7c807d;
    width: 9px;
    height: 9px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
    }
/* Headings
----------------------------------------------*/
main > .page-title {
    margin-bottom: 36px
    }
@media screen and (max-width: 960px) {
    main > .page-title {
        margin: 0 -20px 36px
        }
    }
main > .page-title h1 {
    font-size: 4rem
    }
main > .page-title h1 > span {
    max-width: 960px;
    margin: 0 auto;
    height: 150px;
    min-height: 150px
    }
main > .page-title.standard h1 > span {
    background-image: url(../images.2ad72add7de5f7f504d310acce49ded1/bg_page-title-dot.png), url(../shared/images/bg_page-title-emblem.png);
    background-repeat: repeat, no-repeat;
    background-position: 0 0, right 33px top 40%
    }
main > .page-title h1 > span > span {
    padding: 20px 0
    }
main > .page-title h1 > span > span .subttl {
    margin-top: 6px;
    font-size: 1.6rem
    }
@media screen and (max-width: 960px) {
    main > .page-title h1 > span > span {
        padding: 20px
        }
    }
main > .page-title .group-sns {
    max-width: 960px;
    padding-top: 16px;
    margin: 0 auto
    }
@media screen and (max-width: 960px) {
    main > .page-title .group-sns {
        padding: 16px 20px 0
        }
    }
main > .page-title .group-sns ul li {
    padding-left: 8px
    }
main > .page-title .group-sns ul li:last-child {
    display: none
    }
body.print-on main > .page-title .group-sns ul li:last-child {
    display: block
    }
main > .page-title .group-sns ul li a {
    width: 28px;
    height: 28px;
    background-image: url(../images.2ad72add7de5f7f504d310acce49ded1/bg_page-title-sprite-sns.png);
    background-size: 28px auto;
    background-repeat: no-repeat
    }
main > .page-title .group-sns ul li:nth-child(1) a {
    background-position: 0 0
    }
main > .page-title .group-sns ul li:nth-child(2) a {
    background-position: 0 -34px
    }
main > .page-title .group-sns ul li:nth-child(3) a {
    background-position: 0 -68px;
    cursor: pointer
    }
h2.hdg-large ~ h2.hdg-large {
    margin-top: 80px
    }
h2.hdg-large {
    margin-bottom: 20px;
    padding: 6px 0 14px;
    background: url(../images.2ad72add7de5f7f504d310acce49ded1/bg_hdg-large-line-pc.png) 0 100% repeat-x;
    font-size: 2.8rem
    }
h2.hdg-large > span {
    padding-left: 56px
    }
h2.hdg-large > span:before {
    margin-top: -22px;
    width: 44px;
    height: 44px
    }
h2.hdg-large.standard > span:before {
    background: url(../images.2ad72add7de5f7f504d310acce49ded1/bg_hdg-large.png) 0 0 no-repeat;
    background-size: 192px auto
    }
h2.hdg-large.bowl > span:before {
    background: url(../images.2ad72add7de5f7f504d310acce49ded1/bg_hdg-large.png) -49px 0 no-repeat;
    background-size: 192px auto
    }
h2.hdg-large.plate > span:before {
    background: url(../images.2ad72add7de5f7f504d310acce49ded1/bg_hdg-large.png) -99px 0 no-repeat;
    background-size: 192px auto
    }
h2.hdg-large.question > span:before {
    background: url(../images.2ad72add7de5f7f504d310acce49ded1/bg_hdg-large.png) -149px 0 no-repeat;
    background-size: 192px auto
    }
h2.hdg-large > span .subttl {
    padding-left: 10px;
    font-size: 1.6rem
    }
h2.hdg-large > span > a.link-inside {
    padding-left: 14px;
    margin-top: -0.6rem;
    font-size: 1.2rem
    }
h2.hdg-large > span > a.link-inside:before {
    margin-top: -3.5px;
    top: 50%;
    left: 0;
    content: "";
    display: block;
    position: absolute;
    border-right: 1px solid #17471d;
    border-bottom: 1px solid #17471d;
    width: 7px;
    height: 7px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
    }
h3.hdg-medium {
    margin-bottom: 20px;
    font-size: 2.2rem;
    padding: 15px
    }
h3.hdg-medium > a {
    margin: -15px;
    padding: 15px 15px 15px 35px
    }
h3.hdg-medium > a:after {
    margin-top: -5px;
    top: 2.7rem;
    left: 15px;
    border-right: 1px solid #004121;
    border-bottom: 1px solid #004121;
    width: 10px;
    height: 10px
    }
h4.hdg-small {
    margin-bottom: 20px;
    font-size: 2rem;
    padding: 1px 0 1px 7px;
    border-left: 4px solid #1a1a1a
    }
h5.hdg-ex-small {
    margin-bottom: 20px;
    font-size: 1.6rem
    }
/* Buttons
----------------------------------------------*/
.btn-bevel {
    font-size: 2.2rem;
    min-width: 240px
    }
@media screen and (max-width: 530px) {
    .btn-bevel {
        min-width: 200px
        }
    }
.btn-bevel > span {
    padding: 10px 10px 9px
    }
input[type=submit].btn-bevel {
    padding: 10px 10px 9px;
}
.btn-col2 {
    margin-bottom: 20px
    }
.btn-box-list {
    margin: -20px 0 20px -20px;
    overflow: hidden
    }
.btn-box-list.col-3 > li {
    width: 33.3%
    }
.btn-box-list.col-2 > li {
    width: 49.8%
    }
.btn-box-list > li {
    padding: 20px 0 0 20px;
    float: left
    }
.btn-box-list > li > a {
    padding: 23px 20px 22px 40px;
    display: block;
    border: 1px solid #ccc;
    font-size: 1.6rem
    }
.btn-box-list > li > a[target="_blank"]:after {
    margin-top: -6px;
    content: "";
    display: inline-block;
    width: 11px;
    height: 11px;
    background-image: url(../images.2ad72add7de5f7f504d310acce49ded1/icon_blank.png);
    background-repeat: no-repeat;
    background-size: 11px auto;
    position: absolute;
    top: 50%;
    right: 25px
    }
.btn-box-list > li > a:before {
    margin-top: -3px;
    top: 3.6rem;
    left: 25px;
    content: "";
    display: block;
    position: absolute;
    border-right: 1px solid #004121;
    border-bottom: 1px solid #004121;
    width: 7px;
    height: 7px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
    }
/* 2 column and side navigation
----------------------------------------------*/
.column2 {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px
    }
@media screen and (max-width: 960px) {
    .column2 {
        padding: 0
        }
    }
.column2:after {
    /*clearfix*/
    content: "";
    display: table;
    clear: both
    }
.column2 > nav {
    float: left;
    width: 27%
    }
.column2 .contents {
    float: right;
    width: 69%
    }
.column2 > nav ul {
    margin-bottom: 70px
    }
.column2 > nav ul li {
    border-bottom: 1px dashed #ccc
    }
.column2 > nav ul li.head {
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc
    }
.column2 > nav ul li a {
    display: block;
    padding: 22px 20px;
    line-height: 1.2;
    color: #17471d;
    text-decoration: none;
    background-image: url(../images.2ad72add7de5f7f504d310acce49ded1/bullet01.png);
    background-repeat: no-repeat;
    background-position: 90% center;
    background-size: 7px auto
    }
.column2 > nav ul li a:hover {
    background-color: #f7f7f7
    }
.column2 > nav ul li.cur a, .column2 > nav ul li.cur a:hover {
    border-left: 1px solid #004121;
    color: #1a1a1a;
    background-image: none;
    background-color: #f7f7f7
    }
.column2 > nav ul li.head a, .column2 > nav ul li.head span {
    display: block;
    padding: 22px 20px;
    line-height: 1.2;
    font-size: 2.4rem;
    color: #1a1a1a;
    font-weight: bold
    }
.column2 > nav ul li a[target="_blank"] {
    background-image: url(../images.2ad72add7de5f7f504d310acce49ded1/icon_blank.png);
    background-size: 12px auto
    }
/* Lists
----------------------------------------------*/
/*20161108 update*/
.list-news > li{
    padding:15px 0 15px 12rem;
    border-bottom: dotted 1px #ccc;
}
/*/20161108 update*/
    
    
.list-news > li .info .label, .list-news > li .info .date {
    position: absolute
    }
.list-news > li .info .label {
    left: 10.5rem;
    top: 1.7rem;
    font-size: 1.3rem;
    min-width: 95px;
    padding: 4px 0
    }
.list-news > li .info .date {
    left: 0;
    top: 1.9rem;
    font-size: 1.8rem
    }
.list-news > li > a {
    display: block;
    position: relative;
    padding-left: 20px;
    font-size: 1.6rem
    }
.list-news > li > a:before {
    top: 9px;
    left: 0;
    content: "";
    display: block;
    position: absolute;
    border-right: 2px solid #17471d;
    border-bottom: 2px solid #17471d;
    width: 9px;
    height: 9px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
    }
.list-news > li > a:hover {
    text-decoration: underline
    }
.list-menu-1 {
    margin: -20px 0 20px -20px
    }
.list-menu-1 > li {
    padding: 20px 0 0 20px;
    width: 24.99%
    }
.list-menu-1.col-3 > li {
    width: 33.3%
    }
@media screen and (max-width: 768px) {
    .list-menu-1 > li {
        width: 33.33%
        }
    }
@media screen and (max-width: 640px) {
    .list-menu-1 {
        margin: -10px 0 20px -10px
        }
    .list-menu-1 > li {
        padding: 10px 0 0 10px
        }
    }
.list-menu-1 > li .cat > div > div {
    padding: 6px 8px;
    font-size: 1.3rem
    }
.list-menu-1 > li .image img {
    width: 100%
    }
.list-menu-1 > li .name {
    padding: 12px 12px 11px 25px
    }
.list-menu-1 > li .name:after {
    margin-top: -3px;
    top: 2rem;
    left: 10px;
    content: "";
    display: block;
    position: absolute;
    border-right: 1px solid #004121;
    border-bottom: 1px solid #004121;
    width: 7px;
    height: 7px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
    }
.list-menu-2 {
    margin: -20px 0 20px -20px
    }
.list-menu-2 > li {
    padding: 20px 0 0 20px;
    width: 24.99%
    }
.list-menu-2.col-3 > li {
    width: 33.3%
    }
@media screen and (max-width: 768px) {
    .list-menu-2 > li {
        width: 33.3%
        }
    }
@media screen and (max-width: 640px) {
    .list-menu-2 {
        margin: -10px 0 20px -10px
        }
    .list-menu-2 > li {
        padding: 10px 0 0 10px
        }
    }
.list-menu-2 > li .image img {
    width: 100%
    }
.list-menu-2 > li .image .zoom {
    width: 42px;
    height: 43px;
    background: url(../images.2ad72add7de5f7f504d310acce49ded1/icon_zoom.png) 0 0 no-repeat
    }
.list-menu-2 > li .cat > div > div {
    padding: 6px 8px;
    font-size: 1.4rem
    }
.list-menu-2 > li .desc .txt {
    padding: 12px 12px 11px
    }
.list-menu-2 > li .desc .txt p {
    font-size: 1.4rem;
    line-height: 1.6
    }
.list-menu-2 > li .desc .txt > :last-child {
    margin-bottom: 0
    }
.list-menu-2 > li .desc .name {
    font-size: 2rem;
    margin-bottom: 5px
    }
.list-menu-2 > li .price {
    font-size: 3rem;
    margin-bottom: 10px
    }
.list-menu-2 > li .price .cur {
    font-size: 1.8rem
    }
.list-menu-2 > li .notice {
    color: #808080;
    font-size: 1.2rem;
    padding-left: 1.5rem
    }
.list-menu-2 > li .desc .name .cal {
    font-size: 1.2rem
    }
.list-menu-3 {
    margin: -20px 0 20px -20px
    }
.list-menu-3 > li {
    padding: 20px 0 0 20px;
    width: 24.99%
    }
@media screen and (max-width: 768px) {
    .list-menu-3 > li {
        width: 33.33%
        }
    }
@media screen and (max-width: 640px) {
    .list-menu-3 {
        margin: -10px 0 20px -10px
        }
    .list-menu-3 > li {
        padding: 10px 0 0 10px
        }
    }
.list-menu-3 > li .desc .txt {
    padding: 12px 12px 11px
    }
.list-menu-3 > li .desc .name {
    font-size: 2rem;
    margin-bottom: 4px
    }
.list-menu-3 > li .price {
    font-size: 3rem;
    margin-bottom: 6px
    }
.list-menu-3 > li .price .cur {
    font-size: 1.8rem
    }
.list-menu-3 > li .notice {
    color: #808080;
    font-size: 1.2rem;
    padding-left: 1.5rem
    }
.list-menu-3 > li .desc .name .cal {
    font-size: 1.2rem
    }
.list-articles {
    margin: -20px 0 20px -20px;
    overflow: hidden
    }
.list-articles > li {
    padding: 20px 0 0 20px;
    width: 33.3%;
    float: left
    }
@media screen and (max-width: 640px) {
    .list-articles {
        margin: -10px 0 20px -10px
        }
    .list-articles > li {
        padding: 10px 0 0 10px;
        width: 49.99%
        }
    }
.list-articles > li .desc {
    padding: 15px 15px 14px 20px;
    border-bottom: solid 1px #ccc;
    border-left: solid 1px #ccc;
    border-right: solid 1px #ccc
    }
.list-articles > li .desc .ttl {
    position: relative;
    font-size: 1.6rem;
    margin-bottom: 4px
    }
.list-articles > li .desc .txt {
    font-size: 1.3rem
    }
.list-articles > li .desc .ttl:before {
    margin-top: -3px;
    top: 0.8rem;
    left: -13px;
    content: "";
    display: block;
    position: absolute;
    border-right: 1px solid #004121;
    border-bottom: 1px solid #004121;
    width: 7px;
    height: 7px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
    }
.list-campaign {
    margin: -20px 0 20px -20px;
    overflow: hidden
    }
.list-campaign > li {
    padding: 20px 0 0 20px;
    width: 24.99%;
    float: left
    }
@media screen and (max-width: 768px) {
    .list-campaign > li {
        width: 33.33%
        }
    }
@media screen and (max-width: 640px) {
    .list-campaign {
        margin: -10px 0 20px -10px
        }
    .list-campaign > li {
        padding: 10px 0 0 10px
        }
    }
.list-campaign > li .desc {
    border-bottom: solid 1px #ccc;
    border-left: solid 1px #ccc;
    border-right: solid 1px #ccc
    }
.list-campaign > li .desc .cat {
    position: relative
    }
.list-campaign > li .desc .cat:before, .list-campaign > li .desc .cat:after {
    content: "";
    display: block;
    height: 1px;
    width: 100%;
    background: #ccc;
    position: absolute;
    left: 0;
    z-index: -1
    }
.list-campaign > li .desc .cat:before {
    top: 0
    }
.list-campaign > li .desc .cat:after {
    bottom: 0
    }
.list-campaign > li .cat .status, .list-campaign > li .cat .date {
    padding: 6px 7px 5px;
    font-size: 1.4rem
    }
.list-campaign > li .cat .status {
    min-width: 60px
    }
.list-campaign > li .desc .ttl {
    font-size: 1.6rem;
    padding: 15px 15px 14px 20px;
    position: relative
    }
.list-campaign > li .desc .ttl:before {
    margin-top: -3px;
    top: 2.2rem;
    left: 5px;
    content: "";
    display: block;
    position: absolute;
    border-right: 1px solid #004121;
    border-bottom: 1px solid #004121;
    width: 7px;
    height: 7px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
    }
.list-arrow-parallel {
    margin: -10px 0 20px -30px
    }
.list-arrow-parallel li {
    margin: 10px 0 0 30px
    }
/* table
----------------------------------------------*/
table th, table td {
    padding: 18px 12px
    }
table.type1 th, table.type1 td {
    border: 1px solid #808080;
    text-align: center;
    vertical-align: middle;
    line-height: 1.2
    }
/* セル幅は下層のCSSで調整のこと */
table.type1 tr:first-child > th {
    background-color: #000;
    color: #fff
    }
table.type1 th:first-child {
    background-color: #ededed
    }
table.type2 th, table.type2 td {
    border: 1px solid #ccc;
    text-align: left;
    vertical-align: top
    }
table.type2 th {
    width: 23%
    }
table.type3 tr {
    border-top: 1px dashed #ccc
    }
table.type3 tr:first-child {
    border-top: none
    }
table.type3 th, table.type3 td {
    text-align: left;
    vertical-align: top
    }
table.type3 th {
    background-color: #f2f2f2;
    width: 19%
    }
/* Tabs
----------------------------------------------*/
.tabs-container {
    margin-bottom: 20px
    }
.tabs-container > nav:before {
    height: 2px
    }
@media screen and (max-width: 960px) {
    .tabs-container > nav:before {
        left: -20px;
        right: -20px
        }
    }
.tabs-container > nav .tabs-menu-container {
    max-width: 960px;
    margin: 0 auto
    }
.tabs-container > nav .tabs-menu-container > div {
    padding: 0 10px
    }
.tabs-container > nav .tabs-menu-container > div:first-child {
    padding: 0 10px 0 0
    }
.tabs-container > nav .tabs-menu-container > div:last-child {
    padding: 0 0 0 10px
    }
.tabs-container > nav .tabs-menu-container > div > a {
    font-size: 2.2rem;
    padding: 30px 10px 0;
    height: 90px;
    outline: none
    }
@media screen and (max-width: 960px) {
    .tabs-container > nav .tabs-menu-container > div > a {
        padding: 30px 10px 15px
        }
    }
@media screen and (max-width: 520px) {
    .tabs-container > nav .tabs-menu-container > div > a {
        padding: 20px 5px;
        font-size: 2rem
        }
    }
.tabs-container > nav:first-of-type .tabs-menu-container > div > a {
    border-width: 2px
    }
.tabs-container > nav:last-of-type .tabs-menu-container > div > a {
    border-width: 2px
    }
.tabs-container .tabs-content {
    padding: 50px 0;
    max-width: 960px;
    margin: 0 auto
    }
/* Accordion
----------------------------------------------*/
.accordion-container .accordion-btn > span {
    padding: 20px 30px
    }
.accordion-container .accordion-btn:hover {
    opacity: 0.7;
    color: #00994d
    }
.accordion-container .accordion-btn {
    font-size: 2.2rem
    }
.accordion-container .accordion-content {
    padding: 20px
    }
/* Misc
----------------------------------------------*/
.link-doc{
    padding:10px 10px 10px 30px;
}
.link-doc:after {
    margin-top: -4px;
    top: 2rem;
    left: 15px;
    border-right: 1px solid #004121;
    border-bottom: 1px solid #004121;
    width: 8px;
    height: 8px;
}

/* form
----------------------------------------------*/
label.mgright10 {
    margin-right: 10px
    }
label.mgright20 {
    margin-right: 20px
    }
label.mgright30 {
    margin-right: 30px
    }
input[type="text"] {
    font-size: 1.6rem
    }
input[type="text"].long {
    width: 500px
    }
input[type="text"].medium {
    width: 120px
    }
input[type="text"].short {
    width: 60px
    }
@media screen and (max-width: 740px) {
    input[type="text"].long {
        width: 400px
        }
    }
input[type="radio"], input[type="checkbox"] {
    margin-right: 5px;
    padding: 0;
    width: 15px;
    height: 15px;
    vertical-align: text-top
    }
textarea {
    width: 100%
    }
/* acrobat
----------------------------------------------*/
.acrobat {
    padding: 20px;
    margin: 80px 0 0 0
    }
.acrobat .image {
    width: 158px;
    float: left
    }
.acrobat .text {
    margin: 0 0 0 20px;
    float: left;
    font-size: 16px;
    line-height: 28px
    }

/*20161108 add*/
span.new{
    display:inline-block;
    color:#c00;
    font-weight:bold;
    margin-left:10px;
    }
.list-news > li > a:hover span.new{
    text-decoration:none;
    }
/*/20161108 add*/

/*20161201 add*/
span.blank_icon{
 display: inline-block;
 width: 12px;
 height: 12px;
 background: url(../shared/images/icon_blank.png) no-repeat;
 background-size: 12px auto;
 margin: 0 3px;
}
/*/20161201 add*/
