@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
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,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/*================================================
 *  一般・共通設定
 ================================================*/
body {
    font-size:14px;
    color:#382400;
    font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    line-height:1.6;
    background:#333;
    background-image: url("../images/back_mhp_body.png");
    background-size:200px 200px;
}
#contents {
    overflow:hidden;
    width:1280px;
    margin:0;    
}

span.bchar {
font-weight: bold;
text-shadow:-1px -1px #FFF,1px -1px #FFF,-1px 1px #FFF,1px 1px #FFF;
}

#main {
    box-sizing: border-box;
    overflow:hidden;
    float:right;
    width:980px;
    padding:10px;
    background:rgba(255,255,255,0.8);
    margin-bottom:-32768px;
    padding-bottom:32768px;
}

#sub {
    box-sizing: border-box;
    overflow:visible;
    float:left;
    width:300px;
    text-align: center;
    background:rgba(255,255,255,0.8);
    /*background-image: url("../images/back_mhp_h.png");*/
    font-family: 'Impact', 'arial black', sans-serif;
    text-shadow:-2px -2px #88E,2px -2px #88E,-2px 2px #88E,2px 2px #88E;
    font-size:25px;
    letter-spacing:5px;
    margin-bottom:-32768px;
    padding-bottom:32768px;
}

footer {
    box-sizing: border-box;
    width:1280px;
    margin:0;
}

section {
    margin-bottom:50px;
}

a {
    color:#13895f;
}
a:hover {
    color:#2fa279;
}

h1 {
    color:#fbfbfb;
    font-size:28px;
    line-height:1.2;
}
h1 a {
    color:#fbfbfb;
    text-decoration:none;
}
h1 a:hover {
    color:#85d1c6;
}

h2 {
    margin-bottom:0.5em;
    font-size:21px;
    color:#333;
    border-bottom:3px solid #999;
}

h3 {
    margin:none;
    padding:2px 10px 0px 0px;
    color:#fbfbfb;
    text-align: right;
    font-family: 'Impact', 'arial black', sans-serif;
    text-shadow:-2px -2px #88E,2px -2px #88E,-2px 2px #88E,2px 2px #88E;
    font-size:40px;
    letter-spacing:10px;
    background:#f99;
}

h3 ruby rt {
	font-size:10px;
	text-shadow:-1px -1px #88E,1px -1px #88E,-1px 1px #88E,1px 1px #88E;
}

h4 {
    margin:none;
    padding:10px 10px 10px 10px;
    color:#333;
    text-align: left;
    font-size:25px;
    border-bottom:1px solid #F00;
}

h4 ruby rt {
	margin-bottom:none;
}

h5 {
    margin-bottom:0.25em;
    padding:2px;
    font-size:16px;
    border-left:5px solid #15adb3;
    background:#eee;
}

h6 {
    margin-bottom:0.25em;
    color:#382400;
    font-size:14px;
    font-weight:bold;
}

p {
    margin:0 0 1em 0;
}

img {
    vertical-align:bottom;
}

em {
    font-weight:bold;
}

strong {
    font-weight:bold;
    color:#d45451;
}

pre {
    margin:1em 0;
    padding:1em;
}

blockquote {
    margin-bottom:1em;
    padding:1em;
    border:1px dotted #ddd;
    border-left:5px solid #ddd;
}

ul,ol,dl {
    margin:0 0 1em 0;
}
ul li {
    list-style:disc;
}
ol li {
    list-style:decimal;
}
li {
    margin-left:2em;
}

dt {
    margin-bottom:0.5em;
    border-bottom:1px dotted #ddd;
}
dt:before {
    content:"\0025a0";
}
dd {
    margin-bottom:1em;
}

table {
    width:100%;
    margin-bottom:1em;
    border-collapse:collapse;
    border:1px solid #ddd;
    background:#fff;
}
th {
    padding:10px;
    text-align:center;
    vertical-align:middle;
    border:1px solid #ddd;
    background:#eee;
}
td {
    padding:10px;
    text-align:left;
    border:1px solid #ddd;
}

/*================================================
 *  ヘッダー
 ================================================*/
header {
    position:relative;
    background:rgba(255,255,255,0);
    /*background-image: url("../images/back_mhp_h.png");*/
    background-position: left top;
    background-repeat: repeat-x;
}

header h1 {
    padding:10px;
}

.summary {
    margin:0;
    padding:10px;
    color:#ddd;
    background:#1f2124;
}

/*================================================
 *  グローバルナビゲーション
 ================================================*/
nav {
    overflow:hidden;
}
nav ul {
    margin:0;
    padding:0;
}
nav li {
    list-style:none;
    margin:0;
    padding:0;
}
nav li a {
    display:block;
    margin:10px;
    padding:10px;
    color:#FFFFFF;
    text-decoration:none;
    background:#FBB;
}

nav li a:hover {
    color:#ffffff;
    border-left: 8px solid #F55;
    border-right: 8px solid #F55;
    background:#F99;
    transition:all 0.2s ease 0s;
    transform: rotate(2deg);
}

a span.front{
    display:inline;
}

a:hover span.front{
    display:none;
}

span.back{
    display:none;
}

a:hover span.back{
    display:inline;
    color:#DDD;
}


/*================================================
 *  フッター
 ================================================*/
footer {
    clear:both;
}

.footmenu {
    width:100%;
    padding:20px 0;
    overflow:hidden;
    background:#23292f;
}
.footmenu ul {
    position:relative;
    float:left;
    left:50%;
    margin:0;
    padding:0;
}
.footmenu li {
    position:relative;
    left:-50%;
    float:left;
    list-style:none;
    margin:0;
    padding:0 20px;
    font-size:12px;
    text-align:center;
}
.footmenu a {
    color:#13895f;
    text-decoration:none;
}
.footmenu a:hover {
    color:#fbfbfb;
}

