/* =================================== */


/*	Basic Style 
/* =================================== */

body {
    font-family: "Noto Sans Japanese", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
    line-height: 1.7em;
    font-size: 1em;
    color: #4c4736;
    text-align: justify;
    /*文字を均等配置する*/
}


/* tablet */

@media screen and (max-width:960px) {
    body {
        line-height: 1.5em;
    }
}

a:link {
    color: #3399cc;
    text-decoration: none;
    transition: .2s;
}

a:visited {
    color: #3399cc;
}

a:hover {
    color: #699d0e;
    text-decoration: none;
}

figure,
p,
address {
    margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    padding: 0;
    margin: 0;
}

dl,
dt,
dd {
    padding: 0;
    margin: 0;
}

img {
    max-width: 100%;
    height: auto;
}

iframe {
    border: 0;
}

ul {
    list-style: none;
    padding: 0;
}

ul li {
    vertical-align: top;
}

div {
    box-sizing: border-box;
}

p {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-block-start: 0;
    margin-block-end: 0;
}

.fixed {
    position: fixed;
    top: 0;
    margin-top: 0;
}

.font_family_eng {
    font-family: "Lucida Sans Unicode", "Lucida Grande", "sans-serif";
    font-style: italic;
}

.text_center {
    text-align: center;
}


/* =================================== */


/*	layout
/* =================================== */

.content_inner_980 {
    width: 980px;
    margin: 0 auto;
}

.leftbox {
    width: 730px;
    float: left;
    min-height: 400px;
    vertical-align: top;
}

.rightbox {
    width: 210px;
    float: right;
    margin-bottom: 30px;
}

.content {
    margin: 20px auto 80px auto;
}

.content p {
    padding-top: 0.25em;
    padding-bottom: 0.75em;
}

@media screen and (max-width: 768px) {
    .content_inner_980 {
        width: 100%;
        margin: 0 auto;
    }

    .colum-2 {
        width: 90%;
        margin: 0 auto;
    }

    .leftbox {
        width: 100%;
        float: none;
        margin: 0 auto;
        vertical-align: top;
        min-height: 200px;
    }

    .rightbox {
        width: 100%;
        float: none;
        text-align: center;
        margin: 0 auto;
    }

    .content {
        margin-bottom: 50px;
    }
}


/* =================================== */


/*	common
/* =================================== */

.clearfix:after {
    content: "";
    clear: both;
    display: block;
}

.center {
    margin-left: auto;
    margin-right: auto;
}

.relative {
    position: relative;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mt50 {
    margin-top: 50px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}


/*  文字  */

.bold {
    font-weight: bold;
}

.center {
    text-align: center;
}

.txt120 {
    font-size: 1.2em;
}

.txt80 {
    font-size: 80%;
}

.pink {
    color: #ec8a64;
}

.green {
    color: #699d0e;
}

.marker {
    background: linear-gradient(transparent 87%, #feddd0 87%);
    font-weight: bold;
    padding-bottom: 6px;
}


/*  背景色  */

.bg_gray {
    background-color: #f6f6f6;
}

.bg_white {
    background-color: #fff;
}

.bg_dots {
    background: url("../images/common/bg_dots.gif") repeat 0 0;
}


/*  背景色  */

.section {
    padding: 70px 0 70px 0;
}

.section:after {
    content: "";
    clear: both;
    display: block;
}

.section-bottom {
    padding: 0 0 60px 0;
}


/*pagetop*/

#pagetop {
    padding: 0;
    margin: 0;
    width: 58px;
    height: 58px;
    position: fixed;
    bottom: 48px;
    right: 0;
    z-index: 1;
}


/* パンクズ */

#breadlist {
    padding: 0 !important;
    margin: 0 0 30px 0 !important;
}

#breadlist .inner ul {
    padding: 8px 0 5px 0 !important;
    margin: 0 !important;
}

#breadlist .inner ul li {
    display: inline-block;
    font-size: 14px;
    line-height: 1.6;
}

#breadlist .inner ul li a:after {
    content: ">";
    padding: 0 2px 0 4px;
}

@media screen and (max-width: 768px) {

    /* SP */
    .section {
        padding: 40px 0 40px 0;
    }

    .section-bottom {
        padding: 0 0 40px 0;
    }

    .sp_w90 {
        width: 90%;
        margin: 0 auto;
    }

    #breadlist .inner ul {
        padding: 8px 4% 5px 4% !important;
    }
}

