@charset "UTF-8";
@import "base.css";
@import "fonts.css";
@import "normalize.css";
@import "animate.css";
/* @import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@700&display=swap'); */

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////                 © Branding Technology inc.                  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
    font-size: 160%;
    -webkit-text-size-adjust: none;
}

header,
section,
footer,
aside,
nav,
main,
article,
figure {
    display: block;
}

a {
    color: #0c8e2b;
}

a:hover,
a:active {
    text-decoration: none;
    color: #fbb82d;
}

table {
    width: 100%
}

*,
*:before,
*:after {
    box-sizing: border-box;
}

p {
    margin: 0 0 1.5em;
}

.under .section,
.under section {
    margin: 0 0 60px;
}

section p:last-child,
.section p:last-child {
    margin-bottom: 0;
}

p,
dd,
td,
th,
li {
    line-height: 2.125em;
}

a:hover img {
    opacity: 0.7;
    transition: all 0.3s ease;
}

a[target="_blank"]:hover img,
.logo a:hover img,
.f_logo a:hover img,
a:hover img.no_hover {
    opacity: 1;
}

img {
    max-width: 100%;
    vertical-align: bottom;
}

.image_l {
    float: left;
    margin: 10px 30px 8px 0;
}

.image_r {
    float: right;
    margin: 10px 0 8px 30px;
}

.image_c {
    text-align: center;
    margin: 0 auto;
}

.bold {
    font-weight: bold;
}

.fl {
    float: left;
}

.fr {
    float: right;
}

/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/
body {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    color: #545454;
}

body.fixed {
    overflow-y: hidden;
}

#wrapper {
    min-width: 1200px;
    overflow: hidden;
}

.container {
    width: 1200px;
    margin: 0 auto;
}

/*===================== Header ========================*/
.logo {
    line-height: 0;
    width: 210px;
    height: 56px;
    margin: 0;
}

.logo a {
    display: block;
}

#header .container {
    position: relative;
    display: flex;
    justify-content: space-between;
}

.h_bnr {
    position: absolute;
    right: 43px;
    top: 11px;
    width: 152px;
    height: 168px;
    margin-bottom: 0;
    display: block;
}

@keyframes remove-fixed {
    0% {
        opacity: 0.9;
        transition: all 0.3s ease;
    }

    100% {
        opacity: 1;
        transition: all 0.3s ease;
    }
}

@-webkit-keyframes remove-fixed {
    0% {
        opacity: 0.9;
        transition: all 0.3s ease;
    }

    100% {
        opacity: 1;
        transition: all 0.3s ease;
    }
}

@-moz-keyframes remove-fixed {
    0% {
        opacity: 0.9;
        transition: all 0.3s ease;
    }

    100% {
        opacity: 1;
        transition: all 0.3s ease;
    }
}

@keyframes header-fixed {
    0% {
        opacity: 0.5;
        transition: all 0.3s ease;
    }

    100% {
        opacity: 1;
        transition: all 0.3s ease;
    }
}

@-webkit-keyframes header-fixed {
    0% {
        opacity: 0.5;
        transition: all 0.3s ease;
    }

    100% {
        opacity: 1;
        transition: all 0.3s ease;
    }
}

@-moz-keyframes header-fixed {
    0% {
        opacity: 0.5;
        transition: all 0.3s ease;
    }

    100% {
        opacity: 1;
        transition: all 0.3s ease;
    }
}

.h_top {
    position: relative;
    margin: 0 auto;
    padding: 15px 0 17px;
    z-index: 1111;
    -webkit-animation: remove-fixed 0.6s linear;
    -moz-animation: remove-fixed 0.6s linear;
    -ms-animation: remove-fixed 0.6s linear;
    animation: remove-fixed 0.6s linear;
}

.h_top.fixed {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 1000;
    padding: 10px 0;
    background: #f0f8e9;
    z-index: 3000;
    -webkit-animation: header-fixed 0.6s linear;
    -moz-animation: header-fixed 0.6s linear;
    -ms-animation: header-fixed 0.6s linear;
    animation: header-fixed 0.6s linear;
}

.h_top.fixed .h_bnr {
    opacity: 0;
    visibility: hidden !important;
    z-index: 1111;
    display: none;
}

.h_top h1 {
    font-size: 11px;
    color: #c1c1c1;
    margin: 0 0 11px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.h_left {
    width: 30%;
}

.h_right {
    width: 70%;
    display: flex;
    justify-content: flex-end;
}

.h_info {
    display: flex;
    justify-content: space-between;
    margin-top: 5px;
}

.h_info li,
.h_info p {
    line-height: 1.5em;
}

.h_info li {
    text-align: center;
}

.h_info li:first-child {
    margin-right: 30px;
}

.h_time {
    margin-bottom: 5px;
    padding-bottom: 5px;
    border-bottom: solid 1px #dfdbcf;
}

.h_time span {
    position: relative;
    font-weight: bold;
    padding-left: 28px;
    display: inline-block;
    letter-spacing: 0.1em;
}

.h_time span:before {
    position: absolute;
    content: '';
    left: 0;
    top: -1px;
    background: url(../images/ico_time.png) no-repeat center;
    background-size: contain;
    width: 24px;
    height: 22px;
}

.h_txt,
.h_tel {
    margin-bottom: 0;
}

.h_txt {
    font-size: 13px;
    letter-spacing: 0.02em;
}

.h_note {
    background: #0c8e2b;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    text-align: center;
    border-radius: 12.5px;
    padding: 3px 15px 1px;
    margin: 2px 0 11px 0;
    letter-spacing: 0.05em;
}

.h_tel span {
    font-family: 'Quicksand', sans-serif;
    font-weight: bold;
    font-size: 36px;
    position: relative;
    display: inline-block;
    padding-left: 33px;
    letter-spacing: -0.02em;
}

.h_tel span:before {
    position: absolute;
    content: '';
    left: 0;
    top: -4px;
    background: url(../images/ico_tel.png) no-repeat center;
    background-size: contain;
    width: 30px;
    height: 30px;

}

/*===================== End Header ========================*/


/*===================== Gnavi ========================*/
#gnavi {
    z-index: 1000;
    background: #f0f8e9;
    padding: 134px 0 40px;
    -webkit-animation: remove-fixed 0.6s linear;
    -moz-animation: remove-fixed 0.6s linear;
    -ms-animation: remove-fixed 0.6s linear;
    animation: remove-fixed 0.6s linear;
}

#gnavi.fixed {
    position: fixed;
    left: 0;
    top: 98px;
    width: 100%;
    z-index: 1000;
    padding: 10px 0;
    -webkit-animation: header-fixed 0.6s linear;
    -moz-animation: header-fixed 0.6s linear;
    -ms-animation: header-fixed 0.6s linear;
    animation: header-fixed 0.6s linear;
}

#gnavi.fixed .gnavi_ctn_pc>li>a {
    font-size: 14px;
}

