@charset "utf-8";

/*font import
-------------------------------*/
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);


body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
dl,
dt,
dd,
div,
p,
form,
fieldset {
    margin: 0;
    padding: 0;
}

li {
    list-style: none;
}

th {
    font-weight: normal;
}

em {
    font-style: normal;
}

sup {
    position: relative;
    height: 0;
    font-size: .46em;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block;
}

.Spacer {
    clear: both;
    margin: 0;
    padding: 0;
}

img {
    margin: 0;
    padding: 0;
    border: 0;
    text-decoration: none;
}

.br-pc { display:block; }
.br-sp { display:none; }

/**/
.vAlignM{
vertical-align: middle !important;
}

/*  Float設定 */

.flL {
    float: left !important;
}

.flR {
    float: right !important;
}

.flt_None {
    float: none !important;
}
.mc{
    margin-left: auto;
    margin-right: auto;
}
.ac{
    text-align: center;
}
.al{
    text-align: left;
}
/*マージン設定*/

.mg0 {
    margin: 0 !important;
}

.mg10 {
    margin: 10px !important;
}

.mg20 {
    margin: 20px !important;
}

.mgl0 {
    margin-left: 0 !important;
}

.mgl2 {
    margin-left: 2px !important;
}

.mgl5 {
    margin-left: 5px !important;
}

.mgl10 {
    margin-left: 10px !important;
}

.mgl20 {
    margin-left: 20px !important;
}

.mgl30 {
    margin-left: 30px !important;
}

.mgl40 {
    margin-left: 40px !important;
}

.mgl50 {
    margin-left: 50px !important;
}

.mgl60 {
    margin-left: 60px !important;
}

.mgl70 {
    margin-left: 70px !important;
}

.mgl80 {
    margin-left: 80px !important;
}

.mgl90 {
    margin-left: 90px !important;
}

.mgl100 {
    margin-left: 100px !important;
}

.mgl120 {
    margin-left: 120px !important;
}

.mgl121 {
    margin-left: 121px !important;
}

.mgr0 {
    margin-right: 0 !important;
}

.mgr2 {
    margin-right: 2px !important;
}

.mgr5 {
    margin-right: 5px !important;
}

.mgr10 {
    margin-right: 10px !important;
}

.mgr20 {
    margin-right: 20px !important;
}

.mgr30 {
    margin-right: 30px !important;
}

.mgr40 {
    margin-right: 40px !important;
}

.mgr50 {
    margin-right: 50px !important;
}

.mgr60 {
    margin-right: 60px !important;
}

.mgr70 {
    margin-right: 70px !important;
}

.mgr80 {
    margin-right: 80px !important;
}

.mgr90 {
    margin-right: 90px !important;
}

.mgr100 {
    margin-right: 100px !important;
}

.mgt0 {
    margin-top: 0 !important;
}

.mgt1 {
    margin-top: 1px !important;
}

.mgt2 {
    margin-top: 2px !important;
}

.mgt5 {
    margin-top: 5px !important;
}

.mgt7 {
    margin-top: 7px !important;
}

.mgt8 {
    margin-top: 8px !important;
}

.mgt10 {
    margin-top: 10px !important;
}

.mgtm10 {
    margin-top: -10px !important;
}

.mgt15 {
    margin-top: 15px !important;
}

.mgt20 {
    margin-top: 20px !important;
}

.mgt25 {
    margin-top: 25px !important;
}

.mgt30 {
    margin-top: 30px !important;
}

.mgt40 {
    margin-top: 40px !important;
}

.mgt50 {
    margin-top: 50px !important;
}

.mgt60 {
    margin-top: 60px !important;
}

.mgt70 {
    margin-top: 70px !important;
}

.mgt80 {
    margin-top: 80px !important;
}

.mgt90 {
    margin-top: 90px !important;
}

.mgt100 {
    margin-top: 100px !important;
}

.mgt203 {
    margin-top: 203px !important;
}

.mgb0 {
    margin-bottom: 0 !important;
}

.mgb5 {
    margin-bottom: 5px !important;
}

.mgb10 {
    margin-bottom: 10px !important;
}

.mgb15 {
    margin-bottom: 15px !important;
}

.mgb20 {
    margin-bottom: 20px !important;
}

.mgb30 {
    margin-bottom: 30px !important;
}

.mgb40 {
    margin-bottom: 40px !important;
}

.mgb50 {
    margin-bottom: 50px !important;
}

.mgb60 {
    margin-bottom: 60px !important;
}

.mgb70 {
    margin-bottom: 70px !important;
}

.mgb80 {
    margin-bottom: 80px !important;
}

.mgb90 {
    margin-bottom: 90px !important;
}

.mgb100 {
    margin-bottom: 100px !important;
}

.mglrauto {
    float: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
}


.pd0 {
    padding: 0 !important;
}

.pd3 {
    padding: 3px !important;
}

.pd5 {
    padding: 5px !important;
}

.pd10 {
    padding: 10px !important;
}

.pd15 {
    padding: 15px !important;
}

.pd20 {
    padding: 20px !important;
}

.pdl0 {
    padding-left: 0 !important;
}

.pdl2 {
    padding-left: 2px !important;
}

.pdl5 {
    padding-left: 5px !important;
}

.pdl10 {
    padding-left: 10px !important;
}

.pdl20 {
    padding-left: 20px !important;
}