.table1 {
    padding: 0;
    margin: 0;
    border-collapse: collapse;
    /* 隣り合うセルの線を結合 */
    border: 1px solid #bbb;
    width: 100%;
}

.table1 th,
.table1 td {
    padding: 10px 0.8em;
    border-right: 1px solid #bbb;
    border-bottom: 1px solid #bbb;
    vertical-align: top;
}

@media screen and (max-width: 768px) {

    /* SP */
    table.table1 th,
    table.table1 td {
        padding: 5px 0.5em;
    }
}


/* =================================== */


/*	title
/* =================================== */

h2.title {
    padding: 10px;
    font-size: 24px;
    line-height: 34px;
    font-weight: bold;
    color: #3c93cf;
    background-color: #f2f2f2;
    vertical-align: middle;
    text-align: left;
}

h2.title_border_center {
    letter-spacing: 2px;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.9rem;
    padding: 30px 0 5px 0;
    margin-top: 0;
    margin-bottom: 40px;
    position: relative;
}

h2.title_border_center:before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -10px;
    /*下線の上下位置調整*/
    display: inline-block;
    width: 50px;
    /*下線の幅*/
    height: 3px;
    /*下線の太さ*/
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translate(-50%);
    /*位置調整*/
    background-color: #699d0e;
    /*下線の色*/
}

h2.title_content {
    border-bottom: 3px solid #699d0e;
    padding: 12px 1em 10px 1em;
    color: #699d0e;
    margin-bottom: 20px;
    background-color: #f6f6f6;
    font-size: 22px;
    line-height: 30px;
}

h3.title_border {
    border-left: 8px solid #699d0e;
    border-bottom: 1px solid #699d0e;
    padding: 4px 0 4px 0.5em;
    color: #699d0e;
    margin: 30px 0 20px 0;
    font-size: 22px;
    line-height: 32px;
}

h3.title_border:before {}

h4.h4_title {
    color: #4c4736;
    margin-bottom: 15px;
    font-size: 20px;
    line-height: 28px;
}

h4.h4_title:before {
    content: "■ ";
}

h4.h4_title_2 {
    color: #699d0e;
    font-size: 1.2em;
}

h4.h4_title_2:before {
    content: "・";
}

@media screen and (max-width: 768px) {

    /* SP */
    h2.title_border {
        font-size: 1.4rem;
        line-height: 1.8rem;
        margin-bottom: 30px;
    }

    h2.title_border:before {
        bottom: -5px;
        /*下線の上下位置調整*/
    }

    h1.h1_title {
        font-size: 1.6rem;
        line-height: 2.0rem;
    }

    h2.title_content {
        font-size: 1.2em;
        line-height: 1.5;
        padding: 10px 0.5em 10px 0.5em;
        letter-spacing: 0;
    }
}

.center_wide_img {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
}