.copyright {
    clear:both;
    padding:20px 0;
    font-size:11px;
    text-align:center;
    color:#333e48;
    background-image: url("../images/back_mhp_h.png");
}

/*================================================
 *  ページトップへの戻り
 ================================================*/
.totop {
    position:fixed;
    bottom:15px;
    right:15px;
}
.totop a {
    display:block;
    text-decoration:none;
}
.totop img {
    background:#15adb3;
}
.totop img:hover {
    background:#14c0c5;
}

/*================================================
 *  クラス
 ================================================*/
.textL {
    text-align:left;
}

.textR {
    text-align:right;
}

.list {
    padding:0 0 0 0.5em;
}
.list li {
    margin:0;
    padding:0 0 0 15px;
    list-style:none;
    background:url(../images/check.png) 0 5px no-repeat;
}

.info dt {
    border-bottom:none;
}
.info dd {
    padding-bottom:1em;
    border-bottom:1px solid #ddd;
}

.service {
    overflow:hidden;
    margin:10px -2% 0 0;
}
.service li {
    list-style:none;
    float:left;
    width:18%;
    margin:0 2% 10px 0;
}
.service li img {
    width:100%;
}

.staff {
    margin:10px -3% 0 0;
}
.staff div {
    float:left;
    width:31%;
    margin-right:2%;
}
.staff div img {
    width:100%;
    margin-bottom:5px;
}

/*================================================
 *  スライドショー
 ================================================*/
.slide {
    position:relative;
    width:100%;
    overflow:hidden;
    margin-bottom:20px;
    margin-top:none;
}

.slideInner {
    list-style:none;
    margin:0 0 0 0;
    padding:0;
}
.slideInner li {
    position:absolute;
    margin:0;
    padding:0;
}
.slideInner li img {
    height:600px;
}

.slidePrev {
    position:absolute;
    display:block;
    width:50px;
    height:60px;
    left:0;
    cursor:pointer;
    z-index:100;
}

.slideNext {
    position:absolute;
    display:block;
    width:50px;
    height:60px;
    right:0;
    cursor:pointer;
    z-index:100;
}

.controlNav {
    position:relative;
    float:left;
    left:50%;
}
.controlNav span {
    position:relative;
    left:-50%;
    overflow:hidden;
    float:left;
    width:50px;
    height:50px;
    margin:5px;
    vertical-align:middle;
    border:2px solid #fff;
}

.controlNav span img {
    width:100%;
    height:100%;
}

.controlNav span:hover {
    border:2px solid #5BF;
    cursor:pointer;
}
.controlNav span.current {
    border:solid 2px #F99;
}

.slideInner slide_button a {
    display:block;
    width:200px;
    height:10px;
    display: table-cell;
    text-align: center;
    letter-spacing:5px;
    vertical-align: middle;
    padding:5px;    
    color:#FFF;
    font-family: 'Impact', 'arial black', sans-serif;
    text-decoration:none;
    text-shadow:-1px -1px #E88,1px -1px #E88,-1px 1px #E88,1px 1px #E88;
    font-size:20px;
    background:#CCF;
    margin:0px 10px;
}
.slideInner slide_button a:hover {
    background:#AAF;
    transform: rotate(2deg);
    transition:all 0.2s ease 0s;
}

.slide_table{
	width: 100%;
	border-collapse: collapse;
	border:none;
	margin-top:10px;
	background:rgba(0,0,0,0);
}
.slide_table th{
	width: 59%;
	height:100%;
	line-height:25px; 
	text-align: left;
	vertical-align: top;
	font-size:15px;
	color: #000;
	border:none;
	background:rgba(0,0,0,0);
	text-shadow:-1px -1px #FFF,1px -1px #FFF,-1px 1px #FFF,1px 1px #FFF;
}
.slide_table td{
	width:41%;
	height:100%;
	border:none;
	background-image: url("../images/back_hp.png");
	background-repeat: no-repeat;
}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:779px) {
    #contents {
      box-sizing: border-box;
      width:100%;
    }

    #main {
      float:none;
      width:100%;
    }

    #sub {
      float:none;
      width:100%;
    }

    footer {
      width:100%;
    }

    nav {
        display:block;
        position:relative;
        width:100%;
    }
    nav h3 {
        cursor:pointer;
        margin-bottom:0;
        padding:10px;
        color:#ddd;
        background:#181d21;
        border:none;
    }
    nav li a {
        padding:10px 30px;
    }

    #navBtn {
        display:inline-block;
        position:absolute;
        top:10px;
        right:10px;
        width:30px;
        height:30px;
        border-radius:5%;
        background:#2a2a2a;
    }
    #navBtnIcon {
        display:block;
        position:absolute;
        top:50%;
        left:50%;
        width:14px;
        height:2px;
        margin:-1px 0 0 -7px;
        background:#15adb3;
        transition:.2s;
    }
    #navBtnIcon:before,
    #navBtnIcon:after {
        display:block;
        content:'';
        position:absolute;
        top:50%;
        left:0;
        width:14px;
        height:2px;
        background:#15adb3;
        transition:0.3s;
    }
    #navBtnIcon:before {
        margin-top:-6px;
    }
    #navBtnIcon:after {
        margin-top:4px;
    }
    #navBtn .close {
        background:transparent;
    }
    #navBtn .close:before,
    #navBtn .close:after {
        margin-top:0;
    }
    #navBtn .close:before {
        transform:rotate(-45deg);
        -webkit-transform:rotate(-45deg);
    }
    #navBtn .close:after {
        transform:rotate(-135deg);
        -webkit-transform:rotate(-135deg);
    }

   .totop {
        display:none !important;
    }

}
