@charset "utf-8";
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
caption,
tbody,
tfoot,
thead,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
}

* {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.lng_btn{
    display: inline-block;
    border: 2px solid #000;
    padding: 5px 10px;
    line-height: 1em;
    font-size: 12px;
    margin-bottom: 10px;
}
.txt_r{
    text-align: right;
}
.mt50 {
    margin-top: 50px!important;
}

.mt30 {
    margin-top: 30px!important;
}

.mt20 {
    margin-top: 20px!important;
}

.mb50 {
    margin-bottom: 50px!important;
}

.mb20 {
    margin-bottom: 20px!important;
}

.mt10 {
    margin-top: 10px!important;
}

.txt_c,.form_com {
    text-align: center;
}

#map {
    width: 100%;
    height: 400px;
    background-color: grey;
}

ul.col2 {
    overflow: hidden;
}

ul.col2 li {
    float: left;
    width: 50%;
    padding: 20px;
}

ul.col2 li p {
    padding: 5px 0px;
}

.w66 {
    width: 66%;
    margin: 0px auto;
}

ul.col2 li {
    float: left;
    width: 50%;
    padding: 20px;
}

ul.col2 li p {
    padding: 5px 0px;
}

ul.col2 li img {
    max-width: 100%;
}


ul.col3 {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
}



ul.col3 li {
    float: left;
    width: 33%;
    padding: 20px;
}

ul.col3 li p {
    padding: 5px 0px;
}

ul.col3 li img {
    max-width: 100%;
}

.main_contents ul.col3{
    margin-top:20px;
}


.main_contents ul.col3 li{
    padding:0px;
}

.main_contents ul.col3 li:nth-child(1),.main_contents ul.col3 li:nth-child(4){
    padding-left:0px;
    padding-right:10px;
}
.main_contents ul.col3 li:nth-child(2),.main_contents ul.col3 li:nth-child(5){
    padding-left:5px;
    padding-right:5px;
}
.main_contents ul.col3 li:nth-child(3),.main_contents ul.col3 li:nth-child(6){
    padding-left:10px;
    padding-right:0px;
}


h4 {
    font-size: 16px;
    text-align: left;
}

ul.col2 li iframe {
    width: 100%;
}
ul.col3 li iframe {
    width: 100%;
    height:auto;
}

