@charset "UTF-8";
/* CSS Document */
/* resrt */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 100;
}
@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 200;
}
@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 300;
}
@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 400;
}
@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Bold");
    font-weight: bold;
}

.yu-mincho{
  font-family: 'PT Serif', serif;
  font-weight: 700;
}

.fmaru{font-family: 'M PLUS Rounded 1c', sans-serif;}
.fkaku{font-family: 'Noto Sans JP', sans-serif;}
.fmin{font-family: 'Noto Serif JP', serif;}

body {
    font-family: 'Noto Sans JP', sans-serif;
    background: #ffffff;
    color:#000000;
    font-weight: 400;
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* HTML5 display-role reset for older browsers */
div, article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
    box-sizing: border-box;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
a {
	color:#006600;
	text-decoration:none;
	transition-duration: 0.5s;
	-webkit-transform: translate3d(0,0,0);
}
a:hover {
	transition-duration: 0.5s;
	-webkit-transform: translate3d(0,0,0);
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
img {
	vertical-align:bottom;
	transition-duration: 0.3s;
}
a img:hover {
	filter: alpha(opacity=75);
	-moz-opacity:0.75;
	opacity:0.75;
	transition-duration: 0.3s;
}
/* breadcrumbs */
.breadcrumbs,.breadcrumbs a {
	font-size:13px;
}
.breadcrumbs a:hover {
	color:#d905bb;
}
/* pagenavi */
.wp-pagenavi {
	margin:30px auto 0;
}
.wp-pagenavi,.wp-pagenavi a {
	text-align:center;
	font-size:15px;
	color:#534741;
}
.wp-pagenavi a {
	background:#fff;
}
.wp-pagenavi a,.wp-pagenavi span {
	border:1px solid #534741;
	margin:0 5px;
	padding:8px 12px;
	line-height:1;
	background:#fff;
	display: inline-block;
}
.wp-pagenavi .previouspostslink,.wp-pagenavi .nextpostslink {
}
.wp-pagenavi .current,.wp-pagenavi a:hover {
	background:#006600;
	color:#fff;
	text-decoration:none;
}
.wp-pagenavi .pages {
	border:none;
	display:none;
}
.wp-pagenavi a, .wp-pagenavi span{
    padding: 8px 12px !important;
}
/* common */
.sp_cont {
	display:none !important;
}
/* header */
header .outb {
    width:100%;
    margin-bottom:10px;
    background-repeat: no-repeat;
    background-position: center top;
}
header .outb {
    height: 920px;
    margin: 0 auto;
}
.toppage header .outb {
    background-image:url(../img/top_header.jpg);
}
.products header .outb {
    background-image:url(../img/products_header.jpg);
}
.staff header .outb {
    background-image:url(../img/staff_header.jpg);
}
header .inn {
	width:1280px;
    overflow: hidden;
    padding: 0;
    margin: 0 auto;
    position: relative;
}
header .inn {
    height: 920px;
}
header .inn .logo {
	float:left;
	margin:20px 0 0 0;
}
header .inn .logo img{
    width:330px;
    margin-left: 30px;
}
header .inn .header-copy{
    position: absolute;
    bottom: 50px;
    right: 20px;
    background: #fff;
    font-size: 30px;
    color: #006600;
    width:560px;
    padding:25px 40px;
}
header .inn .headerimg{
    margin:350px auto 0;
    text-align: center;
}
header .inn .headerimg img{
    width:360px;
}
header ul.link{
    width:260px;
    float: right;
    margin-top: 20px
}
header ul.link li.contact a{
    display: block;
    line-height: 50px;
    background:#006600;
    text-decoration:none;
    color: #ffffff;
    text-align: center;
    border-radius: 10px;
    margin-bottom: 12px;
    font-size: 20px;
    font-weight: bold;
}
header ul.link li.contact a:hover{
    background: #ffa600;
}
header #gnav .tel_soudan{
    text-align: center;
    width:320px;
    float: right;
    color: #006600;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: 500;
    margin: 18px 25px 0 0;
}
header #gnav .tel_soudan .txt1{
    font-size: 18px;
    line-height: 27px;
}
header #gnav .tel_soudan .txt2{
    font-size: 40px;
    padding-left:32px;
    background-image: url(../img/tel-mark.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 30px;
    line-height: 45px;
    width: 290px;
}
header #gnav .tel_soudan .txt3{
    font-size: 18px;
    line-height: 27px;
}
header #gnav .gnav_menu{
    width:378px;
    float: right;
    text-align: right;
    margin-top:18px;
}
header #gnav .gnav_menu ul{
    display: inline-block;
    margin: 0 4px 0 0;
    padding: 15px 5px;
    background: #fff;
    border-radius: 10px;
    box-shadow: -4px 4px 2px rgba(0,0,0,0.16),1px -1px 1px rgba(0,0,0,0.1);
}
header #gnav .gnav_menu ul li{
    display: inline-block;
    border-right: 2px solid #C6C6C6;
}
header #gnav .gnav_menu ul li:last-child{
    border-right: none;
}
header #gnav .gnav_menu ul li img{
    height: 76px;
}
header #gnav .gnav_menu ul li a {
    padding: 0 20px;
}