.pdl30 {
    padding-left: 30px !important;
}

.pdl40 {
    padding-left: 40px !important;
}

.pdl50 {
    padding-left: 50px !important;
}

.pdl60 {
    padding-left: 60px !important;
}

.pdl70 {
    padding-left: 70px !important;
}

.pdl80 {
    padding-left: 80px !important;
}

.pdl90 {
    padding-left: 90px !important;
}

.pdl100 {
    padding-left: 100px !important;
}

.pdr0 {
    padding-right: 0 !important;
}

.pdr2 {
    padding-right: 2px !important;
}

.pdr10 {
    padding-right: 10px !important;
}

.pdr20 {
    padding-right: 20px !important;
}

.pdr30 {
    padding-right: 30px !important;
}

.pdr40 {
    padding-right: 40px !important;
}

.pdr50 {
    padding-right: 50px !important;
}

.pdr60 {
    padding-right: 60px !important;
}

.pdr70 {
    padding-right: 70px !important;
}

.pdr80 {
    padding-right: 80px !important;
}

.pdr90 {
    padding-right: 90px !important;
}

.pdlr00 {
    padding-right: 100px !important;
}

.pdt0 {
    padding-top: 0 !important;
}

.pdt1 {
    padding-top: 1px !important;
}

.pdt2 {
    padding-top: 2px !important;
}

.pdt5 {
    padding-top: 5px !important;
}

.pdt7 {
    padding-top: 7px !important;
}

.pdt10 {
    padding-top: 10px !important;
}

.pdt13 {
    padding-top: 13px !important;
}

.pdt15 {
    padding-top: 15px !important;
}

.pdt17 {
    padding-top: 17px !important;
}

.pdt20 {
    padding-top: 20px !important;
}

.pdt23 {
    padding-top: 23px !important;
}

.pdt30 {
    padding-top: 30px !important;
}

.pdt40 {
    padding-top: 40px !important;
}

.pdt50 {
    padding-top: 50px !important;
}

.pdt60 {
    padding-top: 60px !important;
}

.pdt70 {
    padding-top: 70px !important;
}

.pdt80 {
    padding-top: 80px !important;
}

.pdt90 {
    padding-top: 90px !important;
}

.pdt100 {
    padding-top: 100px !important;
}

.pdb0 {
    padding-bottom: 0 !important;
}

.pdb5 {
    padding-bottom: 5px !important;
}

.pdb10 {
    padding-bottom: 10px !important;
}

.pdb15 {
    padding-bottom: 15px !important;
}

.pdb20 {
    padding-bottom: 20px !important;
}

.pdb30 {
    padding-bottom: 30px !important;
}

.pdb40 {
    padding-bottom: 40px !important;
}

.pdb50 {
    padding-bottom: 50px !important;
}

.pdb60 {
    padding-bottom: 60px !important;
}

.pdb70 {
    padding-bottom: 70px !important;
}

.pdb80 {
    padding-bottom: 80px !important;
}

.pdb90 {
    padding-bottom: 90px !important;
}

.pdb100 {
    padding-bottom: 100px !important;
}

.w0p {
    width: 0 !important;
}

.w10p {
    width: 10% !important;
}

.w15p {
    width: 15% !important;
}

.w20p {
    width: 20% !important;
}

.w30p {
    width: 30% !important;
}

.w40p {
    width: 40% !important;
}

.w50p {
    width: 50% !important;
}

.w55p {
    width: 55% !important;
}

.w60p {
    width: 60% !important;
}

.w70p {
    width: 70% !important;
}

.w75p {
    width: 75% !important;
}

.w80p {
    width: 80% !important;
}

.w90p {
    width: 90% !important;
}

.w100p {
    width: 100% !important;
}

.w16p {
    width: 16.666666% !important;
}



/*display*/

.dpb {
    display: block !important;
}

.dpn {
    display: none !important;
}

.dpi {
    display: inline-block !important;
}

.dpt {
    display: table !important;
}

.dptc {
    display: table-cell !important;
}



/*Tx talign */
.ar{
    text-align: right;
}

.VaCnt {
    vertical-align: middle !important;
}

.Vatop {
    vertical-align: top !important;
}

.Vabot {
    vertical-align: bottom !important;
}



/*Posittiohn*/

.Abs {
    position: absolute;
}

.Rel {
    position: relative;
}

.Fix {
    position: fixed;
}

.Sta {
    position: static;
}



/*font*/

h1 {
    font-size: 2.2em;
    font-weight: bold;
}

h2 {
    font-size: 1.7em;
    font-weight: bold;
}


h3 {
    font-size: 1.5em;
    font-weight: bold;
}

h4 {
    font-size: 1.2em;
    font-weight: bold;
}


h5 {
    font-weight: bold;
}


.fwB {
    font-weight: bold !important;
}

.fwN {
    font-weight: normal !important;
}

.fsIcon {
    font-size: 1.8em !important;
}

.fsIconL {
    font-size: 2.6em !important;
}

.fsSS {
    font-size: .6em !important;
}

.fsS {
    font-size: .85em !important;
}

.fsM {
    font-size: 1.0em !important;
}

.fsMM {
    font-size: 1.1em !important;
}

.fsL {
    font-size: 1.2em !important;
}

.fsLL {
    font-size: 1.4em !important;
}

.fsLLL {
    font-size: 1.7em !important;
}

.tex_dec_n {
    text-decoration: none !important;
}