html,
body {
    height: 100%;
    padding: 0;
    margin: 0;
    font-size: 16px;
    line-height: 1.6em;
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif;
    color: #333;

    font-weight: 400;
    letter-spacing: 0.05em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img {
    vertical-align: middle;
    font-size: 0;
    line-height: 0;
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
    display: block;
}

nav ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

a {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
    color: #333;
}

a:hover {
    text-decoration: none;
    filter: alpha(opacity=70)!important;
    -moz-opacity: 0.7!important;
    opacity: 0.7!important;
}

a img:hover {
    text-decoration: none;
    filter: alpha(opacity=70)!important;
    -moz-opacity: 0.7!important;
    opacity: 0.7!important;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid #ccc;
}

hr {
    display: block;
    height: 1px;
    border: 1px solid #ccc;
    margin: 0;
    padding: 0;
}

input,
select {
    vertical-align: middle;
}

li {
    list-style-type: none;
}

.clearfix:after {
    content: ".";
    display: block;
    height: 0px;
    clear: both;
    line-height: 0;
    visibility: hidden;
}

.pc_only {
    display: block!important;
}

.sp_only {
    display: none!important;
}

p {
    -webkit-text-size-adjust: 100%;
    text-align: justify;
  word-break:break-all;
  text-justify:inter-character;
}

h2.contents_title {
    background: #f4f4f4;
    padding: 60px 0px 60px;
    margin: 10px 0px 10px;
    text-align: center;
    font-size: 34px;
    color: #2BA0EC;
    line-height: 1em;
    font-weight: 400;
    font-family: "Helvetica Neue";
    letter-spacing: 2px;
}


h2.contents_title span {
    font-size: 16px;
    display: block;
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif;
    color: #666;
    font-weight: bold;
    margin-top: 10px;
}

h3.contents_title {
    font-size: 20px;
    background: url(../img/h3_bar.png) no-repeat bottom center;
    margin-bottom: 30px;
    text-align: center;
    padding: 0px 0px 20px;

}


h3.contents_title span{
font-size: 14px;
    margin-bottom: 10px;
    text-align: center;
    font-weight: normal;
    display: block;
}

.information_txt p{
    margin-bottom:2em;
}

.information_txt img{
    margin-bottom:2em;
}

.information_txt a{
    border-bottom:1px solid #2BA0EC;
    color:#2BA0EC;
}

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

.mt30 {
    margin-top: 30px;
}

.mt50 {
    margin-top: 50px;
}

.txt_c {
    text-align: center;
}

.middle_img{
    width:60%;
    display:block;
    margin:0px auto;
}
.tablelist {
    display: inline-block;
}

.tablelist dl {
    font-size: 18px;
    overflow: hidden;
    margin: 0px auto;
    padding: 15px 0px;
    text-align: left;
}

.tablelist dl dt {
    float: left;
    width: 200px;
    font-weight: bold;
}

.tablelist dl dd {
    float: right;
    width: 440px;
    line-height: 1.5em;
}


.factorydata {
    margin-top: 30px;
}

.factorydata dl {
    font-size: 15px;
    overflow: hidden;
    margin: 0px auto;
    padding: 10px 0px;
    text-align: left;
    border-top: 1px solid #ddd;
    width: 100%;
}

.factorydata dl dt {
    float: left;
    width: 25%;

    line-height: 1.5em;
}

.factorydata dl dd {
    float: right;
    width: 75%;
    line-height: 1.5em;
}

dl.bb1 {
    border-bottom: 1px solid #ddd;
}


h4.title {
    font-size: 18px;
    color: #fff;
    background: #2BA0EC;
    padding: 10px 10px;
    margin: 40px 0px 20px;
}

ul.list {
    padding-left: 1em;
    width: 600px;
    margin: 0px auto;
    text-align: left;
}

ul.list li {
    list-style-type: disc;
    font-size: 18px;
    padding: 10px 0px;


}

.img_c{
    display: block;
    margin:20px auto;
}

.machineinfo2 {
    overflow: hidden;
    margin: 0px 0px 20px;
}

.machineinfo2 img {
    width: 400px;
    margin-right: 30px;
    float: left;
}

.machineinfo {
    overflow: hidden;
    margin: 0px 0px 20px;
}

.machineinfo img {
    width: 200px;
    margin-right: 30px;
    float: left;
}

.machineinfo p,
.machineinfo2 p {
    font-size: 14px;
}

h5.title {
    font-size: 16px;
    padding: 10px 0px;
}

h5.subtitle {
    font-size: 16px;
    padding: 0px 0px 10px;
}

.machinedata table {
    border: 1px solid #ddd;
    border-collapse: collapse;
    width: 100%;
    margin: 10px 0px;
}

.machinedata table th,
.machinedata table td {
    font-size: 12px;
    padding: 10px 4px;
    border: 1px solid #ddd;
    line-height: 1.6em;
}

.machinedata table th {
    background: #A7D3ED;
}

.machinedata table tr:nth-child(odd) {
    background: #eee;
}

.maincopy {
    font-size: 30px;
    font-family: "Yu Mincho", "YuMincho", serif;
    color: #fff;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 80%;
    z-index: 100;
    line-height: 1.5em;
    letter-spacing: 1px;
    font-weight: bold;
    text-shadow: 0px 0px 6px #000, 0px 0px 6px #000, 0px 0px 6px #000;
}

header {
    overflow: hidden;
    padding: 0px 0px 0px 20px;
}

.slider img {
    width: 100%;
}

header h1 {
    padding: 65px 30px 30px;
    display: inline-block;
}

.contents_area {
    width: 980px;
    margin: 30px auto;
    padding: 30px 0px 30px;
    overflow: hidden;
}

header h1 {
    float: left;
    font-size: 18px;
}

header h1 img {
    float: left;
    margin-right: 10px;
    margin-top: -10px;
}

header .contact {
    float: right;
    display: inline-block;
    text-align: center;
    padding: 10px 20px 20px;
}

header .contact span {
    display: block;
    line-height: 1em;
}

header .contact span.title {
    background: #2BA0EC;
    font-size: 12px;
    font-weight: bold;
    padding: 5px 5px;
    color: #fff;
}

header .contact span.tel {
    font-size: 25px;
    font-weight: bold;
    font-family: "Helvetica Neue";
    letter-spacing: 2px;
    padding: 10px;
}

header .contact span.time {
    font-size: 12px;
    font-weight: bold;
}

footer {
    background: #eee;
    padding-top: 10px;
    text-align: center;
    position: relative
}

.navi_area nav {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.navi_area nav ul {
    width: 980px;
    margin: 0px auto;
    overflow: hidden;
    border-left: 1px solid #ddd;
}

.navi_area nav ul li {
    border-right: 1px solid #ddd;
    float: left;
    width: 163px;
    text-align: center;
    padding: 1px;
}

.navi_area nav ul li a {
    display: block;
    padding: 20px 0px 18px;
    font-size: 16px;
    font-weight: bold;
    border-bottom: 2px solid #2BA0EC;
    line-height: 1.3em;
    letter-spacing: 1px;
}

.navi_area nav ul li a span {
    display: block;
    font-family: "Helvetica Neue";
    font-size: 10px;
    font-weight: bold;
    color: #2BA0EC;
    letter-spacing: 2px;
}

.pagetop {
    width: 980px;
    margin: 0px auto;
    overflow: hidden;
    position: absolute;
    height: 70px;
    top: -30px;
    left: 0px;
    right: 0px;
}

.pagetop a {
    font-family: "Helvetica Neue";
    font-size: 10px;
    text-align: center;
    display: block;
    padding: 10px;
    background: #2BA0EC;
    line-height: 2em;
    width: 70px;
    height: 70px;
    float: right;
}

.pagetop img {
    margin-top: 20px;
}

.mainarea {
    margin-top: 80px;
    text-align: center;
}

h2.copy {
    text-align: center;
    width:1000px;
    display: inline-block;
}

h3.title {
    text-align: center;
    margin: 80px 0px 30px;
    font-size: 34px;
    color: #2BA0EC;
    font-weight: 400;
    font-family: "Helvetica Neue";
    letter-spacing: 3px;
}

h3.title span {
    font-size: 16px;
    display: block;
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif;
    color: #666;
    font-weight: bold;
    margin-top: 10px;
}

footer a.foot_btn {
    border: 1px solid #fff;
    display: inline-block;
    margin-top: 20px;
    padding: 20px 70px;
    font-size: 23px;
    background-color: rgba(255, 255, 255, 0.3);
    line-height: 1em;
}

footer .foot_btn img {
    display: block;
    margin: 0px auto 0px;
}

.copyright {
    font-family: "Helvetica Neue";
    font-size: 10px;
    letter-spacing: 1px;
    padding-bottom: 10px;
}

.mainvisual {
    margin-top: 10px;
    position: relative;
}

.maincontents {
    padding: 50px 0px;
}

ul.slider li {
    position: relative;
}

ul.tech {
    overflow: hidden;
}

ul.tech li {
    float: left;
    width: 33%;
    background: url(../img/bk02.jpg) no-repeat top center;
    background-size: cover;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    text-align: center;
}

ul.tech li:first-child {
    background: url(../img/bk01.jpg) no-repeat top center;
    background-size: cover;
    border: none;
}

ul.tech li:last-child {
    width: 34%;
    background: url(../img/bk03.jpg) no-repeat top center;
    background-size: cover;
    border: none;
}

ul.tech li div {
    background: rgba(0, 0, 0, 0.4);
    padding: 50px 30px 30px;
}

ul.tech li h4 {
    background: #EBCF49;
    text-align: center;
    font-size: 20px;
    color: #333;
    padding: 10px;
}

ul.tech li p {
    display: block;
    width: 90%;
    margin: 20px auto;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
}

.movie_area {
    background: #f4f4f4;
    border: 1px solid #ddd;
    padding: 50px;
    width: 960px;
    margin: 50px auto;
    text-align: center;
}

.movie_area h3 {
    font-size: 24px;
    color: #2BA0EC;
    margin-bottom: 50px;
    line-height: 1.5em;
}

.movie_area p {
    width: 75%;
    margin: 0px auto 16px;
}

.movie_area iframe {
    margin-top: 20px;
}

.contents_subnavi {
    float: left;
    width: 190px;
    margin-top: 30px;
}


.contents_subnavi ul {
    overflow: hidden;
    border-top: 1px solid #ccc;
}

.contents_subnavi ul li a {
    border-bottom: 1px solid #ccc;
    padding: 20px;
    display: block;
    background: url(../img/arrow_b.png) no-repeat right 10px center;

}


.main_contents {
    float: right;
    width: 730px;
    margin-top: 30px;
}

.main_contents p {
    font-size: 15px;
    line-height: 1.8em;
}

.main_contents img.mainphoto {
    width: 100%;
    margin-bottom: 30px;

}

h4.subtitle {
    font-size: 18px;
    color: #2BA0EC;
    margin-bottom: 20px;
}

.address_area {
    border-top: 1px solid #fff;
    padding: 50px 10px 0px;
}

.address_area ul {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    width:980px;
}

.address_area ul li {
    width: 320px;
    font-size: 13px;
    padding: 10px 10px;
    text-align: left;
    line-height: 1.5em;
}


.address_area ul li:nth-child(6) {
    font-weight:bold;
    line-height:1.8em;
}

.address_area ul li h5 {
    font-size: 14px;
    margin-bottom: 5px;
}


.wbtn {
    background: url(../img/arrow_y.png) no-repeat right 10px center;
    border: 1px solid #fff;
    color: #fff;
    font-size: 14px;
    padding: 10px;
    width: 200px;
    font-weight: bold;
    padding-right: 20px;
    display: block;
    margin: 0px auto;
    margin-top: 30px;
}

.bbtn {
    background: url(../img/arrow_b.png) no-repeat right 10px center;
    border: 1px solid #ddd;
    color: #333;
    font-size: 14px;
    padding: 10px;
    width: 200px;
    font-weight: bold;
    padding-right: 20px;
    display: block;
    margin: 0px auto;
    margin-top: 30px;
    text-align: center;
}

.bbtn2 {
    background: url(../img/arrow_b2.png) no-repeat left 10px center;
    border: 1px solid #ddd;
    color: #333;
    font-size: 14px;
    padding: 10px;
    width: 200px;
    font-weight: bold;
    padding-right: 20px;
    display: block;
    margin: 0px auto;
    margin-top: 50px;
    text-align: center;
}

.bbtn3 {
    background: url(../img/arrow_b.png) no-repeat right 10px center;
    border: 1px solid #ddd;
    color: #333;
    font-size: 14px;
    padding: 10px;
    width: 250px;
    font-weight: bold;
    padding-right: 20px;
    display: block;
    margin: 0px auto;
    margin-top: 30px;
    text-align: center;
}

.info {
    width: 980px;
    margin: 20px auto 80px;
}

.info dl {
    overflow: hidden;
    border-bottom: 1px solid #ddd;
    padding: 20px 0px;
}

.info dt {
    float: left;
    width: 160px;
}

.info dt span {
    background: #2BA0EC;
    font-weight: bold;
    color: #fff;
    padding: 5px 20px;
    text-align: center;
}

.info dd {
    width: 700px;
    float: left;
}



footer h1 img {
    display: block;
    margin: 0px auto 15px;
}

footer h1 {
    width: 100%;
    text-align: center;
}

footer nav {
    text-align: center;
}

footer nav ul {
    overflow: hidden;
    margin-top: 40px;
    display: inline-block;

}

footer nav ul li {
    float: left;
}

footer nav ul li:first-child a {
    border-left: 1px solid #999;
}

footer nav ul li a {
    font-weight: normal;
    border-right: 1px solid #999;
    padding: 10px 20px;
}

.footer_navi {
    border-bottom: 1px solid #ccc;
    padding-bottom: 50px;
}



h2.open {
    font-size: 31px;
    color: #FF7F00;
    text-align: center;
    line-height: 1.3em;
}

h2.title {
    font-size: 14px;
    text-align: center;
    font-weight: 300;
}

h2.title span {
    font-family: "Helvetica Neue";
    display: block;
    font-weight: 300;
    font-size: 31px;
    color: #60514A;
    letter-spacing: 3px;
    padding-bottom: 20px;
    margin-bottom: 10px;

}





.btn {
    background: url(../img/arrow.png) no-repeat right 10px center #E4E500;
    background-size: 8px;
    padding: 8px 30px;
    padding-right: 30px;
    text-align: center;
    font-size: 16px;
    margin: 0px auto 30px;
    display: block;
    width: 200px;
}


.img_c {
    display: block;
    margin: 40px auto;
}



.sp_navi {
    display: none;
}

.news_area {
    overflow: auto;
    height: 200px;
    padding: 10px 0px;
    margin: 10px 0px 0px;
    background: #fff;
}

.news_area::-webkit-scrollbar {
    width: 10px;
}

/*バーの太さ*/

.news_area::-webkit-scrollbar-track {
    background: #eeeeee;
}

/*バーの背景色*/

.news_area::-webkit-scrollbar-thumb {
    background: #dddddd;
}

/*バーの色*/

.news_area dl {
    overflow: hidden;
    padding: 10px 5px;
}

.news_area dl dt {
    font-size: 18px;
    font-weight: 500;
    float: left;
    width: 140px;
    padding-left: 20px;
}

.news_area dl dd {
    float: left;
    width: 670px;
}

.news_area dd a {
    text-decoration: underline;
}

.news_area dd a:hover {
    text-decoration: none;
}

.news_btn_area {
    border-top: 1px solid #ddd;
    margin-top: 20px;
    padding-top: 30px;
}

.contents_title {
    background: #eee;
    padding: 40px 0px 30px;
}

#breadcrumb {
    padding: 5px 0px;
    width: 980px;
    margin: 0px auto;
}

#breadcrumb > ul {
    display: table;
    padding: 0px 0 0px;
    color: #000;
}