@media screen and (min-width:769px) {

    /* PC */
    /* PCのみ表示 */
    .sp_only {
        display: none;
    }

    .pc_only {}

    a:hover img {
        opacity: 0.75;
        filter: alpha(opacity=75);
        -ms-filter: "alpha(opacity=75)";
    }

    .imgR_wide {
        float: right;
        width: 35%;
        margin-left: 40px;
        margin-bottom: 30px;
    }

    .imgL_wide {
        float: left;
        width: 35%;
        margin-right: 40px;
        margin-bottom: 30px;
    }

    .imgR {
        float: right;
        width: 35%;
        margin-left: 40px;
        margin-bottom: 30px;
    }

    .imgL {
        float: left;
        width: 35%;
        margin-right: 40px;
        margin-bottom: 30px;
    }

    .leftbox .imgR {
        float: right;
        width: 35%;
        margin-left: 20px;
        margin-bottom: 20px;
    }

    .leftbox .imgL {
        float: left;
        width: 35%;
        margin-right: 20px;
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 768px) {

    /* SP */
    /* SPのみ表示 */
    .sp_only {}

    .pc_only {
        display: none;
    }

    .imgR_wide {
        float: none;
        width: 100%;
        margin: 0 0 30px 0;
    }

    .imgL_wide {
        float: none;
        width: 100%;
        margin: 0 0 30px 0;
    }

    .imgR {
        float: right;
        width: 35%;
        margin-left: 25px;
        margin-bottom: 25px;
    }

    .imgL {
        float: left;
        width: 35%;
        margin-right: 25px;
        margin-bottom: 25px;
    }
}


/* =================================== */


/*	ボタン
/* =================================== */


/* 基本のボタン　*/

a.btn-type01 {
    display: inline-block;
    min-width: 100px;
    text-align: center;
    border: 1px solid #4c4736;
    font-size: 14px;
    text-decoration: none;
    padding: 2px 2em 2px 2em;
    transition: .4s;
    position: relative;
    vertical-align: middle;
    border-radius: 4px;
}

a.btn-type01:link,
a.btn-type01:visited {
    color: #4c4736;
}

a.btn-type01:hover {
    background-color: #4c4736;
    border-color: #4c4736;
    color: #FFF;
}


/* 矢印 */

a.btn-type01::before,
a.btn-type01::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

a.btn-type01::before {
    right: 10px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #4c4736;
    border-right: 2px solid #4c4736;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


/* 矢印 hover */

a.arrow:hover::before {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}


/* 緑のボタン */

a.btn-type01-green {
    display: inline-block;
    text-align: left;
    font-size: 14px;
    text-decoration: none;
    padding: 8px 5em 8px 5em;
    transition: .4s;
    position: relative;
    vertical-align: middle;
    background-color: #699d0e;
}

a.btn-type01-green:link,
a.btn-type01-green:visited {
    color: #FFF;
}

a.btn-type01-green:hover {
    background-color: #275e03;
    color: #FFF;
}


/* 矢印 */

a.btn-type01-green::before,
a.btn-type01-green::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

a.btn-type01-green::before {
    right: 10px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

a.btn-type01-green:hover::before {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}


/* 幅広 */

a.btn-type01.wide {
    min-width: 160px;
    padding: 2px 3em 2px 3em;
}

.btn_container ul li {
    display: inline-block;
    margin: 5px;
}

.btn_container ul li a.btn-type01 {
    padding: 8px 2em 6px 2em;
}

@media screen and (max-width: 768px) {

    /* SP */
    .btn_container ul li {
        margin: 0 auto 5px auto;
        padding: 0;
        display: block;
    }

    .btn_container ul li a.btn-type01 {
        width: 90%;
        margin: 0 auto;
        box-sizing: border-box;
    }
}


/* --------------------------------------------------------------- 
■ HEADER
-----------------------------------------------------------------*/


/* only pc */

@media screen and (min-width:961px) {

    /* PC */
    header .inner {
        position: relative;
        text-align: center;
        height: 100px;
        box-sizing: border-box;
        margin: auto;
        max-width: 90%;
    }

    header .inner h1 {
        position: absolute;
        left: 20px;
        top: 20px;
    }

    header .inner h1 img {
        max-width: 100%;
    }

    /* header_right */
    header .header_right {
        width: 400px;
        height: 100px;
        position: absolute;
        right: 0;
        top: 0;
        text-align: right;
        padding: 0;
        margin: 0;
    }

    header .header_right ul li {
        display: table-cell;
        vertical-align: top;
    }

    header .header_right .tel {
        padding-right: 20px;
    }

    header .header_right ul {
        position: absolute;
        right: 0;
        top: 24px;
    }

    header .header_right #hd_bnr_language_pc {
        width: 160px;
        height: 26px;
        position: absolute;
        right: 340px;
        top: 6px;
        text-align: right;
        padding: 0;
        margin: 0;
    }

    header .header_right #hd_bnr_language_pc2 {
        width: 160px;
        height: 26px;
        position: absolute;
        right: 170px;
        top: 6px;
        text-align: right;
        padding: 0;
        margin: 0;
    }

    header .header_right #hd_bnr_language_pc3 {
        width: 160px;
        height: 26px;
        position: absolute;
        right: 0;
        top: 6px;
        text-align: right;
        padding: 0;
        margin: 0;
    }

    #hd_bnr_language_sp,
    #hd_bnr_language_sp2,
    #hd_bnr_language_sp3 {
        display: none;
    }
}


/* tablet */

@media screen and (max-width:960px) {
    header .inner {
        width: 100%;
        height: 90px;
        position: relative;
        background-color: #fff;
        padding-bottom: 20px;
    }

    header .inner h1 {
        position: absolute;
        left: 20px;
        top: 20px;
        max-width: 70%;
        padding: 0;
    }

    header .inner h1 img {
        max-height: 50px;
    }

    #hd_bnr_language_pc {
        display: none;
    }

    #hd_bnr_language_sp {
        position: absolute;
        top: 10px;
        right: 220px;
    }

    #hd_bnr_language_sp2 {
        position: absolute;
        top: 10px;
        right: 160px;
    }

    #hd_bnr_language_sp3 {
        position: absolute;
        top: 10px;
        right: 100px;
    }

    header .header_right {
        display: none;
    }
}