.w-spc-n {
    white-space: nowrap;
}


/*------------------------------------
font size
--------------------------------------*/
p{
    font-size: 1.4em;
}
header p{
    font-size: 1.1em;
}
footer p{
    font-size: 1.1em;
}

.caption{
    font-size: 0.8em;
}
.notes{
    font-size: 0.8em;
}
.indent-1 {
    padding-left:1em;
    text-indent:-1em;
 }


.f-size_08{
    font-size: 0.8em !important;
}
.f-size_09{
    font-size: 0.9em !important;
}
.f-size_10{
    font-size: 1.0em !important;
}
.f-size_11{
    font-size: 1.1em !important;
}
.f-size_12{
    font-size: 1.2em !important;
}
.f-size_13{
    font-size: 1.3em !important;
}
.f-size_14{
    font-size: 1.4em !important;
}


.display_ini{
    display: initial !important;
}



/*------------------------------------
リスト
--------------------------------------*/
ol.listNum{
    list-style-type: decimal !important;
}
ol.listNum li{
    list-style: inherit;
    margin:1em 1em 0 1em;
    font-size: 1.2em !important;
}



/*------------------------------------
枠線
--------------------------------------*/
.blueBorder{
    border: #009c86 solid 1px;
    width: 97%;
    padding: 24px;
    font-size: 0.8em;
}




/*--------------------------------------
bootstrap空白設定
--------------------------------------*/
.row-space0,
.row-space0 .row {
    margin-right: 0;
    margin-left: 0;
}

.row-space0 div[class^='col-'] {
    padding-right: 0;
    padding-left: 0;
}

.row-space5,
.row-space5 .row {
    margin-right: -5px;
    margin-left: -5px;
}

.row-space5 div[class^='col-'] {
    padding-top: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
}

.row-space10,
.row-space10 .row {
    margin-right: -10px;
    margin-left: -10px;
}

.row-space10 div[class^='col-'] {
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
}

.row-space15,
.row-space15 .row {
    margin-right: -15px;
    margin-left: -15px;
}

.row-space15 div[class^='col-'] {
    padding-top: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
}
.row-space20,
.row-space20 .row {
    margin-right: -0px;
    margin-left: -0px;
}

.row-space20 div[class^='col-'] {
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
}

.row-top,
.row-top .row {
    margin-right: -10px;
    margin-left: -10px;
}

.row-top div[class^='col-'] {
    padding-right: 10px;
    padding-left: 10px;
}



/*--------------------------------------
body
--------------------------------------*/

body {
    font-family: 'Noto Sans Japanese', sans-serif;
    font-size: 13px;
    font-size: 1.3rem;
    -webkit-text-size-adjust: none;
}

@media(max-width:991px) {
    body {
        font-size: 13px;
        font-size: 1.3rem;
    }
  .br-pc { display:none; }
  .br-sp { display:block; }
}


/*--------------------------------------
Header
--------------------------------------*/
#header {
    position: fixed;
    background:#fff;
    width: 100%;
    z-index: 99999;
}
.header-inner {
    display:flex;
    display:-webkit-flex;
    padding:15px 0;
}
.header-inner h1 {
    margin-right:60px;
}
.header-logo {
    display:block;
}
.header-logo img {
    width:120px;
    height:auto;
}
#topMenu {
    display:flex;
    display:-webkit-flex;
    align-items:center;
    -webkit-align-items:center;
    flex-grow:1;
    -webkit-flex-grow:1;
}
#topMenu > ul {
  /*  max-width:550px; */
    display:flex;
    display:-webkit-flex;
    align-items:center;
    -webkit-align-items:center;
    justify-content:flex-end;
    -webkit-justify-content:flex-end;
    flex-grow:1;
    -webkit-flex-grow:1;
    margin-left:auto;
}
#topMenu > ul > li {
    margin-right:60px;
}
#topMenu > ul > li.border
{
    border-left: 1px solid #666666;
    padding-left: 20px;
}
.menu-link {
    display:flex;
    display:-webkit-flex;
    align-items:center;
    -webkit-align-items:center;
}
.menu-link:hover {
    text-decoration:none;
}
a:focus, a:hover {
    text-decoration: none;
}
.menu-link > div {
    margin-right:25px;
}
.menu-link > div > p:first-of-type {
    color:#009c84;
    font-weight:bold;
    font-size:1.3em;
}
.menu-link > div > p:nth-of-type(2){
    color:#000;
    font-weight:bold;
}

/*
.menu-link:before {
    content:"\f107";
    font-family:FontAwesome;
    font-size:30px;
    color:#009c84;
}
*/