.gnavi_ctn_pc {
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.gnavi_ctn_pc>li {
    position: relative;
    padding: 4px 50px 2px;
    border-right: dashed 1px #ccc8be;
}

.gnavi_ctn_pc>li:first-child {
    border-left: dashed 1px #ccc8be;
}

.gnavi_ctn_pc>li>a {
    position: relative;
    display: block;
    text-decoration: none;
    width: 100%;
    text-align: center;
    font-weight: bold;
    transition: all 0.3s ease;
    color: #545454;
    letter-spacing: 0.1em;
    font-size: 18px;
}

.gnavi_ctn_pc>li.over>a:after {
    content: "";
    position: absolute;
    width: 10px;
    height: 6px;
    background: url(../images/gnavi_ico_arr.png) no-repeat center;
    background-size: contain;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.gnavi_ctn_pc>li.over>a {
    padding-right: 12px;
}

.sub_menu {
    position: absolute;
    left: 50%;
    top: 100%;
    width: 300px;
    transform: translateX(-50%);
    z-index: 1000;
    padding: 10px 0;
    background: #1eaa39;
    display: none;
}

.sub_menu li {
    line-height: 1.5em;
    padding: 10px 30px;
}

.sub_menu li a {
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
    transition: all .3s;
}

.sub_menu li a:before {
    position: absolute;
    left: 0;
    top: 5px;
    content: '';
    background: url(../images/sub_menu_arr.png) no-repeat center;
    background-size: contain;
    width: 8px;
    height: 12px;
}

/*===================== End Gnavi ========================*/

/*===================== Top Mainvisual ============================*/
.index #mainvisual {
    height: 680px;
    position: relative;
    background-image: linear-gradient(180deg, #fff 50%, #f0f8e9 50%);
}

.index #mainvisual .slick-slide,
.index #mainvisual .slick-track,
#mainvisual .slick-list {
    overflow: hidden;
    height: 100%;
}

.index #mainvisual .slick-slide:focus {
    outline: 0;
}

.index #mainvisual .container {
    height: 100%;
}

.index #mainvisual .swiper {
    height: 100%;
}

.index #mainvisual .swiper img.pc {
    display: block
}

.index #mainvisual .swiper img.sp {
    display: none
}

.swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    display: flex !important;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 20px;
}

body.index .swiper-slide img {
    display: block;
    width: auto;
    height: 100%;
    max-width: inherit;
    margin: 0 auto
}

.idx_mv {
    position: relative;
    max-width: 1720px;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    overflow: hidden;
}

.idx_mv:before {
    content: '';
    height: 100%;
    width: 300px;
    position: absolute;
    top: 0;
    left: -300px;
    background: rgba(255, 255, 255, 0.6);
    transition: 1s;
    opacity: 0;
}

.idx_mv.onload::before {
    left: 100%;
    opacity: 1;
}

.idx_mv .slide01 {
    background: url(../images/idx_mv01.jpg) no-repeat center;
    background-size: cover;
    height: 100%;
    border-radius: 20px;
}

.idx_mv .slide02 {
    background: url(../images/idx_mv02.jpg) no-repeat center;
    background-size: cover;
    height: 100%;
    border-radius: 20px;
}

.idx_mv .slick-slide img {
    display: none;
}

.idx_mv img {
    border-radius: 20px;
}

.idx_main_txt {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    max-width: 984px;
    width: 100%;
    margin: 0 auto;
    z-index: 1000;
    top: 73%;
}

.idx_main_txt .txt span {
    background: #0c8e2b;
    color: #fff;
    display: inline-block;
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding: 16px 30px 14px;
    margin-bottom: 13px;
    border-radius: 30px;
    text-align: center;
}

.idx_main_txt .txt span:last-child {
    margin-bottom: 0;
    letter-spacing: -0.05em;
}

.grp_main_ico {
    position: relative;
    width: 1200px;
    display: flex;
    justify-content: space-between;
    margin: -20px auto 0;
    z-index: 100;
}

.grp_main_ico li {
    width: 220px;
    display: flex;
    background: #fff;
    position: relative;
    text-align: center;
    justify-content: center;
    align-items: center;
    height: 125px;
    box-shadow: 1px 0px 10px rgb(57, 57, 57, 0.15);
    border-radius: 15px;
    transition: all 0.3s ease;
    border: solid 1px transparent;
}

.grp_main_ico div {
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #545454;
    width: 100%;
    height: 100%;
}


.grp_main_ico .ico span {
    width: 60px;
    height: 60px;
    border: 1px solid #0c8e2b;
    border-radius: 100%;
    background: #FDF7F9;
    margin: 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.grp_main_ico .ico {
    position: absolute;
    top: -26px;
    margin: 0;
    left: 50%;
    transform: translateX(-50%);
}

.grp_main_ico .ttl {
    font-size: 18px;
    line-height: 1.5em;
    margin: 0;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding-top: 25px;
}

.grp_main_ico .ttl span {
    line-height: 1.5em;
}

.green {
    color: #0c8e2b;
}

.yellow {
    color: #fbb82d;
}

/*===================== end Top Mainvisual ========================*/

/*===================== Top Content ============================*/
.idx_btn {
    display: flex;
    justify-content: center;
}

.idx_btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px 40px;
    position: relative;
    background: #0c8e2b;
    color: #fff;
    border: solid 1px #fff;
    transition: all 0.3s ease;
    text-decoration: none;
    border-radius: 30px;
    min-width: 380px;
    font-size: 24px;
    font-weight: bold;
}

.idx_btn.yellow a {
    background: #fbb82d;
}

.idx_btn a:after {
    position: absolute;
    content: '';
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    background: url(../images/idx_ico_btn_white.png) no-repeat center;
    background-size: contain;
    width: 8px;
    height: 12px;
    transition: all 0.3s ease;
}

.idx_btn a:hover {
    background: #fff;
    transition: all 0.3s ease;
    color: #0c8e2b;
    border: solid 1px #0c8e2b;
}

.idx_btn.yellow a:hover {
    color: #fbb82d;
    border: solid 1px #fbb82d;
}

.idx_btn a:hover:after {
    background: url(../images/idx_ico_btn_green.png) no-repeat center;
    background-size: contain;
    transition: all 0.3s ease;
}

.idx_btn.yellow a:hover:after {
    background: url(../images/idx_ico_btn_yellow.png) no-repeat center;
    background-size: contain;
}

.idx_btn.white a {
    color: #454545;
    border: solid 1px #dfdbcf;
    padding: 7px 40px 7px 27px;
    background: #fff;
    font-size: 16px;
    justify-content: flex-start;
}

.idx_btn.white a:hover {
    color: #fff;
    border: solid 1px #0c8e2b;
    background: #0c8e2b;
}

.idx_btn.white a:after {
    right: 17px;
    background: url(../images/idx_ico_btn_green.png) no-repeat center;
    background-size: contain;
}

.idx_btn.white a:hover:after {
    background: url(../images/idx_ico_btn_grey.png) no-repeat center;
    background-size: contain;
}

.idx_btn_shika a {
    display: inline-block;
    padding: 12px 60px !important;
    position: relative;
    background: #fff;
    color: #666;
    border: solid 1px #ccc;
    transition: all 0.3s ease;
    text-decoration: none;
    border-radius: 50px;
    min-width: 480px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.6em;
}

.idx_btn_shika a:hover {
    background: #0c8e2b;
    color: #fff;
    border: solid 1px #0c8e2b;
}

.idx_btn_shika a span {
    font-size: 140%;
    line-height: 1.6em;
}


.idx_h3 {
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
}

.idx_h3 .jp {
    font-size: 34px;
    display: block;
    line-height: 1.5em;
    letter-spacing: 0.07em;
}

.idx_h3 .en {
    display: inline-block;
    position: relative;
    color: #0c8e2b;
    line-height: 1.5em;
    padding: 0 47px;
    margin-bottom: 0px;
    letter-spacing: 0.15em;
}

.idx_h3 .en.yellow {
    color: #fbb82d;
}

.idx_h3 .en:before,
.idx_h3 .en:after {
    position: absolute;
    content: '';
    top: 50%;
    transform: translateY(-50%);
    background: #0c8e2b;
    width: 40px;
    height: 1px;
}

