@charset "UTF-8";
/*==========================================================================*/
/*                           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: 180%;
    -webkit-text-size-adjust: none;
    font-weight: 500;
}
html:focus-within {
    scroll-behavior: smooth;
}
img {
    vertical-align: middle;
    max-width: 100%;
    flex-shrink: 0;
    height: auto;
}
*, ::before, ::after {
    box-sizing: border-box;
    outline: none;
}
::before, ::after {
    pointer-events: none;
}
select {
    visibility: visible !important;
}
a {
    transition: all ease 0.3s;
    text-decoration: none;
    color: var(--txt);
    text-underline-offset: 3px;
}
a[href^="tel:"] {
    word-break: keep-all;
}
iframe {
    width: 100%;
    height: 100%;
    border: none;
    outline: none;
}

/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html {
    background: #fff
}
body {
    color: var(--txt);
    -webkit-text-size-adjust: none;
    min-width: 320px;
    font-family: var(--font-main)
}
select, input, textarea {
    font-family: var(--font-main);
    font-size: 100%;
}
table {
    width: 100%
}
h1, h2, h3, h4, h5, h6 {
    line-height: 1.5;
}
p, dd, dt, li, th, td, address {
    line-height: 1.77em;
    letter-spacing: 0;
}
p {
    margin: 0 0 1.5em;
}
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;
}
.m0a {
    display: block;
    margin: 0 auto;
}
.f_big {
    font-size: 150%;
}
.f_sm {
    font-size: 80%;
}
:root {
    --font-main: "Noto Sans JP", sans-serif;
    --txt: #333333;
    --mcolor: #ff5400;
    --scolor: #ffdc9e;
    --site_size: 1430px;
    --gray: #e9e9e9;
    --blue: blue;
    --red: red;
    --en: "Roboto", sans-serif;
}
#wrapper {
    min-width: 1260px;
    overflow: hidden;
    margin: 0 auto
}
.inner {
    width: var(--site_size);
    margin: 0 auto;
    position: relative;
    max-width: 100%;
    padding: 0 15px;
}
/*==========================================================
                       H E A D E R  
==========================================================*/
header {
    position: relative;
    z-index: 10;
}
@-webkit-keyframes scrolltop {
    0% {
        transform: translateY(-90px);
        transform-origin: center center;
        opacity: 0;
        transition: ease-in-out;
    }
    100% {
        transform: translateY(0);
        transform-origin: center center;
        opacity: 1;
    }
}
@-moz-keyframes scrolltop {
    0% {
        transform: translateY(-90px);
        transform-origin: center center;
        opacity: 0;
        transition: ease-in-out;
    }
    100% {
        transform: translateY(0);
        transform-origin: center center;
        opacity: 1;
    }
}
@keyframes scrolltop {
    0% {
        transform: translateY(-90px);
        transform-origin: center;
        opacity: 0;
        transition: ease-in-out;
    }
    100% {
        transform: translateY(0);
        transform-origin: center center;
        opacity: 1;
    }
}
h1 {}
.h_box {
    width: 100%;
    position: relative;
    background-color: #fff;
    left: 0;
    top: 0;
    z-index: 9999;
    padding-bottom: 32px;
    max-width: 1920px;
    margin: 0 auto;
}
.h_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    width: 100%;
    padding: 0 40px;
}
.h_contact {
    display: flex;
    align-items: center;
}
.h_left, .h_slogan {
    display: flex;
}
.h_left {
    margin-top: 24px;
}
.h_right {
    margin-top: 23px;
}
.h_slogan {
    flex-direction: column;
    width: 109px;
    height: 71px;
    border-radius: 12px;
    border: 2px #0460b6 solid;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    margin-left: 20px;
    margin-top: 5px;
}
.h_slogan .tt {
    background: #0460b6;
    color: #fff;
    height: 35px;
    letter-spacing: 0.05em;
    font-weight: 500;
    border-radius: 5px 5px 0 0;
}
.h_slogan .txt {
    color: #0460b6;
    line-height: 1.42;
}
.cta {
    display: flex;
}
.cta .contact_tel {
    display: flex;
    align-items: center;
    margin-top: 10px;
    margin-right: 23px;
}
.cta .contact_tel a {
    font-size: 36px;
    font-weight: bold;
    font-family: var(--en);
    position: relative;
    letter-spacing: 0.025em;
    padding-left: 30px;
    margin-right: 24px;
    top: 2px;
}
.cta .contact_tel a:before {
    position: absolute;
    content: "";
    background: url("../images/icon_tel.png") no-repeat left center/cover;
    width: 24px;
    height: 25px;
    left: 0;
    top: 3px;
}
.cta .contact_tel .boxtime {
    display: flex;
    flex-direction: column;
}
.cta .contact_tel .boxtime_sub {
    display: flex;
    align-items: center;
    color: #393939;
    letter-spacing: 0.03em;
    font-weight: 500;
}
.cta .contact_tel .boxtime_sub .sub1 {}
.cta .contact_tel .boxtime_sub .sub2 {}
.cta p {
    margin-bottom: 0;
}
.cta .contact_mail {}
.cta .contact_mail a {
    background: var(--mcolor);
    box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.3);
}
.cta .contact_mail a .icon {
    position: relative;
}
.cta p a .icon {
    padding-left: 50px;
    display: flex;
}
.cta .contact_mail a .icon:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
}
.cta .contact_mail a .icon {
    background: url("../images/icon_mail.png") no-repeat left top 6px /36px;
}
.cta .contact_line a .icon {
    background: url("../images/icon_line.png") no-repeat left top -2px / 52px;
    font-size: 20px;
    padding-left: 58px;
}
.cta .contact_line {
    margin-left: 24px;
}
.cta .contact_line a {
    background: #06c755;
    box-shadow: -1px 2px 4px 0px rgba(0, 0, 0, 0.3);
}
.cta p:not(.contact_tel) a {
    width: 292px;
    height: 100px;
    border-radius: 16px;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    letter-spacing: 0.025em;
    justify-content: center;
}
.cta p a .sm {
    background: #fffaa3;
    width: 186px;
    height: 39px;
    border-radius: 0px 0px 14px 14px;
    font-size: 20px;
    font-weight: bold;
    color: #333;
    text-align: center;
    line-height: 36px;
    margin: 0 auto;
    position: absolute;
    top: -23px;
    box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.15);
}
.cta p a .sm .arrow {
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0px;
    position: absolute;
    filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.25));
}
.cta p a .sm .arrow:before {
    position: absolute;
    content: "";
    width: 23px;
    height: 13px;
    background: #fffaa3;
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    left: 0;
    right: 0;
    top: 0;
    margin: 0 auto;
}
.cta p a .sm .num {
    font-size: 24px;
}
.cta p a .lg {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;
    padding-right: 15px;
}
.cta .contact_line a .lg {
    padding-top: 20px;
}
.cta .contact_mail a .lg {
    padding-top: 10px;
}
.cta .contact_tel .boxtime_sub .label {
    background: #ffdc9e;
    width: 90px;
    height: 27px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 600;
    margin-right: 9px;
}
.cta .contact_tel .boxtime_sub .txt {
    font-size: 18px;
}
/* HAMBUGER BUTTON */
.hamburger {
    font: inherit;
    display: block;
    overflow: visible;
    margin: 0;
    padding: 10px 8px 5px;
    cursor: pointer;
    transition-timing-function: linear;
    transition-duration: .15s;
    transition-property: opacity, filter;
    text-transform: none;
    color: inherit;
    border: 0
}
.hamburger-box {
    position: relative;
    display: inline-block;
    width: 35px;
    height: 24px
}
.hamburger-inner {
    top: 50%;
    display: block;
    margin-top: -2px
}
.hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {
    position: absolute;
    width: 35px;
    height: 2px;
    transition: all ease 0.15s;
    background-color: var(--mcolor)
}
.hamburger-inner::after, .hamburger-inner::before {
    display: block;
    content: ""
}
.hamburger-inner::before {
    top: -10px
}
.hamburger-inner::after {
    bottom: -10px
}
.hamburger--3dxy .hamburger-box {
    perspective: 80px
}
.hamburger--3dxy .hamburger-inner {
    transition: transform .15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0 cubic-bezier(0.645, 0.045, 0.355, 1) .1s
}
.hamburger--3dxy .hamburger-inner::after, .hamburger--3dxy .hamburger-inner::before {
    transition: transform cubic-bezier(0.645, 0.045, 0.355, 1) .1s
}
.hamburger--3dxy.is_active .hamburger-inner {
    transform: rotateX(180deg) rotateY(180deg);
    background-color: transparent !important
}
.hamburger--3dxy.is_active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg)
}
.hamburger--3dxy.is_active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg)
}
.nav_list > li > a {
    font-weight: bold;
    transition: none;
}
.nav_list > li > a .org {
    color: var(--mcolor);
}
/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main {
    position: relative;
    z-index: 2;
}
.mv {
    position: relative;
    padding: 0;
    max-width: 1920px;
    height: 772px;
    z-index: 1;
    padding-top: 107px;
    margin: 0 auto;
}
.mv:before, .mv:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    border-radius: 64px;
}
.mv:before {
    background: url("../images/main.jpg") no-repeat center top/cover;
    top: 0;
    z-index: -1;
    min-width: 1920px;
    left: -7px;
}
.mv:after {
    background: #feeac9;
    top: 20px;
    z-index: -2;
}
.mv_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.mv_txt {
    display: flex;
    flex-direction: column;
}
.mv_txt h2 {
    font-size: 52px;
    font-weight: bold;
    text-align: center;
    line-height: 1.46;
    padding-top: 24px;
}
.mv_txt {
    background: #ffffff;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.30);
    width: 880px;
    height: 352px;
    border-radius: 30px;
    margin: 0 auto 4px;
    overflow: hidden;
}
.txt_org {
    color: var(--mcolor);
}
.mv_txt h2 .txt_org {
    font-weight: 900;
}
.mv_org {
    margin-top: auto;
    width: 100%;
    height: 79px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 34px;
    font-weight: bold;
    background: var(--mcolor);
    letter-spacing: 0.025em;
    padding-left: 11px;
    padding-bottom: 5px;
}
.mv_bnr3, .mv_bnr2 {
    position: absolute;
}
.mv_bnr2 {
    right: 60px;
    top: 121px;
}
.mv_bnr3 {
    right: 124px;
    top: 344px;
}
.mv_bnr1 {
    margin-left: 10px;
}
.mv_bb1 {
    display: flex;
    position: absolute;
    left: 46px;
    bottom: 49px;
    flex-direction: column;
    align-items: center;
}
.mv_bb1:before {
    position: absolute;
    content: "";
    background: url("../images/mv_pp.png") no-repeat center top/cover;
    width: 588px;
    height: 672px;
    left: -40px;
    bottom: -49px;
    border-radius: 45px;
    z-index: -1;
}
.mv_bb1 .bb1 {
    height: 96px;
    background: var(--mcolor);
    color: #fff;
    border-radius: 39px;
    font-size: 24px;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 238px;
    box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.2);
    margin-bottom: 26px;
    position: relative;
    letter-spacing: .025em;
    line-height: 1.3;
}
.mv_bb1 .bb1 .arrow {
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 2px;
    position: absolute;
    filter: drop-shadow(0px 0px 14px rgba(0, 0, 0, 0.2));
}
.mv_bb1 .bb1 .arrow:before {
    position: absolute;
    content: "";
    width: 26px;
    height: 20px;
    background: var(--mcolor);
    clip-path: polygon(100% 0, 0 0, 0 100%);
    left: 0;
    right: 0;
    top: 0;
    margin: 0 auto;
}
.mv_bb1 .bb1 .sm {
    position: relative;
    left: -5px;
}
.mv_bb1 .bb1 .lg {
    padding-bottom: 0px;
}
.mv_bb1 .bb1 .lg .number {
    font-size: 34px;
    font-family: var(--en);
}
.mv_bb1 .bb2 {
    color: #fff;
    display: flex;
    flex-direction: column;
    letter-spacing: 0.025em;
    font-weight: bold;
    line-height: 1.6;
}
.mv_bb1 .bb2 .sm {
    font-size: 20px;
}
.mv_bb1 .bb2 .lg {
    font-size: 28px;
}
/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.ttl .ja {
    font-size: 32px;
}
.ttl .en {
    font-size: 16px;
}
.ttl .sm {
    background: #ffdc9e;
    height: 69px;
    padding: 0 28px 0 42px;
    min-width: 310px;
    border-radius: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 0.025em;
    margin-bottom: 17px;
    position: relative;
    left: 9px;
    z-index: 1;
}
.ttl .sm:after {
    background: url("../images/brush3.png") no-repeat center top/cover;
    width: 118px;
    height: 40px;
    left: -16px;
    top: -12px;
    position: absolute;
    content: "";
}
.ttl .sm:before {
    position: absolute;
    content: "";
    width: 35px;
    height: 23px;
    background: #ffdc9e;
    clip-path: polygon(100% 0, 12% 0, 0 100%);
    left: 0;
    right: 0;
    bottom: -22px;
    margin: 0 auto;
    z-index: -1;
}
.ttl .lg {
    font-size: 64px;
    font-weight: 900;
    letter-spacing: 0.025em;
}
/* DEFAUTL NAME BUTTON */
.btn a {
    width: 380px;
    height: 65px;
    border-radius: 33px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url('../images/arrow_w.png') no-repeat right 25px center /8px var(--mcolor);
    font-size: 18px;
    color: #fff;
    text-decoration: none;
    letter-spacing: 0.025em;
    box-shadow: 2px 4px 10px 0px rgba(0, 0, 0, 0.2);
    font-weight: bold;
}
.btn.center a {
    margin-left: auto;
    margin-right: auto;
}
section {
    padding: 40px 0;
}
/*==================== SEC01 ===================*/
.sec01 {
    padding-top: 105px;
    background: #fdf8f4;
    padding-bottom: 80px;
    position: relative;
    z-index: 1;
    max-width: 1920px;
    margin: 0 auto;
}
.sec01:before {
    position: absolute;
    content: "";
    background: url("../images/brush1.png") no-repeat left top/cover;
    width: 517px;
    height: 197px;
    left: -6px;
    top: 85px;
}
.sec01 .inner {
    width: 100%;
    padding: 0;
}
.sec01_ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 53px;
    letter-spacing: 0.075em;
}
.sec01_ttl .lg {
    font-size: 64px;
    font-weight: 900;
    margin-bottom: 16px;
}
.sec01_ttl .sm {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.025em;
}
.sec01_slide {
    display: flex;
    justify-content: center;
    padding: 0 81px;
    margin-bottom: 38px;
}
.sec01_slide .slick-list {
    padding: 10px 0;
}
.sec01_slide .item {
    width: 412px;
    height: 332px;
    background: #fff;
    margin: 0 12px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 1px 1px 10px 0px rgba(0, 0, 0, 0.1);
    position: relative;
}
.sec01_slide .item .wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    height: 100%;
}
.sec01_slide .item .wrap a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.sec01_slide .slick-prev, .sec01_slide .slick-next {
    position: absolute;
    z-index: 9;
    margin: auto;
    border-width: 0;
    background: none;
    cursor: pointer;
    text-indent: 9999999px;
    height: 120px;
    width: 80px;
    outline: none;
    opacity: 1;
    transition: all 0.3s linear;
    top: calc(50% - 0px);
}
.sec01_slide .slick-next {
    right: 0px;
    background: url(../images/icon_next.png) no-repeat center/80px;
}
.sec01_slide .slick-prev {
    left: 0px;
    background: url(../images/icon_prev.png) no-repeat center/80px;
}
.line {
    position: relative;
    z-index: -1;
}
.line:before {
    position: absolute;
    content: "";
    width: calc(100% + 10px);
    left: -5px;
    height: 32px;
    background: #fffaa3;
    border-radius: 16px;
    bottom: 3px;
    z-index: -1;
}
.sec01_img {
    margin-bottom: 17px;
    height: 232px;
    width: 100%;
}
.sec01_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sec01_date {
    color: #666666;
    font-size: 14px;
    letter-spacing: 0.025em;
    margin-bottom: 2px;
}
.sec01_title {
    color: var(--mcolor);
    font-size: 20px;
    font-weight: bold;
    text-align: left;
    letter-spacing: 0.04em;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: 100%;
    padding-right: 15px;
}
.sec01_date, .sec01_title {
    padding-left: 30px;
}
/*==================== SEC02 ===================*/
.sec02 {
    position: relative;
    padding-top: 80px;
    padding-bottom: 140px;
}
.sec02:before {
    position: absolute;
    content: "";
    background: url("../images/idx_map1.png") no-repeat right top;
    width: 1920px;
    height: 1078px;
    left: calc(50% - 1030px);
    top: -250px;
}
.sec02 .inner {
    width: 100%;
    padding: 0;
    max-width: 1920px;
}
.sec02_img1 img {
    border-radius: 0px 30px 30px 0;
}
.sec02_item {
    display: flex;
    justify-content: space-between;
}
.sec02_item .item1 {
    flex-shrink: 0;
    position: relative;
    left: -7px;
}
.sec02_item .item2 {
    align-self: flex-end;
    padding-right: 180px;
    position: relative;
    bottom: -25px;
}
.sec02_img2 {
    position: absolute;
    right: -152px;
    bottom: -26px;
}
.sec02_frame {
    width: 746px;
    position: relative;
}
.sec02_frame .wrap:before, .sec02_frame:before, .sec02_frame:after {
    position: absolute;
    content: "";
}
.sec02_frame:after {
    background: url("../images/poly_org1.png") no-repeat left top/cover;
    width: 64px;
    height: 48px;
    left: -72px;
    top: 36px;
    z-index: -1;
}
.sec02_frame:before {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    box-shadow: 4px 0px 14px 0px rgba(0, 0, 0, 0.2);
    background: rgba(243, 80, 0, 0.5);
    left: -8px;
    bottom: -8px;
}
.sec02_frame .wrap {
    position: relative;
    background: #fff;
    box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.1);
    padding: 29px 15px;
    border-radius: 20px;
    z-index: 1;
}
.sec02_frame .wrap:before {
    top: 28px;
    left: -64px;
    background: url("../images/poly_w1.png") no-repeat left top/cover;
    width: 64px;
    height: 48px;
}
.sec02_ttl {
    font-size: 32px;
    font-weight: 900;
    margin-bottom: 24px;
    padding-left: 33px;
    letter-spacing: 0.025em;
}
.sec02_ttl {}
.sec02_txt {
    padding: 0 35px;
}
.sec02_txt p {
    letter-spacing: 0.025em;
    line-height: 1.77;
}
/*==================== SEC03 ===================*/
.sec03 {
    padding: 75px 43px 77px;
    position: relative;
    max-width: 1920px;
    margin: 0 auto;
}
.sec03 .boxwrap {
    position: relative;
}
.sec03 .ttl {
    margin-bottom: 42px;
    position: relative;
    z-index: 1;
}
.sec03 .ttl:before, .sec03 .ttl:after, .sec03:before, .sec03:after, .sec03 .boxwrap:before, .sec03 .boxwrap:after, .sec03 .inner:before, .sec03 .inner:after {
    position: absolute;
    content: "";
}
.sec03 .ttl:after {
    background: url("../images/idx_img_03.png") no-repeat center top/cover;
    width: 304px;
    height: 389px;
    right: 99px;
    top: -182px;
}
.sec03 .boxwrap:before {
    background: url("../images/brush2.png") no-repeat left top/cover;
    width: 425px;
    height: 246px;
    left: -65px;
    top: -95px;
    z-index: 9;
}
.sec03 .boxwrap:after {
    background: url("../images/brush4.png") no-repeat left top/cover;
    width: 334px;
    height: 246px;
    right: -65px;
    bottom: -130px;
    z-index: 1;
}
.sec03 .ttl:before {
    width: calc(100% - 100px);
    height: 240px;
    left: 0;
    top: -68px;
    background: #fdf8f4;
    z-index: -1;
}
.sec03:before, .sec03:after {
    width: 1620px;
    height: 605px;
    background: url("../images/par.jpg") repeat 0 0;
}
.sec03:before {
    border-radius: 90px 0 0 0;
    right: 0;
    top: 0;
}
.sec03:after {
    border-radius: 0px 0 90px 0;
    left: 0;
    bottom: 0;
    z-index: -1;
}
.sec03 .inner {
    width: 100%;
    padding: 94px 15px 78px;
    background: #fdf8f4;
    border-radius: 32px;
}
.sec03 .inner:before {
    border: 4px var(--mcolor) solid;
    opacity: 0.2;
    left: 32px;
    right: 32px;
    top: 33px;
    bottom: 30px;
}
.sec03 .inner:after {
    width: 335px;
    height: 235px;
    right: 0;
    bottom: 0;
    background: #fdf8f4;
}
.sec03_txt {
    max-width: 1400px;
    margin: 0 auto 56px;
    position: relative;
    z-index: 2;
}
.sec03_txt p {
    letter-spacing: 0.028em;
    line-height: 1.77;
}
.sec03_item {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 2;
}
.sec03_item > div {
    width: 784px;
    background: #fff;
    border-radius: 30px;
    position: relative;
    box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.15);
    padding-bottom: 25px;
}
.sec03_item > div .wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 1px;
}
.sec03_img:before {
    position: absolute;
    content: "";
    border: 10px #fff solid;
    left: 0;
    top: 0;
    border-radius: 30px 30px 0 0;
    pointer-events: none;
    width: 100%;
    height: calc(100% - 16px);
}
.sec03_item > div:not(:last-child) {
    margin-right: 32px;
}
.sec03_item > div a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.sec03_img {
    margin-bottom: 16px;
}
.sec03_img img {
    border-radius: 32px 32px 0 0;
}
.sec03_ttl {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    top: 140px;
}
.sec03_ttl .sm {
    height: 62px;
    border-radius: 31px;
    background: #ffdc9e;
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 0.025em;
    box-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 25px 0 30px;
    margin-bottom: -10px;
    position: relative;
    z-index: 1;
    left: -30px;
}
.sec03_ttl .sm:before {
    position: absolute;
    content: "";
    background: url("../images/arrow_yl.png") no-repeat center bottom/24px;
    width: 28px;
    height: 20px;
    left: 0;
    right: 0;
    bottom: -20px;
    margin: 0 auto;
}
.sec03_ttl .lg {
    background: #fff;
    height: 120px;
    border-radius: 30px;
    font-size: 42px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 62px 0 61px;
    box-shadow: 4px 7px 0px 0px rgba(255, 84, 0, 0.5);
}
.sec03_txt_sub {
    padding: 0 30px 21px;
}
.sec03_txt_sub p {
    letter-spacing: 0.03em;
    line-height: 1.77;
}
.sec03_btn {
    border-top: 1px #dddddd solid;
    text-align: center;
    padding-top: 18px;
    width: calc(100% - 40px);
    margin: 0 auto;
}
.sec03_btn .icon {
    font-size: 24px;
    font-weight: bold;
    color: var(--mcolor);
    background: url("../images/arrow_org.png") no-repeat right top 11px;
    padding-right: 25px;
    letter-spacing: 0.02em;
}
/*==================== SEC04 ===================*/
.sec04 {
    position: relative;
    background: #fff;
    padding-top: 145px;
    padding-bottom: 80px;
}
.sec04:before {
    position: absolute;
    content: "";
    width: 100%;
    height: calc(100% - 260px);
    left: 0;
    background: #fce9da;
    bottom: 0;
}
.sec04 .inner {
    width: 100%;
    padding: 0;
    z-index: 1;
    max-width: 1920px;
}
.sec04 .inner:before, .sec04 .inner:after {
    position: absolute;
    content: "";
}
.sec04 .inner:before {
    width: 100%;
    height: 545px;
    background: #fdf8f4;
    border-radius: 90px 90px 0 0;
    left: 0;
    top: 0;
    z-index: -1;
}
.sec04 .inner:after {
    background: url("../images/brush6.png") no-repeat center top/1920px;
    width: 1920px;
    height: 161px;
    left: calc(50% - 960px);
    top: 402px;
    z-index: -1;
}
.sec04 .ttl {
    position: relative;
    top: -41px;
    margin-bottom: 0px;
}
.sec04 .ttl:before, .sec04 .ttl:after {
    position: absolute;
    content: "";
}
.sec04 .ttl:before {
    background: url("../images/idx_img_06.png") no-repeat center top/cover;
    width: 375px;
    height: 538px;
    left: 87px;
    top: 9px;
}
.sec04 .ttl:after {
    background: url("../images/brush5.png") no-repeat right top/cover;
    width: 265px;
    height: 258px;
    right: 354px;
    top: -36px;
}
.sec04_txt {
    text-align: center;
    margin: 0 auto 57px;
    max-width: 925px;
}
.sec04_txt p {
    line-height: 1.77;
    letter-spacing: 0.025em;
}
.sec04_item {
    display: flex;
    flex-wrap: wrap;
    padding-top: 204px;
    position: relative;
    z-index: 1;
    margin-bottom: -203px;
    pointer-events: none;
}
.sec04_item:before, .sec04_item:after {
    position: absolute;
    content: "";
    z-index: -1;
}
.sec04_item:before {
    background: url("../images/bg_point_l.png") no-repeat left top;
    width: 1030px;
    height: 873px;
    left: -7px;
    top: 290px;
}
.sec04_item:after {
    background: url("../images/bg_point_r.png") no-repeat left top;
    width: 954px;
    height: 1002px;
    right: -8px;
    bottom: 503px;
}
.sec04_item > div {
    width: calc(50% - 45px);
    background: #fff;
    box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.2);
    margin-bottom: 283px;
    padding-bottom: 59px;
    position: relative;
    pointer-events: auto;
    cursor: pointer;
}
.sec04_item > div:nth-child(2n+1) {
    border-radius: 0px 30px 30px 0;
    border: 2px #ff5400 solid;
    border-left: none;
}
.sec04_item > div:nth-child(2n+2) {
    border-radius: 30px 0px 0px 30px;
    border: 2px #ff5400 solid;
    border-right: none;
}
.sec04_item > div:not(:nth-child(2n)) {
    margin-right: 90px;
}
.sec04_item > div:nth-child(2n+1) .sec04_w {
    padding-left: 25px;
}
.sec04_item > div:nth-child(2n+2) .sec04_w {
    padding-left: 40px;
}
.sec04_w {
    display: flex;
    justify-content: center;
    position: relative;
    top: -205px;
    margin-bottom: -205px;
    cursor: pointer;
}
.sec04_round {
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: #fff;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
    font-weight: bold;
    font-family: var(--en);
    margin-right: -70px;
    padding-right: 30px;
    letter-spacing: 0.025em;
    left: -12px;
    top: 82px;
    padding-top: 9px;
}
.sec04_round:before {
    position: absolute;
    content: "";
    pointer-events: none;
    border: 10px var(--mcolor) dotted;
    border-radius: 50%;
    left: -20px;
    top: -15px;
    width: calc(100% + 30px);
    height: calc(100% + 30px);
}
.sec04_round .en {
    font-size: 28px;
    margin-bottom: 5px;
    letter-spacing: 0.025em;
    padding-right: 10px;
    line-height: 1;
}
.sec04_round .number {
    color: #ff7033;
    font-size: 52px;
    line-height: 1;
}
.sec04_img {
    position: relative;
    z-index: 1;
    margin-bottom: -20px !important;
}
.sec04_img img {
    border-radius: 30px 30px 0 0;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
}
.sec04_img.bor {
    position: relative;
}
.sec04_img.bor:before {
    position: absolute;
    content: "";
    border: 8px #ffdc9e solid;
    border-radius: 30px 30px 0 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.sec04_lable {
    background: #ffdc9e;
    height: 78px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    font-weight: 900;
    border-radius: 40px 0 0 40px;
    width: calc(100% - 53px);
    margin-left: auto;
    margin-bottom: 30px;
    box-shadow: 1px 1px 8px 0px rgba(0, 0, 0, 0.2);
    position: relative;
    z-index: 1;
    padding-right: 33px;
    letter-spacing: 0.025em;
}
.sec04_item > div:nth-child(2n+2) .sec04_lable {
    width: calc(100% - 55px);
    padding-right: 70px;
}
.sec04_ttl {
    text-align: center;
    font-size: 42px;
    font-weight: 900;
    letter-spacing: 0.025em;
    line-height: 1.52;
    margin-bottom: 40px;
}
.sec04_txt_sub {
    text-align: left;
    padding: 0 60px;
    letter-spacing: 0.025em;
    line-height: 1.77;
}
/*==================== SEC05 ===================*/
.sec05 {
    padding: 0;
}
.sec05 .inner {
    width: 100%;
    padding: 0;
}
.sec05_item {
    display: flex;
    position: relative;
    height: 555px;
}
.sec05_item:before {
    position: absolute;
    content: "";
    background: url("../images/idx_img_13.png") no-repeat center top/1920px;
    width: 1920px;
    height: 100%;
    left: calc(50% - 960px);
    top: 0;
}
.sec05_item > div {
    position: relative;
    flex: 1;
    z-index: 1;
    color: #fff;
    cursor: pointer;
}
.sec05_item > div .wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 128px;
    position: relative;
    height: 100%;
}
.sec05_item > div:before, .sec05_item > div .wrap:after, .sec05_item > div .wrap:before {
    position: absolute;
    content: "";
}
.sec05_item > div.item1 .wrap:before {
    background: url("../images/brush7_l.png") no-repeat left top/cover;
    width: 289px;
    height: 146px;
    left: -7px;
    top: 46px;
}
.sec05_item > div.item2 .wrap:before {
    background: url("../images/brush7_r.png") no-repeat left top/cover;
    width: 288px;
    height: 146px;
    right: -8px;
    top: 46px;
}
.sec05_item > div:before {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    opacity: 0.5;
    z-index: -1;
}
.sec05_item > div .wrap:after {
    height: 395px;
    width: 700px;
    border-radius: 30px;
    opacity: 0.3;
    top: 72px;
    z-index: -1;
}
.sec05_item .item1:before {
    background: #c49028;
}
.sec05_item .item2:before {
    background: #d05a20;
}
.sec05_item .item1 .wrap:after {
    background: #b69029;
    right: 48px;
}
.sec05_item .item2 .wrap:after {
    background: #c6561e;
    left: 48px;
}
.sec05_item .item1 .wrap {
    padding-left: 158px;
}
.sec05_item .item2 .wrap {
    padding-right: 156px;
}
.sec05_item .item2 .sec05_lable {
    padding: 0 25px;
}
.sec05_item .item2 .sec05_lable .sm {
    font-size: 87.5%;
    margin: 0 -11px;
    letter-spacing: 0.025em;
}
.sec05_img {
    position: absolute;
    margin-bottom: 0;
}
.sec05_item .item1 .sec05_img {
    left: -37px;
    bottom: -2px;
}
.sec05_item .item2 .sec05_img {
    right: -52px;
    bottom: -2px;
}
.sec05_lable {
    height: 62px;
    padding: 0 29px;
    border: 2px #fff solid;
    border-radius: 31px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 22px;
    position: relative;
}
.sec05_lable:before {
    position: absolute;
    content: "";
    background: url("../images/poly_w2.png") no-repeat center top/cover;
    width: 28px;
    height: 20px;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -20px;
}
.sec05_ttl {
    font-size: 42px;
    font-weight: 900;
    background: url("../images/line_dot.png") no-repeat center bottom/114px;
    padding-bottom: 20px;
    margin-bottom: 42px;
    letter-spacing: 0.025em;
}
.sec05_img {}
.sec05_txt {
    margin-bottom: 23px;
    letter-spacing: 0.025em;
    text-align: center;
    line-height: 1.77;
    font-weight: 400;
}
.btn_white {}
.btn_white a {
    color: #333;
    background: url(../images/arrow_b.png) no-repeat right 25px center / 8px #fff;
}
/*==================== SEC06 ===================*/
.sec06 {
    background: url("../images/par.jpg") repeat;
    padding-top: 100px;
    position: relative;
    padding-bottom: 134px;
    z-index: 1;
    max-width: 1920px;
    margin: 0 auto;
}
.sec06:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 260px;
    left: 0;
    bottom: 0;
    background: #fdf8f4;
}
.sec06 .inner {
    padding: 0;
    width: 100%;
    z-index: 2;
}
.sec06_ttl {
    text-align: center;
    font-size: 64px;
    font-weight: 900;
    padding-top: 55px;
    background: url("../images/idxh3.png") no-repeat center top;
    margin-bottom: 44px;
    position: relative;
    letter-spacing: 0.025em;
}
.sec06_ttl:before, .sec06_ttl:after {
    position: absolute;
    content: "";
}
.sec06_ttl:before {
    background: url("../images/brush8.png") no-repeat left top/cover;
    width: 347px;
    height: 235px;
    left: 144px;
    top: 23px;
}
.sec06_ttl:after {
    background: url("../images/brush9.png") no-repeat left top/cover;
    width: 353px;
    height: 196px;
    right: 114px;
    top: 34px;
}
.sec06_txt {
    text-align: center;
    max-width: 1020px;
    margin: 0 auto 24px;
}
.sec06_txt p {
    line-height: 1.77;
    letter-spacing: 0.025em;
}
.sec06_item {
    display: flex;
    position: relative;
    justify-content: center;
    z-index: 5;
    padding-bottom: 20px;
    margin-top: 0px;
}
.sec06_item:before {
    position: absolute;
    content: "";
    background: url("../images/idx_bg1.png") no-repeat center top/cover;
    width: 1920px;
    height: 512px;
    left: calc(50% - 960px);
    bottom: -30px;
}
.sec06_item > div {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.sec06_item .item1 {
    margin-right: 15px;
    top: 0px;
    left: -20px;
}
.sec06_item .item2 {
    margin-right: 25px;
    top: 75px;
    left: 23px;
}
.sec06_item .item3 {
    top: 0px;
    left: 67px;
}
.sec06_img {
    margin-bottom: -152px;
}
.sec05_ttl_sub {
    width: 100%;
    max-width: 420px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background-color: rgba(255, 84, 0, 0.9);
    color: #fff;
    font-size: 32px;
    font-weight: bold;
    line-height: 1.5;
    position: relative;
    text-align: center;
    padding-bottom: 4px;
    box-shadow: 2px 4px 10px 0px rgba(0, 0, 0, 0.2);
    letter-spacing: 0.025em;
}
.sec05_ttl_sub:before {
    position: absolute;
    content: "";
    background: url("../images/arrow_w_lg.png") no-repeat center/cover;
    width: 12px;
    height: 21px;
    right: 25px;
    top: calc(50% - 10px);
}
.item1 .sec05_ttl_sub {
    margin-left: 36px;
}
.item2 .sec05_ttl_sub {
    margin-left: 38px;
}
.item3 .sec05_ttl_sub {
    margin-left: -64px;
}
.item2 .sec06_img {
    margin-bottom: -129px;
}
.item3 .sec06_img {
    margin-bottom: -147px;
}
/*==================== SEC07 ===================*/
.sec07 {
    position: relative;
    padding-top: 140px;
    padding-bottom: 100px;
}
.sec07 .inner {
    width: 100%;
    padding: 0 0;
    max-width: 1920px;
}
.sec07:before {
    position: absolute;
    content: "";
    background: url("../images/idx_bg2.png") no-repeat center top/1920px;
    width: 1920px;
    height: 100%;
    left: calc(50% - 960px);
    top: 0;
}
.sec07_item {
    display: flex;
    align-items: flex-start;
}
.sec07_ttl {
    display: flex;
    flex-direction: column;
    margin-bottom: 37px;
}
.sec07_ttl .sm {
    font-size: 40px;
    letter-spacing: 0.025em;
    font-weight: 700;
    margin-bottom: 2px;
}
.sec07_ttl .lg {
    font-size: 64px;
    font-weight: 900;
    letter-spacing: 0.025em;
    color: var(--mcolor);
}
.sec07_txt {
    max-width: 720px;
    margin-bottom: 46px;
}
.sec07_txt p {
    letter-spacing: 0.025em;
    line-height: 1.77;
}
.sec07_item .item1 {
    background: #fff;
    border-radius: 0 30px 30px 0;
    margin-right: 80px;
    width: calc(50% + 80px);
    padding: 60px 0 22px 0;
    box-shadow: 4px 0px 30px 0px rgba(0, 0, 0, 0.25);
}
.sec07_item .item1 .wrap {
    padding-left: 233px;
    position: relative;
}
.sec07_item .item1 .wrap:before {
    position: absolute;
    content: "";
    background: url("../images/brush10.png") no-repeat center top/cover;
    width: 271px;
    height: 247px;
    left: 102px;
    top: -124px;
}
.sec07_item .item2 {
    margin-top: 80px;
    position: relative;
    margin-right: -40px;
}
.sec07_item .item1 .wrap .arrow {
    position: absolute;
    right: 1px;
    top: calc(50% - 130px);
    z-index: 9;
    filter: drop-shadow(15px 0px 7px rgba(0, 0, 0, 0.2));
}
.sec07_item .item1 .wrap .arrow:before {
    position: absolute;
    content: "";
    width: 103px;
    height: 94px;
    background: #fff;
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
}
.box_btn {
    display: flex;
}
.box_btn p:not(:last-child) {
    margin-right: 32px;
}
.box_btn p a {
    width: 280px;
    font-weight: 500;
}
.sec07_img {
    position: relative;
    z-index: 1;
}
.sec07_img:before {
    position: absolute;
    content: "";
    width: calc(100% + 45px);
    height: calc(100% + 7px);
    left: -17px;
    bottom: -19px;
    background: #ffdc9e;
    opacity: 0.8;
    border-radius: 30px 0 0 30px;
    z-index: -1;
}
.sec07_img img {
    border-radius: 30px 0 0 30px;
}
.sec07_name {
    position: absolute;
    right: 40px;
    bottom: -13px;
    width: 243px;
    height: 121px;
    border-radius: 30px;
    background: #fff;
    z-index: 9;
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.025em;
    padding-bottom: 3px;
    color: #000033;
    box-shadow: 4px 0px 30px 0px rgba(0, 0, 0, 0.25);
}
.sec07_name .sm {
    font-size: 20px;
    margin-bottom: 3px;
}
.sec07_name .lg {
    font-size: 130%;
    font-weight: 700;
    letter-spacing: 0.1em;
}
/*==================== SEC08 ===================*/
/*==========================================================
                        F O O T E R
==========================================================*/
footer {
    position: relative;
    z-index: 3;
    padding-top: 49px;
}
.ft_top {
    background: #fdf8f4;
    padding-top: 62px;
    position: relative;
    z-index: 1;
    padding-bottom: 25px;
    margin-bottom: 71px;
}
.ft_top:before, .ft_top:after {
    position: absolute;
    content: "";
}
.ft_top:before {
    background: #fce9da;
    left: 0;
    right: 0;
    top: 0;
    margin: 0 auto;
    height: 160px;
    width: 100%;
    z-index: -2;
}
.ft_top:after {
    width: calc(100% - 40px);
    height: 680px;
    background: url("../images/par2.png") repeat;
    right: 0;
    top: -33px;
    border-radius: 340px 0 0 340px;
    z-index: -1;
}
.ft_top .inner {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    width: 100%;
    max-width: 1736px;
    align-items: center;
}
.ft_info_logo {
    margin-bottom: 47px;
}
.box_cta {
    width: calc(100% - 86px);
    background: #fff;
    border-radius: 30px;
    margin: 0 auto 17px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 6px #ffdc9e solid;
    padding: 102px 0 49px;
    position: relative;
}
.box_cta:before, .box_cta:after {
    position: absolute;
    content: "";
}
.box_cta:before {
       width: calc(100% - 555px);
    left: 78px;
    right: 0;
    margin: 0 auto;
    top: -4px;
    background: #fff;
    height: 30px;
}
.box_cta:after {
       background: url(../images/brush11.png) no-repeat center top / cover;
    width: 260px;
    height: 401px;
    right: -163px;
    bottom: -10px;
}
.ft_cta_ttl {
    font-size: 40px;
    font-weight: bold;
    color: #000000;
    position: absolute;
    left: 97px;
    right: 0;
    top: -35px;
    margin: 0 auto;
    text-align: center;
    text-shadow: rgb(255, 255, 255) 4px 0px 0px, rgb(255, 255, 255) 3.87565px 0.989616px 0px, rgb(255, 255, 255) 3.51033px 1.9177px 0px, rgb(255, 255, 255) 2.92676px 2.72656px 0px, rgb(255, 255, 255) 2.16121px 3.36588px 0px, rgb(255, 255, 255) 1.26129px 3.79594px 0px, rgb(255, 255, 255) 0.282949px 3.98998px 0px, rgb(255, 255, 255) -0.712984px 3.93594px 0px, rgb(255, 255, 255) -1.66459px 3.63719px 0px, rgb(255, 255, 255) -2.51269px 3.11229px 0px, rgb(255, 255, 255) -3.20457px 2.39389px 0px, rgb(255, 255, 255) -3.69721px 1.52664px 0px, rgb(255, 255, 255) -3.95997px 0.56448px 0px, rgb(255, 255, 255) -3.97652px -0.432781px 0px, rgb(255, 255, 255) -3.74583px -1.40313px 0px, rgb(255, 255, 255) -3.28224px -2.28625px 0px, rgb(255, 255, 255) -2.61457px -3.02721px 0px, rgb(255, 255, 255) -1.78435px -3.57996px 0px, rgb(255, 255, 255) -0.843183px -3.91012px 0px, rgb(255, 255, 255) 0.150409px -3.99717px 0px, rgb(255, 255, 255) 1.13465px -3.8357px 0px, rgb(255, 255, 255) 2.04834px -3.43574px 0px, rgb(255, 255, 255) 2.83468px -2.82216px 0px, rgb(255, 255, 255) 3.44477px -2.03312px 0px, rgb(255, 255, 255) 3.84068px -1.11766px 0px, rgb(255, 255, 255) 3.9978px -0.132717px 0px;
    letter-spacing: 0.025em;
    display: table;
    padding: 0 42px;
}
.ft_cta_ttl:before, .ft_cta_ttl:after {
    position: absolute;
    content: "";
    width: 6px;
    height: 58px;
    background: #ffdc9e;
    top: 4px;
    border-radius: 4px;
}
.ft_cta_ttl:before {
    left: 9px;
    transform: rotate(-30deg);
}
.ft_cta_ttl:after {
    right: 23px;
    transform: rotate(30deg);
}
.ft_cta_ttl .txt_org {
    font-size: 48px;
    font-weight: 900;
}
.cta.ft_contact {
    position: relative;
    left: 12px;
    z-index: 1;
}
.cta.ft_contact .contact_tel {
    flex-direction: column;
    margin-right: 73px;
    margin-top: 0;
    position: relative;
    top: 15px;
}
.cta.ft_contact .contact_tel .tel {
    font-size: 52px;
    padding-left: 48px;
    margin-bottom: 29px;
}
.cta.ft_contact .contact_tel .boxtime {
    position: relative;
    left: 12px;
}
.cta.ft_contact .contact_tel .boxtime .boxtime_sub.sub1 {
    margin-bottom: 8px;
}
.cta.ft_contact .contact_mail a {
    box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.25);
}
.cta.ft_contact p a .sm .arrow:before {
    width: 28px;
    height: 16px;
    top: -1px;
}
.cta.ft_contact p a .sm .arrow {
    filter: drop-shadow(0px 2px 1px rgba(0, 0, 0, 0.2));
}
.cta.ft_contact p a .sm {
    font-size: 28px;
    width: 240px;
    height: 50px;
    border-radius: 14px;
    line-height: 44px;
    top: -30px;
}
.cta.ft_contact p a .sm .num {
    font-size: 36px;
}
.cta.ft_contact p a .lg {
    font-size: 42px;
    padding-right: 12px;
    padding-top: 4px;
}
.cta.ft_contact .contact_line a .lg {
    padding-top: 17px;
}
.cta.ft_contact p:not(.contact_tel) a {
    width: 490px;
    height: 155px;
}
.cta.ft_contact .contact_line {
    margin-left: 39px;
}
.cta.ft_contact .contact_line a {
    box-shadow: -2px 3px 4px 0px rgba(0, 0, 0, 0.25);
}
.cta.ft_contact .contact_tel a:before {
    background: url("../images/icon_tel_cta.png") no-repeat left center/cover;
    width: 37px;
    height: 37px;
    left: 0;
    top: -3px;
}
.cta.ft_contact .contact_mail a .icon {
    background: url("../images/icon_mail_cta.png") no-repeat left top 9px;
    padding-left: 80px;
}
.cta.ft_contact .contact_line a .icon {
    background: url("../images/icon_line_cta.png") no-repeat left top -8px;
    padding-left: 85px;
    font-size: 36px;
    line-height: 1.27;
}
.cta.ft_contact .contact_tel .boxtime_sub {
    font-size: 22px;
}
.ft_addr {
    display: flex;
    align-items: center;
}
.ft_addr .tt {
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 0;
    margin-right: 30px;
}
.ft_addr .txt {
    font-size: 24px;
}
/* FOOTER INFORMATION */
.ft_bnr1_item {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.ft_bnr1_item > p:not(:nth-child(3n)) {
    margin-right: 48px;
}
.ft_bnr1_item > p {
    margin-bottom: 49px;
}
.ft_bnr2 {
    background: #fdf8f4;
    padding-top: 54px;
}
.ft_bnr2_item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1140px;
    margin: 0 auto;
}
.ft_bnr2_item > p {
    margin-right: 31px;
    margin-bottom: 33px;
}
.ft_bnr2_item > p:nth-child(4), .ft_bnr2_item > p:last-child {
    margin-right: 0;
}
.ft_bnr2_tt {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 22px;
}
/* FOOTER LINK */
.ft_link {
    margin-bottom: 64px;
}
.ft_link .inner {
    display: flex;
    justify-content: center;
    border-bottom: 2px #dddddd solid;
    padding-bottom: 62px;
    max-width: 1400px;
}
.ft_link ul:nth-child(1) {
    margin-right: 75px;
    margin-top: 8px;
    margin-left: 30px;
}
.ft_link ul:nth-child(2) {
    margin-right: 97px;
}
.ft_link ul li {}
.ft_link ul li.big {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 15px;
}
.ft_link ul li.big a {
    background: url("../images/arrow_ft.png") no-repeat left top 9px;
    padding-left: 18px;
}
.ft_link ul li {
    margin-bottom: 10px;
    letter-spacing: 0.025em;
}
.ft_link ul li:not(.big) > a {
    position: relative;
    padding-left: 20px;
    color: #333333;
    display: inline-block;
    line-height: 1.68;
}
.ft_link ul li:not(.big) > a::before {
    width: 8px;
    height: 8px;
    content: '';
    position: absolute;
    top: 12px;
    left: 2px;
    background: #ff5400;
    border-radius: 50%;
}
address {
    text-align: center;
    padding: 16px 20px;
}
/* BACK TO TOP */
.to_top {
    position: fixed;
    z-index: 9;
    width: 50px;
    height: 50px;
    bottom: 5px;
    right: 10px;
    cursor: pointer;
    transition: all .2s;
    opacity: 0;
    visibility: hidden
}
#dsb-chat {
    opacity: 0;
    transition: all .2s;
}
.to_top.show, .bnr_fix.show, .contact_fix.show, #dsb-chat.show {
    opacity: 1;
    visibility: visible
}
/* FUNCTIONS ASIDE */
.contact_fix {
    position: fixed;
    display: flex;
    flex-direction: column;
    right: 10px;
    /* bottom: 385px; */
    bottom: 220px;
    z-index: 8;
    align-items: center;
    transition: all .2s;
    opacity: 0;
    visibility: hidden
}
.contact_fix .label {
    background: url("../images/bb_yl.png") no-repeat center top/cover;
    width: 100px;
    height: 79px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    padding-top: 12px;
    letter-spacing: 0.025em;
    margin-bottom: 8px;
}
.contact_fix .label .num {
    font-family: var(--en);
    font-size: 20px;
    line-height: 1;
}
.contact_fix .contact_mail a, .contact_fix .contact_line a {
    width: 120px;
    height: 165px;
    border-radius: 16px;
    border: 4px #fff solid;
    display: flex;
    text-align: center;
    color: #fff;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1.375;
    box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.3);
    position: relative;
    overflow: hidden;
}
.contact_fix .contact_mail a:before, .contact_fix .contact_line a:before {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    width: 100%;
    height: 20px;
}
.contact_fix .contact_line a:before {
    background: url("../images/arrow_w_r.png")#0ab04e no-repeat center center/7px;
}
.contact_fix .contact_mail a:before {
    background: url("../images/arrow_w_r.png")#dc500b no-repeat center center/7px;
}
.contact_fix .contact_line {
    margin-bottom: 10px;
}
.contact_fix .contact_line a {
    background: #06c755;
    padding-bottom: 27px;
}
.contact_fix .contact_line a span {
    background: url("../images/icon_line_right.png") no-repeat center top /52px;
    padding-top: 53px;
}
.contact_fix .contact_mail a {
    background: #ff5400;
    padding-bottom: 17px;
    height: 157px;
}
.contact_fix .contact_mail a span {
    background: url("../images/icon_mail_right.png") no-repeat center top /36px;
    padding-top: 34px;
}
.bnr_fix {
    right: 0;
    bottom: 205px;
    position: fixed;
    z-index: 99;
    transition: all .2s;
    opacity: 0;
    visibility: hidden;
    margin-bottom: 0;
}
.sec01_slide .item a .sec03_item > div > a .sec04_item > div > a .sec06_item > div > a, .sec06_item > div a {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 9;
}

.postcode{cursor: pointer;}

/* HIDE COMMENT OUT */

.mv_bnr2,
.contact_fix .label,
.bnr_fix{display: none !important;}