.header-btns {
    display:flex;
    display:-webkit-flex;
    align-items:center;
    -webkit-align-items:center;
}
.header-btns a:hover{
    color: #fff;
}
.contact-btn,
.lang-btn{
    display:block;
    position:relative;
    /*border-radius:6px;*/
    border:1px solid #009c84;
    /*box-shadow:2px 2px #009c84;*/
    padding:10px 25px 8px;
    font-weight:bold;
    font-size:15px;
    text-align:center;
    text-decoration:none !important;
}
.contact-btn {
    background:#054639;
    min-width:180px;
    color: #fff;
}
.contact-btn:before {
    content:"\f0e0";
    font-family:FontAwesome;
    color:#fff;
    position:absolute;
    left:18px;
    top:50%;
    transform:translateY(-50%);
    font-size:22px;
    font-weight: normal;
}
.lang-btn {
    background:#009c84;
    color:#fff;
    min-width:160px;
}
.lang-btn:before {
    content:"\f0ac";
    font-family:FontAwesome;
    color:#fff;
    position:absolute;
    left:18px;
    top:50%;
    transform:translateY(-50%);
    font-size:22px;
    font-weight: normal;
}
.header-btns > a + a {
    margin-left:10px;
}
.navbar-toggle {
    background:#009c84;
    margin-left:auto;
}
.icon-bar {
    background:#fff;
}
.navbar-toggle .icon-bar+.icon-bar {
    margin-top: 6px;
}
@media(max-width:1199px){
    .header-inner h1 {
         margin-right:30px;
    }

    #topMenu > ul > li {
        margin-right:30px;
    }
}
/*@media(max-width:991px){
    .header-inner {
        align-items:center;
        -webkit-align-items:center;
    }
     #topMenu {
         display:block;
     }
     #topMenu > ul {
         justify-content:flex-end;
         -webkit-justify-content:flex-end;
         margin-bottom:20px;
     }
     #topMenu > ul > li {
         width:auto;
     }
     #topMenu > ul > li + li {
         margin-left:40px;
     }
     .header-btns {
         justify-content:flex-end;
         -webkit-justify-content:flex-end;
     }
}*/
@media(max-width:979px){
    .header-inner {
        flex-wrap:wrap;
        -webkit-flex-wrap:wrap;
    }
     #topMenu {
         display:none;
         width:100%;
         margin-right:-15px;
         margin-left:-15px;
     }
     #topMenu > ul {
         display:block;
         max-width:100%;
         margin-top:15px;
     }
     #topMenu > ul > li + li {
         margin-left:0;
     }
     .menu-link {
         justify-content:center;
         -webkit-justify-content:center;
     }
     .menu-link > div {
         width:100px;
     }
     .header-btns {
         justify-content:center;
         -webkit-justify-content:center;
     }
}


/* sub menu
---------------------------------------*/
@media(min-width:978px){
    .hover-links {
        display: none;
        width: 100%;
        position: absolute;
        top: 100%;
        left: 0;
        background-color: rgba(18,137,117,0.9);
        /*border: 1px solid rgba(0, 0, 0, 0.125);*/
        z-index: 1000;
        padding: 2rem;
    }
}
@media(max-width:979px){
    .hover-links {
        display: none;
    }
}

.hover-links a{
    color: #fff;
}

/*
@media(min-width:978px){
    .dropdown-menu_invisible {
        display: none;
    }
}
@media(max-width:979px){
    .dropdown-menu_invisible {
        display: block;
    }
}
*/




/*--------------------------------------
Header nav
--------------------------------------*/
header#header .navbar-default {
    background-color: #fff;
    border-color: #e7e7e7;
}

header#header .navbar {
    border-radius: 0px;
    margin-bottom: 0px;
}
header#header .topMenu ul.nav {
    max-width: 550px;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    flex-grow: 1;
    -webkit-flex-grow: 1;
    margin-left: auto;
}
@media (min-width: 978px){
header#header ul.nav li.border {
    border-left: 1px solid #666666;
    padding-left: 20px;
}
.navbar-default .navbar-collapse, .navbar-default .navbar-form {
    margin-left: auto;
}
/*.navbar-collapse.collapse {
    margin-left: auto;
}*/
.header-inner .header-btns {
    margin-top: 15px;
}
}




@media (max-width: 979px){
.navbar-default .navbar-collapse, .navbar-default .navbar-form {
    border: none;
    text-align: center;
    margin: 0 auto;
    width: 100%;
}
header#header ul.nav>li {
    text-align: -webkit-center;
}
.navbar-header{
    margin-left: auto;
}
.navbar-default .navbar-toggle .icon-bar {
    background-color: #fff;
}
}

/*--------------------------------------
top
--------------------------------------*/
.top-image {
    background:url(../img/top-img.jpg) no-repeat center bottom;
    background-size:cover;
    height:860px;
}
.top-txt {
    position:relative;
    max-width:900px;
    /*background:rgba(0,156,132,.6);*/
    color:#fff;
    margin:140px auto 0;
    text-align:center;
}
.top-txt h2 {
    padding:10px 10px 8px;
    font-weight:normal;
    font-size:2em;
}
.top-txt h2 .lTxt{
    line-height: 2.1em;
    font-size:2.1em;
}
/*
.top-txt:after {
    content:"";
    opacity:.6;
    position:absolute;
    border-right:25px solid transparent;
    border-left:25px solid transparent;
    border-top:25px solid #009c84;
}
*/

.top-txt .leadTxt{
    margin: 20px auto 20px;
    font-size: 1.2em;
    line-height: 1.8em;
    text-decoration: underline;
}

