/**
 * 幅設定 PC
 */
@media only screen and (min-width: 992px) {
    .ui.container {
        width: 980px;
    }

    .ui.grid.container {
        width: calc( 980px  +  2rem ) !important;
    }

    .ui.relaxed.grid.container {
        width: calc( 980px  +  3rem ) !important;
    }

    .ui.very.relaxed.grid.container {
        width: calc( 980px  +  5rem ) !important;
    }
    #mobile-menu {
        display:none;
        float: right;
    }
}
/**
 * 幅設定 タブレット
 */
@media only screen and (min-width: 768px) and (max-width: 991px) {
    .ui.container {
        width: 100%;
    }

    .ui.grid.container {
        width: calc( 97%  +  2rem ) !important;
    }

    .ui.relaxed.grid.container {
        width: calc( 97%  +  3rem ) !important;
    }

    .ui.very.relaxed.grid.container {
        width: calc( 97%  +  5rem ) !important;
    }
}
@media only screen and (max-width: 767px) {
    .ui.table:not(.unstackable) tr {
        padding-top: 0;
    }
}
/**
 * mobile menu
 */
@media only screen and (max-width: 991px) {
    #header-menu a.item, #header-menu #search {
        display:none;
    }
}
table tbody td, table tbody th {
    font-size: 12px;
    letter-spacing: .1em;
    padding: 1.75em 1.5em;
}
table tbody th {
    background-color: rgb(248, 248, 248);
    font-weight: 400;
    padding-left: 20px;
}
table tbody td {
    border-left: none;
}

/**
 * header
 */
#header-menu {
    margin: 20px auto;
}
#header-menu .menu , #header-menu .menu .item {
    border: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    margin-right: 0;
}
#header-menu .menu .item {
    padding: 0;
}
#header-menu .menu .item:before {
    background: white;
}
#header-menu #logo {
    margin-right: 38px;
}
#header-menu div #search {
    height: 45px;
    width: 280px;
    background-color: #049933;
    border-radius: .3em;
}
#header-menu div #search form {
    display: inline;
    width: 100%;
    padding: 0;
}
#header-menu #search .input {
    padding: .25em .5em;
    border-right: 1px solid darkgray;
    max-width: 85%;
    width: 100%;
}
#header-menu #search input {
    border-radius: 2.5em;
}
#header-menu #search .ui.icon {
    float: right;
    font-size: 1.2em;
    color: white;
    padding: .5em;
}
/**
 * Footer
 */
#totop {
    position: fixed;
    bottom: 20px;
    right: 20px;
}
#footer-menu {
    font-size: 14px;
    margin-bottom: 20px;
}
#footer-menu a {
    text-decoration: none;
    color: #000;
    padding-left: 1.5em;
    padding-right: 1.5em;
}
/**
 * TOP
 */
#main_image_row, #main_row, #product_row, #main_lower_row {
    margin-bottom: 40px;
}
#main_image_row {
    background-color: white;
    background-image: url('../img/main_bg.png');
    background-position: center,center;
    background-repeat: no-repeat;
    background-size: cover;
}
#main_image_row img {
    max-width: 100%;
}
#news .more {
    float: right;
    display: inline-block;
    border-radius: .2rem;
    background: green;
    color: white;
    padding: .1rem 1rem;
    line-height: 1rem;
}
#news h2, #news h3, #about h2, #about h3 {
    margin-top: 0;
    display: inline-block;
    letter-spacing: .2px;
}
#news h3, #about h3 {
    margin-left: .5rem;
    margin-bottom: 20px;
    font-size: .8rem;
}
#news .news {
    padding: 1rem 2rem;
    background-color: #f4f4f4;
    border-radius: .2rem;
}
.news span:nth-child(2n) {
    margin-left: 1rem;
}
.news span:nth-child(2n):before {
    content: "▶";
    color: red;
    font-size: .5rem;
    padding-right: .5rem;
}
#social_btn img {
    max-width: 100%;
}
#product_row {
    padding: 40px;
    max-height: 296px;
    background-color: white;
    background-image: url('../img/products_bg.png');
    background-position: center,center;
    background-repeat: no-repeat;
    background-size: cover;
}
#product_row h2 {
    margin-bottom: .6rem;
    letter-spacing: .2rem;
}
#product_row h3 {
    font-size: .9rem;
    margin-top: 0;
}
#product_row .product-images {
    position:relative;
    padding: 0 34px;
}
#product_row .wrapper .img {
    padding: 5px;
}
#product_row #prev, #product_row #next {
    padding: 0;
    max-width: 4%;
    display: flex;
    align-items: center;
    position: absolute;
    top: 60px;
    z-index: 2;
}
#prev {
    left:0;
}
#next {
    right: 0;
}