.idx_h3 .en.yellow:before,
.idx_h3 .en.yellow:after {
    background: #fbb82d;
}

.idx_h3 .en:before {
    left: 0;
}

.idx_h3 .en:after {
    right: 0;
}

.idx_des {
    text-align: center;
    margin-bottom: 47px;
}
.idx_add01 {
	padding: 35px 0 35px;
}
.idx_add01 .under_frame::before {
	z-index: 1;
}
.idx_add01 .under_frame p {
	position: relative;
	z-index: 2;
}

.idx_b01 {
    padding: 35px 0 94px;
}

.idx_b01 .container {
    max-width: 1500px;
    width: 100%;
    margin: 0 auto;
}

.b01_list {
    display: flex;
    justify-content: space-between;
}

.b01_list li {
    text-decoration: none;
    width: 334px;
}

.b01_item .img {
    margin-bottom: 28px;
}

.b01_item .img a {
    position: relative;
    line-height: 0;
    display: block;
}


/* .b01_item .img a:after {
    position: absolute;
    bottom: -10px;
    right: -10px;
    -webkit-border-radius: 10px;
    -webkit-border-top-left-radius: 0;
    -moz-border-radius: 10px;
    -moz-border-radius-topleft: 0;
    border-radius: 10px;
    border-top-left-radius: 0;
    content: '';
    width: 0;
    height: 0;
    transition: all 0.5s ease;
} */
.b01_item .img a:after {
    position: absolute;
    left: 0;
    top: 0;
    content: '';
    background: rgba(12, 142, 43, 0.4);
    transition: all 0.3s ease;
    opacity: 0;
    visibility: hidden;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    z-index: -1;
}

.b01_item .img a:before {
    position: absolute;
    left: 10px;
    top: 10px;
    /* -webkit-border-radius: 10px;
    -webkit-border-bottom-right-radius: 0;
    -moz-border-radius: 10px;
    -moz-border-radius-bottomright: 0;
    border-radius: 10px;
    border-bottom-right-radius: 0; */
    border-radius: 10px;
    content: '';
    width: 100%;
    height: 100%;
    transition: all 0.5s ease;
    z-index: 3;
    border: solid 1px #0c8e2b;
}


.b01_item .img a:hover:before {
    /* width: 100%;
    height: 100%;
    transition: all 0.5s ease;
    border-top: solid 1px #0c8e2b;
    border-left: solid 1px #0c8e2b; */
}

.b01_item .img a:hover:after {
    opacity: 1;
    visibility: visible;
    transition: all 0.3s ease;
}

/* .b01_item .img a:hover:after {
    border-right: solid 1px #0c8e2b;
    border-bottom: solid 1px #0c8e2b;
    width: 100%;
    height: 100%;
    transition: all 0.5s ease;
} */


.b01_item .img img {
    border-radius: 10px;
}

.b01_item .num {
    font-family: 'Quicksand', sans-serif;
    position: absolute;
    right: 22px;
    bottom: 42px;
    font-size: 60px;
    font-weight: bold;
    transform: skew(-8deg);
    color: #0c8e2b;
    display: block;
    letter-spacing: 0.1em;
    transition: all 0.3s ease;
    z-index: 3;
}

.b01_item .des {
    text-align: center;
}

