@charset "UTF-8";


/* --------------------------------------------------
BASE
-------------------------------------------------- */
* {
    box-sizing:border-box;
}

html {
    font-size: 62.5%;
}

body {
    border-top:10px solid #6262a8;
    font-size: 1.0rem;
    line-height:2.5em;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    color:#333;
    background:#fff;
}

p {
    font-size:1.4rem;
}

a {
    font-size:1.4rem;
    text-decoration:none;
    color:#333;
}

li {
    font-size:1.4rem;
    list-style-type:none;
}

img {
    line-height:0;
    max-width:100%;
    height:auto;
}

th,td {
    font-size:1.4rem;
}

.cf:after {
    content: ".";
    display: block;
    height: 0;
    font-size:0;
    clear: both;
    visibility:hidden;
}

.txtbox {
    margin-bottom:30px;
}

.titlearea {
    text-align:center;
}

.titlearea h2 {
    background-position:bottom center;
}

.txt-c {
    text-align:center;
}

.spbr {
    display:none;
}

@media screen and (max-width: 767px) {
    .spbr {
        display:block;
    }
}

h2 {
    font-size: 4rem;
    /*font-weight: normal;*/
    line-height: 6rem;
    padding-bottom: 30px;
    margin-bottom: 35px;
    letter-spacing: 0.03em;
    background: url(../img/co_ln_00.gif) no-repeat left bottom;
}

@media (max-width: 768px) {
    h2 {
        font-size:3rem;
        margin-bottom:20px;
        padding-bottom:15px;
        text-align:center;
        background:url(../img/co_ln_00.gif) no-repeat center bottom !important;
    }
    .copy {
        margin-bottom:20px;
    }
}

@media (max-width: 500px) {
    h2 {
        font-size:2.5rem;
    }
}

.mb50 {
    margin-bottom:50px;
}

/* --------------------------------------------------
LAYOUT
-------------------------------------------------- */
.inner {
    width:1200px;
    margin:0 auto;
}

.wrapper:after,
.row:after,
.col:after,
.clr:after,
.group:after {
    content: "";
    display: table;
    clear: both;
}

.row {
    padding:0;
}


@media screen and (max-width: 1200px) {
    .inner {
        width:96%;
        margin:0 auto;
    }
}

.l-row:after,
.l-gutters:after,
.l-grid:after {
    visibility:hidden;
    display:block;
    font-size:0;
    content:' ';
    clear:both;
    height:0;
}

.l-grid {
    display:block;
    float:left;
    width:100%;
}

.l-gutters .l-grid {
    margin-left:2%;
}

.l-gutters .l-grid:first-child {
    margin-left:0;
}

.l-gutters .l-grid-6 {
    width:49.0%;
}

@media screen and (max-width: 600px) {
    .l-gutters .l-grid-6 {
        width:100%;
        float:none;
        margin:0;
    }
}

/* --------------------------------------------------
MODULE
-------------------------------------------------- */
/* HEADER
---------------------------------------- */
header {
    border-bottom:1px solid #efefef;
    position:relative;
    overflow:hidden;
}

.hd_logo {
    text-align:center;
    padding:15px 10px 7px;
}

.hd_logo a {
    line-height:0;
    position: relative;
    z-index: 1000;
}

.hd_img {
    background:url(../img/hd_bg_01.jpg) no-repeat right center;
    background-size:cover;
    padding:200px 50px 200px;
    text-align:center;
    position:relative;
    overflow:hidden;
}

.hd_txt {
    background:rgba(255,255,255,0.5);
    display:inline-block;
    padding:20px;
    position:relative;
    /*overflow:hidden;*/
}

.hd_txt .hd_inner {
    padding:40px 30px 30px 30px;
}

.hd_txt h1 + p  {
    margin-top:10px;
}

.hd_txt .emtxt {
    position:absolute;
    top:-30px;
    right:-30px;
}


@media screen and (max-width: 1200px) {
    .hd_img {
        padding:150px 50px;
    }
}

@media screen and (max-width: 400px) {
    .hd_txt {
        padding:10px;
    }
    .hd_txt .hd_inner {
        padding:35px 15px 15px 15px;
    }
    .hd_txt .emtxt {
        top:-17px;
        right:-17px;
    }
    .hd_img {
        padding:30px 20px;
    }
}
@media screen and (max-width: 1200px) {
    .hd_img {
        padding:150px 50px;
    }
}