/* sp */

@media screen and (max-width:768px) {
    header .inner {
        height: 85px;
        padding-bottom: 5px;
    }

    header .inner h1 {
        position: absolute;
        left: 10px;
        /* top: 35px; */
        max-width: 68%;
        padding: 0;
    }

    header .inner h1 img {
        max-width: 100%;
    }
}

@media screen and (max-width:800px) {
    #hd_bnr_language_sp {
        position: absolute;
        top: 10px;
        right: 185px;
    }

    #hd_bnr_language_sp2 {
        position: absolute;
        top: 10px;
        right: 130px;
    }

    #hd_bnr_language_sp3 {
        position: absolute;
        top: 10px;
        right: 75px;
    }
}

@media screen and (max-width:480px) {
    header .inner h1 {
        top: 35px;
    }
}


/*==============

プルダウンのナビゲーション

==============
*/


/*
Zarigani Design Office Drawer Menu
Copyright 2018 Zarigani Design Office
Customized by minimalgreen

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

@media screen and (min-width:980px) {
    .drawer_menu a {
        color: inherit;
        text-decoration: none;
        transition: none;
    }

    .drawer_menu a:visited {
        color: inherit;
    }

    /* PC用ナビゲーション */
    .drawer_menu .drawer_nav_wrapper {
        transform: translate(0);
        width: 100%;
        height: 75px;
        /* PC用メニュー高さ */
        position: relative;
        top: auto;
        right: auto;
        z-index: 100;
        background-color: #4c4736;
        /* PC用メニュー背景色 */
    }

    .drawer_menu .drawer_nav {
        max-width: 980px;
        /* コンテンツ幅に合わせる */
        padding: 0;
        margin: 0 auto;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        list-style-type: none;
    }

    .drawer_menu .drawer_nav li.navi {
        font-size: 16px;
        line-height: 24px;
        margin: 0;
        padding: 0;
        width: 100%;
        height: 75px;
        /* PC用メニュー高さ */
        background-color: #4c4736;
        /* PC用メニューボタン背景色 */
        text-align: center;
        list-style-type: none;
        display: flex;
        /* 変更なし */
        flex-direction: column;
        /* 変更なし */
        justify-content: center;
        /* 変更なし */
        align-items: center;
        /* 変更なし */
    }

    .drawer_menu .drawer_nav>li.navi {
        border-right: 1px solid #948d77;
        color: #fff;
    }

    .drawer_menu .drawer_nav>li.navi:first-child {
        border-left: 1px solid #948d77;
    }

    .drawer_menu .drawer_nav li.navi:hover {
        background-color: #999;
        /* PC用メニューボタンマウスオーバー背景色 */
    }

    .drawer_menu .drawer_nav li a {
        color: #fff;
        /* PC用メニューボタン文字色 */
    }

    .drawer_menu .drawer_nav li a {
        color: #fff;
        /* PC用メニューボタン文字色 */
    }

    /* PCの時の各々の指定 */
    .drawer_menu ul.drawer_nav li.navi02 {
        content: '';
        background: url("../images/common/gnavi_icon_02.png") no-repeat 0 0;
    }

    .drawer_menu ul.drawer_nav li.navi03 {
        content: '';
        background: url("../images/common/gnavi_icon_03.png") no-repeat 0 0;
    }

    .drawer_menu ul.drawer_nav li.navi04 {
        content: '';
        background: url("../images/common/gnavi_icon_04.png") no-repeat 0 0;
    }

    .drawer_menu ul.drawer_nav li.navi05 {
        content: '';
        background: url("../images/common/gnavi_icon_05.png") no-repeat 0 0;
    }

    .drawer_menu ul.drawer_nav li.navi_icon {
        background-repeat: no-repeat;
        background-position: 15px 50%;
        background-size: 30px auto;
    }

    .drawer_menu ul.drawer_nav li.navi_icon a {
        box-sizing: border-box;
        padding: 0 10px 0 20px;
    }

    .drawer_menu ul.drawer_nav li.navi ul.second-level a {
        width: 200px;
        padding: 5px 10px;
        box-sizing: border-box;
        display: block;
        text-align: left !important;
    }

    .drawer_nav_wrapper .pulldown_area {
        display: none;
    }
}