#breadcrumb > ul > li {
    display: table-cell;
    padding-right: 5px;
    font-size: 13px;
}

#breadcrumb > ul > li > a {
    margin-right: 5px;
}

#breadcrumb > ul > li > span {
    font-weight: bold;
}

#breadcrumb a {
    color: #000;
}

.navi_area ul li {
    position: relative;
}

.navi_area ul li ul {
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    font-size: 12px;
    margin-top: 0px;
    z-index: 100;
}

.navi_area ul li ul li {
    float: none;
}


.subnav {
    background: rgba(255, 255, 255, 0.9);
    padding: 20px 0px;
    position: absolute;
    top: 210px;
    z-index: 101;
    width: 100%;
    border-bottom:1px solid #ccc;
}

.subnav_contents {
    width: 980px;
    margin: 0px auto;
    overflow: hidden;
}


.factory_nav,.tech_nav {
    display: none;
}

.subnav_contents h2 {
    font-size: 34px;
    width: 400px;
    float: left;
    color: #333;
    text-align: center;
    font-weight: 400;
    line-height: 1.8em;
    margin-top: 58px;
}

.subnav_contents h2 span {
    display: block;
    background: url(../img/h3_bar.png) no-repeat top center;
    font-size: 18px;
    color: #555;
    font-weight: 300;
}