.b01_item .des a {
    color: #555555;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 1.4em;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}

.b01_item .green {
    font-weight: bold;
}

.idx_b02 {
    position: relative;
    padding: 95px 0 105px;
    background: url(../images/idx_b02_bg.jpg) no-repeat center;
    background-size: cover;
}

.idx_b02 .idx_h3 {
    margin-bottom: 27px;
}

.b02_list {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 110px;
    max-width: 1170px;
    width: 100%;
}

.b02_list.last {
    margin-bottom: 0;
}

.b02_item {
    width: 555px;
    position: relative;
}

.b02_item img {
    border-radius: 10px;
    text-align: center;
}

.b02_item .img {
    line-height: 0;
    margin-bottom: 13px;
}

.b02_item .des {
    text-align: center;
    letter-spacing: 0.15em;
    margin-bottom: 0;
    font-size: 18px;
}

.b02_item .idx_btn {
    position: absolute;
    top: 66%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.idx_b02_txt {
    position: absolute;
    right: 6%;
    top: 56%;
    transform: translateY(-50%);
    height: 100%;
}

.idx_b02_txt span {
    font-size: 120px;
    color: #fff;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: inline-block;
}

.idx_b03 {
    padding: 98px 0 0;
}

.idx_b03 .idx_btn a {
    min-width: 220px;
}

.idx_b03_ttl {
    max-width: 1200px;
    width: 100%;
    text-align: center;
    position: relative;
    margin: 0 auto 50px;
}

.idx_b03_ttl .idx_h3 {
    margin-bottom: 54px;
}

.idx_b03_ttl .idx_btn {
    position: absolute;
    right: 0;
    top: 24px;
}

.b03_step {
    position: relative;
    display: flex;
    justify-content: space-between;
    max-width: 1470px;
    margin: 0 auto 30px;
}

.b03_step:after {
    position: absolute;
    content: '';
    top: 28%;
    left: 50%;
    transform: translateX(-50%);
    background: #dfdbcf;
    height: 3px;
    width: 90%;
    z-index: -1;
}

.b03_step li {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: calc(100% / 8);
}

.b03_step li:last-child:after {
    content: none;
}

.b03_step .ico {
    width: 120px;
    line-height: 0;
    margin-bottom: 9px;
}

.b03_step .step {
    position: relative;
    color: #0c8e2b;
    font-weight: bold;
    text-align: center;
    line-height: 1.5em;
    margin-bottom: 8px;
}

.b03_step .step span {
    font-size: 18px;
    font-family: 'Quicksand', sans-serif;
    letter-spacing: 0.15em;
    padding-bottom: 2px;
    border-bottom: dashed 1px #0c8e2b;
}

.b03_step .des {
    font-weight: bold;
    line-height: 1.5em;
    text-align: center;
}

.b03_list {
    position: relative;
    background: url(../images/idx_b03_bg.jpg) no-repeat center;
    background-size: cover;
}

.b03_list:before {
    position: absolute;
    content: '';
    left: 0;
    top: -18px;
    background: url(../images/b03_img_leaf01.png) no-repeat center;
    background-size: cover;
    width: 200px;
    height: 156px;
}

.b03_list:after {
    position: absolute;
    content: '';
    right: 0;
    bottom: -75px;
    background: url(../images/b03_img_leaf02.png) no-repeat center;
    background-size: cover;
    width: 268px;
    height: 134px;
}

.b03_list_ctn {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 1410px;
    margin: 0 auto;
    padding: 100px 0 50px;
}

.b03_list_ctn li {
    position: relative;
    width: 440px;
    min-height: 260px;
    margin: 0 15px 30px;
    border-radius: 10px;
}

.b03_list_ctn a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    border-radius: 10px;
    overflow: hidden;
    text-align: center;
    padding: 30px;
}
.b03_list_ctn.cus {
	padding: 0;
	margin: 0 auto 60px;
}
.b03_list_ctn.cus li {
    min-height: 200px;
}

.b03_list_ctn li.i01 {
    background: url(../images/idx_b03_img01.jpg) no-repeat center;
    background-size: cover;
}

.b03_list_ctn li.i02 {
    background: url(../images/idx_b03_img02.jpg) no-repeat center;
    background-size: cover;
}

.b03_list_ctn li.i03 {
    background: url(../images/idx_b03_img03.jpg) no-repeat center;
    background-size: cover;
}

.b03_list_ctn li.i04 {
    background: url(../images/idx_b03_img04.jpg) no-repeat center;
    background-size: cover;
}

.b03_list_ctn li.i05 {
    background: url(../images/idx_b03_img05.jpg) no-repeat center;
    background-size: cover;
}

.b03_list_ctn li a:before {
    position: absolute;
    left: 0;
    top: 0;
    content: '';
    background: rgba(12, 142, 43, 0.4);
    transition: all 0.3s ease;
    opacity: 0;
    visibility: hidden;
    width: 100%;
    height: 100%;
    border-radius: 10px;
}


.b03_list_ctn li a:hover:before {
    opacity: 1;
    visibility: visible;
    transition: all 0.3s ease;
}

.b03_list_ctn a:after {
    position: absolute;
    /* bottom: 10px;
    right: 10px;
    -webkit-border-radius: 10px;
    -webkit-border-top-left-radius: 0;
    -moz-border-radius: 10px;
    -moz-border-radius-topleft: 0;
    border-radius: 10px;
    border-top-left-radius: 0; */
    border-radius: 10px;
    content: '';
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: solid 1px #fff;
    border-radius: 10px;
    left: 10px;
    top: 10px;
}

/* .b03_list_ctn a:before {
    position: absolute;
    left: 10px;
    top: 10px;
      -webkit-border-radius: 10px;
    -webkit-border-bottom-right-radius: 0;
    -moz-border-radius: 10px;
    -moz-border-radius-bottomright: 0;
    border-radius: 10px;
    border-bottom-right-radius: 0; 
    content: '';
    width: 0;
    height: 0;
    transition: all 0.5s ease;
} */

/* .b03_list_ctn a:hover:before,
.b03_list_ctn a:hover:after {
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    transition: all 0.5s ease;
}

.b03_list_ctn a:hover:before {
    border-top: solid 1px #fff;
    border-left: solid 1px #fff;
}

.b03_list_ctn a:hover:after {
    border-right: solid 1px #fff;
    border-bottom: solid 1px #fff;
} */

.b03_list_ctn.cus {
    padding: 0;
    margin: 0 auto 60px;
}

.b03_list_ctn .ttl {
    position: relative;
    z-index: 1;
    color: #fffefe;
    font-family: 'Quicksand', sans-serif;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.5em;
    text-shadow: 1px 0 5px rgba(57, 57, 57, 0.5);
    letter-spacing: 0.1em;
    z-index: 4;
}

.b03_list_ctn .jp {
    display: block;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.4em;
    margin-bottom: 7px;
}

.b03_list_ctn .ttl.one_line .jp {
    font-size: 34px;
    letter-spacing: 0.27em;
    margin-bottom: 9px;
    line-height: 1.6em;
}

.b03_list_ctn .ttl.one_line {
    line-height: 1.3em;
}

.idx_b04 {
    position: relative;
    padding: 80px 0 60px;
}

.idx_b04 .idx_h3 {
    margin-bottom: 47px;
}

.b04_list {
    display: flex;
    justify-content: space-between;
}

.idx_b04 .img {
    position: absolute;
    top: 0;
    right: calc(50% + 37px);
    margin-top: 200px;
    line-height: 0;
    width: 760px;
    height: 300px;
    flex-shrink: 0;
}

.b04_list .info {
    margin-left: auto;
    width: 50%;
}

.b04_list .des {
    margin-bottom: 35px;
    line-height: 2.3em;
}

.b04_list .des.last {
    margin-bottom: 32px;
}

.b04_list .idx_btn a {
    min-width: 310px;
}

.idx_b05 {
    padding: 36px 0 104px;
}

.b05_list {
    display: flex;
    justify-content: space-between;
}

.b05_item {
    width: 360px;
    background: #f0f8e9;
    border-radius: 10px;
    padding: 20px;
}

.b05_item .date {
    font-family: 'Quicksand', sans-serif;
    font-size: 14px;
    font-weight: bold;
    color: #0c8e2b;
    line-height: 1.5em;
    margin-bottom: 5px;
    padding: 0 13px;
    letter-spacing: 0.04em;
}

.b05_item .img {
    margin-bottom: 15px;
}

.b05_item .img a {
    position: relative;
    line-height: 0;
    display: block;
    background: #f0f0f0;
    height: 170px;
    overflow: hidden;
    border-radius: 10px;
}

.b05_item img {
    max-height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.b05_item .ttl {
    line-height: 1.4em;
    padding: 0 10px;
}

.b05_item .ttl a {
    text-decoration: none;
    color: #545454;
    font-size: 15px;
    font-weight: bold;
    transition: all 0.3s ease;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    display: block;
}

.b05_item .ttl a:hover {
    color: #0c8e2b;
    opacity: 0.7;
    transition: all 0.3s ease;
}

.idx_b06 {
    position: relative;
    padding: 105px 0 103px;
    background: url(../images/idx_b06_bg.jpg) no-repeat center;
    background-size: cover;
}

.idx_b06 .idx_h3 {
    text-align: left;
    margin-bottom: 35px;
}

.idx_b06 .idx_h3 .en {
    color: #fff;
    letter-spacing: 0.08em;
}

.idx_b06 .container {
    display: flex;
    align-items: center;
    height: 100%;
}

.idx_b06 .idx_h3 .en {
    padding-left: 0;
}

.idx_b06 .idx_h3 .en:before {
    content: none;
}

.idx_b06 .idx_h3 .en:after {
    background: #fff;
}

.b06_info {
    margin-right: auto;
    color: #fff;
    width: 50%;
}

.b06_img {
    position: absolute;
    left: calc(50% + 20px);
    top: 0;
    width: 730px;
    margin-bottom: 0;
    margin-top: 50px;
}

.b06_img img {
    border-radius: 10px;
}

/*===================== end Top Mainvisual ========================*/


/*===================== Footer ========================*/
.f_logo {
    width: 400px;
    padding-top: 30px;
    margin-bottom: 27px;
}

.f_logo a {
    display: block;
    line-height: 0;
}

.f_top {
    padding: 85px 0 80px;
}

.f_top .container {
    display: flex;
    justify-content: space-between;
}

.f_info {
    width: 404px;
}

.f_note {
    background: #0c8e2b;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    text-align: center;
    border-radius: 15px;
    padding: 2px 10px 0;
    letter-spacing: 0.1em;
}

.f_tel {
    text-align: center;
    margin-bottom: 9px;
}

.f_tel a {
    text-decoration: none;
    color: #545454;
    display: block;
}

.f_tel span {
    font-family: 'Quicksand', sans-serif;
    font-weight: bold;
    font-size: 50px;
    position: relative;
    display: inline-block;
    padding-left: 50px;
}

.f_tel span:before {
    position: absolute;
    content: '';
    left: 0;
    top: -7px;
    background: url(../images/ico_tel.png) no-repeat center;
    background-size: contain;
    width: 45px;
    height: 45px;
}

.f_add {
    font-size: 14px;
    text-align: center;
    line-height: 1.5em;
    margin-bottom: 25px;
}

.f_txt {
    line-height: 1.5em;
    font-size: 14px;
    margin-bottom: 20px;
}

.f_working_time {
    width: 100%;
    margin: 0 auto 17px;
}

.f_list_bnr {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.f_list_bnr a {
    line-height: 0;
    display: block;
}

.f_list_bnr li:first-child {
    width: 210px;
}

.f_list_bnr li:last-child {
    width: 177px;
}

.f_map {
    width: calc(100% - 468px);
}

.f_map .map {
    margin-bottom: 0;
    height: 500px;
}

.f_map iframe {
    width: 100%;
    height: 100%;
}

.f_menu {
    padding: 76px 0 80px;
    background: #f9f9f9;
}

.f_menu .container {
    display: flex;
    max-width: 1120px;
    width: 100%;
    margin: 0 auto;
}

.f_menu_item:last-child {
    margin-right: 0;
}

.f_menu_item li>a {
    display: flex;
    position: relative;
    color: #545454;
    text-decoration: none;
    transition: all 0.3s ease;
    line-height: 1.5em;
    font-size: 13px;
}

.f_menu_item li {
    margin-bottom: 11px;
}

.f_menu_item li:last-child {
    margin-bottom: 0;
}

.f_menu_item li.ttl>a {
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.01em;
}

.f_menu_item.has_multi ul {
    margin-bottom: 37px;
}

.f_menu_item.has_multi ul.last {
    margin-bottom: 0;
}

.f_menu_item li.ttl {
    margin-bottom: 14px;
}

.f_menu_item li:not(.ttl)>a:before {
    position: absolute;
    content: '';
    left: 0;
    top: 3px;
    background: url(../images/ico_f_arrow.png) no-repeat center;
    background-size: contain;
    width: 8px;
    height: 10px;
}

.f_menu_item li.no_hover>a:hover {
    opacity: 1;
}

.f_menu_item li:not(.ttl)>a {
    padding-left: 15px;
}

#totop {
    position: fixed;
    bottom: 20px;
    right: 60px;
    width: 80px;
    height: 80px;
    z-index: 1000;
    margin-bottom: 0;
}

#totop a {
    display: block;
}

#totop:hover {
    opacity: 0.7;
}