/*--------------------------------------
tec-area
--------------------------------------*/
.tec-panels {
    padding:40px 0 50px;
}
.tec-panels h3 {
    text-align:center;
    font-weight:normal;
    font-size:1.8em;
    margin:10px 0 20px;
    line-height:1.6;
}
.tec-panel {
    display:block;
    position:relative;
}
.tec-panel img {
    width:100%;
    height:auto;
}
.tec-ttl {
    position:absolute;
    bottom:15px;
    right:0;
    display:flex;
    display:-webkit-flex;
    align-items:center;
    height:40px;
    width:190px;
    background:#009c84;
    padding:2px 10px 0px;
    color:#fff;
    font-size:16px;
}
.tec-ttl:after {
    content:"";
    position:absolute;
    top:0;
    left:100%;
    border-top:20px solid transparent;
    border-bottom:20px solid transparent;
    border-left:20px solid #009c84;
}
.tec-ttl > p:after {
    content:"\f105";
    position:absolute;
    font-family:FontAwesome;
    font-size:30px;
    top:50%;
    transform:translateY(-50%);
    right:-5px;
    z-index:1;
}
.tec-ttl span {
    display:inline-block;
    vertical-align:middle;
    font-size:12px;
    line-height:1.5;
    margin-top:-2px;
    margin-right:10px;
}
.tec-panel-L {
    position:relative;
    display:block;
}
.tec-panel-L img {
    width:100%;
    height:auto;
}
.tec-ttl-L {
    display:flex;
    display:-webkit-flex;
    align-items:center;
    -webkit-align-items:center;
    justify-content:center;
    -webkit-justify-content:center;
    position:absolute;
    right:0;
    top:0;
    width:135px;
    height:35px;
    color:#fff;
    font-size:16px;
    background:#009c84;
}
.tec-ttl-L i {
     position:absolute;
     top:50%;
     left:0;
     transform:translateY(-50%);
     font-size:18px;

}
.tec-ttl-L:after {
    content:"";
    position:absolute;
    top:0;
    right:100%;
    border-right:35px solid #009c84;
    border-bottom:35px solid transparent;
}
@media(max-width:600px){
    .row-space20 {
        margin-right:-15px;
        margin-left:-15px;
    }
    .row-space20 > div {
        width:100%;
    }
}


/* top Page Cate
--------------------------------------*/
.cat-ttlBox{
    margin-top: 30px;
    position: relative;
}
.cat-ttl {
    position:relative;
    bottom:15px;


    height:40px;
    width:100%;
    padding:2px 10px 0px;
    color:#009c84;
    font-size:1.8em;
    text-align: center;
}
.cat-ttlBox  h2{
    font-size: 1.5em;
}
.cat-ttlBox .cat-ttlCell{
    text-align: center;
    margin-bottom: 20px;
}
.cat-ttlBox h3{
    position:relative;
    display: inline;

    padding:2px 15px 0px;
    color:#000;
    font-size:2.0em;
    text-align: center;

    border-left: 2px solid #000;
    border-right: 2px solid #000;
}

.cat-ttl span {
    display:inline-block;
    vertical-align:middle;
    font-size:12px;
    line-height:1.5;
    margin-top:-2px;
    margin-right:10px;
}

.cat-ttlBox h4{
    position:relative;
    height:60px;
    width:100%;
    padding:2px 10px 0px;
    color:#009c84;
    font-size:1.6em;
    text-align: center;
}



/*---------------------------
add style
-----------------------------*/
.imgWrap {
	overflow: hidden;	/*拡大時にはみ出た部分を隠す*/
	width: 100%;	/*画像の幅*/
}
.imgWrap img {
	display: block;
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}
.imgWrap img:hover {
	transform: scale(1.1);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}

/*--------------------------------------
num-area
--------------------------------------*/
.top-tri {
    position:relative;
}
.top-tri:before {
    /*
    content:"";
    position:absolute;
    top:0;
    right:50%;
    transform:translateX(50%);
    border-top:25px solid #fff;
    border-right:25px solid transparent;
    border-left:25px solid transparent;
    */
}
.num-area {
    position:relative;
    padding:60px 0;
    background-color:#c6e4df;
    color:#00372a;
    text-align:center;
}
.num-area p:first-of-type{
     font-size:1.8em;
     margin-bottom:10px;
}
.num-area p:last-of-type{
    font-size:4.6em;
}
.num-area p span {
    font-size:.6em;
    display:inline-block;
    margin-left:10px;
}
/*--------------------------------------
voice-area
--------------------------------------*/
.voice-area {
    background:url(../img/voice-back-img.jpg) no-repeat center;
    background-size:cover;
    color:#fff;
    padding:40px 0;
    overflow:hidden;
}
.voice-area  .contact-btn {
    width:300px;
    margin:auto;
    padding:15px 25px 12px;
}
.voice-area h4 {
    font-size:2.9em;
    font-weight:normal;
    text-align:center;
}
.voice-area h4 + p {
    text-align:center;
}
.slider-wrap {
    margin:30px 0 50px;
    position:relative;
}
.slide-arrows {
    position:absolute;
    top: 50%;
    transform:translateY(-50%);
    color:#fff;
    font-size:70px;
    cursor:pointer;
}
#slide-next {
    right:-50px;
}
#slide-prev {
    left:-50px;
}