.subnav_contents ul {
    width: 580px;
    float: right;
    padding-left: 40px;
    border-left: 1px solid #555;
}

.subnav_contents ul li a {
    background: url(../img/arrow_b.png) no-repeat left center;
    font-size: 16px;
    padding: 10px;
    padding-left: 30px;
    display: block;
}


.s_btn2 {
    padding: 10px 20px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    margin-top: 10px;
    display: inline-block;
    background: #2BA0EC;
    width: 250px;
    border-radius: 5px;
    margin: 30px 5px;
    color:#fff;
    border:none;
}

.dotline {
    border: 3px dotted #E4E500;
    padding: 20px;
    text-align: center;
    font-size: 20px;
    width: 760px;
    margin-bottom: 30px;
    font-weight: 500;
    margin: 0px auto 30px;
}





.leftright {
    overflow: hidden;
}

.left {
    float: left;
    width: 50%;
}

.right {
    float: right;
    width: 50%;

}


.contents_main p {
    margin-bottom: 1.5em;
    line-height: 1.7em;
}

.small {
    font-size: 14px;
}



p.linetop {
    border-top: 1px solid #E4E500;
    margin-bottom: 0px;
    padding-top: 20px;
}




ul.info_list li a {
    display: block;
}

ul.info_list li .txtimg {
    overflow: hidden;
    padding: 20px 0px;
    border-top: 1px solid #ccc;
}