#map iframe {
    width: 100%;
    height: 320px;
}
#map p {
    padding: 1em 1em 1.25em 1.1em;
    line-height: 1.5em;
}
#about table tbody td, #about table tbody th {
    font-size: 12px;
    letter-spacing: .1em;
    padding: 1.75em 1.5em;
}
#about table tbody th {
    background-color: rgb(248, 248, 248);
    width: 120px;
    padding-left: 20px;
}
#about table tbody td {
    border-left: none;
}
hr {
    height: 10px;
    border: 0;
    box-shadow: 0 10px 10px -10px #f3f3f3 inset;
}

/**
page
 */
#page-header-row {
    padding: 0;
    border: none;
    box-shadow: none;
    font-size: 22px;
    height: 180px;
    background-image: url('../img/page_header.png');
    background-position: center,center;
    background-repeat: no-repeat;
    background-size: cover;
}
#page-header h1 {
    height: 180px;
    font-size: 1.5rem;
    display: table-cell;
    vertical-align: middle;
}
#breadcrum {
    margin-bottom: 30px;
}
#page-content {
    margin-bottom: 40px;
}
#page-content h2 {
    font-size: 1.3rem;
    border-left: 3px solid green;
    padding-left: 1rem;
    margin-bottom: 1.2rem;
}
#page-content p {
    line-height: 1.6rem;
}
#page-content table th {
    width: 120px;
}
/**
 * contact
 */
p.alert {
    font-size: .8rem;
    color: red;
}
#contact-table tbody th {
    font-size: 14px;
    font-weight: 400;
    background-color: rgb(248, 248, 248);
    width: 280px;
    padding-left: 20px;
}
#contact-table tbody th span {
    color: red;
}
#contact-table tr:last-child {
    text-align: center;
}
#contact-table tr:last-child td {
    padding: 1.5rem;
}
#contact-table input[type="submit"] {
    padding: 1.8rem 8rem;
    letter-spacing: .2rem;
    background: -moz-linear-gradient(top,#5591ff 0%,#5591ff 50%,#005aff 50%,#005aff);
    background: -webkit-gradient(linear, left top, left bottom,from(#5591ff), color-stop(0.5,#5591ff), color-stop(0.5,#005aff),  to(#005aff));
    background-color: #1c6cff;
}
/**
 * product list
 */
#product-search {
    background-color: green;
    padding: .5rem;
}
#product-search .input {
    width: 90%;
}
#product-search input {
    border-radius: 2.5rem;
}
#product-search .ui.icon {
    font-size: 1.2em;
    float: right;
    color: white;
    padding: .5em;
    border-left: 1px solid darkgray;
    max-width: 10%;
}
#product-list > div {
    border-top: 1px solid lightgrey;
    border-bottom: 1px solid lightgrey;
    padding-top: 2rem;
    padding-bottom: 2rem;
    margin-bottom: 40px;
}
#product-list h2 {
    border-left: 3px solid green;
    font-size: 1.4rem;
    margin-bottom: 55px;
}
#product-list item img {
    width: 100%;
    height: auto;
}
#product-list .column .column {
    margin-bottom: 1.6rem;
}
#search-definition {
    margin-bottom: 50px;
    background-color: #f7fcff;
    border: 1px solid lightgrey;
    padding: 2rem;
}
#search-definition > div {
    padding: 0;
    line-height: 1.2rem;
}