.copyright {
    margin-bottom: 0;
    line-height: 1.5em;
    background: #0c8e2b;
    font-size: 12px;
    color: #fff;
    text-align: center;
    padding: 30px 3% 32px;
    letter-spacing: 0.1em;
}

/*===================== End Footer ========================*/


/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/

.note {
    color: #0c8e2b;
    font-size: 12px;
    margin-bottom: 10px;
}

.vtop {
    vertical-align: top;
}

.w33 {
    width: 33.33%;
}

.w20 {
    width: 20%;
}

.lh0 {
    line-height: 0;
}

.v_middle {
    vertical-align: middle;
}

.under #main {}

.under #content {
    width: 1200px;
    margin: 0 auto;
}

.under h3,
.under h4,
.under h5,
.under h6 {
    line-height: 1.5em;
    word-break: break-all;
    word-wrap: break-word;
}

.under #mainvisual {
    position: relative;
}

.under #mainvisual:before {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    background-image: linear-gradient(180deg, #fff 50%, #f0f8e9 50%);
    width: 100%;
    height: 100%;
    z-index: -1;
}

.under_mv {
    max-width: 1720px;
    height: 350px;
    margin: 0 auto;
    background: url(../images/under_mainvisual.jpg) center/cover no-repeat;
    border-radius: 20px;
}

.under #mainvisual .container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.under #mainvisual h2 {
    display: inline-block;
    padding: 20px 40px 18px;
    background-color: #0c8e2b;
    border-radius: 100px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.4em;
}

.topic_path {
    margin: 20px 0 40px;
}

.topic_path li {
    position: relative;
    display: inline-block;
    padding-right: 40px;
    color: #555;
    font-size: 14px;
    font-weight: 500;
}

.topic_path li a {
    color: #555;
    text-decoration: none;
}

.topic_path li:after {
    content: '>';
    position: absolute;
    top: -2px;
    right: 13px;
}

.topic_path li:last-child {
    padding-right: 0;
}

.topic_path li:last-child:after {
    content: none;
}

.topic_path li a:hover {
    color: #0c8e2b;
}

.under h3 {
    margin-bottom: 40px;
    font-size: 34px;
    font-weight: bold;
    text-align: center;
    line-height: 1.4em;
}

.under h3 span.en {
    position: relative;
    color: #0c8e2b;
    font-family: 'Quicksand', sans-serif;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.15em;
}

.under h3 span.en::before,
.under h3 span.en::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 1px;
    background-color: #0c8e2b;
}

.under h3 span.en::before {
    left: -55px;
}

.under h3 span.en::after {
    right: -55px;
}

.under h3 span.jp {
    display: block;
    margin-top: -7px;
}

.under h4 {
    margin-bottom: 30px;
    padding: 7px 15px 5px;
    color: #545454;
    font-size: 26px;
    font-weight: bold;
    background-color: #f0f8e9;
    border-left: 5px solid #0c8e2b;
    line-height: 1.4em;
}

.under h4.new {
    position: relative;
    padding-left: 80px;
}

.under h4.new:before {
    position: absolute;
    content: 'NEW!';
    font-size: 20px;
    left: 0;
    top: 0;
    background: #fd694e;
    color: #fff;
    width: 70px;
    display: flex;
    height: 100%;
    text-align: center;
    vertical-align: middle;
    justify-content: center;
    align-items: center;
}

.under h5 {
    margin-bottom: 30px;
    color: #545454;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4em;
}

.under h5::first-letter {
    color: #fbb82d;
}

.under h6 {
    margin-bottom: 30px;
    color: #0c8e2b;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4em;
}

.under .txt_top {
    padding: 0 50px;
    text-align: center;
}

.under_txtimg {
    display: flex;
    justify-content: space-between;
}

.under_txtimg .txt {
    flex-shrink: 0;
    width: 570px;
}

.under .img {
    border-radius: 10px;
    overflow: hidden;
}

.under_tbl td,
.under_tbl th {
    padding: 18px 20px 14px;
    border: 1px solid #dfdbcf;
}

.under_tbl th {
    background-color: #0c8e2b;
}

.under_tbl02 {
    padding: 18px 20px 14px;
}

.under_tbl02 tr:nth-child(even) {
    background-color: #f0f8e9;
}

.under_tbl02 th {
    border: none;
    background: none;
    color: #0c8e2b;
}

.under_tbl02 td {
    border: none;
}

.under_list li {
    position: relative;
    padding-left: 18px;
}

.under_list li:before {
    content: '';
    position: absolute;
    top: 12px;
    left: 0;
    width: 8px;
    height: 8px;
    background-color: #0c8e2b;
    border-radius: 100%;
}

.under_list li:last-child {
    margin-bottom: 0;
}

.under_list_tick li {
    padding-left: 28px;
}

.under_list_tick li:before {
    top: 8px;
    width: 20px;
    height: 16px;
    background: url(../images/ico_tick.png) center no-repeat;
    background-size: contain;
}

.under_list.num {
    counter-reset: mylist;

}

.under_list.num li {
    counter-increment: mylist;
    padding-left: 30px;
}

.under_list.num li:before {
    display: flex;
    justify-content: center;
    align-items: center;
    content: counter(mylist);
    left: 0;
    top: 4px;
    border: solid 1px #0c8e2b;
    color: #fff;
    background: #0c8e2b;
    padding: 12px 10px 10px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
}

.under .bg_full {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    margin-bottom: 60px;
    padding: 100px 0;
    background: url(../images/bg_pickup.png) center repeat;
}

.under .bg_full img {
    width: 400px;
}

.under .bg_full .w_auto img {
    width: auto;
}

.under .bg_full section,
.under .bg_full .section {
    margin-bottom: 0;
}

.under .ttl_pickup {
    margin-bottom: 40px;
}

.under .ttl_pickup .en {
    position: relative;
    margin-right: 80px;
    color: #0c8e2b;
    font-family: 'Quicksand', sans-serif;
    font-size: 45px;
    font-weight: bold;
    letter-spacing: 0.1em;
}