@media screen and (min-width:980px) {

    /* PC非表示 */
    .pc-hidden {
        display: none;
        text-align: center;
    }

    /* ドロップダウンメニュー2階層目 */
    .drawer_menu .drawer_nav li ul.second-level {
        visibility: hidden;
        list-style-type: none;
        position: absolute;
        /*z-index: -1;*/
        top: 60px;
        margin: 0;
        padding-left: 0;
    }

    .drawer_menu .drawer_nav li:hover ul.second-level {
        visibility: visible;
        z-index: 1;
        top: 75px;
        /* PC用メニューの高さに合わせる */
        transition: all .3s;
    }

    .drawer_menu .drawer_nav li:hover ul.second-level li {
        width: 200px;
        /* ドロップダウンメニューボタン横幅 */
        height: 40px;
        /* Pドロップダウンメニューボタン高さ */
        font-size: 14px;
        line-height: 20px;
        text-align: left;
    }

    .drawer_menu .drawer_nav li:hover ul.second-level li a {
        display: block;
        background-color: #4c4736;
        /* ドロップダウンメニューの文字の背景色 */
        color: #fff;
        /* ドロップダウンメニューの文字色 */
        font-size: 100%;
        text-decoration: none;
        line-height: 40px;
        /* Pドロップダウンメニューボタン高さ */
        text-align: center;
    }

    .drawer_menu .drawer_nav li:hover ul.second-level li a:hover {
        background-color: #999;
        /* ドロップダウンメニューマウスホバー背景色 */
    }

    .touch-btn {
        color: #fff;
        margin-left: 5px;
    }
}


/*+++ Default Button Color +++*/

.drawer_menu .drawer_button {
    color: #fff;
    /* ハンバーガーメニュー文字色 */
    display: none;
}

.drawer_menu .drawer_button .drawer_bar {
    background-color: #fff;
    /* ハンバーガーメニュー三本線の色 */
}


/* 980px以下 */

@media screen and (max-width: 979px) {
    .drawer_menu .drawer_bg {
        width: 100%;
        height: 100%;
        position: fixed;
        z-index: 999;
        background-color: rgba(51, 51, 51, 0.5);
        display: none;
        top: 0;
        left: 0;
    }

    .drawer_menu .drawer_button {
        display: block;
        background-color: #4c4736;
        color: #fff;
        border: none;
        padding: 5px;
        width: 50px;
        letter-spacing: 0.1em;
        cursor: pointer;
        position: fixed;
        top: 10px;
        right: 10px;
        z-index: 1001;
        text-align: center;
        outline: none;
    }

    .drawer_menu .drawer_button.active .drawer_bar {
        width: 40px;
    }

    .drawer_menu .drawer_button.active .drawer_bar1 {
        transform: rotate(30deg);
    }

    .drawer_menu .drawer_button.active .drawer_bar2 {
        opacity: 0;
    }

    .drawer_menu .drawer_button.active .drawer_bar3 {
        transform: rotate(-30deg);
    }

    .drawer_menu .drawer_button.active .drawer_menu_text {
        display: none;
    }

    .drawer_menu .drawer_button.active .drawer_close {
        display: block;
    }

    .drawer_menu .drawer_bar {
        display: block;
        height: 2px;
        margin: 8px 2px;
        transition: all 0.2s;
        transform-origin: 0 0;
    }

    .drawer_menu .drawer_text {
        text-align: center;
        font-size: 10px;
    }

    .drawer_menu .drawer_close {
        letter-spacing: 0.08em;
        display: none;
    }

    .drawer_menu .drawer_menu_text {
        display: block;
    }

    .drawer_menu .drawer_nav_wrapper {
        width: 280px;
        height: 100%;
        transition: all 0.2s;
        transform: translate(280px);
        position: fixed;
        top: 0;
        right: 0;
        z-index: 1000;
        background-color: #FFF;
        /* ドロワーメニュー内背景色 */
        overflow-x: hidden;
        overflow-y: auto;
    }

    .drawer_menu .drawer_nav {
        display: block;
        position: relative;
        margin-top: 64px;
    }

    .drawer_menu .drawer_nav li {
        background-color: #fff;
        height: auto;
        line-height: 50px;
        /*  ドロワーメニューリスト項目高さ */
        position: relative;
        border-bottom: 1px solid #eee;
    }

    .drawer_menu .drawer_nav li {
        background-color: #fff;
        /* ドロワーメニューリスト背景色 */
        color: #4c4736;
        /* ドロワーメニューリスト文字色 */
        display: block;
        padding-left: 10px;
        padding-right: 50px;
    }

    .drawer_menu .drawer_nav li a {
        background-color: #fff;
        /* ドロワーメニューリスト背景色 */
        color: #4c4736;
        /* ドロワーメニューリスト文字色 */
        display: block;
        text-align: left;
    }

    /* スマートフォン2階層目 */
    .drawer_menu .drawer_nav li:hover ul.second-level {
        display: block;
    }

    .drawer_menu .drawer_nav li ul.second-level {
        display: none;
        position: relative;
        padding: 0;
        z-index: 1001;
    }

    .drawer_menu .drawer_nav li ul.second-level li a {
        padding-left: 0;
    }

    .drawer_menu .drawer_nav_wrapper.open {
        transform: translate(0);
    }

    .drawer_menu.left .drawer_button {
        right: auto;
        left: 32px;
    }

    .drawer_menu.left .drawer_nav_wrapper {
        transform: translate(-250px);
        right: auto;
        left: 0;
    }

    .drawer_menu.left .drawer_nav_wrapper.open {
        transform: translate(0);
    }

    .touch-btn {
        color: #555;
        position: absolute;
        top: 20px;
        right: 14px;
        vertical-align: middle;
        display: block;
        width: 5px;
        height: 5px;
        border: 2px solid;
        border-color: transparent transparent #565656 #565656;
        transform: rotate(-45deg);
    }

    .pc-hidden {
        text-align: center;
    }

    /* 小さい英字非表示 */
    .drawer_menu .drawer_nav li.navi span.eng {
        display: none;
    }

    .drawer_nav_wrapper .pulldown_area ul {
        padding: 10px 20px 0 20px;
    }

    .drawer_nav_wrapper .pulldown_area ul li {
        margin-bottom: 15px;
    }

    .drawer_nav_wrapper .btn_eng {
        text-align: center;
    }

    .drawer_nav_wrapper .btn_eng a {
        color: #4c4736;
        width: 100%;
        padding: 5px 10px;
        display: block;
        font-size: 0.9rem;
    }
}