.voice-panel {
    display:flex;
    display:-webkit-flex;
    text-align:left;
}
.voice-img {
    margin-right:10px;
    width:130px;
    height:130px;
    flex-shrink:0;
    -webkit-flex-shrink:0;
}
.voice-img img {
    width:100%;
}
.voice-txts {
    margin-top:15px;
}
.voice-ttl {
    font-size:1.7em;
}
.voice-txt {
    line-height:1.7;
}
.voice-type {
    display:inline-block;
    width:130px;
    background:#fff;
    color:#009c84;
    text-align:center;
    font-weight:bold;
    font-size:.85em;
    padding:7px 5px 6px;
    margin-top:5px;
}
/*--------------------------------------
news-area
--------------------------------------*/
.news-area {
    background:#e0e8df;
    padding:50px 0;
}
.news-area > div > p {
    color:#11a38c;
    font-weight:bold;
    font-size:2.2em;
    text-align: center;
    margin-bottom: 20px;
}
.news-lines {
    padding:0 45px;
}
.news-lines li {
    display:flex;
    display:-webkit-flex;
    align-items:center;
    -webkit-align-items:center;
    padding:13px 0;
    border-bottom:1px dotted #b4b4b4;
}
.news-lines li div + div {
    margin-left:20px;
}
.news-date {
    font-weight:bold;
    color:#b4b4b4;
}
.news-type {
    width:100px;
    border:1px solid #009c84;
    font-weight:bold;
    font-size:1em;
    text-align:center;
    padding:3px 0 1px;
    flex-shrink:0;
    -webkit-flex-shrink:0;
}
.type-info {
    color:#009c84;
    background-color: #fff;
}
.type-notice {
    color:#fff;
    background:#009c84;
}
.news-txt {
    color:#000;
    font-weight:bold;
}
/*--------------------------------------
contact-area
--------------------------------------*/
.contact-area {
    background:#054639;
    padding:50px 0;
    text-align:center;
    color: #fff;
    font-size: 1.2em;
}
.contact-area > div > p:first-of-type {
    font-size:2.1em;
    color:#fff;
    margin-bottom:20px;
}
.contact-btn-red {
    display:block;
    width:100%;
    max-width:300px;
    margin:auto;
    padding:17px 0 15px;
    font-weight:bold;
    font-size:1.15em;
    color:#fff;
    text-align:center;
    border-radius:4px;
    background:#ff6666;
    box-shadow:2px 2px #ca5050;
}
.contact-area > div > p:last-of-type {
    font-size:2.2em;
    margin-top:10px;
}
.contact-area > div img {
    vertical-align:-3px;
    margin-right:5px;
}

.contact-area .leftLine {
    border-left: 1px solid #fff;
}


@media(max-width:978px){
    .contact-area .leftLine {
        border-left: none;
    }
    .contact-area .leftLine img{
        border-left: none;
        margin: 0 auto;
        text-align: center;
    }
}



/*mail*/
.contact-area .contact-mail {
    display: block;
    font-size: 1.2em;
    color: #fff;


}

.contact-area .contact-mail:before {
    background: url(../img/contact_mail.jpg) no-repeat left left;
}

.contact-area .contact-mail:hover {
    color: #fff;
}


.contact-tel span:first-of-type {
    white-space:nowrap;
}
.contact-tel span:last-of-type {
    vertical-align:middle;
    font-size:.5em;
    margin-left:5px;
    white-space:nowrap;
}


/*-------------------------------------------------------
sub page
-------------------------------------------------------*/
.top-image_sub {
    background:url(../img/top-img_sub.jpg) no-repeat center 60px;
    background-size:cover;
    height:260px;
    padding-top: 60px;
}
.top-txt_sub {
    position:relative;
    max-width:930px;
    background:rgba(0,156,132,.6);
    color:#fff;
    margin:65px auto 0;
    padding: 10px;
    text-align:left;
}
.top-txt_sub h2 {
    padding:10px 10px 8px 10px;
    font-weight:normal;
    font-size:2em;
}
.top-txt_sub h2 span{
    margin-left:10px;
    font-weight:normal;
    font-size:0.5em;
    vertical-align: middle;
}

ul.breadcrumb_sub {
    position:relative;
    max-width:930px;
    background:rgba(255,255,255,.9);
    color:#000;
    margin:7px auto 0;
    padding: 20px ;
    text-align:left;
    border-radius: 0px;

    display: -webkit-flex;
    display: flex;
}
ul.breadcrumb_sub li.bred-txt {
    background: url('../img/bred_bg.png') no-repeat;
    width: 117px;
    /*bottom: 15px;*/
    display: flex;
    display: -webkit-flex;
    align-items: center;
    padding:5px 10px;
    color: #fff;
    font-size: 0.9em;
}
ul.breadcrumb_sub li.bred-txt a {
    color: #fff;
}
ul.breadcrumb_sub li.bred-txt a:hover {
    color: rgb(230, 138, 0);
}
ul.breadcrumb_sub li {
    display: flex;
    display: -webkit-flex;
    align-items: center;
    padding:5px 10px;
    font-size: 0.9em;
    color: #009c86;
}
ul.breadcrumb_sub li a {
    color: #009c86;
}
ul.breadcrumb_sub li a:hover {
    color: rgb(230, 138, 0);
}

ul.breadcrumb_sub li:after{
    content:"\f105";
    font-family:FontAwesome;
    margin-left: 17px;
}
ul.breadcrumb_sub li:last-of-type:after{
    content:"";
}
ul.breadcrumb_sub li:first-of-type:after{
    content:"";
}


/*--------------------------------------
subPage mainArea
--------------------------------------*/
.mainBox {
    max-width: 950px;
    margin: 0 auto;
    padding:40px 0 ;
    font-size: 1.2em;
}
.mainBox h2 {
    color: #009c86;
    text-align:center;
    font-weight:normal;
    font-size:2em;
    margin:10px auto 20px;
    line-height:1.6;
}
.mainBox h2 span.blue {
    border-bottom: 3px #009c86 solid;
}
.mainBox .flexCell{
    display: flex;
    display: -webkit-flex;
    padding: 20px 0;
}
.mainBox .flexCell .cellLeft {
    margin: 0;
}
.mainBox .flexCell .cellRight {
    margin-left: 40px;
}