@media screen and (max-width: 768px) {
    h1 {
        margin-bottom:20px;
    }
    h1 img {
        width:270px;
        height:auto;
    }
    .hd_logo {
        padding:7px 10px 0;
    }
    .hd_img {
        padding:100px 30px;
        margin-top:-5px;
    }
    .hd_txt .hd_inner {
        padding:50px 30px 30px 30px;
    }

    .hd_txt .emtxt {
        width:100px;
        height:100px;
        top:10px;
        right:10px;
    }
}


@media screen and (max-width: 767px) {
    .hd_logo {
        padding:7px 10px 0;
    }
    .hd_img {
        padding:100px 30px;
        margin-top:-5px;
    }
    .hd_txt .hd_inner {
        padding:40px 25px 25px 25px;
    }

    .hd_txt .emtxt {
        width:100px;
        height:100px;
        top:-10px;
        right:-10px;
    }
}

@media screen and (max-width: 500px) {
    .hd_txt .emtxt {
        width:87px;
        height:87px;
    }

}

@media screen and (max-width: 400px) {
    .hd_txt {
        padding:10px;
    }
    .hd_txt .hd_inner {
        padding:50px 15px 15px 15px;
    }
    .hd_txt .emtxt {
        top:-10px;
        right:-10px;
    }
    .hd_img {
        padding:30px 20px;
    }
    h1 {
        margin-bottom:10px;
    }
    h1 img {
        width:230px;
        height:auto;
    }
}


/* NAV
---------------------------------------- */
.navbox {
    border-bottom:1px solid #efefef;
}

nav ul {
    display:table;
    width:100%;
    border-top:5px solid #fff;
    border-bottom:5px solid #fff;
}

nav ul li {
    display:table-cell;
    vertical-align:middle;
    border-right:1px solid #efefef;
}


nav a {
    display:block;
    padding:0 10px;
    /*font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;*/
    font-size:1.6rem;
    text-align:center;
    transition:0.3s;
}

nav a:hover {
    color:#6262a8;
}

nav ul li:first-child {
    line-height:0;
}

nav ul li:last-child  {
    border-right:none;
}


.spmenu {
    display:none;
}

@media screen and (max-width: 1000px) {

    nav ul {
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        display:block;
    }

    nav ul li {
        display:block;
        width:50%;
        float:left;
        border-bottom: 1px dotted #ccc;
    }

    nav ul li a {
        font-size:1.5rem;
    }

    nav ul li a img {
        width:23px;
        height:auto;
        margin-top: -4px;
        position: relative;
    }

    nav ul li a {
        display:block;
        padding:10px 5px;
        height:45px;
    }

    nav ul li:nth-child(odd) a {
        border-right:1px dotted #ccc;
    }

    .navbox {
        position:fixed;
        z-index:1002;
        width:100%;
        background:#fff;
        padding-bottom:89px;
        bottom:-170%;
        transition:0.5s;
    }

    .open {
        overflow:hidden;
    }

    .open .navbox {
        top:auto;
        bottom:0;
    }

    nav ul li {
        border-right:none;
    }

    .spmenu {
        display:block;
        background:#fff;
        width:56px;
        height:56px;
        cursor:pointer;
        position:relative;
        color:#4998b9;
        text-align:center;
        font-size:1.2rem;
    }

    .spmenu .inner {
        height:100%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    .btnbox li.spmenu {
        float:right;
    }

    .spmenu,
    .spmenu span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }

    .spmenu span {
        position: absolute;
        left: 15%;
        width: 70%;
        height: 4px;
        background-color: #4998b9;
        border-radius: 4px;
    }
    .spmenu span:nth-of-type(1) {
        top: 34px;
    }
    .spmenu span:nth-of-type(2) {
        top: 45px;
    }
    .spmenu span:nth-of-type(3) {
        bottom: 29px;
    }

    .open .overlay {
        display:block;
        position: fixed;
        z-index:1000;
        top: 0;
        left: 0;
        /*display: none;*/
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,.2);
    }

    .open .spmenu span:nth-of-type(1) {
        -webkit-transform: translateY(20px) rotate(-45deg);
        transform: translateY(20px) rotate(-45deg);
        top:14px;
    }
    .open .spmenu span:nth-of-type(2) {
        opacity: 0;
    }
    .open .spmenu span:nth-of-type(3) {
        -webkit-transform: translateY(-20px) rotate(45deg);
        transform: translateY(-20px) rotate(45deg);
        bottom:-2px;
    }
}

