/* 共通 */

/* footer */
.footer_right.clearfix .group {
    font-size: 16px;
    font-weight: 600;
    margin: 10px 0;
    line-height: 1.5;
}
.group p a {
    font-size: 17px;
}
.group p a:hover {
    opacity: 0.5;
}

/* PC */
@media screen and (min-width: 769px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  /*-------------
base
-------------*/
  body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, input, p, blockquote, th, td {
    margin: 0;
    padding: 0;
  }
  img {
    border: 0;
    vertical-align: top;
  }
  body {
    background-color: #fff;
  }
  a {
    color: black;
    outline: none;
    text-decoration: none;
    font-size: 12px;
  }
  a:hover {
    text-decoration: none;
  }
  ul, ol {
    list-style: none;
  }
  .fLeft {
    float: left;
  }
  .clearfix:after {
    content: "";
    clear: both;
    display: block;
  }
  /*-------------
firefox fade対策
-------------*/
  img {
    box-shadow: #000 0 0 0;
  }
  img, x:-moz-any-link, x:default {
    box-shadow: #000 0 0 0;
  }
  /*-------------
fontstyle
-------------*/
  body {
    font-family: 'ＭＳ Ｐゴシック', "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, Meiryo, sans-serif;
    font-size: 12px;
    line-height: 2.2;
    color: #343434;
    letter-spacing: 1px;
    font-weight: 500;
    -webkit-text-size-adjust: 100%;
    overflow-x: hidden;
  }
  /*-------------
container
-------------*/
  #container {
    width: 100%;
    margin: 0 auto;
  }
  /*-------------
memu
-------------*/
  .mainmenu.clearfix {
    background-color: #323232;
  }
  ul.menu.clearfix {
    width: 1200px;
    margin: 0 auto;
  }
  ul.menu.clearfix li {
    float: left;
    width: 120px;
    text-align: center;
    letter-spacing: 0;
    padding: 15px 0 0 0;
  }
  ul.menu.clearfix li:first-child {
    width: 160px;
    padding: 10px 0 0 0;
  }
  ul.menu.clearfix li:first-child span {
    font-size: 20px;
    font-weight: 500;
    font-family: Noto Sans JP;
  }
  ul.menu.clearfix li.logo {
    /*width: 260px;*/
    padding: 0;
  }
  ul.menu.clearfix li:last-child {
    padding: 10px 0 0 0;
  }
  ul.menu.clearfix li a {
    font-size: 14px;
    color: #fff;
  }
  li.menulist a:hover {
    opacity: 0.7;
  }
  /*-------------
main
-------------*/
  .main {
    /*width: 1500px;*/
    background-color: #fafafa;
    margin: 0 auto;
    padding: 0 0 100px 0;
    position: relative;
    z-index: 100;
  }
  .topbanner {
    margin: 40px auto 0 auto;
    width: 1000px;
  }
  ul.toplist.clearfix {
    width: 1000px;
    margin: 25px auto;
  }
  ul.toplist.clearfix li {
    width: 300px;
    height: 300px;
    float: left;
    margin: 0 0 0 50px;
  }
  ul.toplist.clearfix li:first-child, ul.toplist.clearfix li:nth-child(3n+1) {
    margin: 0 0 0 0;
  }
  ul.toplist.clearfix a {
    display: block;
    width: 300px;
    height: 300px;
  }
  ul.toplist.clearfix li #nav0 {
    background: url(../images/top/product/product10.png) no-repeat;
  }
  ul.toplist.clearfix li #nav1 {
    background: url(../images/top/product/product1.png) no-repeat;
  }
  ul.toplist.clearfix li #nav2 {
    background: url(../images/top/product/product2.png) no-repeat;
  }
  ul.toplist.clearfix li #nav3 {
    background: url(../images/top/product/product3.png) no-repeat;
  }
  ul.toplist.clearfix li #nav4 {
    background: url(../images/top/product/product4.png) no-repeat;
  }
  ul.toplist.clearfix li #nav5 {
    background: url(../images/top/product/product5.png) no-repeat;
  }
  ul.toplist.clearfix li #nav6 {
    background: url(../images/top/product/product6.png) no-repeat;
  }
  ul.toplist.clearfix li #nav7 {
    background: url("../images/top/product/_product7.png") no-repeat;
  }
  ul.toplist.clearfix li #nav77 {
    background: url("../images/top/product/product_karatto3.png") no-repeat;
  }
  ul.toplist.clearfix li #nav_yt {
    background: url(../images/top/product/product8.png) no-repeat;
  }
  ul.toplist.clearfix li #nav_efty {
    background: url(../images/top/product/product9.png) no-repeat;
  }
  ul.toplist.clearfix li #nav0:hover {
    background: url(../images/top/product/product10on.png) no-repeat;
  }
  ul.toplist.clearfix li #nav1:hover {
    background: url(../images/top/product/product1on.png) no-repeat;
  }
  ul.toplist.clearfix li #nav2:hover {
    background: url(../images/top/product/product2on.png) no-repeat;
  }
  ul.toplist.clearfix li #nav3:hover {
    background: url(../images/top/product/product3on.png) no-repeat;
  }
  ul.toplist.clearfix li #nav4:hover {
    background: url(../images/top/product/product4on.png) no-repeat;
  }
  ul.toplist.clearfix li #nav5:hover {
    background: url(../images/top/product/product5on.png) no-repeat;
  }
  ul.toplist.clearfix li #nav6:hover {
    background: url(../images/top/product/product6on.png) no-repeat;
  }
  ul.toplist.clearfix li #nav7:hover {
    background: url(../images/top/product/_product7on2.png) no-repeat;
  }
  ul.toplist.clearfix li #nav77:hover {
    background: url(../images/top/product/product_karatto3_on.png) no-repeat;
  }
  ul.toplist.clearfix li #nav_yt:hover {
    background: url(../images/top/product/product8on.png) no-repeat;
  }
  ul.toplist.clearfix li #nav_efty:hover {
    background: url(../images/top/product/product9on2.png) no-repeat;
  }
  .topbox {
    background: url(../images/top/top_pcback2.png) no-repeat;
    background-size: 100%;
    width: 100%;
    min-height: 600px;
    max-height: 600px;
  }
  .topbox p {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
    padding: 15% 0 0 17.5%;
    /*text-shadow: 2px 2px 1px #353535, -2px 2px 1px #353535, 2px -2px 1px #353535, -2px -2px 1px #353535;*/
    text-shadow: 2px 1px 1px #353535;
  }
  .topbox a {
    display: block;
    width: 250px;
    height: 50px;
  }
  .topbox #nav8 {
    background: url(../images/top/topbox_button.png) no-repeat;
  }
  .topbox #nav8:hover {
    background: url(../images/top/topbox_button_on.png) no-repeat;
  }
  .topbox_button {
    width: 250px;
    height: 50px;
    margin: 30px 0 0 268px;
  }
  .topbox_outer {
    width: 1000px;
    height: auto;
    margin: 0 auto;
    padding: 0;
  }
  .topbox2 {
    width: 500px;
    float: left;
    margin: 100px 0 0 0px;
  }
  img.topbox2title {
    margin: 0 0 0 45px;
  }
  ul.newslist {
    background-color: #fff;
    width: 400px;
    height: 250px;
    overflow-x: hidden;
    overflow-y: scroll;
    margin: 10px auto 0 auto;
    font-size: 12px;
    font-weight: 600;
    padding: 10px 20px 20px 20px;
  }
  ul.newslist li {
    border-bottom: solid 1px #ababab;
    padding: 10px 0 3px 0;
    line-height: 19px;
  }
  ul.newslist li a {
    text-decoration: underline;
    color: #00f;
  }
  ul.newslist li img {
    margin: 0 0 0 5px;
  }
  .topbox3 {
    width: 550px;
    margin: 90px auto 0 auto;
  }
  img.topbox3title {
    margin: 0 0 0 125px;
  }
  .topbox3_telfax {
    background-color: #fff;
    margin: 10px 0 0 0;
    padding: 15px 20px 15px 20px;
    text-align: center;
  }
  .topbox3_telfax p {
    font-size: 12px;
    font-weight: 600;
  }
  .topbox3_telfax img {
    margin: 10px 0 -5px 0;
  }
  .topbox3_button {
    margin: 8px auto;
    width: 275px;
  }
  .topbox3 a {
    display: inline-block;
    width: 235px;
    height: 35px;
    margin: 0;
    padding: 0;
  }
  .topbox3 #nav9 {
    background: url(../images/top/topmail.png) no-repeat;
  }
  .topbox3 #nav9:hover {
    background: url(../images/top/topmail_on.png) no-repeat;
  }
  .topbox3 .instagram {
    width: 30px;
    display: inline-block;
    position: relative;
    top: -40px;
    left: 30px;
  }
  .topbox3 .instagram a {
    width: 30px;
  }
  .topbox4 {
    width: 500px;
    margin: 180px 0 0 0;
    float: left;
  }
  .topbox4 a {
    display: block;
    width: 420px;
    height: 80px;
  }
  .topbox4 #nav11 {
    margin: 20px 0;
    background: url(../images/top/media.png) no-repeat;
  }
  .topbox4 #nav11:hover {
    background: url(../images/top/media_on.png) no-repeat;
  }
  .topbox4 #nav12 {
    margin: 20px 0;
    background: url(../images/top/work.png) no-repeat;
  }
  .topbox4 #nav12:hover {
    background: url(../images/top/work_on.png) no-repeat;
  }
  .topbox4 #nav_insta {
    margin: 20px 0;
    background: url(../images/top/insta2.png) no-repeat;
  }
  .topbox4 #nav_insta:hover {
    background: url(../images/top/insta2_on.png) no-repeat;
  }
  .pagetop {
    display: none;
    position: fixed;
    bottom: 210px;
    right: 25px;
  }
  /*-------------
footer
-------------*/
  #footer {
    clear: both;
    background-color: #f2f2f2;
    color: #535353;
    padding: 0 0 20px 0;
  }
  #footerInner {
    width: 1000px;
    height: auto;
    margin: 0 auto;
    padding: 0;
  }
  .footer_left.clearfix {
    float: left;
    margin: 25px 0 0 0;
  }
  ul.footer_list.clearfix {
    line-height: 22px;
    font-weight: 600;
  }
  ul.footer_list.clearfix li a {
    color: #343434;
  }
  ul.footer_list.clearfix li a:hover {
    text-decoration: underline;
  }
  .footer_left2.clearfix {
    float: left;
    margin: 25px 0 0 40px;
  }
  ul.footer_list2.clearfix {
    line-height: 22px;
  }
  ul.footer_list2.clearfix li:first-child {
    font-weight: 600;
  }
  ul.footer_list2.clearfix li a {
    color: #343434;
  }
  ul.footer_list2.clearfix li a:hover {
    text-decoration: underline;
  }
  .footer_left3.clearfix {
    float: left;
    margin: 53px 0 0 40px;
  }
  ul.footer_list3.clearfix {
    line-height: 22px;
  }
  ul.footer_list3.clearfix li:first-child {
    font-weight: 600;
  }
  ul.footer_list3.clearfix li a {
    color: #343434;
  }
  ul.footer_list3.clearfix li a:hover {
    text-decoration: underline;
  }
  .footer_left4.clearfix {
    float: left;
    margin: 53px 0 0 40px;
  }
  ul.footer_list4.clearfix {
    line-height: 22px;
  }
  ul.footer_list4.clearfix li:first-child {
    font-weight: 600;
  }
  ul.footer_list4.clearfix li:nth-child(n+15) {
    font-weight: 600;
    line-height: 25px;
  }
  ul.footer_list4.clearfix li:nth-child(15) {
    margin: 15px 0 0 0;
  }
  ul.footer_list4.clearfix li a {
    color: #343434;
  }
  ul.footer_list4.clearfix li a:hover {
    text-decoration: underline;
  }
  .footer_right.clearfix {
    float: right;
    margin: 25px 0 0 0;
  }
  p.footer_text {
    font-size: 23px;
    font-weight: 600;
    line-height: 1.5;
  }
  p.footer_text1 {
    font-size: 12px;
    line-height: 20px;
    margin: 5px 0 0 0;
  }
  p.footer_text2 {
    font-size: 12px;
    line-height: 20px;
  }
  .footermail {
    margin: 15px 0 0 0;
  }
  .footermail a {
    display: block;
    width: 190px;
    height: 25px;
  }
  .footermail #nav11 {
    background: url(../images/top/footermail.png) no-repeat;
  }
  .footermail #nav11:hover {
    background: url(../images/top/footermail_on.png) no-repeat;
  }
  p.footer_text3 {
    font-size: 11px;
    margin: 15px 0 0 0;
  }
}
/* Tablet */
@media screen and (min-width: 481px) and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  * {
    margin: 0;
    padding: 0;
  }
  *::after, * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  /*-------------
base
-------------*/
  body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, input, p, blockquote, th, td {
    margin: 0;
    padding: 0;
  }
  img {
    border: 0;
    vertical-align: top;
    width: 100%;
  }
  /*body {
    background-color: #fff;
}*/
  a {
    color: #1c1c1c;
    outline: none;
    text-decoration: none;
    font-size: 12px;
  }
  a:hover {
    text-decoration: none;
  }
  ul, ol {
    list-style: none;
  }
  .fLeft {
    float: left;
  }
  .clearfix:after {
    content: "";
    clear: both;
    display: block;
  }
  /*-------------
firefox fade対策
-------------*/
  img {
    box-shadow: #000 0 0 0;
  }
  img, x:-moz-any-link, x:default {
    box-shadow: #000 0 0 0;
  }
  /*-------------
fontstyle
-------------*/
  body {
    background-color: #fff;
    font-family: 'ＭＳ Ｐゴシック', "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, Meiryo, sans-serif;
    font-size: 12px;
    line-height: 2.2;
    color: #343434;
    letter-spacing: 0;
    font-weight: 500;
    -webkit-text-size-adjust: 100%;
  }
  /*-------------
container
-------------*/
  #container {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
  }
  #header {
    width: 100%;
    position: relative;
    z-index: 100;
  }
  #header_inner {
    width: 100%;
    height: 35px;
    background-color: #323232;
    overflow: hidden;
    position: absolute;
    top: 0;
    z-index: 100;
  }
  h1.toplogo_left.clearfix {
    float: left;
    margin: 0 0 0 5px;
  }
  h1.toplogo_left.clearfix span {
    font-size: 14px;
    color: #fff;
    font-weight: 500;
    font-family: Noto Sans JP;
    padding: 0 5px;
    vertical-align: top;
  }
  h1.toplogo_left.clearfix img {
    width: 54px;
  }
  /*-------------
js-video
-------------*/
  video#js-video {
    width: 100%;
    margin: 35px 0 0 0;
  }
  /*-------------
menu
-------------*/
  #nav-tgl {
    display: none;
  }
  .nav-tgl-btn {
    cursor: pointer;
    position: absolute;
    top: 7px;
    right: 5px;
  }
  .open {
    z-index: 200;
    width: 30px;
    height: auto;
    color: #696969;
    transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
    padding: 16px 0 0 5px;
  }
  .open::before, .open::after {
    content: "";
  }
  .open span, .open::before, .open::after {
    content: "";
    position: absolute;
    top: calc(62% - 1px);
    right: 25%;
    width: 70%;
    border-bottom: 3px solid #fff;
    transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .open::before {
    transform: translateY(-8px);
  }
  .open::after {
    transform: translateY(8px);
  }
  .close {
    z-index: 11;
    width: 100%;
    height: 100%;
    pointer-events: none;
    transition: background .6s;
  }
  #nav-tgl:checked + .open {
    /*background: #02071d;*/
    transform: translateX(-250px);
  }
  #nav-tgl:checked + .open span {
    transform: scaleX(0);
  }
  #nav-tgl:checked + .open::before {
    transform: rotate(45deg);
  }
  #nav-tgl:checked + .open::after {
    transform: rotate(-45deg);
  }
  #nav-tgl:checked ~ .close {
    pointer-events: auto;
    background: rgba(0, 0, 0, .4);
    position: fixed;
    top: 0;
  }
  .content-wrapper {
    transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  #nav-tgl:checked ~ .content-wrapper {
    transform: translateX(-250px);
  }
  .drower-menu {
    z-index: 999;
    position: fixed;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    top: 0;
    right: 0;
    width: 250px;
    height: 100%;
    margin: 0;
    padding: 0 0 10px;
    box-sizing: border-box;
    background: #323232;
    transform: translateX(100%);
    transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .drower-menu a {
    display: block;
    color: white;
    padding: 5px 10px;
    text-decoration: inherit;
    transition: background .6s;
    font-size: 1.0rem;
  }
  .drower-menu a:hover {
    background: #333;
  }
  #nav-tgl:checked ~ .drower-menu {
    transform: none;
  }
  .drower-menu a img {
    width: 150px;
  }
  /*-------------
main
-------------*/
  .main {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 25px 0;
    background-color: #fafafa;
    overflow: hidden;
  }
  .topbanner {
    margin: 20px auto 0 auto;
    width: 90%;
    max-width: 357px;
  }
  ul.toplist.clearfix {
    width: 100%;
    overflow: hidden;
    margin: 0 auto 25px auto;
  }
  ul.toplist.clearfix li {
    max-width: 300px;
    width: 46%;
    float: left;
    margin: 0 10px 10px 0;
  }
  .topbox {
    background: url(../images/top/top_spback2.png) no-repeat;
    background-size: cover;
    width: 100%;
    height: auto;
    padding: 0 0 20px 0;
  }
  .topbox h2 {
    color: #fff;
    font-size: 30px;
    font-weight: 600;
    line-height: 28px;
    text-shadow: 2px 2px 1px #353535, -2px 2px 1px #353535, 2px -2px 1px #353535, -2px -2px 1px #353535;
    text-align: center;
    padding: 15px 0 10px 0;
  }
  .topbox h2 span {
    display: block;
    color: #fff;
    font-size: 15px;
  }
  .topbox p {
    width: 365px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 21px;
    text-shadow: 2px 2px 1px #353535, -2px 2px 1px #353535, 2px -2px 1px #353535, -2px -2px 1px #353535;
    margin: 0 auto;
  }
  .topbox_button {
    width: 250px;
    height: 50px;
    margin: 15px auto 0 auto;
  }
  .topbox_outer {
    width: 100%;
    height: auto;
    margin: 50px auto 0 auto;
    padding: 0;
  }
  .topbox2 {
    max-width: 500px;
    margin: 0 auto;
  }
  img.topbox2title {
    display: block;
    max-width: 323px;
    width: 80%;
    margin: 0 auto;
  }
  ul.newslist {
    background-color: #fff;
    max-width: 400px;
    width: 95%;
    height: 225px;
    overflow-x: hidden;
    overflow-y: scroll;
    margin: 10px auto 0 auto;
    font-size: 12px;
    font-weight: 600;
    padding: 10px;
  }
  ul.newslist li {
    border-bottom: solid 1px #ababab;
    padding: 10px 0 3px 0;
    line-height: 19px;
  }
  ul.newslist li a {
    text-decoration: underline;
    color: #00f;
  }
  ul.newslist li img {
    margin: 0 0 0 5px;
  }
  .topbox3 {
    max-width: 550px;
    margin: 50px auto 0 auto;
  }
  img.topbox3title {
    display: block;
    max-width: 251px;
    width: 80%;
    margin: 0 auto;
  }
  .topbox3_telfax {
    width: 95%;
    background-color: #fff;
    margin: 10px auto 0 auto;
    padding: 10px;
    text-align: center;
  }
  .topbox3_telfax p {
    font-size: 12px;
    line-height: 20px;
    font-weight: 600;
  }
  .topbox3_telfax img {
    display: block;
    width: 235px;
    margin: 10px auto 0 auto;
  }
  .topbox3_button {
    margin: 8px auto;
    width: 275px;
  }
  .topbox3 .instagram {
    width: 30px;
    display: inline-block;
    position: relative;
    top: -40px;
    left: 30px;
  }
  .topbox3 .instagram a {
    width: 30px;
  }
  .topbox4 {
    max-width: 500px;
    width: 95%;
    margin: 20px auto 0 auto;
  }
  .topbox4.clearfix.sp img {
    display: block;
    max-width: 420px;
    margin: 10px auto;
  }
  /*-------------
footer
-------------*/
  #footer {
    width: 100%;
    clear: both;
    background-color: #f2f2f2;
    color: #535353;
    padding: 0 0 20px 0;
  }
  #footerInner {
    width: 95%;
    height: auto;
    margin: 0 auto;
    padding: 0;
  }
  .footer_right.clearfix {
    width: 100%;
    text-align: center;
    padding: 20px 0 0 0;
  }
  p.footer_text {
    font-size: 23px;
    font-weight: 600;
    line-height: 1.5;
  }
  p.footer_text1 {
    font-size: 12px;
    line-height: 20px;
    margin: 5px 0 0 0;
  }
  p.footer_text2 {
    font-size: 12px;
    line-height: 20px;
  }
  .footermail {
    width: 190px;
    margin: 10px auto 0 auto;
  }
  p.footer_text3 {
    font-size: 11px;
    margin: 15px 0 0 0;
  }
}
/* SP */
@media screen and (max-width: 480px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  * {
    margin: 0;
    padding: 0;
  }
  *::after, * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  /*-------------
base
-------------*/
  body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, input, p, blockquote, th, td {
    margin: 0;
    padding: 0;
  }
  img {
    border: 0;
    vertical-align: top;
    width: 100%;
  }
  /*body {
    background-color: #fff;
}*/
  a {
    color: #1c1c1c;
    outline: none;
    text-decoration: none;
    font-size: 12px;
  }
  a:hover {
    text-decoration: none;
  }
  ul, ol {
    list-style: none;
  }
  .fLeft {
    float: left;
  }
  .clearfix:after {
    content: "";
    clear: both;
    display: block;
  }
  /*-------------
firefox fade対策
-------------*/
  img {
    box-shadow: #000 0 0 0;
  }
  img, x:-moz-any-link, x:default {
    box-shadow: #000 0 0 0;
  }
  /*-------------
fontstyle
-------------*/
  body {
    background-color: #fff;
    font-family: 'ＭＳ Ｐゴシック', "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, Meiryo, sans-serif;
    font-size: 12px;
    line-height: 2.2;
    color: #343434;
    letter-spacing: 0;
    font-weight: 500;
    -webkit-text-size-adjust: 100%;
  }
  /*-------------
container
-------------*/
  #container {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
  }
  #header {
    width: 100%;
    position: relative;
    z-index: 100;
  }
  #header_inner {
    width: 100%;
    height: 35px;
    background-color: #323232;
    overflow: hidden;
    position: absolute;
    top: 0;
    z-index: 100;
  }
  h1.toplogo_left.clearfix {
    float: left;
    margin: 0 0 0 5px;
  }
  h1.toplogo_left.clearfix span {
    font-size: 14px;
    color: #fff;
    font-family: Noto Sans JP;
    padding: 0 5px;
    vertical-align: top;
  }
  h1.toplogo_left.clearfix img {
    width: 54px;
  }
  /*-------------
js-video
-------------*/
  video#js-video {
    width: 100%;
    margin: 35px 0 0 0;
  }
  /*-------------
menu
-------------*/
  #nav-tgl {
    display: none;
  }
  .nav-tgl-btn {
    cursor: pointer;
    position: absolute;
    top: 7px;
    right: 5px;
  }
  .open {
    z-index: 200;
    width: 30px;
    height: auto;
    color: #696969;
    transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
    padding: 16px 0 0 5px;
  }
  .open::before, .open::after {
    content: "";
  }
  .open span, .open::before, .open::after {
    content: "";
    position: absolute;
    top: calc(62% - 1px);
    right: 25%;
    width: 70%;
    border-bottom: 3px solid #fff;
    transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .open::before {
    transform: translateY(-8px);
  }
  .open::after {
    transform: translateY(8px);
  }
  .close {
    z-index: 11;
    width: 100%;
    height: 100%;
    pointer-events: none;
    transition: background .6s;
  }
  #nav-tgl:checked + .open {
    /*background: #02071d;*/
    transform: translateX(-250px);
  }
  #nav-tgl:checked + .open span {
    transform: scaleX(0);
  }
  #nav-tgl:checked + .open::before {
    transform: rotate(45deg);
  }
  #nav-tgl:checked + .open::after {
    transform: rotate(-45deg);
  }
  #nav-tgl:checked ~ .close {
    pointer-events: auto;
    background: rgba(0, 0, 0, .4);
    position: fixed;
    top: 0;
  }
  .content-wrapper {
    transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  #nav-tgl:checked ~ .content-wrapper {
    transform: translateX(-250px);
  }
  .drower-menu {
    z-index: 999;
    position: fixed;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    top: 0;
    right: 0;
    width: 250px;
    height: 100%;
    margin: 0;
    padding: 0 0 10px;
    box-sizing: border-box;
    background: #323232;
    transform: translateX(100%);
    transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .drower-menu a {
    display: block;
    color: white;
    padding: 5px 10px;
    text-decoration: inherit;
    transition: background .6s;
    font-size: 1.0rem;
  }
  .drower-menu a:hover {
    background: #333;
  }
  #nav-tgl:checked ~ .drower-menu {
    transform: none;
  }
  .drower-menu a img {
    width: 150px;
  }
  /*-------------
main
-------------*/
  .main {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 25px 0;
    background-color: #fafafa;
    overflow: hidden;
  }
  .topbanner {
    margin: 20px auto 0 auto;
    width: 90%;
    max-width: 357px;
  }
  ul.toplist.clearfix {
    width: 100%;
    overflow: hidden;
    margin: 0 auto 25px auto;
  }
  ul.toplist.clearfix li {
    max-width: 300px;
    width: 46%;
    float: left;
    margin: 0 10px 10px 0;
  }
  .topbox {
    background: url(../images/top/top_spback2.png) repeat;
    background-size: cover;
    background-position: right;
    width: 100%;
    height: auto;
    padding: 0 0 5px 0;
  }
  .topbox h2 {
    color: #fff;
    font-size: 24px;
    font-weight: 600;
    line-height: 24px;
    text-shadow: 2px 2px 1px #353535, -2px 2px 1px #353535, 2px -2px 1px #353535, -2px -2px 1px #353535;
    text-align: center;
    padding: 10px 125px 5px 0;
  }
  .topbox h2 span {
    display: block;
    color: #fff;
    font-size: 15px;
  }
  .topbox p {
    width: 90%;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 21px;
    text-shadow: 2px 2px 1px #353535, -2px 2px 1px #353535, 2px -2px 1px #353535, -2px -2px 1px #353535;
    margin: 0 auto;
  }
  .topbox_button {
    width: 250px;
    height: 50px;
    margin: 5px auto 0 auto;
  }
  .topbox_outer {
    width: 100%;
    height: auto;
    margin: 50px auto 0 auto;
    padding: 0;
  }
  .topbox2 {
    max-width: 500px;
    margin: 0 0 0 0;
  }
  img.topbox2title {
    display: block;
    max-width: 323px;
    width: 80%;
    margin: 0 auto;
  }
  ul.newslist {
    background-color: #fff;
    max-width: 400px;
    width: 95%;
    height: 225px;
    overflow-x: hidden;
    overflow-y: scroll;
    margin: 10px auto 0 auto;
    font-size: 12px;
    font-weight: 600;
    padding: 10px;
  }
  ul.newslist li {
    border-bottom: solid 1px #ababab;
    padding: 10px 0 3px 0;
    line-height: 19px;
  }
  ul.newslist li a {
    text-decoration: underline;
    color: #00f;
  }
  ul.newslist li img {
    margin: 0 0 0 5px;
  }
  .topbox3 {
    max-width: 550px;
    margin: 50px auto 0 auto;
  }
  img.topbox3title {
    display: block;
    max-width: 251px;
    width: 80%;
    margin: 0 auto;
  }
  .topbox3_telfax {
    width: 95%;
    background-color: #fff;
    margin: 10px auto 0 auto;
    padding: 10px;
    text-align: center;
  }
  .topbox3_telfax p {
    font-size: 12px;
    line-height: 20px;
    font-weight: 600;
  }
  .topbox3_telfax img {
    display: block;
    width: 235px;
    margin: 10px auto 0 auto;
  }
  .topbox3_button {
    margin: 8px auto;
    width: 275px;
  }
  .topbox3 .instagram {
    width: 30px;
    display: inline-block;
    position: relative;
    top: -40px;
    left: 30px;
  }
  .topbox3 .instagram a {
    width: 30px;
  }
  .topbox4 {
    max-width: 500px;
    width: 95%;
    margin: 20px auto 0 auto;
  }
  .topbox4.clearfix.sp img {
    display: block;
    max-width: 420px;
    margin: 10px auto;
  }
  /*-------------
footer
-------------*/
  #footer {
    width: 100%;
    clear: both;
    background-color: #f2f2f2;
    color: #535353;
    padding: 0 0 20px 0;
  }
  #footerInner {
    width: 95%;
    height: auto;
    margin: 0 auto;
    padding: 0;
  }
  .footer_right.clearfix {
    width: 100%;
    text-align: center;
    padding: 20px 0 0 0;
  }
  p.footer_text {
    font-size: 23px;
    font-weight: 600;
    line-height: 1.5;
  }
  p.footer_text1 {
    font-size: 12px;
    line-height: 20px;
    margin: 5px 0 0 0;
  }
  p.footer_text2 {
    font-size: 12px;
    line-height: 20px;
  }
  .footermail {
    width: 190px;
    margin: 10px auto 0 auto;
  }
  p.footer_text3 {
    font-size: 11px;
    margin: 15px 0 0 0;
  }
}