.mainBox .flexCell .cellRight h3{
    font-size: 1.1em;
    margin: 15px 0 5px;
}


@media(max-width:991px){
    .mainBox .flexCell{
        flex-direction: column;
        -webkit-flex-direction: column;
    }
    .mainBox .flexCell .cellLeft {
        margin: 0 auto;
    }
    .mainBox .flexCell .cellRight {
        margin: 30px auto 0 auto;
    }
}





/*Google map
---------------------------------*/
.gmap{
    width: 100%;
    min-height: 400px;
}



/*privacy policy
--------------------------------*/

/*list-style-type: decimal*/

.privacyList01{
    padding-left: 2em;
}
.privacyList01 li{
    list-style-type: decimal ;
    margin: 1em 0;
    line-height: 1.6em;
}

.privacyList02{
    padding-left: 1em;
}
.privacyList02 li{
    list-style-type: disc ;
    margin: 0.6em 0;
    line-height: 1.3em;
}

h3.privacy{
    font-size:1.3em;
}





/*--------------------------------------
フッター
--------------------------------------*/
.footer{
    border-top: 1px #e0e8df solid;
    padding-top: 30px;
}



.footer-inner {
    display:flex;
    display:-webkit-flex;
    padding:50px 0;
}
.footer-inner > div + div {
    /*margin-left:40px;*/
    margin-left: 200px;
}
.footer-copy {
    padding: 15px 0 30px 0;
    line-height: 1.7;
    color:#fff;
    text-align:left;
    background: #009c84;
    margin-top: 30px;
}
.footer-copy .col-sm-4{
    text-align:right;
    color: #fff;
}
.footer-copy .col-sm-8 a,
.footer-copy .col-sm-4 a{
    color: #fff;
}
.cpname{
  font-weight: bold;
  margin: 10px 0 0 2px;
  font-size: 0.98em;
}
.cphead{
  margin: 10px 0 0 0;
}
@media(max-width:991px){
  .footer-copy {
      padding: 15px 0;
      line-height: 1.7;
      color:#fff;
      text-align:center;
      background: #009c84;
      margin-top: 30px;
  }
  .footer-copy .col-sm-4{
  text-align:center;
  }
}
.footer-left {
    white-space:nowrap;
}
.footer-left > p:first-of-type {
    font-weight:bold;
    font-size:1.1em;
    margin-top:10px;
}
.footer-left > p:last-of-type {
    margin:10px 0 20px;
}
.footer-left > p > span {
    font-size:.9em;
}
.footer-map {
    width:360px;
    flex-shrink:0;
}
.map-inner {
    position:relative;
    width:100%;
    padding-top:55.555555%;
}
.map-inner iframe {
    position:absolute;
    top:0;
    left:0;
}
.footer-right {
    display:flex;
    display:-webkit-flex;
}
.footer-right a {
    display:block;
    text-decoration:none !important;
}
.footer-right > div:first-of-type {
    display:flex;
    display:-webkit-flex;
    flex-direction:column;
    -webkit-flex-direction:column;

    min-width: 180px;
}
.footer-right > div + div {
    /*margin-left:30px;*/
    margin-left: 60px;
}
.link-ttl{
    color:#010101;
    font-weight:bold;
    font-size:1.1em;
    padding-bottom:15px;
    white-space:nowrap;
}
/*
.link-ttl:before{
     content:"\f138";
     font-family:FontAwesome;
     font-size:1.1em;
     margin-right:8px;
}
*/
.link-ttl-btm {
    margin-top:auto;
    padding-bottom:0;
    font-size:1.1em;
}
/*
.link-ttl-btm:before {
     content:"\f105";
     font-family:FontAwesome;
     font-size:1.1em;
     margin-right:8px;
}
*/
.link-ttl-right {
    /*border-bottom:1px dotted #009c84;*/
    padding-bottom:0px;
}
.link-ttls {
    margin-top:10px;
    display:flex;
    display:-webkit-flex;
    flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    font-size:0.9em;
}
.link-ttls a {
    color:#000;
    font-weight:bold;
    font-size:1em;
    margin-bottom:10px;
}
.link-ttls > div:last-of-type > a:last-of-type {
    margin-bottom:0;
    min-width: 180px;
}


/*ページトップへ戻る*/

.pageTop {
    position: fixed;
    z-index: 1000;
    right: 0;
    bottom: 0px;
    /*transform:translateY(-50%);*/
    padding: 10px 0 0;
    text-align: center;
}
.askBtn {
    width:50px;
    height:200px;
    margin-bottom:2px;
}
.askBtn img {
    width:100%;
}
.TopBack a {
    display: flex;
    display: -webkit-flex;
    align-items:center;
    -webkit-align-items:center;
    justify-content:center;
    -webkit-justify-content:center;
    height: 50px;
    width: 50px;
    background:#00372a;
    color:#fff;
    font-size:25px;
    text-decoration:none !important;
}

@media(max-width:1200px){
    .footer-inner > div + div {
        /* margin-left: 40px; */
        margin-left: 150px;
    }
}