/*==============

END プルダウンのナビゲーション　ここまで

==============*/

nav.drawer_nav_wrapper ul li .eng {
    font-size: 12px;
    line-height: 16px;
    display: block;
}

#group {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    background-color: #fff;
    padding: 30px 2% 20px 2%;
}

#group .title {
    text-align: center;
}

#group .title h2 {
    font-size: 20px;
    line-height: 1.6;
}

@media screen and (min-width: 769px) {
    #group ul {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
    }

    #group ul li {
        max-width: 220px;
        margin: 0 5px;
    }
}

#group ul li img {
    width: 100%;
}

@media screen and (max-width: 768px) {

    /* SP */
    #group {
        padding: 20px 2%;
    }

    #group ul {
        text-align: center;
    }

    #group ul li {
        padding: 0;
        margin: 0 2%;
        text-align: center;
        display: inline-block;
        width: 45%;
    }
}

#ft_banners {
    padding: 10px 2%;
}

#ft_banners ul li {
    text-align: center;
    max-width: 360px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {

    /* SP */
    #ft_banners {}

    #ft_banners ul {
        text-align: center;
    }

    #ft_banners ul li {
        width: 80%;
        text-align: center;
    }
}


/* --------------------------------------------------------------- 
■ footer
-----------------------------------------------------------------*/


/* PC */

footer .foot_navi {
    border-top: 1px solid #4c4736;
}

footer .foot_navi ul {
    width: 960px;
    height: inherit;
    margin: 0 auto;
    text-align: center;
}

footer .colored {
    padding: 0;
    margin: 0;
    height: 80px;
    color: #fff;
    background-color: #4c4736;
    position: relative;
    /*中央揃えしたい要素の親要素に指定*/
}

footer .colored p {
    font-size: 0.8em;
    line-height: 1em;
    padding: 0;
    text-align: center;
    position: absolute;
    /*要素を浮かす*/
    /*relativeを指定した親要素を支点とした位置をすべて0に指定↓*/
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    /*上下左右中央に*/
    width: 100%;
    /*widthの指定は必須*/
    height: 1em;
    /*heightの指定は必須*/
}

@media screen and (max-width: 768px) {
    /* SP */
}
footer{
    padding-bottom: 50px;
}

#ftmenu ul {
    padding: 10px 0;
    margin: 0 auto;
    font-size: 14px;
}

#ftmenu ul li {
    text-align: center;
    margin: 0 auto;
}

#ftmenu ul li a {
    color: #4c4736;
}

a:hover {
    color: #699d0e;
    text-decoration: none;
}

@media screen and (max-width: 768px) {

    /* SP */
    #ftmenu ul {
        text-align: center;
    }

    #ftmenu ul li {
        width: 80%;
        text-align: center;
    }
}