.under .ttl_pickup .en::after {
    content: '';
    position: absolute;
    top: 20px;
    right: -55px;
    width: 152px;
    height: 57px;
    background: url(../images/ico_pickup.png) center no-repeat;
    background-size: cover;
    z-index: -1;
}

.under .ttl_pickup .jp {
    font-size: 30px;
    font-weight: bold;
    line-height: 1.4em;
}

.under .bg_full p:last-child {
    margin-bottom: 0;
}

.under_frame {
    position: relative;
    padding: 50px;
    background-color: rgba(12, 142, 43, 0.1);
    border-radius: 10px;
}

.under_frame::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    width: 100%;
    height: 100%;
    border: 1px solid #0c8e2b;
    border-radius: 10px;
}

.under_frame::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 152px;
    height: 57px;
    background: url(../images/ico_leaf.png) center no-repeat;
    background-size: cover;
    transform: scaleX(-1);
}

.under_frame02 {
    position: relative;
    padding: 50px 170px 50px 50px;
    background: rgba(251, 184, 45, 0.2) url(../images/under_man.png) no-repeat right bottom;
    border-radius: 10px;
}

.under_frame02::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: 1px solid #fbb82d;
    border-radius: 10px;
}

.under_frame .ttl,
.under_frame02 .ttl {
    position: relative;
    text-align: center;
    color: #0c8e2b;
    font-size: 24px;
    font-weight: bold;
}

.under_frame .ttl::after,
.under_frame02 .ttl::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    border-bottom: 1px dashed #0c8e2b;
}


.under_bnr {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.under_bnr.col2 li {
    width: 48%;
}

.under_bnr li {
    width: 100%;
}

.under_bnr a {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    justify-content: center;
    font-size: 25px;
    padding: 34px 20px 30px;
    line-height: 1.85em;
    text-decoration: none;
    color: #fff;
    background: rgba(12, 142, 43, 0.7);
    position: relative;
    z-index: 1;
    transition: all 0.3s ease;
    font-family: 'Noto Sans JP', sans-serif;
    border-radius: 10px;
    font-weight: bold;
    overflow: hidden;
    box-shadow: 0px 1px 11px rgba(0, 0, 0, 0.1), 0px 1px 11px rgba(0, 0, 0, 0.1), 0px 1px 11px rgba(0, 0, 0, 0.1);
    border: 2px solid #fff;
    text-shadow: 0px 5px 5px rgba(0, 0, 0, 0.2);
}

.under_bnr a:before {
    content: "";
    position: absolute;
    top: 0;
    left: -5px;
    transform: rotate(25deg);
    width: 152px;
    height: 57px;
    background: url(../images/ico_leaf.png) center no-repeat;
    background-size: cover;
    z-index: -1;
}

.under_bnr a:not([target="_blank"]):hover {
    background: rgba(12, 142, 43, 0.9);
}

.under_box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.under_box li {
    position: relative;
    width: 48.2%;
    background-color: #f0f8e9;
    border-radius: 10px;
}

.under_box.step.col03 li {
    width: 30%;
}

.under_box li .ttl {
    margin: 0;
    padding: 12px 20px 10px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    background-color: #0c8e2b;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.under_box li .ttl::after {
    display: none;
}

.under_box li .img {
    text-align: center;
    margin-bottom: 0;
    line-height: 0;
    padding: 25px 0;
}

.under_box li .txt {
    padding: 20px;
}

.under_box li .txt p:not(:last-child) {
    margin-bottom: 20px;
}

.under_box.step li {
    width: 45%;
}

.under_box.step li:first-child::before {
    content: '';
    position: absolute;
    top: 50%;
    right: -90px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 0 30px 50px;
    border-color: transparent transparent transparent #b1b1b1;
}

.under_box.step.col03 li:before {
    content: '';
    position: absolute;
    top: 50%;
    right: -48px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 0 20px 30px;
    border-color: transparent transparent transparent #b1b1b1;
}

.under_box.step.col03 li:last-child:before {
    content: none;
}

.under_step dl {
    position: relative;
    background-color: #f0f8e9;
    border-radius: 10px;
}

.under_step dl::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: 1px solid #0c8e2b;
    border-radius: 10px;
}

.under_step dl:not(:last-child)::after {
    content: '';
    position: absolute;
    bottom: -55px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 30px 0 30px;
    border-color: #fbb82d transparent transparent transparent;
}

.under_step dl:not(:last-child) {
    margin-bottom: 80px;
}

.under_step dt {
    padding: 20px;
    background-color: #0c8e2b;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
}

.under_step dt span {
    position: relative;
    display: inline-block;
    margin-right: 10px;
    color: #fff;
    text-transform: uppercase;
}

.under_step dt span::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
    border-top: 1px dashed #fff;
}

.under_step dd {
    padding: 20px;
}


.image_l img,
.image_r img,
.image_c img {
    border-radius: 10px;
}

.lightgreen {
    background-color: rgba(12, 142, 43, 0.7) !important;
    color: #fff;
}

.lightyellow {
    background-color: rgba(251, 184, 45, 0.7) !important;
    color: #fff;
}

.red {
    color: #fd694e;
}

.anchor_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 30px;
}

.anchor_list li {
    margin: 10px;
}

.anchor_list.col05 li {
    width: 18%;
}

.anchor_list.col04 li {
    width: 23%;
}

.anchor_list.col02 li {
    width: 45%;
}

.anchor_list.col03 li {
    width: 30%;
}

.anchor_list li a {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #0c8e2b;
    color: #fff;
    height: 100%;
    text-align: center;
    padding: 18px 40px;
    text-decoration: none;
    border: solid 1px #0c8e2b;
    font-weight: bold;
    line-height: 1.5em;
    transition: all 0.3s ease;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}



.anchor_list li a:after {
    position: absolute;
    content: '';
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 6px;
    background: url(../images/under_anchor_white.png) no-repeat center;
    background-size: contain;
    transition: all 0.3s ease;
}

.anchor_list.col04 li a {
    font-size: 13px;
    padding: 13px 28px;
}

.anchor_list.col05 li a {
    font-size: 12px;
    padding: 13px 28px;
}

.anchor_list.col04 li a:after,
.anchor_list.col05 li a:after {
    right: 10px;
}

.clinic_map iframe {
    width: 100%;
    height: 500px;
}

.clinic_tel a {
    text-decoration: none;
    color: #545454;
}

.clinic_tel a:hover {
    color: #545454;
}

.blog_list li {
    overflow: hidden;
    position: relative;
    padding: 0 0 20px 0;
    margin-bottom: 30px;
    border-bottom: 1px solid #ddd;
}

.blog_list .image_l {
    position: relative;
    width: 350px;
    height: 210px;
    line-height: 0;
    text-align: center;
    overflow: hidden;
    background: #f1f1f1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px
}

.blog_list .image_l img {
    max-height: 100%;
    height: auto;
    border-radius: 0
}

.blog_list .tit {
    font-size: 18px;
    font-weight: bold;
    color: #0c8e2b;
    line-height: 1.6em;
    margin-bottom: 15px;
}

.blog_list .date {
    text-align: right;
    display: block;

}

.blog_list .date span {
    padding: 5px 0 5px 20px;
    background: url(../images/time.png) no-repeat left 0 top 50%;
    background-size: 12px;
    font-size: 13px
}

.blog_list a {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    transition: all 0.3s ease;
}

.blog_list li:hover {
    opacity: 0.7;
    transition: all 0.3s ease;
}

.pagination {
    text-align: center
}

.pagination li {
    display: inline-block;
    margin: 2px;

}