ul.info_list li .img_area {
    width: 30%;
    float: left;
}

ul.info_list li .img_area img {
    width: 100%;
    height: auto;
}

ul.info_list li .txt_area {
    width: 68%;
    float: right;
}

ul.info_list li .txt_area h3 {
    font-size: 20px;
}

ul.info_list li .txt_area h3 span {
    display: block;
    padding: 10px 0px;
    font-size: 14px;
}


.pagination {
    clear: both;
    margin-top: 20px;
}

.nav-links .page-numbers {
    display: inline-block;
    padding: 5px 10px;
    border: 1px solid #ccc;
    margin-right: 10px;
}

.nav-links {
    text-align: center;
    margin-top: 40px;
}

.nav-links .current {
    background: #2BA0EC;
    color: #fff;
    font-weight: 600;
}

.screen-reader-text {
    display: none!important;
}

.arrow_b{
    padding-left:20px;
    background:url(../img/arrow_b.png) no-repeat left center;
    color:#2BA0EC;
}

.pagination .icon,
.comments-pagination .icon {
    width: 0.666666666em;
    height: 0.666666666em;
}

.contact_form dl {
    overflow: hidden;
    padding: 0px 10px;
    border-bottom: 1px solid #ccc;
    font-size: 16px;
}

.contact_form dl dt {
    font-weight: 700;
    float: left;
    padding: 20px 0px;
    width: 250px;
    line-height: 2.6em;
}