/* =================================== */


/* contactus */


/* ===================================  */

#contactus {
    position: relative;
    width: 100%;
    background-image: url("../images/common/contact_bg.jpg");
    background-position: center top;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    padding: 40px 0 30px 0;
    margin: 0 auto;
    display: flex;
}

#contactus .inner {
    width: 96%;
    max-width: 900px;
    margin: 0 auto;
    box-sizing: border-box;
    position: relative;
}

#contactus .inner h2 {
    font-size: 26px;
    text-align: center;
    padding: 0;
    margin: 0 auto 10px auto;
}

#contactus .inner ul {
    padding: 0;
    margin: 0;
}

#contactus .inner ul li {
    display: inline-block;
    text-align: center;
}

#contactus .inner ul li:nth-child(1) {
    width: 320px;
    padding-right: 30px;
}

#contactus .inner ul li:nth-child(2) {
    width: 33%;
    margin-top: 10px;
}

@media screen and (max-width: 768px) {

    /* sp, tablet */
    #contactus {
        background-position: right top;
        background-size: auto 100%;
        padding: 15px 0 15px 0;
        height: auto;
    }

    #contactus .inner {
        width: 86%;
        margin: 0 auto;
        padding: 20px 0 15px 0;
        background-color: rgba(255, 255, 255, 0.8);
    }

    #contactus .inner h2 {
        font-size: 20px;
        line-height: 1.4;
        padding: 0;
    }

    #contactus .inner ul li {
        display: block;
        text-align: center;
        padding: 0;
        margin: 0 auto;
    }

    #contactus .inner ul li img {
        width: 90%;
    }

    #contactus .inner ul li:nth-child(1) {
        width: 50%;
        padding-right: 0;
        margin: 0 auto;
    }

    #contactus .inner ul li:nth-child(2) {
        width: 50%;
    }

    #contactus .inner ul li:nth-child(2) {
        margin-bottom: 5px;
    }
}

@media screen and (max-width: 640px) {

    /* sp only */
    #contactus .inner {
        padding: 15px 0 10px 0;
    }

    #contactus .inner ul {
        padding: 0;
        margin: 0 auto;
    }

    #contactus .inner ul li:nth-child(1) {
        width: 90%;
        padding: 0;
    }

    #contactus .inner ul li:nth-child(2) {
        width: 80%;
    }
}


/* =================================== */


/* clinicinfo */


/* ===================================  */

#clinicinfo {
    width: 100%;
    padding: 70px 0;
}

#clinicinfo .title h2 {
    font-size: 30px;
    text-align: center;
    padding: 0 0 30px 0;
}

#clinicinfo .inner {
    width: 980px;
    margin: 0 auto;
    padding: 60px 4%;
    box-sizing: border-box;
    background-color: #fff;
}

#clinicinfo .information {}

#clinicinfo .information .box {
    margin-bottom: 20px;
}

#clinicinfo .information .box h3 {
    font-size: 16px;
}

#clinicinfo .information .box_right {
    float: right;
    width: 55%;
}

#clinicinfo .information .box_right table {
    border: 1px solid #bbb;
    border-collapse: collapse;
    margin-bottom: 10px;
}

#clinicinfo .information .box_right th,
#clinicinfo .information .box_right td {
    vertical-align: top;
    text-align: center;
    padding: 5px 1px;
    border: 1px solid #bbb;
}

#clinicinfo .information .box_right th {
    width: 12%;
}

#clinicinfo .information .box_right th:first-child {
    width: 28%;
}

#clinicinfo .information .box_right .notice {
    font-size: 12px;
    line-height: 16px;
}

#clinicinfo .information .box_left {
    float: left;
    width: 40%;
}

#clinicinfo .information .box_left th,
#clinicinfo .information .box_left td {
    vertical-align: top;
    padding: 5px 1px;
}

#clinicinfo .information .box_left th {
    padding: 6px 1px 0 1px;
}

#clinicinfo .gmap {
    width: 100%;
}

#clinicinfo .gmap iframe {
    width: 100%;
    height: 300px;
}

@media screen and (max-width: 768px) {

    /* SP */
    #clinicinfo {
        background-position: right top;
        background-size: auto 100%;
        padding: 50px 0 50px 0;
        height: auto;
    }

    #clinicinfo .information .box_right,
    #clinicinfo .information .box_left {
        float: none;
        width: 100%;
    }

    #clinicinfo .information .box_left td {
        padding: 0 1px;
    }

    #clinicinfo .inner {
        width: 94%;
        margin: 0 auto;
        padding: 30px 3% 30px 3%;
        background-color: #fff;
    }

    #clinicinfo .inner h2 {
        font-size: 24px;
        padding: 0 0 10px 0;
    }

    #clinicinfo .gmap iframe {
        height: 200px;
    }
}