.pagination li a {
    padding: 5px 17px 5px;
    background-color: #0c8e2b;
    border-radius: 5px;
    border: 2px solid #0c8e2b;
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
    font-family: Meiryo, sans-serif;
    display: inline-block;
    font-weight: bold
}

.pagination li.active a,
.pagination li a:hover {
    background-color: #fff;
    color: #0c8e2b;
}

.u_btn {
    text-decoration: none;
    color: #fff;
    padding: 10px 40px;
    background: #0c8e2b;
    min-width: 250px;
    font-weight: bold;
    display: inline-block;
    transition: all 0.3s ease;
}

.u_btn:hover {
    transition: all 0.3s ease;
    opacity: 0.7;
    color: #fff;
}

.blog_img {
    text-align: center;
}

.blog_img img {
    max-height: 500px;
}

.blog_cate {
    margin-bottom: 50px;
    display: flex;
    justify-content: center;
}

.blog_cate li {
    margin: 0 10px 20px;
    width: 30%;
}

.blog_cate li a {
    display: block;
    padding: 10px 20px 10px 10px;
    text-align: center;
    position: relative;
    border: 2px solid #1eaa39;
    background: #1eaa39;
    text-decoration: none;
    font-weight: bold;
    transition: all .4s ease;
    color: #fff;
}

.blog_cate li a:hover {
    transition: all .4s ease;
    opacity: 0.7;
    color: #fff;
}

.blog_cate li a:after {
    position: absolute;
    content: '';
    right: 15px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    width: 9px;
    height: 9px;
    z-index: 1;
    transition: all .4s ease;
}

.blog_list [class^="txt_cate"] {
    position: absolute;
    left: 10px;
    top: 10px;
    background: #1eaa39;
    color: #fff;
    text-align: center;
    padding: 12px;
    display: block;
}

.blog_list .txt_cate01 {
    background: #1eaa39;
}

.blog_list .txt_cate02 {
    background: #fbb82d;
}

.blog_list .txt_cate03 {
    background: #545454;
}

.lett_1 {
    letter-spacing: -1px
}

.img_c {
    text-align: center
}

.no_hover:hover {
    opacity: 1
}

.title_contact {
    margin-bottom: 30px
}

.c_w80 {
    width: 80%;
    margin: 0 auto
}

.under_link a {
    text-decoration: none;
}

/*==========================================================================*/
/*                               End Under                                     */
/*==========================================================================*/
/*Fonts*****************/
/*
font-family: 'Quicksand', sans-serif;
*/

.idx_b00 {
    padding: 10px 0 80px;
}

.b00_frame {
    border: solid 3px #92d050;
}

.b00_frame .frm_ttl {
    font-size: 34px;
    font-weight: bold;
    background: #92d050;
    color: #fff;
    text-align: center;
    padding: 15px;
    margin-bottom: 0;
    line-height: 1.5em;
}

.b00_frame .frm_body {
    padding: 15px;
}

.b00_frame .frm_body p {
    line-height: 1.5em;
}


/*news style*/

.container_list {
    display: grid;
    grid-template-columns: repeat(2, 2fr);
    grid-column-gap: 30px;
}

.b00_frame .frm_ttl.frm_ttl_orange {
    background: #fbb82d;
}

.b00_frame.b00_frame_orange {
    border: 3px solid #fbb82d;
}

.bnr-footer {
    border: 4px solid #7f7f7f;
    margin: 0 0 20px;
    text-align: center;
    position: relative;
}

.bnr-footer a {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
}

.item-ft {
    padding: 10px;
    margin: 0;
    color: #d4e1a7;
    font-weight: bold;
    font-size: 24px;
    line-height: 1.6em;
}

span.txt-color {
    color: #775657;
    font-weight: bold;
    font-size: 24px;
}

span.strong {
    font-weight: bold;
    font-size: 18px;
}

.bnr-footer.adult-ver {
    width: 396px;
}




.pc_box {
    display: block;
}

.pc_flex {
    display: flex;
}

.sp_box {
    display: none;
}

.sp_flex {
    display: none;
}



.b03_list_ctn li.i01.fix_bnr_tit {
    background: #fff;
    border: 6px solid #d9d9d9
}

.b03_list_ctn li.i01.fix_bnr_tit a {
    padding: 10px;
    font-size: 15px;
}

.b03_list_ctn li.i01.fix_bnr_tit a:before {
    display: none;
}


.b03_list_ctn li.i01.fix_bnr_tit a .ttl {
    color: #967c7d;
    font-weight: bold;
    text-shadow: none;
}


.c_green {
    color: #cedd99;
}

.break350 {
    display: none
}

/* 240405 */
body.index img {
    height: auto;
}

/* 240405 */

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


@media screen and (max-width: 640px) {
    .bnr-footer.adult-ver {
        width: 100%;
    }

    .pc_box {
        display: none;
    }

    .sp_box {
        display: block;
    }

    .pc_flex {
        display: none;
    }

    .sp_flex {
        display: flex;
    }

    .sp_sort01 {
        display: flex;
        flex-wrap: wrap
    }

    .idx_b00 {
        width: 100%;
        order: 2;
    }

    .idx_b06 {
        width: 100%;
        order: 1;
    }

    .b03_list_ctn li.i01.fix_bnr_tit a span {
        font-size: 16px !important;
    }

    .pb0 {
        padding-bottom: 0;
    }


    .b03_sup_img {
        width: 90%;
        max-width: 440px;
        margin: 0 auto;
    }

    .b03_sup_img img {
        width: 100%
    }


    .sp_oder1 {
        order: 1;
    }

    .sp_oder2 {
        order: 2;
    }

}


@media screen and (min-width: 641px) {

    .b03_list_ctn .pc_fix_fz .ttl.one_line .jp {
        font-size: 20px;
    }

}


.fix_step_img.under_step dd {
    padding: 20px 20px 40px 20px;
    min-height: 274px;
}


.fix_question .under_frame02 .ttl {
    text-align: left;
    font-size: 20px;
}

.fix_question .under_frame02 a {
    position: relative;
    z-index: 1
}


.consultation_ttl {
    font-weight: bold;
    color: #1d883b;
    font-size: 20px;
    text-align: center;
    margin: 0 auto 30px;
    width: 360px;
    padding: 8px;
    border: 1px solid #1d883b;
}

.consultation_ttl span {
    display: block;
    padding: 8px;
    background: #f0f8e9;
    position: relative;
}



.consultation_tel {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 50px;
}

.consultation_tel dt {
    font-weight: bold;
    font-size: 24px;
    margin-right: 30px;
}

.consultation_tel dd {
    font-family: 'Quicksand', sans-serif;
    font-weight: bold;
    font-size: 50px;
    position: relative;
    display: inline-block;
    padding-left: 50px;
    background: url("../images/ico_tel.png") no-repeat left center;
}

.consultation_tel dd a {
    text-decoration: none;
    color: #000;
}

.consultation_tel dd a:hover {
    color: #0c8e2b
}



.fixed_btn_right {
    position: fixed;
    top: 200px;
    right: 43px;
    z-index: 99
}

.fixed_btn_right a {
    max-width: 152px;
    display: block;
}

.under .ttl_pickup .jp.fz28 {
    font-size: 26px;
}

.fix_w_cinsul a {
    min-width: unset !important
}