/* footer */
footer{
}
footer .ft_link ul{
    text-align: center;
    margin: 75px 0;
}
footer .ft_link ul li{
    display: inline-block;
    margin: 0 30px;
    line-height: 22px;
}
footer .ft_link ul li a{
    color: #000;
    text-align: center;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: 500;
    font-size: 20px;
    white-space: nowrap;
    display: block;
    padding: 15px;
}
footer .ft_link ul li a span{
    color: #006600;
    font-size: 12px;
}
footer a:hover {
    opacity: 0.6;
}
footer .ft_link {
	font-size:16px;
	line-height:28px;
}
footer .copyright {
}
footer .inn {
    background: #E5E5E5;
    overflow: hidden;
    padding: 60px 0;
}
footer .inn .inn-w{
    width: 1280px;
    margin: auto;
}
footer .inn .f_add {
    width: 520px;
    float: left;
}
footer .f_add .logo {
    width: 330px;
    margin: auto;
}
footer .f_add p{
    font-size: 20px;
    margin:30px 0 0 150px;
}
footer .inn .f_map {
    width: 380px;
    float: left;
}
footer .inn .f_map iframe{
    display: block;
    width:360px;
    margin: auto;
}
footer .inn .f_ren {
    width: 360px;
    float: right;
}
footer .f_ren {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: 500;
}
footer .f_ren .tel{
    width: 100%;
    background:#fff;
    color: #006600;
    font-size: 40px;
    margin-bottom: 12px;
}
footer .f_ren .tel p{
    line-height: 26px;
    padding: 20px 0 12px 50px;
    background-image: url(../img/tel-mark.svg);
    background-repeat: no-repeat;
    background-position: left 20px top 20px;
    background-size: 30px;
    white-space: nowrap;
}
footer .f_ren .tel span{
    font-size: 18px;
}
footer .f_ren .fax{
    width: 100%;
    background:#fff;
    color: #006600;
    font-size: 40px;
    margin-bottom: 12px;
}
footer .f_ren .fax p{
    line-height: 40px;
    padding: 20px 0 20px 50px;
    background-image: url(../img/fax-mark.svg);
    background-repeat: no-repeat;
    background-position: left 20px top 27px;
    background-size: 30px;
    white-space: nowrap;
}
footer .f_ren .contact{
    color:#fff;
    background: #006600;
    font-size: 30px;
}
footer .f_ren .contact p{
    line-height: 40px;
    padding: 20px 0 20px 75px;
    background-image: url(../img/contact-mark_w.svg);
    background-repeat: no-repeat;
    background-position: left 20px top 20px;
    background-size: 45px;
    white-space: nowrap;
}
footer .copyright {
    color: #fff;
    background: #006600;
    font-size: 12px;
    text-align: center;
    padding: 20px 0;
}

/* common */
/* アイキャッチライン（アクション）
------------------------------*/
@-webkit-keyframes animateScrollBar {
	0% {
	-webkit-transform:translateY(-100%);
	transform:translateY(-100%)
	}
	80% {
	-webkit-transform:translateY(200%);
	transform:translateY(200%)
	}
}
@keyframes animateScrollBar {
	0% {
	-webkit-transform:translateY(-100%);
	transform:translateY(-100%)
	}
	80% {
	-webkit-transform:translateY(200%);
	transform:translateY(200%)
	}
}
/* アイキャッチライン
------------------------------*/
.tlbar {
	width: 1px;
	height: 40px;
	overflow: hidden;
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	background-color: rgba(255,255,255,0);
}
/* アイキャッチライン（内側）
------------------------------*/
.tlbar-in {
	height: 80%;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	background-color: #fff;
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0)
}
.tlbar-in.is-animate {
	-webkit-animation-name: animateScrollBar;
	animation-name: animateScrollBar;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-timing-function: cubic-bezier(.645, .045, .355, 1);
	animation-timing-function: cubic-bezier(.645, .045, .355, 1);
	-webkit-animation-duration: 2s;
	animation-duration: 2s
}