.contact_form dl dd {
    float: right;
    width: 690px;
    line-height: 2.6em;
    padding: 20px 0px;
    font-weight: 400;
}

.contact_form dl dd input[type="text"] {
    width: 400px;
}

.contact_form dl dd textarea {
    width: 690px;
    height: 180px;
    line-height: 1.5em;
}

.contact_form dl dd input[type="text"],
.contact_form dl dd textarea {
    background: #eee;
    font-size: 16px;
    padding: 10px;
    border: none;
}

.hissu,
.alert {
    color: #cc0000;
}

.pc_only_in {
    display: inline-block;
}

.sp_only_in {
    display: none;
}

.gray_btn {
    background-color: #ccc!important;
}

.contents_main img {
    max-width: 100%;
    height: auto;
}




@media screen and ( max-width:768px) {
    
    
ul.col2 li {
    float: left;
    width: 100%;
    padding: 20px 0px;
}
    
    ul.col3{
        display: flex;
        flex-wrap: wrap;
    }
    ul.col3 li{
        width:50%;
        padding:5px 5px!important;
    }
    
    iframe{
        height:auto;
    }
    footer .contact {
    display: block;
    text-align: center;
    padding: 20px 20px;
}
    
    .tablelist dl dd,.tablelist dl dt{
        width:100%;
        padding:5px 0px;
    }
    
    .contents_subnavi{
        display:none;
    }
    .main_contents{
        width:100%;
    }

    h2.copy {
        text-align: left;
        width:100%;
        display: inline-block;
    }
    .machinedata{
        overflow:scroll;
    }

    .machineinfo img,.machineinfo2 img{
        width:100%;
        margin-bottom:5px;
    }
    .machinedata table th, .machinedata table td{
        font-size:8px;
        padding:5px 2px;
        line-height: 1.5em;
        letter-spacing: 0px;
    }

    h2.contents_title {
        padding: 40px 0px 40px;

    }

footer .contact span {
    display: block;
    line-height: 1em;
}

footer .contact span.title {
    background: #2BA0EC;
    font-size: 12px;
    font-weight: bold;
    padding: 5px 5px;
    color: #fff;
}

footer .contact span.tel {
    font-size: 25px;
    font-weight: bold;
    font-family: "Helvetica Neue";
    letter-spacing: 2px;
    padding: 10px;
}

footer .contact span.time {
    font-size: 12px;
    font-weight: bold;
}
    
    .footer_navi{
        padding-bottom:20px;
    }
    header h1 {
    padding: 15px 0px 0px;
    display: block;
    width:100%;
        text-align: center;
        font-size:16px;
    }
    
    header {
    overflow: hidden;
    padding: 0px 0px 0px 0px;
}
    
    header h1 img,footer h1 img{
        float:none;
        margin-bottom:15px;
        margin-top:10px;
        width:40%!important;
    }
    .pc_only_in {
        display: none;
    }
    .sp_only_in {
        display: inline-block;
    }

    img {
        max-width: 100%;
        height: auto;
    }
    .pc_only {
        display: none!important;
    }
    .pc_only_in {
        display: none!important;
    }
    .sp_only {
        display: block!important;
    }
    .sp_only_in {
        display: inline-block!important;
    }

    h2.copy{
        padding:0px 10px;
    }
    
    ul.tech li {
    width: 100%;
        border-bottom:1px solid #ccc!important;
        border-left:none;
        border-right:none;
    }
    ul.tech li:last-child{
        width:100%;
    }
    .movie_area{
        width:100%;
        padding:30px 10px;
    }
    .movie_area p{
        width:100%;
        
    }
    .movie_area iframe{
        width:100%;
        height:auto;
    }
    .movie_area h3{
        line-height: 1.5em;
        margin-bottom:20px;
    }
    .address_area{
        padding: 20px 10px 0px;
    }
    
    .address_area ul {
        overflow: hidden;
        display: flex;
        flex-wrap: wrap;
        width:100%;
    }
    
 

    .address_area ul li {
        width:100%!important;
        margin-top:20px;
    }
    .info {
        width:100%;
        margin: 20px auto 40px;
        padding:0px 10px;
    }
    
    .info dt,.info dd{
        width:100%;
        padding:5px 0px;
    }
    
    .menu-trigger,
    .menu-trigger span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }
    .menu-trigger {
        position: absolute;
        width: 26px;
        height: 20px;
        top:20px;
        right:20px;
    }
    .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #333;
    }
    .menu-trigger span:nth-of-type(1) {
        top: 0;
    }
    .menu-trigger span:nth-of-type(2) {
        top: 9px;
    }
    .menu-trigger span:nth-of-type(3) {
        bottom: 0;
    }
    .menu-trigger.active span:nth-of-type(1) {
        -webkit-transform: translateY(9px) rotate(-315deg);
        transform: translateY(9px) rotate(-315deg);
    }
    .menu-trigger.active span:nth-of-type(2) {
        opacity: 0;
    }
    .menu-trigger.active span:nth-of-type(3) {
        -webkit-transform: translateY(-9px) rotate(315deg);
        transform: translateY(-9px) rotate(315deg);
    }

    .sp_navi_btn {
        float: right;
        padding-top: 1px;
        padding-right: 10px;
    }

    .sp_navi {
        background: rgba(255, 255, 255, 0.95);
        padding: 20px 10px;
        position: absolute;
        top: 110px;
        z-index: 120;
        width: 100%;
        display: none;
    }
    .sp_navi ul {
        list-style: none;
    }
    .sp_navi ul li a {

        font-size: 15px;
        font-weight: 700;

        padding: 15px 10px;
        background-size: 15px;
        padding-left: 0px;
        display: block;
        text-align: left;
        border-bottom: 1px dotted #ddd;
    }
    .sp_navi ul li a span {
        font-size: 12px;

        font-weight: 300;
        display: inline-block;
        margin-left: 15px;
        vertical-align: top;
    }
    .sp_navi ul li a.sp_subnavi {

        background-size: 15px;
    }
    .sp_navi ul li a.on {

        background-size: 15px;
    }
    .sp_navi ul li ul {
        display: none;
        border-bottom: 1px dotted #ddd;
    }
    .sp_navi ul li ul li a {
        background: none;
        font-size: 13px;
        font-weight: 400;
        padding: 0px 0px 15px;
        padding-left: 30px;
        border-bottom: none;

    }

    .contents_area {
        width: 100%;
        padding: 30px 10px;
        overflow: hiddden;
    }
    .shoplist li .imgarea,
    .shoplist li .txtarea,
    .jpnoo,
    ul.linklist,
    ul.linklist li {
        width: 100%;
    }




    h3.concepttitle span {
        line-height: 1em;
        margin-bottom: 10px;
    }
    .shoplist li .imgarea img {
        margin-bottom: 10px;
    }

    ul.linklist li {
        margin-right: 0px;
        margin-bottom: 20px;
    }

    .jpnoo {
        text-align: center;
        padding: 20px 10px;
    }
    .jpnoo img {
        display: inline-block;
        margin: 0px auto 10px;
        float: none;
    }

    footer a.foot_btn {
        padding: 20px 0px;
        width: 100%;
    }

    footer nav {
        display: none;
    }

    .pagetop {
        width: 100%;
        padding: 0px 10px;
    }

    section.concept p {
        text-align: center;
    }

    h1 img {
        width: 200px!important;
    }



    h2.concepttitle {
        font-size: 16px;
        color: #fff;
        text-align: center;
        font-weight: 300;
        margin-top: 30px;
        text-shadow: 0 0 15px #000, 0 0 15px #000, 0 0 15px #000;
    }

    h2.concepttitle span {
        font-size: 23px;
        font-family: "Helvetica Neue";
        display: block;
        margin-bottom: 10px;
        color: #fff;
        font-weight: 500
    }

    .linklist li img,
    .shoplist li img {
        width: 100%!important;
    }

    ul.linklist li h3 {
        font-size: 18px;
        font-weight: 600;
        padding: 18px;
        text-align: center;
        line-height: 1.4em;
    }

    ul.linklist li p {
        font-size: 15px;
    }

    section.concept .jpnoo p {
        text-align: center;
    }
    .head_btn {
        background: #E4E500;
        float: right;
        padding: 10px;
        display: inline-block;
        margin-left: 20px;
        margin-top: 20px;
        width: 100%;
        text-align: center;
    }

    #breadcrumb {
        display: none;
    }

    .sp_subnavi {
        background: url(../img/arrow_down.png) no-repeat right 10px center;
    }

    .sp_subnavi_up {
        background: url(../img/arrow_up.png) no-repeat right 10px center;
    }

    a.sp_subnavi_up {
        border-bottom: none!important;
    }
    .left {
        float: left;
        width: 100%;
    }

    .right {
        float: right;
        width: 100%;

    }

    .brandlist ul li {
        width: 100%;
    }

    .brandlist ul.column_3 li {
        width: 100%!important;
    }

    .brandlist ul.column_3 li:last-child {
        width: 100%!important;
    }

    ul.info_list li .img_area {
        width: 100%;
        float: left;
    }
    ul.info_list li .txt_area {
        width: 100%;
        float: right;
    }

    .contact_form dl dt,
    .contact_form dl dd {
        width: 100%;
    }

    .contact_form dl dt {
        padding: 20px 0px 0px;

    }

    .contact_form dl dd input[type="text"],
    .contact_form dl dd textarea,
    .blog_contents,
    .contents_area .sidebar {
        width: 100%;
    }

    .contact_form dl dd {
        padding: 10px 0px 20px;

    }

    .contact_form dl dd label {
        letter-spacing: 0px;
    }

    .dotline {
        border: 3px dotted #E4E500;
        padding: 20px;
        text-align: center;
        font-size: 20px;
        width: 100%;
        margin-bottom: 30px;
        font-weight: 500;
        margin: 0px auto 30px;
    }
    .blog_left {
        float: left;
        width: 100%;
        padding: 0px 20px 0px 0px;

    }

    .blog_right {
        float: right;
        width: 100%;
        margin-top: 30px;

    }
 
    ul.list {
        padding-left: 1em;
        width: 100%;
        margin: 0px auto;
        text-align: left;
    }

    .maincopy {
        font-size: 16px;
        font-family: "Yu Mincho", "YuMincho", serif;
        color: #fff;
        text-align: center;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        -webkit- transform: translateY(-50%) translateX(-50%);
        width: 80%;
        z-index: 100;
        line-height: 1.5em;
        letter-spacing: 1px;
        font-weight: bold;
        text-shadow: 0px 0px 6px #000, 0px 0px 6px #000, 0px 0px 6px #000;
    }
    
    
    .sp_foot_nav {
    margin-top: 30px;
    }


    ul.sp_foot_nav {
    overflow: hidden;
    border-top: 1px solid #ccc;
}

ul.sp_foot_nav li a {
    border-bottom: 1px solid #ccc;
    padding: 20px;
    display: block;
    background: url(../img/arrow_b.png) no-repeat right 10px center;

}
    .middle_img{
    width:80%;
    display:block;
    margin:0px auto;
}
}