/* --------------------------------------------------------------- 
■ rightbox
-----------------------------------------------------------------*/

.rightbox ul {
    margin-bottom: 1.5em;
}

a.link:after {
    content: url("../images/common/icon_outsidelink.gif");
    padding-left: 4px;
}

.rightbox ul.menu {
    border: 1px solid #ccc;
    margin-top: 20px;
}

.rightbox ul.menu li {
    border-bottom: 1px solid #ccc;
    padding: 5px 10px;
}

.rightbox ul.menu li:last-child {
    border-bottom: 0 solid #ccc;
}

.rightbox ul.menu .title {
    text-align: center;
    background-color: #f6f6f6;
}

.rightbox ul.menu a {
    color: #4c4736;
}

.rightbox ul.menu a:hover {
    color: #699d0e;
}

.rightbox ul.group li {
    font-size: 14px;
    line-height: 22px;
}

.rightbox ul.group li .group_link {
    display: block;
    border: 1px solid #699d0e;
    box-sizing: border-box;
    color: #699d0e;
    text-align: center;
    width: 100%;
    margin-top: 5px;
    padding: 10px;
}

.rightbox ul.group .title {
    border-bottom: 1px solid #ccc;
    margin-bottom: 5px;
}

.rightbox ul.group a {
    color: #4c4736;
}

.rightbox ul.group a:hover {
    color: #699d0e;
}

.movieArea iframe {
    width: 100%;
    max-width: 560px;
    height: 315px;
}


/* --------------------------------------------------------------- 
■ SNSリンク追加
-----------------------------------------------------------------*/


.headerArea_contact .facebook_icon {
    position: absolute;
    top: 14px;
    right: 21px;
    background: url(../images/common/logo_facebook.png) no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
}

.headerArea_contact .instagram_icon {
    position: absolute;
    top: 54px;
    right: 21px;
    background: url(../images/common/logo_instagram.png) no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
}

@media screen and (max-width: 981px) {

    .headerArea_contact .facebook_icon,
    .headerArea_contact .instagram_icon {
        display: none;
    }

    .sp-menu-sns .facebook_icon {
        position: absolute;
        top: 21px;
        right: 128px;
        background: url(../images/common/logo_facebook.png) no-repeat;
        background-size: 100%;
        width: 30px;
        height: 30px;
    }

    .sp-menu-sns .instagram_icon {
        position: absolute;
        top: 22px;
        right: 84px;
        background: url(../images/common/logo_instagram.png) no-repeat;
        background-size: 100%;
        width: 30px;
        height: 30px;
    }
}


/* --------------------------------------------------------------- 
■ SP 下部固定バー
-----------------------------------------------------------------*/
.sp_contact {
    display: none;
}

@media screen and (max-width: 1000px) {
    .sp_contact {
        display: flex;
        background: #4c4736d4;
        height: 50px;
        width: 100%;
        position: fixed;
        bottom: 0;
        z-index: 200;
    }

    .sp_contact a {
        color: #fff;
    }

    .sp_contact_tel {
        display: block;
        border-right: 1px solid#fff;
        font-weight: bold;
        font-size: 14px;
        line-height: 50px;
        letter-spacing: .05em;
        text-align: center;
        text-decoration: none;
        width: 40%;
    }

    .sp_contact_web {
        display: block;
        font-weight: bold;
        font-size: 14px;
        line-height: 50px;
        letter-spacing: .05em;
        text-align: center;
        text-decoration: none;
        width: 40%;
    }

    .sp_sns {
        background: #ddefc0;
        width: 25%;
        text-align: center;
    }

    .sp_contact_facebook {
        display: inline-block;
        background: url(../images/common/logo_facebook.png) no-repeat left center;
        background-size: 25px;
        padding-left: 35px;
        height: 100%;
    }

    .sp_contact_instagram {
        display: inline-block;
        background: url(../images/common/logo_instagram.png) no-repeat left center;
        background-size: 25px;
        padding-left: 35px;
        height: 100%;
    }

}

/* --------------------------------------------------------------- 
■ SP 費用についてのテーブルを使うとき、box1のボーダーを消す
-----------------------------------------------------------------*/
.cost-table{
    border: none;
}