@charset "UTF-8";
@import "base.css";
@import "fonts.css";
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');
/*==========================================================================*/
/*                                                                          */
/*    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: 150%;
    -webkit-text-size-adjust: none;
    font-weight: 500;
}
*, ::before, ::after {
    box-sizing: border-box;
    outline: none;
}
img {
    vertical-align: middle;
    max-width: 100%;
    flex-shrink: 0;
    height: auto;
}
select {
    visibility: visible !important;
}
a {
    transition: all ease 0.3s;
    text-decoration: none;
    color: var(--txt);
}
a[href^="tel:"] {
    word-break: keep-all;
}
/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html {
    background: #fff
}
body {
    -webkit-text-size-adjust: none;
    min-width: 320px;
    color: var(--txt);
    font-family: var(--f-main)
}
body.is_nav {
    overflow: hidden;
}
table {
    width: 100%
}
h1, h2, h3, h4, h5, h6 {
    line-height: 1.4;
}
p, dd, dt, li, th, td, address {
    line-height: 2em;
    letter-spacing: 0;
}
p {
    margin: 0 0 2em;
}
p:last-child {
    margin-bottom: 0
}
.bold {
    font-weight: bold;
}
.left {
    text-align: left
}
.right {
    text-align: right;
}
.auto {
    margin-left: auto;
    margin-right: auto;
}
.red {
    color: var(--red);
}
.txt_line {
    text-decoration: underline;
}
.f_big {
    font-size: 150%;
}
.f_sm {
    font-size: 80%;
}
.m0a {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
:root {
    --txt: #141414;
    --tt: #434343;
    --mcolor: #74B800;
    --scolor: #FF6B15;
    --sscolor: #de723d;
    --container: 440px;
    --gray: #e9e9e9;
    --blue: #003b7d;
    --red: red;
    --f-main: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    --f-zen: "Zen Maru Gothic", sans-serif;
    --f-en: "Inter", sans-serif;
}
#wrapper {
    min-width: 1200px;
    overflow: hidden;
    margin: 0 auto
}
.inner {
    width: var(--container);
    margin: 0 auto;
    position: relative;
    max-width: 100%;
}
/*==========================================================
                       H E A D E R
==========================================================*/
/* HAMBUGER BUTTON */
.hamburger {
    font: inherit;
    display: block;
    overflow: visible;
    margin: 0;
    padding: 55px 8px 5px;
    cursor: pointer;
    width: 80px;
    height: 80px;
    border-radius: 20px;
    position: fixed;
    right: 20px;
    top: 20px;
    z-index: 101;
    background: url("../images/menu_icon.png")var(--scolor) no-repeat center top 25px/41px;
    text-align: center;
    pointer-events: auto;
    transition: all 0.3s;
}
.hamburger.is_active {
    background: url("../images/close_icon.png")#D0D0D0 no-repeat center top 25px/40px;
}
nav .hamburger-inner, nav .hamburger-inner::after, nav .hamburger-inner::before {
    width: 32px;
}
nav .hamburger-box {
    width: 32px;
    margin-bottom: -2px;
}
nav .hamburger-inner {
    margin-left: 0;
}
nav .hamburger-inner {
    bottom: -6px;
}
nav .hamburger-inner::before {
    top: -6px;
}
nav .menu_tt {
    color: #fff;
    font-size: 16px;
    font-family: var(--f-yumin);
    letter-spacing: 0.05em;
}
header {
    position: relative;
    z-index: 9;
}
.h_left {
    display: inline-block;
    max-width: 1090px;
    width: 100%;
    pointer-events: auto;
}
.h_wrap {
    display: flex;
}
.h_wrap .logo {
    flex-shrink: 0;
}
.h_t {
    pointer-events: none;
}
h1 {
    font-size: 14px;
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 22px 0 0 0px;
    letter-spacing: 0.05em;
    margin-bottom: 0;
    margin-left: 40px;
    color: var(--tt);
}
.h_list.info_list {
    margin-left: 100px;
}
.h_box {
    width: 100%;
    position: fixed;
    /*    pointer-events: none;*/
    pointer-events: none;
}
.h_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    width: 100%;
    pointer-events: none;
    padding: 50px 0 0 50px;
}
nav .h_menu {
    width: 100px;
    height: 150px;
    position: fixed;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 9;
    top: 210px;
}
/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
}
.mv_wrap {
    width: 100%;
    height: 100%;
    display: flex;
    color: #fff;
    pointer-events: auto;
    margin: 0 auto;
    padding: 250px 0 0 110px;
    padding-bottom: 11px;
    position: fixed;
    flex-direction: column;
    align-items: flex-start;
}
.mv_txt h2 {
    line-height: 1.65;
    color: var(--tt);
    font-family: var(--f-zen);
    font-size: 50px;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.green_txt {
    color: var(--mcolor);
}
.mv_txt {
    margin-bottom: 38px;
}
.list_point {
    display: flex;
    gap: 10px;
}
.list_point .item {
    width: 147px;
    height: 50px;
    border-radius: 50px;
    background: var(--scolor);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.list_point .item p {
    font-size: 16px;
    font-weight: bold;
    padding-top: 2px;
}
.list_point_w {
    margin: 0 auto 177px;
    flex-wrap: wrap;
    max-width: 250px;
    gap: 5px;
    justify-content: center;
}
.list_point_w .item {
    background: #fff;
    color: var(--mcolor);
    width: auto;
    height: 35px;
    padding: 0 11px;
}
.list_point_w .item p {
    font-size: 14px;
}
.box_cal {
    margin-bottom: 10px;
    text-align: center;
}
.box_info p {
    margin-bottom: 0;
}
.box_info {
    display: flex;
    flex-direction: column;
    padding: 0 15px;
    margin-bottom: 20px;
}
.box_info .hour {
    font-size: 15px;
    font-weight: bold;
    line-height: 1.4;
    color: var(--mcolor);
    background: url("../images/icon_car.png") no-repeat left top/48px;
    padding-left: 60px;
    min-height: 48px;
    display: flex;
    align-items: center;
}
.box_info .txt {
    line-height: 1.4;
    font-size: 14px;
}
.box_info .item {
    display: flex;
}
.box_info .item1 {
    gap: 20px;
    margin-bottom: 15px;
    align-items: center;
}
.box_info .item2 {
    justify-content: space-between;
}
.box_info .box_add {
    background: url("../images/icon_map.png") no-repeat left top/48px;
    font-size: 14px;
    line-height: 1.4;
    padding-left: 60px;
    min-height: 48px;
    display: flex;
    align-items: center;
    letter-spacing: 0.01em;
}
.box_info .gg_link {}
footer .box_info .gg_link {
    margin-top: 5px;
}
.box_info .gg_link a, .gg_link_center a {
    color: var(--mcolor);
    font-size: 11px;
    padding-right: 11px;
    letter-spacing: 0.05em;
    background: url("../images/arrow_green_right.svg") no-repeat right top 4px;
    border-bottom: 1px var(--mcolor) solid;
    padding-bottom: 8px;
}
.mv {
    position: fixed;
    width: 100%;
    height: 100%;
    pointer-events: none;
    display: flex;
    align-items: flex-end;
    background: #fffef3;
    padding-bottom: 107px;
}
.box_case {
    display: flex;
    flex-direction: column;
    background: #FF6B15;
    border-radius: 15px;
    color: #fff;
    position: relative;
    padding-top: 21px;
    width: calc(100% - 30px);
    margin: 76px auto 0;
}
.box_case a {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 9;
}
.box_case_title {
    position: absolute;
    width: 100px;
    height: 45px;
    background: #FF6B15;
    border-radius: 15px 15px 0 0;
    left: 0;
    top: -25px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    letter-spacing: 0.1em;
    z-index: 1;
}
.box_case_title span {
    background: url("../images/icon_start_w.png") no-repeat left center/11px;
    padding-left: 15px;
}
.box_case_group {
    background: #FF8944;
    border-radius: 15px;
    padding: 25px 25px 25px 25px;
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
}
.box_case:before, .box_case:after, .box_case_group:before {
    position: absolute;
    content: "";
}
.box_case:before {
    width: calc(100% - 30px);
    height: 176px;
    background: rgba(255, 255, 255, 0.6);
    left: 15px;
    right: 15px;
    top: 15px;
    border-radius: 10px;
    z-index: 2;
}
.box_case_group:before {
    background: url("../images/arrow_org.svg") no-repeat center top/cover;
    width: 32px;
    height: 32px;
    left: 25px;
    bottom: 25px;
}
.box_case:after {
    background: url("../images/icon_pp1.png") no-repeat center top/158px;
    width: 158px;
    height: 85px;
    right: 13px;
    z-index: 3;
    top: -58px;
}
.box_case_con {
    margin-top: -5px;
}
.box_case_con .title {
    font-size: 22px;
    font-family: var(--f-zen);
    font-weight: bold;
    margin-bottom: 5px;
    letter-spacing: 0.05em;
}
.box_case_con .txt {
    letter-spacing: 0.02em;
    line-height: 1.7;
}
.box_case_img img {
    border-radius: 10px;
}
.mv:after, .mv:before {
    position: absolute;
    content: "";
}
.mv:before {
    background: url("../images/bg_main.jpg") no-repeat center top/1919px;
    left: calc(50% - 960px);
    top: 0;
    width: 1919px;
    height: 1080px;
}
.mv:after {
    background: url("../images/bg_main_cur.png") no-repeat center bottom/1920px;
    width: 1920px;
    height: 405px;
    left: calc(50% - 960px);
    bottom: 0;
}
.mv_slider {
    position: relative;
    z-index: 9;
    width: 100%;
}
.mv_slider .slick-slide {
    margin: 0 30px;
    position: relative;
}
.mv_slider .slick-slide p {
    border-radius: 40px;
    overflow: hidden;
}
.mv_slider .slick-slide:before {
    position: absolute;
    content: "";
    background: url("../images/icon_star_org.svg") no-repeat center top/cover;
    width: 49px;
    height: 48px;
    right: -15px;
    top: -12px;
}
.mv_slider .slick-list {
    overflow: visible;
}
.bnr_fix {
    position: fixed;
    left: 25px;
    bottom: 25px;
    z-index: 9;
}
.bnr_fix a {
    background: #fff;
    width: 411px;
    height: 114px;
    border-radius: 15px;
    border: 3px #99CC00 solid;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 14px;
    letter-spacing: 0.05em;
    padding: 3px 0 0 25px;
    position: relative;
}
.bnr_fix a:before, .bnr_fix a:after {
    position: absolute;
    content: "";
}
.bnr_fix a:before {
    background: url("../images/icon_pp16.png") no-repeat center top/cover;
    width: 117px;
    height: 76px;
    right: 8px;
    bottom: -3px;
}
.bnr_fix a:after {
    background: url("../images/arrow_green.svg") no-repeat center top/cover;
    width: 21px;
    height: 21px;
    right: 7px;
    top: 7px;
}
.bnr_fix a .sm {}
.bnr_fix a .lg {
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 3px;
}
/* NAV */
.nav_wrap {
    width: 100%;
    padding-bottom: 70px;
    border-bottom: 1px #D2D2D2 solid;
    margin-bottom: 80px;
    max-width: 740px;
}
.nav_box01, .nav_box02, .nav_box03 {
    display: flex;
}
.nav_box01 .sec_cont_add {
    margin-right: 40px;
}
.nav_box01 .btn_map {
    margin-right: 22px;
}
.nav_box02 .btn_sika {
    flex-shrink: 0;
    margin-right: 20px;
}
.nav_box02 .tel_com {
    flex-shrink: 0;
    margin-right: 20px;
}
.nav_box02 .hour_com {
    font-size: 14px;
    position: relative;
    width: calc(100% + 50px);
    white-space: nowrap;
}
.nav_box02 .btn_sika a {
    width: 253px;
    height: 50px;
}
.nav_box03 .calc {
    flex-shrink: 0;
    margin-right: 40px;
}
nav {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    z-index: 100;
    display: none;
    pointer-events: auto;
    background: #F5FAE5;
    max-width: 552px;
    padding-bottom: 80px;
}
nav.is_nav {
    display: block
}
nav .inner {
    width: 100%;
    padding: 187px 50px 0px 0;
    display: flex;
    /* height: 100%; */
    /* overflow: auto; */
    justify-content: flex-end;
    max-width: 552px;
    margin: 0 0 0 auto;
}
.nav_tt {
    font-size: 40px;
    color: #B4C9DC;
    text-align: center;
    font-weight: 300;
    margin-bottom: 27px;
    letter-spacing: 0.1em;
    position: relative;
    left: 2px;
}
.nav_list, .nav_list > div {
    display: flex;
}
.nav_list {
    margin-bottom: 40px;
    flex-direction: column;
    width: 222px;
}
.nav_list > div {
    flex-wrap: wrap;
    width: 100%;
}
.nav_list > div > ul {
    display: none;
    width: 100%;
    padding-top: 15px;
}
.nav_list > div > .big {
    width: 100%;
    font-size: 22px;
    font-weight: bold;
    position: relative;
    padding-left: 0;
    letter-spacing: 0.05em;
    margin-bottom: 0px;
    color: var(--mcolor);
    cursor: pointer;
    transition: all 0.3s;
}
.nav_list > div > .big > a {
    position: relative;
    display: block;
    color: var(--mcolor);
    background: url("../images/arrow_green.svg") no-repeat right center/20px;
}
.nav_list > div > .big .icon {
    width: 20px;
    height: 20px;
    background: #99CC00;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 11px;
}
.nav_list > div > .big .icon:before, .nav_list > div > .big .icon:after {
    position: absolute;
    content: "";
    width: 6px;
    height: 1px;
    background: #fff;
    transition: all 0.3s;
}
.nav_list > div > .big .icon:after {
    transform: rotate(90deg);
}
.nav_list > div > .big.open .icon {
    background: #A1A1A1;
}
.nav_list > div > .big.open .icon:after {
    transform: rotate(0deg);
    opacity: 0;
}
.nav_list > div ul > li {
    margin-bottom: 5px;
}
.nav_list > div ul > li > a {
    background: #fff;
    padding-left: 30px;
    position: relative;
    height: 47px;
    border-radius: 7px;
    display: flex;
    align-items: center;
}
.nav_list > div ul > li > a:before {
    position: absolute;
    content: "";
    width: 7px;
    height: 1px;
    left: 15px;
    top: 50%;
    background: rgba(0, 0, 0, 0.2);
}
.nav_list > div:not(:last-child) {
    margin-bottom: 23px;
}
.nav_list_img li:not(:last-child) {
    margin-right: 50px;
}
.nav_right {
    display: flex;
    flex-direction: column;
    /* padding-bottom: 50px; */
}
/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl_h3 {
    text-align: center;
    font-size: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: bold;
}
.ttl_h3 .en {
    margin-bottom: 3px;
}
/* DEFAUTL NAME BUTTON */
.btn a {
    width: 100%;
    max-width: 332px;
    height: 76px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    color: var(--mcolor);
    overflow: hidden;
    border-radius: 41px;
    margin: 0 auto;
    letter-spacing: 0.05em;
    border: 3px #99CC00 solid;
    background: url("../images/arrow_green.svg") no-repeat right 25px center/21px;
    line-height: 1.4;
}
.btn.btn_org a {
    border: 3px #FF6B15 solid;
    background: url("../images/arrow_org3.svg") no-repeat right 25px center/20px;
}
.btn.btn_green a {
    color: #fff;
    height: 76px;
    background: url("../images/arrow_white.svg")#99CC00 no-repeat right 25px center;
}
.btn.btn_green2 a {
    background: #99CC00;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    width: 275px;
    height: 51px;
}
.btn_white a {
    border-color: #fff;
    color: #fff;
    background: url("../images/arrow_white.png") no-repeat right 25px center / 21px;
    max-width: 309px;
}
.btn.btn_green a span {
    padding-right: 28px;
}
.btn.btn_org a {
    border-color: #FF6B15;
    color: #FF6B15;
    padding-left: 30px;
}
.btn.btn_org a span {
    padding-right: 28px;
}
.btn.btn_blue a {
    border-color: #63BBA6;
    color: #63BBA6;
    padding-left: 22px;
}
.btn.btn_blue a span {
    padding-right: 30px;
}
.btn a span {
    padding-right: 30px;
}
.btn.center a {
    margin: 0 auto;
}
.btn_box .btn {
    margin: 10px;
}
.content {
    pointer-events: auto;
    border-radius: 30px 30px 0 0;
    margin-top: 70px;
    box-shadow: 0px 14px 50px 0 rgba(0, 0, 0, 0.1);
}
.content, footer, .content2 {
    width: 402px;
    height: auto;
    margin-right: 350px;
    margin-left: auto;
    position: relative;
    z-index: 100;
    background: #fff;
}
.content2 {
    background-color: transparent
}
.h_right {
    position: fixed;
    right: 20px;
    top: 100px;
    pointer-events: auto;
    height: calc(100vh - 190px);
    z-index: 99;
}
/*============= SEC01 ==============*/
.sec01 {
    padding-bottom: 60px;
    padding-top: 180px;
    position: relative;
    background: url(../images/idx_bg09.png) no-repeat center top 276px / 402px;
}
.sec01 .btn.btn_green a {
    max-width: 309px;
}
.sec01 .inner {
    z-index: 9;
}
.sec01:after {
    background: url("../images/idx_img_01.png") no-repeat center top/402px;
    width: 402px;
    height: 532px;
    left: 0;
    top: 45px;
    z-index: 1;
}
.sec01:after {
    position: absolute;
    content: "";
}
.sec01_ttl {
    text-align: center;
    font-family: var(--f-zen);
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #fff;
    line-height: 1.7;
    margin-bottom: 25px;
    text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.4);
}
/*============= SEC02 ==============*/
.sec02 {
    position: relative;
    padding-top: 129px;
}
.sec02 .inner {
    z-index: 2;
}
/*============= SEC03 ==============*/
.sec03 {
    position: relative;
    padding-bottom: 160px;
}
.sec03:before {
    position: absolute;
    content: "";
    background: url("../images/cur1.png") no-repeat center top/cover;
    width: 402px;
    height: 39px;
    left: 0;
    top: 0;
    z-index: 1;
}
.sec03_img_lg {
    text-align: center;
    margin: 0 auto 13px;
    position: relative;
}
.sec03_img_lg img {
    width: 100%;
}
.sec03_img {
    margin: 0 auto 13px;
    width: fit-content;
    position: relative;
}
.sec03_box {
    position: relative;
}
.sec03_ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 9;
    justify-content: center;
    color: #fff;
    font-weight: bold;
}
.sec03_ttl .num {
    font-family: var(--f-en);
    width: 32px;
    border-bottom: 1px #fff solid;
    text-align: center;
    padding-bottom: 3px;
    margin-bottom: 9px;
    letter-spacing: 0.1em;
}
.sec03_ttl .title {
    font-family: var(--f-zen);
    font-size: 27px;
    letter-spacing: 0.2em;
    -webkit-writing-mode: vertical-lr;
    -moz-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
}
.sec03_con {
    position: relative;
    background: #fff;
    width: calc(100% - 15px);
    margin-top: -93px;
    border-radius: 0 30px 30px 0;
    padding: 50px 40px 50px 35px;
    box-shadow: 0px 0px 20px rgba(85, 106, 49, 0.1);
}
.sec03_con:before, .sec03_con:after {
    position: absolute;
    content: "";
}
.sec03_con:after {
    background: url("../images/brush1.png") no-repeat right top/cover;
    width: 120px;
    height: 109px;
    right: 0px;
    top: -35px;
}
.sec03_con:before {
    height: 560px;
    width: calc(100% + 15px);
    background: linear-gradient(to bottom, rgba(153, 204, 0, 1) 0%, rgba(214, 235, 153, 0) 100%);
    left: 0;
    top: 80px;
    z-index: -1;
}
.sec03_con .inner {
    z-index: 1;
}
.sec03_con .ttl_h {
    margin-bottom: 25px;
}
.sec03_con .ttl_h .en {
    color: #727272;
    letter-spacing: 0.05em;
    background: url("../images/icon_star_green.png") no-repeat left top 10px/11px;
    padding-left: 20px;
    margin-bottom: 20px;
}
.sec03_con .ttl_h .ja {
    color: var(--mcolor);
    font-family: var(--f-zen);
    font-weight: bold;
    line-height: 1.8;
    font-size: 22px;
    letter-spacing: 0.05em;
}
.sec03_con .ttl_h .ja .line {
    background-image: linear-gradient(180deg, #ebf5cc 15.63%, #ffffff 15.63%, #ffffff 50%, #ebf5cc 50%, #ebf5cc 65.63%, #ffffff 65.63%, #ffffff 100%);
    background-size: 64.00px 64.00px;
    background-position: center bottom -19px;
    padding-bottom: 2px;
    line-height: 0;
}
.sec03_txt {}
.sec03_txt p {}
.sec03_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 60px;
    margin-bottom: 6px;
}
.sec03_item .item {
    margin-bottom: 40px;
}
.sec03_item .item .idx_txt {
    padding: 0 30px;
}
.sec03_item .item .idx_txt p {
    line-height: 2;
    letter-spacing: 0.01em;
}
.sec03_img:before {
    position: absolute;
    content: "";
}
.sec03_item .item1 .sec03_img:before {
    background: url(../images/icon_pp2.png) no-repeat left top / cover;
    width: 110px;
    height: 107px;
    left: -23px;
    bottom: -3px;
}
.sec03_item .item2 .sec03_img:before {
    background: url("../images/icon_pp3.png") no-repeat left top/cover;
    width: 77px;
    height: 96px;
    right: -8px;
    bottom: 0;
}
.sec03_item .item3 .sec03_img:before {
    background: url(../images/icon_pp4.png) no-repeat left top / cover;
    width: 306px;
    height: 111px;
    left: -52px;
    bottom: 0px;
}
.sec03_item .item3 .sec03_img:before {}
.sec03_style {
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    font-family: var(--f-zen);
    letter-spacing: 0.05em;
    line-height: 2.26;
}
.sec03_style .line {
    color: var(--mcolor);
    background-image: linear-gradient(180deg, #ebf5cc 15.63%, #ffffff 15.63%, #ffffff 50%, #ebf5cc 50%, #ebf5cc 65.63%, #ffffff 65.63%, #ffffff 100%);
    background-size: 64.00px 64.00px;
    background-position: center bottom -19px;
    padding-bottom: 3px;
    line-height: 0;
}
.sec03_title {
    font-size: 19px;
    text-align: center;
    font-weight: bold;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    line-height: 2.5;
    margin-bottom: 15px;
    letter-spacing: 0.05em;
}
.sec03_title .line {
    display: inline;
    border-bottom: 1px #D0D0D0 dashed;
    padding-bottom: 10px;
}
.sec03_title .green {
    color: var(--mcolor);
}
/*============= SEC04 ==============*/
.sec04 {
    padding-top: 95px;
    padding-bottom: 93px;
    background: #EBF5CC;
    position: relative;
}
.sec04 .inner {
    z-index: 2;
}
.sec04:before, .sec04:after {
    position: absolute;
    content: "";
}
.sec04:after {
    background: url("../images/idx_bg02.png") no-repeat center top/contain;
    width: 100%;
    height: 100%;
    left: 0;
    top: -121px;
}
.sec04:before {
    background: url(../images/icon_pp5.png) no-repeat center top / cover;
    width: 168px;
    height: 202px;
    left: -5px;
    right: 0;
    top: -145px;
    margin: 0 auto;
    z-index: 9;
}
.box_sec04_ttl {
    background: #fff;
    width: calc(100% - 100px);
    margin: 0 auto;
    border-radius: 15px;
    padding: 20px 7px 21px;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.05em;
    margin-bottom: 30px;
    position: relative;
    color: var(--tt);
}
.box_sec04_ttl:before {
    position: absolute;
    content: "";
    width: 12px;
    height: 10px;
    background: #fff;
    left: 0;
    right: 0;
    margin: 0 auto;
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    bottom: -10px;
}
.org_txt {
    color: var(--scolor);
}
.sec04_txt {
    padding: 0 33px;
    margin-bottom: 56px;
}
.sec04_txt.idx_txt p {
    letter-spacing: 0.01em;
    line-height: 2;
}
.sec04_point {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-bottom: 120px;
}
.sec04_point li:nth-child(2n) {
    margin-top: -30px;
}
.sec04_point li {
    width: 87px;
    height: 87px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #FF8944;
    font-weight: 700;
    position: relative;
    flex-shrink: 0;
}
.sec04_point li:before {
    position: absolute;
    content: "";
    background: url(../images/icon_warning.png) no-repeat left top / 24px;
    width: 24px;
    height: 24px;
    left: 4px;
    top: 0;
}
.sec04_point .item1 {}
.sec04_point .item2 {}
.sec04_point .item3 {}
.sec04_point .item4 {}
.sec04_white {
    width: calc(100% - 30px);
    background: #fff;
    margin: 0 auto;
    border-radius: 20px;
    padding-top: 51px;
    position: relative;
    padding-bottom: 30px;
}
.sec04_white .btn_green2 {
    margin-bottom: 20px;
}
.sec04_white:before {
    position: absolute;
    content: "";
    background: url(../images/icon_pp6.png) no-repeat center top / cover;
    width: 206px;
    height: 124px;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: -124px;
}
.sec04_white_ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 33px;
}
.sec04_white_ttl .ja {
    font-weight: bold;
    line-height: 1.7;
    margin-bottom: 15px;
    letter-spacing: 0.05em;
}
.sec04_white_ttl .label {
    width: 100%;
    background: #99CC00;
    color: #fff;
    font-weight: 700;
    font-size: 24px;
    text-align: center;
    letter-spacing: 0.05em;
    padding: 15px 0 11px;
    margin-bottom: 12px;
}
.sec04_white_ttl .en {
    color: var(--mcolor);
    position: relative;
    letter-spacing: 0.05em;
    padding: 0 32px;
    font-family: var(--f-en);
}
.sec04_white_ttl .en:before, .sec04_white_ttl .en:after {
    position: absolute;
    content: "";
    width: 22px;
    height: 1px;
    background: var(--mcolor);
    top: 11px;
}
.sec04_white_ttl .en:before {
    left: 0;
}
.sec04_white_ttl .en:after {
    right: 0;
}
.sec04_boximg {
    position: relative;
    width: fit-content;
    margin: 0 auto 24px;
}
.sec04_img {
    text-align: center;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 0;
}
.sec04_round {
    position: absolute;
    left: 5px;
    top: 5px;
    width: 81px;
    height: 81px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--tt);
    font-weight: bold;
    line-height: 1.5;
    justify-content: center;
}
.sec04_txt2 {
    padding: 0 26px 0 30px;
    margin-bottom: 41px;
}
.sec04_txt2.idx_txt p {
    letter-spacing: 0.01em;
    line-height: 2;
}
.sec04_green_ttl2 {
    background: #99CC00;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    width: 275px;
    height: 51px;
    line-height: 51px;
    max-width: 332px;
    padding-top: 2px;
    border-radius: 41px;
    margin: 0 auto 20px;
    letter-spacing: 0.05em;
    display: flex;
    justify-content: center;
    align-items: center;
}
.sec04_img2 .twentytwenty-wrapper {
    width: 100%;
    height: 100%;
}
.sec04_img2 .twentytwenty-container {
    width: 100%;
    height: 190px !important;
}
.twentytwenty-container img {
    height: 100%;
    max-width: 100%;
    object-fit: cover;
}
.sec04_slide {
    background: #F7F7F7;
    border-radius: 20px;
    padding: 10px 10px 0;
    width: calc(100% - 40px);
    margin: 0 auto 20px;
    max-width: 332px;
}
.sec04_img2 {
    width: 100%;
    margin: 0 auto 17px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    z-index: 2;
}
.sec04_slide .tt {
    text-align: center;
    margin-bottom: 14px;
    display: block;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    font-weight: 600;
}
.twentytwenty-left-arrow, .twentytwenty-right-arrow {
    border: none;
    width: 9px;
    height: 7px;
    top: 60%;
}
.twentytwenty-left-arrow {
    background: url("../images/twentytwenty-left-arrow.png") no-repeat left top/9px;
    margin-left: -10px;
}
.twentytwenty-right-arrow {
    background: url("../images/twentytwenty-right-arrow.png") no-repeat left top/9px;
    margin-right: -8px;
}
/* ARCORDION */
.un_acc {
    margin-bottom: 20px;
    position: relative;
    display: inline-block;
    width: 100%;
}
.un_acc dl {
    transition: all .3s;
    overflow: hidden;
    margin: 0 auto;
    display: flex;
    flex-direction: column-reverse;
}
.un_acc dl dt {
    position: relative;
    width: 183px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .3s;
    font-weight: 500;
    font-size: 15px;
    letter-spacing: .05em;
    line-height: 2.1875;
    color: #333;
    height: 44px;
    border-radius: 40px;
    margin: 0 auto;
    border: 1px #D0D0D0 solid;
    padding-right: 15px;
}
.un_acc dl dt span {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 12px;
    text-align: center
}
.un_acc dl dt .close_txt {
    opacity: 0
}
.un_acc dl.active dt::after, .un_acc dl.active dt::before {
    transform: rotate(180deg);
}
.un_acc dl dt::after, .un_acc dl dt::before {
    width: 9px;
    height: 1px;
    top: calc(50% - 1px);
    right: 15px;
    position: absolute;
    content: "";
    transition: all .3s;
    background: var(--mcolor);
}
.un_acc dl dt::before {
    transform: rotate(90deg);
}
.un_acc dl dd {
    padding: 26px 0 5px 0px;
    margin: 1px 25px 10px;
    display: none
}
.un_acc td, .un_acc th {
    border: none;
}
.un_acc tr {
    display: flex;
    flex-direction: column;
    margin-bottom: 17px;
}
.un_acc th {
    position: relative;
    text-align: left;
    padding: 0;
    margin-bottom: 15px;
}
.un_acc th:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(90deg, #99CC00, #99CC00 4px, transparent 4px, transparent 6px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 2px;
    left: 0;
    top: calc(50% + 12px);
}
.un_acc th span {
    color: var(--mcolor);
    padding: 0 10px 0 0;
    font-size: 15px;
    position: relative;
    font-weight: 600;
    letter-spacing: 0em;
}
.un_acc td {
    padding: 0;
    line-height: 1.5;
    color: #333333;
    font-weight: 500;
    letter-spacing: 0.05em;
}
/*============= SEC05 ==============*/
.sec05 {
    position: relative;
    padding-top: 67px;
}
.sec05:before, .sec05:after {
    position: absolute;
    content: "";
}
.sec05:after {
    background: url("../images/icon_pp7.png") no-repeat center top/cover;
    width: 113px;
    height: 106px;
    left: 0;
    right: 0;
    top: -50px;
    margin: 0 auto;
}
.sec05:before {
    background: #99CC00;
    left: 0;
    top: 0;
    height: 250px;
    width: 100%;
    z-index: -1;
}
.sec05_ttl {}
.sec05_ttl .lg {}
.sec05_item {
    padding: 0 15px;
}
.sec05_item .item {
    background: #FFFDED;
    border-radius: 15px;
    padding: 15px 15px 20px;
    display: flex;
    flex-direction: column;
    margin-bottom: 10px;
}
.sec05_box {
    flex-shrink: 0;
    display: flex;
    border-bottom: 1px rgba(20, 20, 20, 0.1) solid;
    padding-bottom: 15px;
    margin-bottom: 20px;
}
.sec05_img {
    border-radius: 10px;
    overflow: hidden;
    margin-right: 30px;
    flex-shrink: 0;
}
.sec05_ttl {
    display: flex;
    flex-direction: column;
    padding-top: 20px;
}
.sec05_ttl2 {
    display: flex;
    flex-direction: column;
    padding-top: 10px;
    text-align: center;
    color: #fff;
    font-size: 20px;
    font-family: var(--f-zen);
    letter-spacing: 0.05em;
    line-height: 1.75;
    margin-bottom: 27px;
}
.sec05_ttl2 .lg {
    font-size: 125%;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.sec05_ttl .number {
    color: rgba(20, 20, 20, 0.2);
    font-family: var(--f-en);
    margin-bottom: 8px;
}
.sec05_ttl .ja {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
    letter-spacing: 0.05em;
}
.sec05_ttl .ja .green_txt {}
.sec05_des {
    letter-spacing: 0.05em;
}
/*============= SEC06 ==============*/
.sec06 {
    padding-top: 50px;
    position: relative;
}
.sec06_img {
    position: relative;
    padding-right: 15px;
}
.sec06_img img {
    width: 100%;
}
.sec06_ttl1 {
    font-size: 20px;
    font-weight: bold;
    font-family: var(--f-zen);
    line-height: 2;
    padding-left: 30px;
    letter-spacing: 0.05em;
    margin-bottom: 12px;
}
.sec06_ttl1 .line {
    color: var(--mcolor);
    font-size: 130%;
    background-position: center bottom -28px;
    padding-bottom: 3px;
    background-image: linear-gradient(180deg, #ebf5cc 12.50%, #ffffff 12.50%, #ffffff 50%, #ebf5cc 50%, #ebf5cc 62.50%, #ffffff 62.50%, #ffffff 100%);
    background-size: 80.00px 80.00px;
}
.sec06_txt {
    padding: 0 34px 0 30px;
    margin-bottom: 40px;
}
.sec06_txt.idx_txt p {
    line-height: 2;
}
.sec06_ttl2 {
    width: 287px;
    height: 98px;
    background: #99CC00;
    border-radius: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.6;
    color: #fff;
    margin: 0 auto 25px;
    position: relative;
    margin-bottom: -52px;
    text-align: center;
}
.sec06_ttl2:before {
    position: absolute;
    content: "";
    width: 13px;
    height: 11px;
    background: #99CC00;
    left: 0;
    right: 0;
    margin: 0 auto;
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    bottom: -10px;
}
.sec06_item {
    display: grid;
    grid-template-columns: repeat(2, 2fr);
    justify-items: center;
    gap: 25px 0;
    max-width: 362px;
    margin: 0 auto;
}
.sec06_item_wrap {
    background: #FFFDED;
    padding: 90px 20px 150px;
}
.sec06_item .item {
    width: 160px;
    text-align: center;
}
.sec06_item .item .title {
    font-weight: bold;
    line-height: 1.5;
}
.sec06_item .item .title span {
    color: #FF6B15;
}
.sec06_img2 {
    position: relative;
    margin-bottom: 10px;
}
.sec06_img:before {
    position: absolute;
    content: "";
    background: url("../images/icon_pp8.png") no-repeat center top/cover;
    width: 157px;
    height: 152px;
    right: 30px;
    bottom: -38px;
}
.sec06_img img {
    border-radius: 0 20px 20px 0;
}
/*============= SEC07 ==============*/
.sec07 {
    position: relative;
}
.cta {
    background: #99CC00;
    color: #fff;
    position: relative;
    padding-bottom: 100px;
}
.cta:before, .cta:after {
    position: absolute;
    content: "";
}
.cta:before {
    background: url("../images/idx_bg10.png") no-repeat center top/402px;
    width: 100%;
    height: 406px;
    left: 0;
    top: -95px;
}
.cta:after {
    background: url("../images/icon_pp17.png") no-repeat center top/cover;
    width: 150px;
    height: 90px;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0;
}
.cta_ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 28px;
}
.cta_ttl .sm {
    margin-bottom: 15px;
    letter-spacing: 0.05em;
}
.cta_ttl .lg {
    font-size: 22px;
    line-height: 1.7;
    font-weight: bold;
    letter-spacing: 0.05em;
    font-family: var(--f-zen);
}
.cta_list {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.btn_sika {
    margin-bottom: 8px;
}
.btn_sika a, .btn_tel a {
    width: 272px;
    height: 70px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.05em;
}
.btn_sika a {
    background: #FF6B15;
    color: #fff;
}
.btn_sika a span {
    background: url("../images/icon_cal.png") no-repeat left center/22px;
    padding-left: 30px;
}
.btn_tel a span {
    background: url("../images/icon_tel.png") no-repeat left center/22px;
    padding-left: 32px;
}
.btn_tel {}
.btn_tel a {
    background: #fff;
    font-weight: bold;
    color: var(--mcolor);
    height: 69px;
}
/*============= SEC08 ==============*/
.sec08 {
    padding-top: 60px;
    background: url("../images/idx_bg11.png") no-repeat center top/402px;
    padding-bottom: 145px;
}
.sec08 .btn.btn_green a {
    max-width: 309px;
}
.sec08_slide .slick-slide {
    margin: 0 15px;
    cursor: pointer;
    width: 320px;
}
.sec08_img {
    height: 200px;
    width: 100%;
    border-radius: 15px;
    overflow: hidden;
    margin-bottom: 22px;
}
.sec08_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sec08_date {
    color: #A1A1A1;
    font-family: var(--f-zen);
    letter-spacing: 0.05em;
    margin-bottom: 6px;
    line-height: 1;
}
.sec08_title {
    margin-bottom: 27px;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: block;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    padding-right: 30px;
}
.sec08_group {
    background: url("../images/arrow_green.png") no-repeat right 10px top 12px/20px;
    padding-left: 10px;
}
.sec08 .slick-dots li button:before {
    display: none;
}
.sec08 .slick-dots li button {
    border-radius: 10px;
    width: 100%;
    height: 100%;
    padding: 0;
    background: rgba(20, 20, 20, 0.1);
}
.sec08 .slick-dots {
    pointer-events: none;
}
.sec08 .slick-dots li {
    pointer-events: auto;
}
.sec08 .slick-dots li {
    margin: 0 4px;
    pointer-events: auto;
    width: 7px;
    height: 7px;
    border-radius: 10px;
    transition: all 0.3s;
}
.sec08 .slick-dots li.slick-active {
    pointer-events: none;
}
.sec08 .sec07_slide .slick-dots li.slick-active button {
    background: #fff;
}
.sec08 .slick-dots li.slick-active button {
    background: #99CC00;
}
.sec08 .slick-dots {
    bottom: -34px;
    z-index: 99;
    pointer-events: none;
}
.sec08 .slick-dots {
    bottom: -35px;
}
.sec08_slide.slick-slider {
    margin-bottom: 75px;
}
/*============= SEC09 ==============*/
.sec09 {
    padding-top: 69px;
    position: relative;
    padding-bottom: 60px;
}
.sec09:before {
    position: absolute;
    content: "";
    background: url("../images/idx_bg12.png") no-repeat center top/402px;
    width: 402px;
    height: 330px;
    left: 0;
    top: -109px;
}
.sec09_txt {
    margin-bottom: 40px;
}
.sec09_txt p {
    text-align: center;
}
.sec09_menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 9px;
}
.sec09_menu .item {
    width: 182px;
    height: 182px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 10px;
    position: relative;
}
.sec09_menu .item a {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    left: 0;
    top: 0;
    z-index: 9;
    position: absolute;
}
.sec09_menu .item.bg_green a {
    background: url("../images/arrow_green.svg") no-repeat right 10px top 10px/20px;
}
.sec09_menu .item.bg_org a {
    background: url("../images/arrow_org2.svg") no-repeat right 10px top 10px/20px;
}
.sec09_menu .item.bg_org a {}
.sec09_menu .item .title {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 9px;
    padding-top: 77px;
    width: 100%;
    text-align: center;
    display: block;
}
.sec09_menu .item.bg_green .title {
    color: #74B800;
}
.sec09_menu .item.bg_org .title {
    color: #FF6B15;
}
.sec09_menu .item .txt {
    line-height: 1.7;
    letter-spacing: 0.05em;
    text-align: center;
    display: block;
}
.sec09_menu .item.bg_green {
    background: #F5FAE5;
}
.sec09_menu .item.bg_org {
    background: #FFFDED;
}
.sec09_menu .ite1 .title {
    background: url("../images/icon_menu1.png") no-repeat center top 30px/43px;
}
.sec09_menu .ite2 .title {
    background: url("../images/icon_menu2.png") no-repeat center top 30px/43px;
}
.sec09_menu .ite3 .title {
    background: url("../images/icon_menu3.png") no-repeat center top 30px/43px;
}
.sec09_menu .ite4 .title {
    background: url("../images/icon_menu4.png") no-repeat center top 30px/43px;
}
.sec09_menu .ite5 .title {
    background: url("../images/icon_menu5.png") no-repeat center top 30px/43px;
}
.sec09_menu .ite6 .title {
    background: url("../images/icon_menu6.png") no-repeat center top 30px/43px;
}
.sec09_menu .ite7 .title {
    background: url("../images/icon_menu7.png") no-repeat center top 30px/43px;
}
.sec09_menu .ite8 .title {
    background: url("../images/icon_menu8.png") no-repeat center top 30px/43px;
}
.sec09_menu .ite9 .title {
    background: url("../images/icon_menu9.png") no-repeat center top 30px/43px;
}
.sec09_menu .ite10 .title {
    background: url("../images/icon_menu10.png") no-repeat center top 30px/43px;
}
.sec09_menu .ite11 .title {
    background: url("../images/icon_menu11.png") no-repeat center top 30px/43px;
}
.sec09_menu .ite12 .title {
    background: url("../images/icon_menu12.png") no-repeat center top 30px/43px;
}
.sec09_ttl.ttl {
    margin-bottom: 18px;
}
/*============= SEC10 ==============*/
.sec10 {
    background: #F5FAE5;
}
.sec10_item {}
.sec10_item .item {
    padding-bottom: 50px;
}
.sec10_item .btn a {
    max-width: 309px;
    padding-right: 30px;
    padding-top: 0;
}
.sec10_item .ite1 {
    background: #F5FAE5;
}
.sec10_item .ite2 {
    background: #FFFDED;
}
.sec10_img img {
    width: 100%;
}
.sec10_box {
    border-radius: 10px;
    background: #74B800;
    width: 104px;
    height: 104px;
    margin: -50px auto 25px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-top: 8px;
    top: -67px;
    margin-bottom: -32px;
}
.sec10_box > span {
    background: url("../images/icon_idx1.png") no-repeat center top/29px;
    padding-top: 25px;
    line-height: 1.3;
}
.ite2 .sec10_box span {
    background: url("../images/icon_idx2.png") no-repeat center top/28px;
    padding-top: 25px;
    line-height: 1.3;
}
.sec10_ttl {
    color: var(--mcolor);
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 22px;
    width: 100%;
    display: block;
}
.ite2 .sec10_ttl {
    color: var(--scolor);
}
.ite2 .sec10_box {
    background: #FF8944;
}
.sec10_txt {
    padding: 0 30px;
    margin-bottom: 31px;
}
.sec10_txt.idx_txt p {
    line-height: 1.72;
    letter-spacing: 0.05em;
}
/*============= SEC11 ==============*/
.sec11 {
    position: relative;
    padding-top: 79px;
    padding-bottom: 162px;
}
.sec11:before {
    position: absolute;
    content: "";
    background: url("../images/idx_bg03.png") no-repeat center top/402px;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
.ttl_white.ttl {
    color: #fff;
    background: url("../images/icon_idx4.png") no-repeat center top/26px;
    padding-top: 39px;
    margin-bottom: 27px;
}
.sec11_ttl .ja {
    color: #fff;
}
.sec11_ttl.ttl .en {
    color: #fff;
    opacity: 0.6;
}
.sec11_box_ttl {
    background: #fff;
    width: calc(100% - 13px);
    height: 98px;
    display: flex;
    align-items: center;
    border-radius: 0 15px 15px 0;
    box-shadow: 0px 4px 14px 0px rgba(0, 0, 0, 0.1);
    color: var(--mcolor);
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: -42px;
    position: relative;
    padding-left: 18px;
}
.sec11_box_ttl:before {
    clip-path: polygon(100% 0, 0 0, 100% 100%);
    position: absolute;
    content: "";
    width: 12px;
    height: 11px;
    background: #fff;
    left: 57px;
    bottom: -10px;
}
.sec11_img {
    text-align: right;
    padding-left: 20px;
}
.sec11_img img {
    border-radius: 0px 0px 0px 15px;
    width: 100%;
}
.sec11_name {
    display: flex;
    color: #fff;
    flex-direction: column;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-left: 20px;
    margin-bottom: 40px;
}
.sec11_name .sm {
    margin-bottom: 3px;
}
.sec11_name .lg {
    font-size: 125%;
}
.sec11_frame {
    background: rgba(241, 255, 149, 0.2);
    border-radius: 15px;
    width: calc(100% - 30px);
    margin: 0 auto;
    padding: 25px 10px 12px 25px;
    color: #fff;
    display: flex;
    margin-bottom: 40px;
}
.sec11_frame_ttl {
    margin-bottom: 10px;
    flex-shrink: 0;
    margin-right: 31px;
    padding-top: 2px;
}
.sec11_list {
    padding: 0 20px;
    margin-bottom: 30px;
}
.sec11_list2 {
    padding: 5px 0;
}
.sec11_list2 .sec11_list2_item {
    color: #fff;
    position: relative;
    padding-left: 17px;
    letter-spacing: 0.01em;
    margin-bottom: 12px;
    display: block;
}
.sec11_list2 .sec11_list2_item:before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    left: 0;
    top: 5px;
}
.sec11_list li {
    border-bottom: 1px #fff dashed;
    padding: 6px 0px;
    letter-spacing: 0.01em;
    color: #fff;
    font-weight: 400;
    white-space: nowrap;
}
.sec11_list_line {
    padding: 0 20px;
    color: #fff;
}
.sec11_list_line p {}
/*============= SEC12 ==============*/
.sec12 {
    position: relative;
    padding-top: 72px;
}
.sec12 .ttl {
    margin-bottom: 36px;
}
.sec12:before, .sec12:after {
    position: absolute;
    content: "";
}
.sec12:before {
    background: url("../images/cur2.png") no-repeat center top/cover;
    width: 402px;
    height: 41px;
    left: 0;
    top: -41px;
    z-index: 2;
}
.sec12:after {
    background: url("../images/icon_pp9.png") no-repeat center top/cover;
    width: 143px;
    height: 121px;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: -128px;
    /* z-index: -1; */
}
.sec12_item {}
.sec12_item .item {
    margin-bottom: 60px;
}
.sec12_en {
    width: 143px;
    height: 44px;
    border-radius: 40px;
    background: var(--scolor);
    color: #fff;
    text-align: center;
    font-family: var(--f-en);
    letter-spacing: 0.05em;
    line-height: 44px;
    margin: 0 auto -22px;
    position: relative;
    z-index: 9;
}
.sec12_img {
    position: relative;
    overflow: hidden;
}
.sec12_img:after {
	border-radius: 50%;
	content: "";
	position: absolute;
	left: -5%;
	bottom: 0px;
	width: 110%;
	height: 62%;
	background: linear-gradient(to bottom, rgba(153, 204, 0, 0) 50%, rgba(153, 204, 0, 1) 100%);
	pointer-events: none;
	opacity: 0.6;
	z-index: 1;
}
.sec12_img img {
    width: 100%;
}
.sec12_img:before {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    right: 0;
    margin: 0 auto;
    z-index: 2;
}
.sec12_img.ic1:before {
    background: url("../images/icon_pp10.png") no-repeat center top/cover;
    width: 145px;
    height: 116px;
}
.sec12_img.ic2:before {
    background: url("../images/icon_pp11.png") no-repeat center top/cover;
    width: 176px;
    height: 106px;
    bottom: 0px;
}
.sec12_img.ic3:before {
    background: url("../images/icon_pp12.png") no-repeat center top/cover;
    width: 194px;
    height: 116px;
}
.sec12_img.ic4:before {
    background: url("../images/icon_pp13.png") no-repeat center top/cover;
    width: 179px;
    height:129px;
    left: 3px;
}
.sec12_img.ic5:before {
    background: url("../images/icon_pp14.png") no-repeat center top/cover;
    width: 125px;
    height: 139px;
    left: 22px;
}
.sec12_img.ic6:before {
    background: url("../images/icon_pp15.png") no-repeat center top/cover;
    width: 144px;
    height: 100px;
}
.sec12_group {
    position: relative;
}
.sec12_ttl2 {
    position: absolute;
    left: 0;
    right: 0;
    top: 98px;
    display: flex;
    color: #FFFFFF;
    justify-content: space-between;
}
.sec12_ttl2 li {
    line-height: 1.4;
    flex: 1;
    text-align: center;
}
.sec12_title {
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
    line-height: 1.8;
    margin-bottom: 21px;
}
.sec12_title .green {}
.sec12_des {
    background: rgba(227, 241, 204, 0.5);
    border-radius: 10px;
    padding: 15px 24px;
    line-height: 2;
    width: calc(100% - 30px);
    margin: 0 auto 30px;
    letter-spacing: 0.03em;
}
.sec12 .btn a {
    max-width: 342px;
}
/*============= SEC13 ==============*/
.sec13 {
    position: relative;
    padding: 50px 0;
}
.sec13 .inner {
    position: relative;
    z-index: 1;
}
.sec13:before {
    position: absolute;
    content: "";
    background: url("../images/idx_bg05.jpg") no-repeat center top/cover;
    width: 402px;
    height: 444px;
    left: 0;
    top: 0;
}
.sec13_frame {
    background: url("../images/idx_img_24.png") no-repeat center top/372px;
    border-radius: 20px;
    height: 344px;
    width: 372px;
    position: relative;
    margin: 0 auto;
    padding: 33px 15px 33px 30px;
}
.sec13_frame:before, .sec13_frame:after {
    position: absolute;
    content: "";
}
.sec13_frame:after {
    border: 5px rgba(255, 255, 255, 0.5) solid;
    border-radius: 20px;
    left: 0;
    top: 0;
    pointer-events: none;
    width: 100%;
    height: 100%;
}
.sec13_frame:before {
    background: url("../images/arrow_white2.svg") no-repeat center top/cover;
    width: 32px;
    height: 32px;
    right: 15px;
    bottom: 15px;
}
.sec13_frame a {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 9;
}
.sec13_ttl {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    max-width: 215px;
    margin-bottom: 14px;
}
.sec13_ttl > span {
    width: 41px;
    height: 41px;
    background: #FF6B15;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 29px;
    font-weight: bold;
}
.sec13_txt {
    color: #fff;
    margin-bottom: 15px;
    display: block;
    line-height: 2;
}
.sec13_list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.sec13_list .sec13_list_ite {
    background: #fff;
    border-radius: 50px;
    height: 35px;
    line-height: 35px;
    color: var(--mcolor);
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.01em;
    padding: 0 11px;
}
/*============= SEC FAQ ==============*/
.sec14 {
    background: url("../images/idx_bg06.jpg") repeat-y center top/402px;
    padding-bottom: 100px;
    position: relative;
    padding-top: 70px;
}
.sec14 .ttl .ja .en {
    margin-top: 8px;
}
.sec14 .ttl {
    margin-bottom: 16px;
}
.sec14:before {
    position: absolute;
    content: "";
    background: url("../images/icon_pp18.png") no-repeat center top/cover;
    width: 170px;
    height: 120px;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -9px;
}
.list_faq {
    margin-bottom: 20px;
    padding: 0 15px;
}
.list_faq dl {
    padding: 0;
    margin-bottom: 0px;
    border-bottom: 1px rgba(0, 0, 0, 0.1) solid;
}
.list_faq dl.active {
    padding: 0;
    margin-bottom: 0px;
    border-bottom: 1px rgba(0, 0, 0, 0) solid;
}
.list_faq dl:last-child {
    margin-bottom: 0
}
.list_faq dt {
    position: relative;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: all .3s;
    min-height: 60px;
    letter-spacing: .01em;
    padding: 22px 50px 23px 0px;
    width: 100%;
    margin: 0 auto;
}
.list_faq dt, .list_faq dd {
    color: #333;
}
.list_faq dd p {
    font-size: 14px;
    line-height: 1.8 !important;
}
.list_faq dt:after, .list_faq dt::before {
    position: absolute;
    content: "";
    transition: all 0.3s;
}
.list_faq dt:after {
    width: calc(100% - 48px);
    border-bottom: 1px #D0D0D0 dashed;
    left: 0;
    bottom: 0;
    margin: 0 auto;
    right: 0;
    opacity: 0;
}
.list_faq .active dt:after {}
.list_faq dl:first-child dt {}
.list_faq dl dt::before {
    transform: rotate(-180deg);
}
.list_faq dl.active dt::before {
    transform: rotate(0deg);
}
.list_faq dl.active dt .ic:after {
    transform: rotate(0deg);
    opacity: 0;
}
.list_faq dt .icon {
    width: 47px;
    height: 47px;
    font-weight: 700;
    text-align: center;
    line-height: 1em;
    margin-right: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    top: calc(50% - 15px);
    position: relative;
    letter-spacing: 0;
    background: #FF6B15;
    color: #fff;
}
.list_faq dt .tt {
    line-height: 1.8;
    font-weight: 700;
    color: var(--txt);
}
.list_faq dt .ic {
    border-radius: 50%;
    width: 12px;
    height: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0px;
    top: calc(50% - 6px);
}
.list_faq dt .ic:before, .list_faq dt .ic:after {
    position: absolute;
    content: "";
    width: 11px;
    height: 1px;
    background: #FF6B15;
    transition: all 0.3s;
}
.list_faq dt .ic:after {
    transform: rotate(90deg);
}
.list_faq dt .tt .bold {
    font-weight: bold;
}
.list_faq dd {
    position: relative;
    letter-spacing: 0.05em;
    padding: 20px;
    line-height: 1.8;
    display: none;
    font-weight: 500;
    background: #fff;
    border-radius: 20px;
}
.list_faq dt .icon {
    font-size: 15px;
}
/*============= SEC14 ==============*/
.sec15 {
    padding-top: 50px;
}
.sec15:before {
    position: absolute;
    content: "";
    background: url("../images/idx_bg07.png") no-repeat center top/cover;
    width: 402px;
    height: 493px;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: -30px;
}
.ttl.sec15_ttl {
    margin-bottom: 19px;
}
.sec15 .ttl {
    margin-bottom: 27px;
}
.sec15_tab {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
    gap: 5px;
    flex-wrap: wrap;
    padding: 0 30px;
}
.sec15_tab li {
    width: calc(50% - 4px);
    height: 49px;
}
.sec15_tab li:not(:last-child) {}
.sec15_tab li a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    transition: all 0.3s;
    position: relative;
    color: #727272;
    letter-spacing: 0.05em;
    padding-top: 2px;
    border-radius: 23px;
    font-weight: 700;
    background: #F3F3F3;
}
.sec15_tab li a.active {
    background: var(--scolor);
    pointer-events: none;
    color: #fff;
}
.sec15_wrap {
    background: #fff;
    padding: 31px 0px 40px;
    width: 100%;
    margin: 0 auto;
}
.sec15_wrap .btn {
    margin-top: 32px;
}
.sec15_load {
    padding: 0 30px;
}
.sec15_load dl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-radius: 10px;
    padding: 19px 0 18px;
    cursor: pointer;
}
.sec15_load dl:not(:last-child) {
    border-bottom: 1px rgba(0, 0, 0, 0.1) solid;
}
.sec15_load dl dt {
    display: flex;
    margin-bottom: 2px;
    align-items: center;
}
.sec15_load dl dt .date {
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #A1A1A1;
    border-right: 1px rgba(0, 0, 0, 0.2) solid;
    padding-right: 14px;
    margin-right: 14px;
    font-family: var(--f-zen);
    height: 15px;
    line-height: 15px;
}
.sec15_load dl dt .cate {
    flex-shrink: 0;
    text-align: center;
    border-radius: 20px;
    color: var(--mcolor);
    letter-spacing: 0.05em;
    font-weight: bold;
    position: relative;
    top: 1px;
}
.sec15_load dl dd {
    font-family: var(--noto-san);
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: 100%;
    font-weight: 500;
    letter-spacing: 0.05em;
    background: url("../images/arrow_green.png") no-repeat right center/20px;
    padding-right: 20px;
}
.sec15_tab {}
/*============= SEC15 ==============*/
.sec15 {
    position: relative;
    padding-bottom: 175px;
}
.sec15 .btn a {
    max-width: 342px;
}
/*============= SEC16 ==============*/
/*============= SEC contact ==============*/
.idx_txt p {
    line-height: 2.2;
}
/*==========================================================
                        C O M M ON
==========================================================*/
.ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: url("../images/icon_teeth.png") no-repeat center top/26px;
    padding-top: 38px;
    letter-spacing: 0.05em;
    font-family: var(--f-zen);
    font-weight: bold;
    margin-bottom: 18px;
}
.ttl .ja {
    font-size: 29px;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 5px;
    text-align: center;
}
.ttl .en {
    color: #A1A1A1;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.ttl .ja .en {
    display: block;
    font-size: 15px;
    margin-top: 9px;
}
.seccom_ttl_box {
    display: flex;
    background: var(--mcolor);
    color: #fff;
    text-align: center;
    border-radius: 20px;
    min-height: 40px;
    width: 100%;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-top: -20px;
    margin-bottom: 23px;
    z-index: 9;
}
.seccom_ttl_en {
    margin-right: 19px;
}
.seccom_ttl_tt {
    font-size: 18px;
    font-weight: 700;
}
/*==========================================================
                        F O O T E R
==========================================================*/
footer {
    position: relative;
    z-index: 3;
    background: #99CC00;
    padding-top: 52px;
    padding-bottom: 52px;
}
footer:before {
    position: absolute;
    content: "";
    background: url("../images/idx_bg08.png") center top/402px;
    width: 402px;
    height: 280px;
    left: 0;
    top: -145px;
    right: 0;
    z-index: -1;
}
.logo_ft {
    text-align: center;
    margin-bottom: 40px;
}
footer .box_info .hour, footer .box_info .txt, footer .box_info .box_add, footer .box_info .gg_link a {
    color: #fff;
}
footer .box_info .gg_link a, .gg_link_center a {
    border-bottom-color: #fff;
    background: url("../images/arrow_w_right.svg") no-repeat right top 4px;
}
.gg_link_center {
    width: fit-content;
    margin: 0 auto 51px;
}
.gg_link_center a {
    color: #fff;
    border-bottom: 1px #fff solid;
    padding-right: 15px;
}
.ft_bnr {
    margin-bottom: 40px;
}
.ft_bnr li {
    text-align: center;
    margin-bottom: 10px;
}
.ft_bnr li a {
    display: inline-block;
    width: fit-content;
}
.ft_txt {
    padding: 0 15px;
    margin-bottom: 40px;
}
.ft_txt p {
    color: #fff;
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: 0.05em;
}
.cta_list_ft {
    flex-direction: row;
    justify-content: center;
    gap: 8px;
}
.cta_list_ft .btn_sika {
    margin-bottom: 0;
}
.cta_list_ft .btn_sika a, .cta_list_ft .btn_tel a {
    width: 187px;
}
.ft_map {
    width: 100%;
    height: 343px;
    padding: 0 15px;
    margin-bottom: 4px;
}
.ft_map iframe {
    width: 100%;
    height: 100%;
    border-radius: 15px;
}
address {
    color: #fff;
    text-align: center;
    letter-spacing: 0.05em;
    position: relative;
    font-size: 15px;
    line-height: 1.7;
    padding-bottom: 17px;
    padding: 0 15px;
}
/* BACK TO TOP */
.to_top {
    position: fixed;
    z-index: 8;
    right: 20px;
    cursor: pointer;
    transition: all .2s;
    display: block;
    bottom: 10px;
    background: url("../images/arrow_up.svg")var(--mcolor) no-repeat center/20px;
    width: 80px;
    height: 80px;
    border-radius: 20px;
    margin-bottom: 0;
    opacity: 0;
    visibility: hidden;
}
.to_top.show {
    opacity: 1;
    visibility: visible;
}
.h_contact {
    width: 80px;
    height: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 0;
    gap: 15px;
}
.h_contact p {
    width: 60px;
    height: 230px;
    margin-bottom: 0;
}
.h_contact p a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    letter-spacing: 0.2em;
    box-shadow: 0px 10px 14px 0 rgba(0, 0, 0, 0.25);
}
.contact_sika a {
    background: var(--scolor);
}
.contact_sika a span {
    background: url("../images/icon_sika.svg") no-repeat center top/26px;
    padding-top: 35px;
}
.contact_tel a span {}
.contact_tel a {
    background: var(--mcolor);
}
.contact_tel a span {
    background: url("../images/icon_tel_w.svg") no-repeat center top/22px;
    padding-top: 35px;
}
.sec08_ttl .text1 {
    text-orientation: sideways-right;
    font-size: 24px;
}
/* FIREFOX ONLY */
@-moz-document url-prefix() {
    .nav_list > div > .big .icon::after {
        transform: rotate(90deg);
        top: calc(50% - 1px);
        left: calc(50% - 4px);
    }
    .nav_list > div > .big .icon::before, .nav_list > div > .big .icon::after {
        width: 7px;
    }
    .nav_list > div > .big .icon {
        width: 21px;
        height: 21px;
    }
	.nav_list > div > .big > a {
		background-size: 21px auto;
	}
}
/* Safari 10.1+ (which is the latest version of Safari at this time) */
@media not all and (min-resolution: 0.001dpcm) {}