@media screen and (max-width: 820px) {
    .open .navbox {
        padding-bottom:70px;
    }
    nav ul li a {
        padding:8px 2px;
        height:41px;
    }
}

@media screen and (max-width: 767px) {
    .drawer--right .drawer-hamburger {
        width:60px;
        top:20px;
    }

    nav ul li a {
        font-size:1.4rem;
        padding:6px 5px;
    }
}

@media screen and (max-width: 500px) {

    nav ul li a {
        height:37px;
    }

    .open .navbox {
        padding-bottom: 67px;
    }
}


/* FOOTER
---------------------------------------- */
footer {
    position:relative;
}

.ft-inner {
    padding:30px;
}


.ft-inner .logo {
    width:40%;
    float:left;
    padding-right:20px;
}

.ft-inner .contact {
    width:60%;
    float:right;
    text-align:right;
}

.ft-inner .txt {
    text-align:left;
    display:inline-block;
    padding-left:30px;
    border-left:1px solid #eee;
}

footer .tel {
    margin-bottom:10px;
    font-size:3rem;
    font-family:"Times New Roman";
    font-weight:bold;
    font-style:italic;
    letter-spacing:0.02em;
}

footer .tel a {
    font-size:3rem;
}

footer .tel i {
    transform: rotate(-27deg);
    top: -3px;
    position: relative;
}

.copyright {
    background:#333;
    color:#fff;
    padding:40px 3px 50px;
    text-align:center;
}

.copyright p {
    font-size:1.2rem;
}

@media (max-width: 767px) {
    .ft-inner {
        text-align:center;
        padding:30px 0;
    }
    .ft-inner .logo {
        width:100%;
        float:none;
        margin-bottom:10px;
        padding-right:0;
    }

    .ft-inner .contact {
        width:100%;
        float:none;
    }

    .ft-inner .contact .txt {
        display:block;
        border-left:none;
        padding-left:0;
        text-align:center;
    }
}

/* BTNBOX
---------------------------------------- */
.btnbox {
    background:rgba(0,0,0,0.4);
    position:fixed;
    bottom:0;
    width:100%;
    padding:20px 0;
    /*display:none;*/
    z-index:9000;
}

.btnbox li {
    float:left;
    margin-left:2%;
}

.btnbox li:first-child {
    margin-left:0;
}

.btnbox li a {
    color:#fff;
    display:block;
    padding:0 5px;
    background:#82a96f;
    text-align:center;
    transition:0.5s;
    height:56px;
    line-height:56px;
}

.btnbox li a:hover {
    background:#fff;
    color:#82a96f;
}

.btnl {
    width:42%;
}

.btnl a {
    font-size:1.6rem;
    position:relative;
}

.btnl a:after {
    font-family: FontAwesome;
    content : "\f105";
    position:absolute;
    right:20px;
    font-size:2rem;
}

.pagetop {
    width:10%;
}

.pagetop a {
    font-family: "Times New Roman";
}

.pagetop a:after {
    font-family: FontAwesome;
    content : "\f106";
    text-align:center;
    font-size:1.7rem;
    margin-left:7px;
}

.btnbox li.btn-siryo a {
    background:#4998b9;
}

.btnbox li.btn-siryo a:hover {
    background:#fff;
    color:#4998b9;
}



@media (max-width: 1000px) {
    .btnbox li.pagetop {
        display:none;
    }
}

@media (max-width: 820px) {
    .btnbox {
        padding:10px 0;
    }
}

@media (max-width: 767px) {
    .btnbox li {
        margin-left:1%;
    }
    .btnl {
        width:39%;
    }
    .btnbox li.pagetop {
        width:20%;
    }
}

@media (max-width: 500px) {
    .btnbox {
        padding:10px 5px 7px;

    }

    .btnbox .inner {
        width:100%;
        margin:0;
    }

    .btnbox li {
        margin-left:2%;
    }

    .btnbox li a {
        padding:0 2px;
        font-size:1.4rem;
    }

    .btnbox li a:after {
        position:relative;
        right:auto;
        margin-left:5px;
        font-size:1.5rem;
    }


    .btnbox li.pagetop {
        width:18%;
    }

    .drawer--right .drawer-hamburger {
        top:10px;
        right:10px;
    }
}

@media (max-width: 350px) {
    .btnbox li a {
        font-size:1.3rem;
        letter-spacing:-0.01em;
    }
    .btnl {
        width:38%;
    }
}


/* --------------------------------------------------
STATE
-------------------------------------------------- */