@media(max-width:991px){
    .news-lines {
        padding:0;
    }
    .news-lines li {
        flex-wrap:wrap;
        -webkit-flex-wrap:wrap;
    }
    .news-txt {
        width:100%;
        margin-left:0 !important;
        margin-top:10px;
    }
    .footer-inner {
        flex-wrap:wrap;
        -webkit-flex-wrap:wrap;
    }
    .footer-inner > div + div {
        margin-left:0px;
    }
    .footer-right {
        display:block;
        margin-top:50px;
        /*
        margin-left:auto !important;
        margin-right: auto !important;*/

    }
    .footer-right > div:first-of-type {
        width: 100%;
    }

    .footer-right > div:last-of-type {
        width:100%;
        margin: 20px auto;
    }

    .footer-right > div:first-of-type {
        display:block;
    }





    .footer-left {
        /*text-align:center;*/
        margin: 0 auto;
        width: 100%;
    }
    .footer-map {
        flex-grow:1;
    }
}

@media (max-width: 768px) {
    .slide-arrows {
        display:none;
    }
    .footer-inner {
        flex-direction:column;
        -webkit-flex-direction:column;
    }
    .footer-left {
        text-align:left;
    }
    .footer-map {
        margin:20px 0 !important;
        width:100%;
    }
}



/* contact
-----------------------*/

.iframe-wrap {
    position: relative;
    width:100% !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overflow: auto;
    display: inline-block;
    padding: calc(380 / 854 * 100%) 0 0; /* 高さと横幅の数字には単位は入れません。 */
  }

.iframe-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
   height: 380px;
    border: 1px solid #ccc;
    display:block;
}

/* table */
#contact-form table {
	border-collapse: collapse;
	border-spacing: 0;
}
#contact-form table.form {
	width: 100%;
	border: 2px solid #CCC;
	margin-bottom: 20px;
  font-size: 1.2em;
  background-color: #fff;
}
#contact-form table.form th{
    white-space: nowrap;
}
#contact-form table.form th,
#contact-form table.form td {
	padding: 10px;
	text-align: left;
	line-height: 1.4;
}
#contact-form table.form th {
	/*width: 170px;*/
	background: #eeeeee;
	border-bottom: 1px solid #fff;
	vertical-align: top;
	font-weight: bold;
}
#contact-form table.form td {
	text-align: left;
	line-height: 1.4;
	vertical-align: middle;
	border-bottom: 1px dotted #CCC;
}

/* form */
#contact-form form input.text-input {
	border: 1px solid #b2b2b2;
/*	font-size: 13px;*/
	padding: 6px;
/*	vertical-align: middle;*/
	border-radius: 5px;
	background-clip: padding-box;
}
#contact-form form textarea {
	border: 1px solid #b2b2b2;
/* 	font-size: 13px;*/
	/* width: 420px; */
	padding: 6px;
	vertical-align: middle;
	border-radius: 5px;
	background-clip: padding-box;
}
#contact-form form label {
	padding: 0 10px 0 0;
	vertical-align: middle;
}
#contact-form form select {
	padding: 7px;
	border: 1px solid #b2b2b2;
	border-radius: 5px;
}
#contact-form form input.btn-confirm {
    background: repeat-x 0 0 #EE761A;
    border: medium none;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    color: #FFFFFF;
    cursor: pointer;
    font-size: 115%;
    font-weight: bold;
    line-height: 20px;
    padding: 9px 35px;
    text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.2);
}
#contact-form form input.btn-revise {
    background: repeat-x 0 0 #7b7b7b;
    border: medium none;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    color: #FFFFFF;
    cursor: pointer;
    font-size: 115%;
    font-weight: bold;
    line-height: 20px;
    padding: 9px 35px;
	margin-right: 10px;
    text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.2);
}
#contact-form form input.long { width: 420px; }
#contact-form form input.medium { width: 300px; }
#contact-form form input.short { width: 100px; }
#contact-form form input.active { ime-mode: active; }
#contact-form form input.inactive { ime-mode: inactive; }
#contact-form .placeholder { color: #ccc; }
#contact-form .shape {
	font-size: 11px;
	color: #0075BF;
	padding: 0 8px;
	letter-spacing: -1px;
	vertical-align: bottom;
}
#contact-form .err {
	margin: 8px 0 0;
}
#contact-form .err span {
	color: #C00;
	background: #FFE6E6;
	padding: 5px 7px;
	font-size: 90%;
	line-height: 1.4;
	margin-right: 5px;
}
#contact-form .btn {
    /*display: block;*/
	text-align: center;
	margin: 20px 0 40px;
}

#contact-form .form_w50p {
    width:50%;
    max-width: 50%;
}
#contact-form .form_w80p {
    width:80%;
    max-width: 80%;
}

#contact-form .form_w100p {
    width:100%;
    max-width: 100%;
}
#contact-form .form_w400px {
    max-width: 400px;
    width: 400px;
}
#contact-form .form_w500px {
    max-width: 400px;
    width: 380px;
}

@media (max-width: 768px) {
    #contact-form table.form th,
    #contact-form table.form td {
        display: block;
    }
}


#contact-form input, textarea {
    margin-top: 5px;
}
.top_houjin img {
    width:100%;
    height:auto;
    margin: 0.5rem 0;
}
@media (max-width: 768px) {
.top_houjin img {
    width:90%;
    margin: 0.5rem 5%;
}
}