.ttl_wrap {
	position:relative;
    width:1280px;
    margin: auto;
    padding-top:50px;
}
.ttl_wrap h2 {
    text-align: left;
	color:#ffffff;
    font-family: 'PT Serif', serif;
    font-size: 28px;
	line-height:1;
	font-weight:bold;
	width:100%;
    border-bottom:2px solid #ffa600;
    border-left:10px solid #ffa600;
    padding:7px 0 10px 12px;
    margin-bottom: 40px;
    box-sizing: border-box;
}
.ttl_wrap p{
}
.cate_icon {
	border:1px solid #534741;
	color:#534741;
}

/* ページトップ */
#page-top{
  display: block;
  position: fixed;
  z-index: 9999;
  bottom: 10px;
  right: 2px;
  padding: 20px 10px;
  text-align: center;
  text-decoration: none;
  transform: rotateY(270deg);
  transition: .5s;
}


/*--------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
        /* common */
        body {
        font-size:12px;
        }
        img {
        max-width:100%;
        }
        .sp_cont {
        display:block !important;
        }
        .pc_cont {
        display:none !important;
        }
        /* breadcrumbs */
        .breadcrumbs,.breadcrumbs a {
        display:none;
        }
        /* pagenavi */
        .wp-pagenavi {
        margin:5% auto 0;
        }
        .wp-pagenavi,.wp-pagenavi a {
        text-align:center;
        font-size:12px;
        }
        .wp-pagenavi a,.wp-pagenavi span {
        margin:10px 4px;
        padding:8px 10px;
        display:inline-block;
        }
        /* header */
        header .inn {
        width:100%;
        position:relative;
        height: 275px;
        }
        header .inn .headerimg{
            margin:32px auto 0;
        }
        header .inn .headerimg img{
            width:150px;
        }

        header .inn .logo {
        width:260px;
        margin:10px 0 0 8px;
        float: none;
        }
        header .inn .logo img{
            width:100%;
        }
        header .inn .header-copy{
            position: relative;
            font-size: 16px;
            font-weight: 700;
            width: 90%;
            padding: 6px 3px 6px 6px;
            border: 1px solid #006600;
            margin: auto;
            margin-top: 138px;
            right: 0;
            bottom: 0;
            background: rgba(255,255,255,0.9);
        }
        header .inn .menu {
        position:fixed;
        top:12px;
        right:8px;
        background: #006600;
        border-radius: 25px;
        padding:11px 8px 6px 9px;
        z-index: 9999;
        cursor : pointer;
        }
        header .outb {
            height: auto;
            background-size: 450px;
            background-position: center top 60px;
        }

        .menu-trigger,
        .menu-trigger span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
        }
        .menu-trigger {
        position: relative;
        width: 25px;
        height: 19px;
        }
        .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 3px;
        background-color: #fff;
        border-radius: 3px;
        }
        .menu-trigger.active span:nth-of-type(1) {
        width: 45%;
        -webkit-transform: translate3d(2px, 4px, 0) rotate(405deg);
        transform: translate3d(2px, 4px, 0) rotate(405deg);
        }
        .menu-trigger.active span:nth-of-type(2) {
        -webkit-transform: translate3d(-1px, 0, 0) rotate(-45deg);
        transform: translate3d(-1px, 0, 0) rotate(-45deg);
        }
        .menu-trigger.active span:nth-of-type(3) {
        width: 45%;
        -webkit-transform: translate3d(11px, -3px, 0) rotate(405deg);
        transform: translate3d(11px, -3px, 0) rotate(405deg);
        }
        .menu-trigger span:nth-of-type(1) {
        top: 0;
        }
        .menu-trigger span:nth-of-type(2) {
        top: 8px;
        }
        .menu-trigger span:nth-of-type(3) {
        bottom: 0;
        }
        /* footer */
        footer{
        margin-top:40px;
        border-top: 0;
        padding-top: 0;
        }
        footer .inn {
        width:100%;
        height:auto;
        margin-top: 20px;
        padding: 16px 0;
        }
        footer .inn .logo {
        float:none;
        margin:1em;
        }
        footer .inn .f_add {
            width: 100%;
            float: none;
            margin-bottom: 20px;
        }
        footer .f_add .logo {
            width: 100%;
            text-align: center;
            margin: 16px 0;
        }
        footer .f_add img{
            width: 80%;
            max-width: 400px;
        }
        footer .f_add p{
            font-size: 14px;
            text-align: center;
            margin: 0;
        }
        footer .inn .f_map {
            width: 100%;
            float: none;
            margin: 16px 0;
        }
        footer .inn .f_ren {
            width: 100%;
            float: none;
        }