@media screen and (max-width: 640px) {
    .fix_step_img.under_step dd p.image_l {
        margin-bottom: 15px;
    }


    .consultation_ttl {
        max-width: 360px;
        width: 100%;
    }


    .consultation_ttl {
        font-size: 16px;
    }


    .consultation_tel {
        display: block;
        margin-bottom: 30px;
    }

    .consultation_tel dt {
        margin-right: 0;
        font-size: 20px;
        text-align: center
    }

    .consultation_tel dd {
        font-size: 35px;
        width: 275px;
        margin: 0 auto;
        display: block
    }

    .f_call_first {
        width: 100% !important;
        border-right: none !important;
        display: block !important;
    }

    .f_call_first a {
        padding: 12px !important;
        background: #c5e0b4 !important;
        color: #333 !important
    }

    .fixed_btn_right {
        display: none;
    }

    .fix_w_cinsul.idx_btn_shika a {
        padding: 12px 30px 15px 15px !important
    }


}



.single-case .wrap_img {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.single-case .wrap_img .box_left,
.single-case .wrap_img .box_right {
    width: 50%;
}

.single-case .wrap_img .head_title {
    background-color: #0c8e2b;
    padding: 18px 20px 14px;
    color: #fff;
    font-weight: bold;
}

.single-case .box_img {
    background-color: #eee;
    padding: 20px;
    width: 100%;
    height: 350px;
    margin-bottom: 10px;
}

.single-case .box_img img {
    object-fit: contain;
    max-width: 450px;
    max-height: 350px;
    height: 100%;
    width: 100%;
}

.single-case .anchor_list li a:after{
    display: none;
}

.single-case .anchor_list .hidden{
    display: none;
}

.list_case #box-blog{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 30px;
}

.list_case #box-blog li{
    box-shadow: 1px 0px 10px rgb(57, 57, 57, 0.15);
    padding: 20px;
    border-radius: 20px;
    position: relative;
    transition: all .2s linear;
}

.list_case #box-blog li:hover{
    opacity: .8;
}

.list_case #box-blog .post-thumbnail{
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #eee;
    margin-bottom: 0px;
    overflow: hidden;
}
.list_case #box-blog .post-thumbnail.img_none {
	height: auto;
	display: none;
}

.list_case #box-blog .post-thumbnail.cate1_thumb{
    height: 300px;
}

.list_case #box-blog .post-thumbnail span{
    width: 50%;
}

.list_case #box-blog .post-thumbnail img{
    width: 100%;
    height: 120px;
    object-fit: cover;
}

.list_case #box-blog .post-thumbnail.cate1_thumb img{
    width: 100%;
    height: auto;
}



.list_case #box-blog .post-date{
    margin: 10px 0;
}

.list_case #box-blog .post-date .new{
    padding: 7px 12px;
    background-color: #0c8e2b;
    color: #fff;
    display: inline-block;
    border-radius: 7px;
    line-height: 1;
    margin-right: 7px;
}

.list_case #box-blog .post-title{
    margin-bottom: 0;
    font-weight: bold;
    font-size: 18px;
}

.list_case #box-blog .post-link{
    position: absolute;
    inset: 0;
}

.list_case .pagination{
    margin-top: 50px;
}


.list_case .pagination span,
.list_case .pagination a{
    display: inline-block;
    background-color: #0c8e2b;
    color: #fff;
    border: 1px solid #0c8e2b;
    padding: 7px 21px;
    margin-right: 8px;
    font-size: 16px;
    text-decoration: unset;
    border-radius: 5px;
    font-weight: 500;
    transition: all .2s linear;
}

.list_case .pagination span.page-numbers.current,
.list_case .pagination span:hover,
.list_case .pagination a:hover{
    background-color: #fff;
    color: #0c8e2b;
    font-weight: normal;
}

#list_cate_new{
    display: flex;
    margin-bottom: 50px;
    align-items: center;
    justify-content: center;
    gap: 20px;
}


#list_cate_new li{
    width: 200px;
}


#list_cate_new li a{
    color: #fff;
    text-decoration: unset;
    background-color: #0c8e2b;
    padding: 10px 20px;
    display: inline-block;
    text-align: center;
    width: 100%;
    font-weight: bold;
    transition: all .2s linear;
}

#list_cate_new li a:hover{
    opacity: .8;
}

.br_cate span:last-child{
    display: none;
}

.idx_bcase{
    padding: 80px 0;
    background-color: #f0f8e9;
}

.idx_bcase .idx_h3 .jp{
    color: #545454;
}

.idx_bcase .wrap_case_idx{
    display: flex;
}

.idx_bcase .wrap_case_idx .b06_info{
    width: 30%;
}

.idx_bcase .wrap_case_idx .box_case_idx{
    flex: 1;
    padding: 30px;
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 1px 0px 10px rgb(57, 57, 57, 0.15);
}

.idx_bcase .blog-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 30px;
    /* justify-content: space-between; */
    gap: 10px;
}

.idx_bcase .blog-list li a {
    text-decoration: none;
    display: block;
    width: 180px;
    text-align: center;
    font-weight: 500;
    transition: all 0.2s ease;
    border: 1px solid #0c8e2b;
    border-radius: 30px;
    color: #0c8e2b;
    padding: 7px 10px;
    transition: all .2s linear;
}

.idx_bcase .blog-list li a:hover{
    background-color: #0c8e2b;
    color: #fff;
}

.idx_bcase .box-list-new #list-news {
    /* max-width: 750px; */
    margin: 0 auto;
    max-height: 200px;
    overflow-y: scroll;
    padding-right: 20px;
}

/* width */
.idx_bcase .box-list-new #list-news::-webkit-scrollbar {
    width: 10px;
}

/* Track */
.idx_bcase .box-list-new #list-news::-webkit-scrollbar-track {
    background: #f1f1f1;
}

/* Handle */
.idx_bcase .box-list-new #list-news::-webkit-scrollbar-thumb {
    background: #0c8e2b;
}

/* Handle on hover */
.idx_bcase .box-list-new #list-news::-webkit-scrollbar-thumb:hover {
    opacity: #0c8e2b;
}

.idx_bcase #list-news li{
    margin: 5px 0;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
    display: flex;
    align-items: center;
}

.idx_bcase #list-news li p{
    width: 100%;
    max-width: 450px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.idx_bcase #list-news .cate{
    width: 180px;
    background-color: #0c8e2b;
    padding: 2px 7px;
    border-radius: 20px;
    color: #fff;
    display: inline-block;
    text-align: center;
}

.idx_bcase #list-news .date{
    margin: 0 7px;
}

.list_case #searchform{
    max-width: 500px;
    margin: 0 auto;
}

.list_case #searchform .input-form{ 
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    gap: 10px;
}

.list_case #searchform .input-form label{ 
    width: 150px;
    padding: 5px;
    background-color: #0c8e2b;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

.list_case #searchform .input-form select{ 
    padding: 4px;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    width: 200px;
}

.list_case #searchform .btn-search{
    margin-top: 25px;
}

.list_case #searchform .btn-search input{ 
    padding: 10px 20px;
    background-color: #0c8e2b;
    border: none;
    outline: none;
    color: #fff;
    cursor: pointer;
    transition: all .2s linear;
}

.list_case #searchform .btn-search input:hover{
    opacity: .8;
}

.single-case .under_tbl th{
    width: 20%;
}
.txt-render-post {
	max-width: 420px;
    margin: auto;
    text-align: center;
    padding: 0 0 20px;
    font-size: 24px;
    font-weight: bold;
}
.txt-render-post span {
	color: #0c8e2b;
	padding-right: 5px;
}
.list_case #box-blog .post-thumbnail.img_cus {
	justify-content: space-between;
	margin-bottom: 2%;
}
.list_case #box-blog .post-thumbnail span {
	width: 49%;
}