footer .f_ren .tel{
    font-size: 33px;
    width: 310px;
    margin: 12px auto;
}
footer .f_ren .tel p{
    line-height: 26px;
    padding: 20px 0 12px 50px;
    background-repeat: no-repeat;
    background-position: left 20px top 20px;
    background-size: 30px;
    white-space: nowrap;
}
footer .f_ren .tel span{
    font-size: 16px;
}
footer .f_ren .fax{
    font-size: 33px;
    width: 310px;
    margin: 12px auto;
}
footer .f_ren .fax p{
    line-height: 40px;
    padding: 20px 0 20px 48px;
    background-repeat: no-repeat;
    background-position: left 20px top 27px;
    background-size: 30px;
    white-space: nowrap;
}
footer .f_ren .contact{
    font-size: 30px;
    width: 310px;
    margin: 12px auto;
}
footer .f_ren .contact p{
    line-height: 40px;
    padding: 20px 0 20px 75px;
    background-image: url(../img/contact-mark_w.svg);
    background-repeat: no-repeat;
    background-position: left 20px top 20px;
    background-size: 45px;
    white-space: nowrap;
}
footer .copyright {
    color: #fff;
    background: #006600;
    font-size: 12px;
    text-align: center;
    padding: 20px 0;
}





        footer .copyright {
        margin:0;
        line-height: 1.5;
        padding-top:20px;
        }
        footer .inn .inn-w{
            width: 100%;
        }

        /* ページトップ */
        #page-top{
        bottom: 0px;
        right: 0px;
        padding: 20px 10px;
        }

        /* common */
        .ttl_wrap {
        position:relative;
        padding:10px 0 0;
        width: 100%;
        margin-bottom:0;
        }
        #main_cont .ttl_wrap {
        padding:20px 0 0;
        }
        .ttl_wrap h2 {
        font-size:1.6em;
        padding:6px 0 6px 10px;
        }
        #main_cont .ttl_wrap h2 {
        }
        .ttl_wrap p{
        font-size:13px;
        }
        .ttl_border {
        height:10px;
        background: rgba(252,232,0,1);
        display:block;
        margin:auto;
        }
        .ttl_wrap .sub {
        top:35px;
        left:0;
        width:100%;
        font-size:13px;
        }
        #main_cont .ttl_wrap .sub {
        top:35px;
        font-size:13px;
        }
        /**SPメニュー**/
        header .inn .menu_list {
        display:none;
        position:fixed;
        top:0;
        background:#fff;
        z-index:9998;
        width:100%;
        border-top:1px solid #e6e6e6;
        padding-top:16px;
        }
        header .inn .menu_list ul li {
        font-size:14px;
        }
        header .inn .menu_list ul li a {
        font-weight:bold;
        display:block;
        width:94%;
        margin:auto;
        border-bottom:1px solid #e6e6e6;
        padding:3% 7.6%;
        box-sizing:border-box;
        color:#006600;
        background-position:left 10px center;
        background-repeat: no-repeat;
        background-size: 12px 12px;
        }
        header .inn .menu_list ul li a i {
        padding:0 10px 0 0;
        }
        header .inn .menu_list .list_open_sp > a{
        background-image: url(../img/common/icon_plus.png);
        background-position:right center;
        background-repeat:no-repeat;
        background-size:20px;
        }
        header .inn .menu_list .list_open_sp.active > a{
        background-image: url(../img/common/icon_minus.png);
        }
        header .inn .menu_list .service_list {
        display:none;
        background:#006600;
        }
        header .inn .menu_list .service_list dl dd a{
        color:#fff;
        border-bottom:1px solid #72d0c5;
        }
        header .inn .menu_list .service_list dl dd:last-child a {
        border:none;
        }
        header .inn .menu_list .menu_tel {
        width:94%;
        margin:5% auto;
        }
}