@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: 200%;
    -webkit-text-size-adjust: none;
    font-weight: 500;
}
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: var(--time);
    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;
}
h1 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -999;
    font-size: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html {
    background: #fff
}
html:focus-within {
    scroll-behavior: smooth;
}
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.6;
}
p, dd, dt, li, th, td, address {
    line-height: 1.6em;
    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);
}
.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: #333;
    --mcolor: #ff5b00;
    --scolor: #f9eedf;
    --site_size: 1230px;
    --gray: #999;
    --org: #ffb44a;
    --red: red;
    --time: all ease 0.3s;
    --en: "Jost", 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;
}
.h_box {
    width: 100%;
    position: fixed;
    background-color: #fff;
}
header.active .h_box {
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.10);
}
.h_left {
    flex-shrink: 0;
}
.h_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    width: 100%;
    padding: 19px 11px 19px 40px;
    max-width: 1920px;
}
.h_contact {
    display: flex;
    align-items: center;
}
.h_contact > p {
    margin-bottom: 0;
}
.h_contact > p:not(:last-child) {
    margin-right: 20px;
}
.h_contact_mail a {
    color: #FFF;
    font-weight: bold;
    text-align: center;
    background-color: var(--mcolor);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    height: 60px;
    position: relative;
}
.h_contact_mail a span {
    position: relative;
    z-index: 2;
    font-size: 20px;
    display: inline-block;
    padding-left: 30px;
}
.h_contact_mail a span::before {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    left: 0;
    top: calc(50% - 10px);
    background: url('../images/ic_h_mail.png') no-repeat center /cover;
}
.h_contact_tel a {
    font-size: 28px;
    color: #332829;
    font-weight: bold;
    padding-left: 25px;
    position: relative;
    line-height: 1;
    display: block;
}
.h_contact_tel .time {
    font-size: 12px;
    display: block;
    line-height: 1.6;
    text-align: right;
}
/* 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: 1px;
    transition: var(--time);
    background-color: #fff;
}
.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)
}
/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main {
    position: relative;
    padding-top: 130px;
    z-index: 2;
}
.mv {
    position: relative;
    padding: 0;
    height: 710px;
    background: var(--mcolor);
    max-width: 1920px;
    margin: 0 auto;
}
.mv_txt {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 26px 0 0 0;
}
.mv_txt:before, .mv_txt:after {
    position: absolute;
    content: "";
}
.mv_txt:before {
    background: url("../images/mv_img_01.png") no-repeat left top/cover;
    width: 1328px;
    height: 430px;
    left: 0;
    bottom: -95px;
    z-index: 3;
}
.mv_txt:after {
    background: url("../images/mv_img_03.png") no-repeat left top/cover;
    width: 640px;
    height: auto;
    right: -100px;
    bottom: 0;
    z-index: 9;
    aspect-ratio: 9/10;
}
.mv_ttl1 {
    margin-left: 65px;
}
.mv_ttl2 {
    position: relative;
    left: 70px;
    top: -88px;
}
.mv_ttl3 {
    margin-left: auto;
    left: -432px;
    position: relative;
    top: -212px;
    z-index: 3;
}
.mv_ttl1 {
    font-size: 46px;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}
.mv_ttl1 .sm {
    font-size: 46px;
    margin-bottom: 20px;
    text-shadow: 4px 5px 0px rgba(0, 0, 0, 0.2);
}
.mv_ttl1 .sm span {
    font-size: 82%;
}
.mv_ttl1 .lg {
    font-size: 150px;
    margin-bottom: 25px;
    text-shadow: 5px 10px 0px rgba(0, 0, 0, 0.2);
}
.mv_ttl1 .lg span {
    margin: 0 -23px;
}
.mv_ttl1 .mid {
    font-size: 60px;
    text-shadow: 4px 5px 0px rgba(0, 0, 0, 0.2);
}
.mv_ttl1 .mid .xlg {
    font-size: 140%;
    margin-right: 20px;
}
/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl {
    text-align: center;
    font-weight: bold;
}
.ttl span {
    display: block;
}
.ttl .ja {
    font-size: 32px;
}
.ttl .en {
    font-size: 16px;
}
/* DEFAUTL NAME BUTTON */
.btn a {
    width: 360px;
    height: 72px;
    border-radius: 999px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url('../images/icon_w_sm.png') no-repeat right 20px center /27px var(--mcolor);
    font-size: 24px;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.2);
    letter-spacing: 0.1em;
}
.btn_w a {
    background: url('../images/icon_w_sm.png') no-repeat right 20px center /27px #fff;
    font-size: 24px;
    font-weight: 900;
    color: #333333;
}
.btn.center a {
    margin-left: auto;
    margin-right: auto;
}
.btn_lg a {
    width: 400px;
}
section {
    padding: 40px 0;
}
/*==================== SEC01 ===================*/
.sec01 {
    padding: 80px 0 100px 0;
    position: relative;
}
.sec01:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 629px;
    left: 0;
    bottom: 0;
    background: #faf1e5;
}
.sec01 .inner {
    width: 100%;
    padding: 0;
}
.org {
    color: var(--mcolor);
}
.sec01_ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: 900;
    margin-bottom: 35px;
}
.sec01_ttl:before, .sec01_ttl:after {
    position: absolute;
    content: "";
}
.sec01_ttl:before {
    background: url("../images/pp01.png") no-repeat center top/cover;
    width: 368px;
    height: 400px;
    left: calc(50% - 660px);
    top: 29px;
}
.sec01_ttl:after {
    background: url("../images/idx_ic01.png") no-repeat center top/cover;
    width: 115px;
    height: 116px;
    right: calc(50% - 487px);
    top: 83px;
}
.sec01_ttl .sm {
    font-size: 52px;
    font-weight: 900;
    width: 286px;
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px var(--mcolor) solid;
    border-radius: 0px 10px 10px 0;
    padding-left: 8px;
    position: relative;
    padding-bottom: 2px;
}
.sec01_ttl .sm:before {
    position: absolute;
    content: "";
    background: url("../images/icon_home_lg.png") no-repeat center top/cover;
    width: 113px;
    height: 115px;
    left: -85px;
    top: -18px;
}
.sec01_ttl .lg {
    font-size: 82px;
}
.sec01_item {
    height: 760px;
    overflow: hidden;
}
.sec01_item.slick-initialized {
    overflow: visible;
	height: auto;
}
.sec01_item .slick-list {
    overflow: visible;
}
.sec01_item .slick-track {
    display: flex;
    align-items: flex-start;
    will-change: transform;
}
.sec01_item .item {
    width: 804px;
    margin: 0px -19px 0px -18px;
    transition: var(--time);
    background: #fff;
    border-radius: 45px;
    overflow: hidden;
    border: 4px var(--mcolor) solid;
    transform: scale(0.797);
    padding: 30px 30px 38px;
    display: flex;
    flex-direction: column;
}
.sec01_item .slick-center.item {
    transform-origin: center center;
    margin-top: 0px;
    position: relative;
    z-index: 3;
    transform: scale(1);
    padding-bottom: 38px;
    border-radius: 30px;
}
.sec01_img {
    margin-bottom: 23px;
}
.sec01_item .sec01_img {
    width: 100%;
    transition: var(--time);
    border-radius: 30px;
    overflow: hidden;
}
.sec01_item .sec01_img {
    height: 414px;
}
.sec01_item .sec01_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.sec01_date {
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 4px;
    padding: 0 16px;
}
.sec01_title {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 33px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding: 0 15px;
}
.sec01_btn {
	margin-top: auto;
}
.sec01_btn a {
    background: url("../images/icon_w.png")var(--mcolor) no-repeat right 20px center/34px;
    color: #fff;
    display: flex;
    height: 80px;
    align-items: center;
    justify-content: center;
    border-radius: 40px;
    font-size: 24px;
    font-weight: bold;
    max-width: 700px;
    margin: 0 auto;
}
.sec01_item.slick-slider {
    margin-bottom: 100px;
}
.sec01_item .slick-prev, .sec01_item .slick-next {
    position: absolute;
    z-index: 9;
    margin: auto;
    border-width: 0;
    background: none;
    cursor: pointer;
    text-indent: 9999999px;
    height: 310px;
    width: 152px;
    outline: none;
    opacity: 1;
    transition: var(--time);
    top: calc(50% - 6px);
}
.sec01_item .slick-next {
    right: 0;
    background: url(../images/icon_next.png) no-repeat center/cover;
}
.sec01_item .slick-prev {
    left: 0px;
    background: url(../images/icon_prev.png) no-repeat center/cover;
}
.sec01_item .slick-dots li {
    margin: 0 8px;
}
.sec01_item .slick-dots {
    bottom: -53px;
}
.sec01_item .slick-dots li button::before {
    display: none;
}
.sec01_item .slick-dots .slick-active {
    pointer-events: none;
}
.sec01_item .slick-dots li {
    width: 56px;
    height: 8px;
    border-radius: 4px;
    background: #cccccc;
}
.sec01_item .slick-dots .slick-active, .sec01_item .slick-dots li:hover {
    background: var(--mcolor);
}
/*==================== SEC02 ===================*/
.sec02 {
    padding-top: 90px;
    position: relative;
    padding-bottom: 340px;
}
.sec02:before {
    position: absolute;
    content: "";
    background: url("../images/indx_bg01.png") no-repeat center top/cover;
    width: 1920px;
    height: 902px;
    left: calc(50% - 960px);
    bottom: 0;
}
.sec02 .inner {}
.sec02_ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: 900;
    text-align: center;
    margin-bottom: 55px;
}
.sec02_ttl .sm {
    font-size: 50px;
    margin-bottom: 4px;
    position: relative;
    padding-left: 78px;
}
.sec02_ttl .sm:before {
    position: absolute;
    content: "";
    background: url("../images/icon_home.png") no-repeat left top/cover;
    width: 57px;
    height: 58px;
    left: 0;
    top: 10px;
}
.sec02_ttl .lg {
    font-size: 82px;
    line-height: 1.24;
    position: relative;
}
.sec02_ttl .lg:before {
    position: absolute;
    content: "";
    background: url("../images/brush1.png") no-repeat right top/cover;
    width: 148px;
    height: 108px;
    right: -8px;
    top: -9px;
}
.sec02_item {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    max-width: 970px;
    margin: 0 auto;
    gap: 44px 45px;
}
.sec02_item .item {
    width: 465px;
    height: 199px;
    border: 5px #333333 solid;
    border-radius: 10px;
    display: flex;
    align-items: center;
    padding-left: 100px;
    background: #fff;
    box-shadow: 3px 5px 0px 0px var(--mcolor);
    padding-bottom: 2px;
    position: relative;
}
.sec02_item .item:before {
    position: absolute;
    content: "";
}
.sec02_item .item.ite1 {
    padding-left: 145px;
}
.sec02_item .item.ite2 {
    padding-left: 77px;
}
.sec02_item .item.ite3 {
    padding-left: 100px;
    padding-top: 4px;
}
.sec02_item .item.ite4 {
    padding-left: 45px;
    padding-top: 5px;
}
.sec02_item .item.ite1:before {
    background: url("../images/idx_icon1.png") no-repeat left top/cover;
    width: 187px;
    height: 209px;
    left: -82px;
    top: -8px;
}
.sec02_item .item.ite2:before {
    background: url("../images/idx_icon2.png") no-repeat left top/cover;
    width: 154px;
    height: 197px;
    right: -86px;
    top: 2px;
}
.sec02_item .item.ite3:before {
    background: url("../images/idx_icon3.png") no-repeat left top/cover;
    width: 150px;
    height: 204px;
    left: -70px;
    top: 19px;
}
.sec02_item .item.ite4:before {
    background: url("../images/idx_icon4.png") no-repeat left top/cover;
    width: 179px;
    height: 217px;
    right: -101px;
    top: 7px;
}
.sec02_item .title {
    font-size: 26px;
    line-height: 1.61;
    font-weight: 700;
}
.sec02_item .title .org {
    font-size: 130%;
    font-weight: 900;
    line-height: 1.18;
}
/*==================== SEC03 ===================*/
.sec03 {
    position: relative;
    top: -198px;
    margin-bottom: -420px;
    padding-bottom: 0;
    z-index: 2;
}
.sec03 .inner {
    width: 100%;
}
.sec_cta1_ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: 900;
    width: 680px;
    height: 120px;
    background: #fff;
    margin: 0 auto 57px;
    border-radius: 20px 90px 0 0;
    position: relative;
    left: 12px;
    padding-right: 24px;
    z-index: -1;
}
.sec_cta1_ttl:before {
    position: absolute;
    content: "";
    background: url("../images/idx_ic02.png") no-repeat right top/cover;
    width: 161px;
    height: 111px;
    right: -69px;
    top: -42px;
}
.sec_cta1_ttl .sm {
    font-size: 42px;
    position: relative;
    padding: 0 70px 0 70px;
    margin-top: -41px;
}
.sec_cta1_ttl .sm:before, .sec_cta1_ttl .sm:after {
    position: absolute;
    content: "";
    width: 63px;
    height: 74px;
}
.sec_cta1_ttl .sm:before {
    background: url("../images/idx_ic02_left.png") no-repeat left top/cover;
    left: 4px;
    top: -5px;
}
.sec_cta1_ttl .sm:after {
    background: url("../images/idx_ic02_right.png") no-repeat left top/cover;
    right: 0;
    top: -5px;
}
.sec_cta1_ttl .sm .org {
    font-size: 123%;
}
.sec_cta1_ttl .lg {
    font-size: 82px;
    line-height: 1.17;
}
.sec_cta1_ttl .lg .org {}
.sec_cta1_box {
    width: 1404px;
    height: 432px;
    margin: 0 auto;
    background: #fff;
    border-radius: 30px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    position: relative;
}
.sec_cta1_box:before, .sec_cta1_box:after {
    position: absolute;
    content: "";
}
.sec_cta1_box:before {
    border: 2px #ff9000 solid;
    border-radius: 24px;
    left: 10px;
    top: 10px;
    bottom: 10px;
    right: 10px;
    pointer-events: none;
}
.sec_cta1_box:after {
    background: url("../images/pp07.png") no-repeat center top/cover;
    width: 305px;
    height: 550px;
    left: 97px;
    top: -280px;
    z-index: -1;
}
.sec_cta1_box .item {
    padding: 42px 58px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.sec_cta1_box .title {
    border-radius: 10px;
    background: #f9eedf;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    font-weight: 900;
    height: 84px;
    width: 100%;
    margin-bottom: 32px;
}
.sec_cta1_box .title span {
    position: relative;
}
.sec_cta1_box .title span:before {
    position: absolute;
    content: "";
}
.sec_cta1_box .title .ic_1:before {
    background: url("../images/icon_phone.png") no-repeat left center/cover;
    width: 30px;
    height: 48px;
    left: 0;
    top: 4px;
}
.sec_cta1_box .title .ic_1 {
    padding-left: 45px;
}
.sec_cta1_box .title .ic_2:before {
    background: url("../images/icon_mail.png") no-repeat left center/cover;
    width: 50px;
    height: 34px;
    left: 0;
    top: 12px;
}
.sec_cta1_box .title .ic_2 {
    padding-left: 63px;
}
.sec_cta1_box .ite1 {
    position: relative;
}
.sec_cta1_box .ite1:before {
    position: absolute;
    content: "";
    width: 4px;
    height: 278px;
    background: #eeeeee;
    border-radius: 2px;
    right: -2px;
    top: 40px;
}
.sec_cta1_box .ite2 {}
.sec_cta1_box .ite1 .title {
    padding-right: 45px;
    margin-bottom: 60px;
}
.sec_cta1_box .ite2 .title {
    padding-right: 65px;
}
.sec_cta1_tel {
    margin-bottom: 13px;
}
.sec_cta1_tel a {
    color: var(--mcolor);
    font-size: 64px;
    font-weight: 900;
    position: relative;
    padding-left: 50px;
}
.sec_cta1_tel a:before {
    position: absolute;
    content: "";
    background: url("../images/icon_tel.png") no-repeat left top/cover;
    width: 38px;
    height: 50px;
    left: 0;
    top: 28px;
}
.sec_cta1_txt {
    font-size: 28px;
    margin-left: 5px;
}
.sec_cta1_txt .hour {
    margin-left: 24px;
    font-size: 26px;
    font-weight: bold;
}
.sec_cta1_txt .hour .org {
    margin-left: 5px;
}
.sec_cta_btn {}
.sec_cta_btn a {
    width: 480px;
    height: 152px;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
    font-size: 32px;
    font-weight: 900;
    background: var(--mcolor);
    justify-content: center;
    border-radius: 16px;
    box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.2);
    padding-top: 7px;
    position: relative;
}

.sec_cta_btn a .label {
    width: 240px;
    height: 50px;
    background: #ffb44a;
    border-radius: 25px;
    line-height: 50px;
    font-size: 30px;
    text-align: center;
    color: #333333;
    margin-top: 17px;
}
.sec_cta1 .share_btn {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    width: 1204px;
    border: 2px #ff5b00 solid;
    border-radius: 10px 10px 0 0;
    height: 82px;
    margin-top: -82px;
    position: relative;
    background: #fff;
    border-bottom: none;
    align-items: center;
    gap: 45px;
}
.ic_facebook {
    position: relative;
    left: -4px;
}
/*==================== SEC04 ===================*/
.sec04 {
    background: var(--mcolor);
    padding-top: 330px;
    padding-bottom: 135px;
}
.sec04 .inner {
    width: 100%;
    padding: 0;
    max-width: 1920px;
}
.sec04_item {
    display: flex;
    position: relative;
}
.sec04_item .item1 {
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    left: 0px;
}
.sec04_title {
    position: absolute;
    top: 75px;
    z-index: 2;
    writing-mode: vertical-lr;
    text-orientation: upright;
    display: flex;
    flex-direction: column-reverse;
    font-weight: bold;
    right: 535px;
    color: #070707;
    font-family: 'Noto Sans JP V';
}
.sec04_title .sm {
    font-size: 24px;
    margin-left: 40px;
    letter-spacing: 0.01em;
}
.sec04_title .lg {
    font-size: 38px;
    padding-top: 38px;
}
.sec04_item .item2 {
    background: #fff;
    position: relative;
    margin-left: -651px;
    margin-top: 110px;
    width: 1220px;
    padding-top: 190px;
    border-radius: 0 90px 80px 0;
}
.sec04_item .wrap {
    background: #fff;
    border-radius: 80px 0px 80px 0;
    position: relative;
    margin-left: 190px;
    z-index: 2;
    padding-left: 100px;
    padding-bottom: 70px;
}
.sec04_box {
    display: flex;
    width: 580px;
    height: 110px;
    border-radius: 55px;
    align-items: center;
    background: #f9eedf;
    position: relative;
    z-index: 1;
    justify-content: center;
    top: -110px;
    left: -100px;
    margin-bottom: -69px;
}
.sec04_box:before {
    position: absolute;
    content: "";
    width: 49px;
    height: 33px;
    left: 100px;
    bottom: -25px;
    background: url("../images/arrow_down2.png") no-repeat center bottom/cover;
}
.sec04_box .en {
    font-size: 36px;
    font-weight: bold;
    color: var(--mcolor);
    margin-bottom: 0;
    margin-right: 39px;
    position: relative;
    left: -15px;
}
.sec04_box .en:before {
    position: absolute;
    content: "";
    width: 4px;
    height: 80px;
    background: #f7e1c7;
    border-radius: 2px;
    right: -39px;
    top: -10px;
}
.sec04_box .ja {
    font-size: 26px;
    font-weight: bold;
    padding-left: 20px;
}
.sec04_box .ja .lg {
    font-size: 138%;
    margin-left: 25px;
}
.sec04_ttl {
    font-size: 62px;
    font-weight: 900;
    line-height: 1.38;
    margin-bottom: 40px;
}
.idx_txt p {}
.sec04_txt {
    margin-bottom: 40px;
    padding-right: 100px;
}
.box_btn {
    display: flex;
    gap: 25px;
}
.sec04_boximg {
    position: absolute;
    left: 0;
    width: 684px;
    z-index: 9;
    bottom: 204px;
}
.sec04_img {
    border-radius: 0 10px 10px 0;
    width: fit-content;
}
.sec04_img.img1 {
    position: absolute;
    left: 0px;
    top: -186px;
    z-index: 9;
}
.sec04_img.img2 {
    position: absolute;
    right: -1px;
    top: -236px;
    border-radius: 10px 10px 0 10px;
    z-index: 9;
}
.sec04_img.img3 {
    position: absolute;
    top: 54px;
    right: -117px;
    width: 512px;
    height: auto;
    aspect-ratio: 512/268;
}
.sec04_img.img3 button {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    overflow: hidden;
    border-radius: inherit;
}
.sec04_img.img3 button img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}
.sec04_img.img3 button:hover img {
    transform: scale(1.05);
}
.video_play {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 68px;
    height: 48px;
    transform: translate(-50%, -50%);
    background: #f00;
    border-radius: 12px;
    transition: opacity .3s ease;
    opacity: .9;
}
.video_play:before {
    position: absolute;
    content: "";
    left: 50%;
    top: 50%;
    transform: translate(-35%, -50%);
    border-style: solid;
    border-width: 10px 0 10px 18px;
    border-color: transparent transparent transparent #fff;
}
.sec04_img.img3 button:hover .video_play {
    opacity: 1;
}
/* VIDEO POPUP */
.video_modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}
.video_modal.is-open {
    opacity: 1;
    visibility: visible;
}
.video_modal_overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .8);
    cursor: pointer;
}
.video_modal_inner {
    position: relative;
    width: 100%;
    max-width: 960px;
    z-index: 1;
}
.video_modal_frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    background: #000;
}
.video_modal_frame iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}
.video_modal_close {
    position: absolute;
    right: 0;
    top: -44px;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
}
.video_modal_close:before, .video_modal_close:after {
    position: absolute;
    content: "";
    left: 50%;
    top: 50%;
    width: 30px;
    height: 2px;
    background: #fff;
}
.video_modal_close:before {
    transform: translate(-50%, -50%) rotate(45deg);
}
.video_modal_close:after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
body.is-video-open {
    overflow: hidden;
}
.sec04_img.img2 img {
    border-radius: 0;
}
.bor_w, .bor_w1, .bor_w2 {
    position: relative;
}
.bor_w:before, .bor_w1:before, .bor_w2:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    border: 10px #fff solid;
    left: 0;
    top: 0;
    z-index: 1;
    pointer-events: none;
}
.bor_w:before {
    border-radius: 0 10px 10px 0;
    border-left: none;
    z-index: 1;
}
.sec04_img.bor_w {
     overflow: hidden; 
}
.bor_w1:before {
    width: calc(100% + 8px);
    height: calc(100% + 16px);
    border-left: none;
    border-radius: 0 10px 10px 0;
    border-width: 8px;
    top: -8px;
}
.bor_w2:before {
    width: calc(100% + 16px);
    height: calc(100% + 16px);
    border-radius: 10px;
    border-width: 8px;
    left: -8px;
    top: -8px;
}
/*==================== SEC05 ===================*/
.sec05 {
    background: var(--mcolor);
    position: relative;
    padding-top: 110px;
    padding-bottom: 118px;
}
.sec05:before {
    position: absolute;
    content: "";
    background: url("../images/pp03.png") no-repeat center top/cover;
    width: 408px;
    height: 738px;
    left: 21px;
    bottom: 15px;
    z-index: 2;
    display: none;
}
.sec05 .inner {
    z-index: 1;
    width: 1314px;
}
.sec05_wrap:after {
    position: absolute;
    content: "";
    background: url("../images/idx_ic03.png") no-repeat center top/cover;
    width: 153px;
    height: 159px;
    left: -151px;
    top: -45px;
}
.sec05 .inner:before {
    width: calc(100% - 64px);
    height: 1290px;
    background: #fff;
    left: calc(50% - 960px);
    top: -5px;
    border-radius: 90px;
    z-index: -1;
}
.sec05 .inner:before, .sec05 .inner:after {
    position: absolute;
    content: "";
}
.sec05 .inner:after {
    background: url("../images/idx_img_04.png") no-repeat center top/cover;
    width: 977px;
    height: 685px;
    right: calc(50% - 960px);
    top: 41px;
}
.sec05_wrap {
    padding-top: 88px;
    position: relative;
    z-index: 2;
}
.sec05_ttl {
    font-size: 62px;
    font-weight: 900;
    margin-bottom: 32px;
}
.sec05_ttl .org {}
.sec05_item {
    display: flex;
    gap: 39px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 39px;
}
.sec05_txt2 {
    padding-right: 330px;
    margin-bottom: 55px;
}
.sec05_item .item {
    width: 402px;
    background: #fff;
    border-radius: 40px;
    position: relative;
    padding: 30px 45px 40px;
}
.sec05_item .item a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
}
.sec05_item .item:before {
    position: absolute;
    content: "";
    border: 2px var(--mcolor) solid;
    border-radius: 30px;
    left: 10px;
    top: 10px;
    bottom: 12px;
    right: 10px;
}
.sec05_item .ite1 {}
.sec05_item .ite2 {}
.sec05_item .ite3 {}
.sec05_item .ite4 {}
.sec05_item .ite5 {}
.sec05_ic {
    position: relative;
    margin-bottom: 0;
    height: 177px;
    width: calc(100% + 20px);
    left: -10px;
}
.sec05_ic img {
    position: relative;
}
.sec05_item .ite1 .sec05_ic img {
    left: 18px;
}
.sec05_item .ite2 .sec05_ic img {
    left: 49px;
    top: 8px;
}
.sec05_item .ite3 .sec05_ic img {
    left: 5px;
    top: 2px;
}
.sec05_item .ite4 .sec05_ic img {
    left: 13px;
    top: 5px;
}
.sec05_item .ite5 .sec05_ic img {
    left: 10px;
}
.sec05_num {
    font-size: 60px;
    font-weight: bold;
    color: var(--mcolor);
    line-height: 1;
    margin-bottom: 0px;
    position: relative;
    font-family: var(--en);
    left: -5px;
}
.sec05_num:before {
    position: absolute;
    content: "";
    width: 287px;
    height: 1px;
    background: var(--mcolor);
    right: -38px;
    bottom: 10px;
}
.sec05_title {
    font-size: 32px;
    font-weight: bold;
    line-height: 1.4375;
    margin-bottom: 14px;
    margin-left: -3px;
}
.sec05_title .org {
    font-weight: 900;
}
.sec05_txt {}
.sec05_txt p {}
/*==================== SEC06 ===================*/
.sec06 {
    padding: 120px 0 0;
}
.sec06 .inner {
    width: 100%;
}
.sec06_img {
    text-align: center;
    margin-bottom: 67px;
}
.sec06_img img {
    border-radius: 34px;
}
.sec06_ttl {
    text-align: center;
    font-size: 72px;
    font-weight: 900;
    margin-bottom: 49px;
    line-height: 1;
}
.sec06_txt {
    text-align: center;
    margin-bottom: 53px;
}
.sec06_txt p {
    font-size: 22px;
}
.sec06_item {
    max-width: 1260px;
    margin: 0 auto;
    display: flex;
    gap: 40px;
    align-items: flex-start;
    justify-content: center;
    position: relative;
}
.sec06_item:before, .sec06_item:after {
    position: absolute;
    content: "";
    z-index: -1;
}
.sec06_item:before {
    background: url("../images/idx_img_06.jpg") no-repeat left center/840px;
    width: 840px;
    height: 640px;
    left: -330px;
    border-radius: 0 0 90px 0;
    top: 210px;
}
.sec06_item:after {
    background: url("../images/idx_img_07.jpg") no-repeat left center/720px;
    width: 720px;
    height: 620px;
    right: -330px;
    border-radius: 20px 0 0 90px;
    top: 16px;
}
.sec06_item .item {
    background: #f9eedf;
    border-radius: 20px;
    padding: 38px 40px 40px;
    width: 580px;
}
.sec06_item .ite1 {}
.sec06_item .ite2 {
    margin-top: 55px;
}
.sec06_item .ite2 .sec06_des {
    margin-bottom: 28px;
}
.sec06_title1 {
    text-align: center;
    font-size: 34px;
    font-weight: 700;
    background-image: radial-gradient(circle, #ff5b00 1.5px, transparent 1.5px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 6px 3px;
    padding-bottom: 16px;
    margin-bottom: 19px;
    position: relative;
    width: calc(100% + 30px);
    left: -15px;
}
.sec06_title1 .org {
    font-size: 123.5%;
    margin: 0 -20px;
}
.sec06_title2 {
    font-size: 28px;
    text-align: center;
    margin-bottom: 13px;
    font-weight: bold;
}
.sec06_des {
    margin-bottom: 20px;
}
.sec06_list {
    margin-bottom: 32px;
}
.sec06_list li {
    background: #fff;
    border-radius: 10px;
    display: flex;
    height: 101px;
    align-items: center;
    padding: 0 18px;
    position: relative;
}
.sec06_list li a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
}
.sec06_item .item .btn a {
    width: 100%;
    max-width: 480px;
    letter-spacing: 0.1em;
}
.sec06_list li:not(:last-child) {
    margin-bottom: 16px;
}
.sec06_list li .icon {
    margin-bottom: 0;
    width: 91px;
}
.sec06_list li .title {
    font-size: 24px;
    font-weight: bold;
    text-align: left;
}
.sec06_list li.item1 {}
.sec06_list li.item2 {}
/*==================== SEC07 ===================*/
.sec07 {
    padding: 107px 0 135px;
    position: relative;
}
.sec07:before {
    position: absolute;
    content: "";
    background: url("../images/indx_bg02.png") no-repeat center top/cover;
    width: 1920px;
    height: 718px;
    left: calc(50% - 960px);
    top: 45px;
}
.sec07 .inner {
    width: 100%;
    padding: 0;
    max-width: 1920px;
}
.sec07_ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-weight: 900;
    line-height: 1.47;
    margin-bottom: 40px;
}
.sec07_ttl .sm {
    color: var(--mcolor);
    font-size: 52px;
    position: relative;
    padding-left: 75px;
}
.sec07_ttl .sm:before {
    position: absolute;
    content: "";
    background: url("../images/icon_home.png") no-repeat center top/cover;
    width: 57px;
    height: 58px;
    left: 5px;
    top: 9px;
}
.sec07_ttl .lg {
    font-size: 72px;
}
.sec07_item.slick-slider {
    margin-bottom: 47px;
}
.sec07_item.slick-slider .slick-track {
    padding-bottom: 50px;
}
.sec07_item .item {
    background: #fff;
    border-radius: 30px;
    position: relative;
    width: 780px;
    height: 276px;
    padding: 20px 30px 37px;
    margin: 0px 13px;
    transition: var(--time);
}
.sec07_item .item a {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
}
.sec07_item .item:before, .sec07_item .item:after {
    position: absolute;
    content: "";
}
.sec07_item .item:before {
    left: 8px;
    top: 8px;
    right: 8px;
    bottom: 8px;
    border: 2px var(--mcolor) solid;
    border-radius: 25px;
}
.sec07_item .item:after {
    width: 75px;
    height: 60px;
    background: var(--mcolor);
    right: 65px;
    bottom: -50px;
    clip-path: polygon(100% 0, 0 0, 100% 100%);
}
.sec07_title {
    font-size: 32px;
    font-weight: bold;
    display: flex;
    align-items: center;
    position: relative;
    min-height: 132px;
    margin-bottom: 23px;
    padding: 15px 0 14px 100px;
}
.sec07_title.icon1 {
    background: url("../images/idx_icon15.png") no-repeat left bottom 18px/80px;
}
.sec07_title.icon2 {
    background: url("../images/idx_icon16.png") no-repeat left bottom 18px/90px;
}
.sec07_title.icon3 {
    background: url("../images/idx_icon23.png") no-repeat left bottom 18px/80px;
}
.sec07_title.icon4 {
    background: url("../images/idx_icon17.png") no-repeat left bottom 18px/89px;
}
.sec07_title.icon5 {
    background: url("../images/idx_icon18.png") no-repeat left bottom 18px/93px;
}
.sec07_title.icon6 {
    background: url("../images/idx_icon19.png") no-repeat left bottom 18px/80px;
}
.sec07_title:before {
    position: absolute;
    content: "";
    background-image: radial-gradient(circle, #ff5b00 1.5px, transparent 1.5px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 6px 3px;
    width: 100%;
    height: 3px;
    left: 0;
    bottom: 0;
}
.sec07_des {
    padding: 0;
}
.sec07_item .slick-dots li {
    margin: 0 8px;
}
.sec07_item .slick-dots {
    bottom: -53px;
}
.sec07_item .slick-dots li button::before {
    display: none;
}
.sec07_item .slick-dots .slick-active {
    pointer-events: none;
}
.sec07_item .slick-dots li {
    width: 56px;
    height: 8px;
    border-radius: 4px;
    background: #cccccc;
}
.sec07_item .slick-dots .slick-active, .sec07_item .slick-dots li:hover {
    background: var(--mcolor);
}
.sec07_item .slick-dots li {
    margin: 0 8px;
}
.sec07_item .slick-dots {
    bottom: -6px;
}
.sec07_item .slick-dots li button::before {
    display: none;
}
.sec07_item .slick-dots .slick-active {
    pointer-events: none;
}
.sec07_item .slick-dots li {
    width: 16px;
    height: 16px;
    border-radius: 50px;
    background: #cccccc;
}
.sec07_item .slick-dots .slick-active, .sec01_item .slick-dots li:hover {
    background: var(--mcolor);
}
.sec07_item .slick-prev, .sec07_item .slick-next {
    position: absolute;
    z-index: 9;
    margin: auto;
    border-width: 0;
    background: none;
    cursor: pointer;
    text-indent: 9999999px;
    height: 160px;
    outline: none;
    opacity: 1;
    transition: all 0.3s linear;
    top: calc(50% - 22px);
}
.sec07_item .slick-next {
    right: 0;
    background: url(../images/icon_next_sm.png) no-repeat center/cover;
    width: 77px;
}
.sec07_item .slick-prev {
    left: 0px;
    background: url(../images/icon_prev_sm.png) no-repeat center/cover;
    width: 82px;
}
/*==================== SEC08 ===================*/
.sec08 {
    position: relative;
    padding-bottom: 100px;
}
.sec08:before {
    position: absolute;
    content: "";
    background: url("../images/indx_bg04.png") no-repeat center top/cover;
    width: 1920px;
    height: 580px;
    left: calc(50% - 960px);
    bottom: 0;
    z-index: -1;
}
.sec08_ttl {
    text-align: center;
    font-size: 72px;
    font-weight: 900;
    margin-bottom: 69px;
    color: #fff;
    position: relative;z-index: 2;
}
.sec08 .inner {
    width: 1232px;
}
.sec08_item {
    display: flex;
    position: relative;
    gap: 42px;
	    justify-content: center;
}
.sec08_item:before {
    position: absolute;
    content: "";
    background: #ff5b00;
    border-radius: 80px;
    z-index: -1;
    width: 1600px;
    height: 640px;
    left: calc(50% - 800px);
    top: -259px;
}
.sec08_item .item {
    width: 580px;
    background: #fff;
    border-radius: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.sec08_item .ite1 {}
.sec08_item .ite2 {}
.sec08_ttl1 {
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 5px;
    background: url("../images/bb1.png") no-repeat center top/cover;
    width: 342px;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-top: -34px;
    margin-left: 20px;
    padding-right: 15px;
    padding-bottom: 5px;
}
.sec08_ttl2 {
    font-size: 40px;
    font-weight: bold;
    color: var(--mcolor);
    margin-bottom: 13px;
    padding-left: 15px;
}
.sec08_des {
    padding: 0 41px;
    margin-bottom: 27px;
}
.sec08_img {
    overflow: hidden;
    margin-bottom: 32px;
}
.sec08_img img {
    border-radius: 30px;
}
.sec08_btn {
    width: 100%;
    background: var(--mcolor);
    transition: var(--time);
    border-radius: 0 0 40px 40px;
    box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.2);
}
.sec08_btn a {
    color: #fff;
    text-align: center;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.58;
    height: 125px;
    padding-bottom: 2px;
    position: relative;
    letter-spacing: 0.1em;
    padding-right: 15px;
}
.sec08_btn a:before {
    position: absolute;
    content: "";
    background: url("../images/icon_w_sm.png") no-repeat right center/27px;
    width: 34px;
    height: 34px;
    right: 20px;
    top: calc(50% - 13px);
}
/*==================== SEC09 ===================*/
.sec09 {
    padding-top: 100px;
    /* background: var(--mcolor); */
    position: relative;
    padding-bottom: 0px;
}
.sec09:before {
    position: absolute;
    content: "";
    background: url("../images/indx_bg05.png") no-repeat center bottom/1920px;
    bottom: 0px;
    left: calc(50% - 960px);
    width: 1920px;
    height: 380px;
}
.sec09 .inner {
    width: 100%;
    max-width: 1400px;
}
.sec09_img {
    display: flex;
    justify-content: space-between;
    position: relative;
    width: calc(100% + 15px);
    left: -7px;
}
.sec09_img:before {
    position: absolute;
    content: "";
    background: url("../images/pp04.png") no-repeat center top/cover;
    width: 400px;
    height: 360px;
    left: -7px;
    right: 0;
    margin: 0 auto;
    bottom: 0;
    display: none;
}
.sec09_img .ite1 {
    border-radius: 0 40px 40px 0;
    background: #fff;
    overflow: hidden;
}
.sec09_img .ite2 {
    border-radius: 40px 0px 0px 40px;
    overflow: hidden;
}
.sec09_img_list {}
.sec09_item_wrap {
    background: var(--mcolor);
    padding-top: 45px;
    height: 996px;
}
.sec09_item {
    display: flex;
    gap: 37px;
    justify-content: center;
}
.sec09_ttl1 {
    font-size: 72px;
    font-weight: 900;
    color: #fff;
    text-align: center;
    margin-bottom: 25px;
}
.sec09_w {
    width: fit-content;
    margin: 0 auto 44px;
    position: relative;
    padding: 0 95px;
}
.sec09_w:before, .sec09_w:after {
    position: absolute;
    content: "";
}
.sec09_w:before {
    background: url("../images/icon_line_left.png") no-repeat left top/cover;
    width: 74px;
    height: 122px;
    left: 0;
    top: 45px;
}
.sec09_w:after {
    background: url("../images/icon_line_right.png") no-repeat left top/cover;
    width: 74px;
    height: 122px;
    right: 0;
    top: 45px;
}
.sec09_des {
    color: #fff;
    text-align: center;
    font-size: 22px;
    line-height: 1.63;
    margin-bottom: 51px;
}
.sec09_label {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 5px;
}
.sec09_label .ite {
    background: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    font-size: 52px;
    font-weight: bold;
    margin-bottom: 0px;
    line-height: 1.05;
}
.sec09_ttl2 {
    font-size: 42px;
    font-weight: bold;
    text-align: center;
    color: #fff;
}
.sec09_item .item {
    /* overflow: hidden; */
    width: 584px;
    padding: 21px 0px 0;
    background: #fff;
    border: 4px var(--mcolor) solid;
    border-radius: 20px;
    padding-bottom: 37px;
}
.sec09_item .item .btn a, .sec10 .btn a {
    width: 400px;
}
.sec09_txt {
    margin-bottom: 32px;
    padding: 0 38px 0;
}
.sec09_icon {
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 28px;
    flex-direction: column;
    position: relative;
    margin-bottom: 30px;
    padding-left: 45px;
}
.sec09_icon:before {
    position: absolute;
    content: "";
    width: 170px;
    height: 174px;
    left: -28px;
    top: -48px;
}
.ite1 .sec09_icon:before {
    background: url("../images/idx_icon20.png") no-repeat left top/cover;
}
.ite2 .sec09_icon:before {
    background: url("../images/idx_icon21.png") no-repeat left top/cover;
}
.ite1 .sec09_icon .lg {
    padding-right: 50px;
}
.sec09_icon .sm {
    margin-bottom: 13px;
}
.sec09_icon .sm .org {
    font-size: 128.5%;
}
.sec09_icon .lg {
    font-size: 178.5%;
}
.sec09_img02 {
    margin-bottom: 24px;
}
/*==================== SEC10 ===================*/
.sec10 {
    background: #f9eedf;
    padding-top: 290px;
    padding-bottom: 100px;
}
.sec10 .inner {
    width: 100%;
    max-width: 1400px;
    padding: 0 110px 0 98px;
}
.sec10_ttl {
    width: 620px;
    height: 140px;
    background: #fff;
    border-radius: 20px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 42px;
    font-weight: bold;
    z-index: 1;
    padding-right: 20px;
    margin-bottom: 33px;
}
.sec10_ttl:before {
    position: absolute;
    content: "";
    background: url("../images/bb2.png") no-repeat center top/cover;
    width: 620px;
    height: 157px;
    left: 0;
    top: 0;
    z-index: -1;
}
.sec10_ttl span {
    background: url("../images/icon_home.png") no-repeat left center;
    padding: 7px 0 5px 80px;
}
.sec10_img {
    float: right;
    position: relative;
    margin-top: -164px;
}
.sec10_des {
    margin-bottom: 48px;
    padding-left: 45px;
}
.sec10_des p {}
.sec10 .btn {
    margin-left: 40px;
}
.sec10 .btn a {
    width: 420px;
}
/*==================== SEC11 ===================*/
.sec11 {
    position: relative;
    padding-top: 90px;
}
.sec11 .inner {
    width: 1400px;
    height: 580px;
    display: flex;
    flex-direction: column;
    color: #fff;
    padding: 49px 0px 0 100px;
}
.sec11 .inner:before {
    position: absolute;
    content: "";
    background: url("../images/idx_bg02.png") no-repeat center top/1400px;
    width: 100%;
    height: 100%;
    z-index: -1;
    left: 0;
    top: 0;
}
.sec11:before, .sec11 .inner:before, .sec11 .inner:after {
    position: absolute;
    content: "";
}
.sec11 .inner:after {
    background: url("../images/pp05.png") no-repeat right top/cover;
    width: 265px;
    height: 424px;
    right: 57px;
    bottom: 0;
}
.sec11_ttl1 {
    font-size: 62px;
    font-weight: 900;
    width: 100%;
    margin-bottom: 70px;
    position: relative;
}
.sec11_ttl1:before {
    position: absolute;
    content: "";
    background: url("../images/line.png") no-repeat right top;
    width: 1111px;
    height: 38px;
    left: -101px;
    bottom: -65px;
}
.sec11_ttl2 {
    font-size: 42px;
    font-weight: bold;
    width: 100%;
    margin-bottom: 19px;
    letter-spacing: -0.05em;
}
.sec11_des {
    padding-right: 365px;
    margin-bottom: 47px;
}
.sec11 .btn a {
    width: 360px;
    height: 78px;
}
/*==================== SEC12 ===================*/
.sec12 {
    padding-bottom: 136px;
    padding-top: 64px;
}
.sec12 .inner {
    width: 100%;
    max-width: 1430px;
}
.sec12_item {
    display: flex;
}
.sec12_item .item {}
.sec12_item .ite1 {
    width: 265px;
}
.sec12_item .ite2 {
    width: calc(100% - 265px);
    position: relative;
    top: -18px;
}
.sec12_load {}
.sec12_load dl {
    border-bottom: 1px #cccccc solid;
    padding: 32px 0 22px 0;
    background: url("../images/icon_b.png") no-repeat right 13px top 55px/27px;
    transition: var(--time);
    cursor: pointer;
}
.sec12_load dl dt {
    font-size: 18px;
    margin-bottom: 5px;
}
.sec12_load dl dd {
    display: inline-block;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: 100%;
    padding-right: 40px;
}
.sec12_load dl dd a {}
.sec12_ttl {
    font-size: 42px;
    font-weight: bold;
    margin-bottom: 42px;
}
.sec12_link {}
.sec12_link a {
    font-size: 20px;
    font-weight: bold;
    background: url("../images/icon_w.png") no-repeat left center/27px;
    padding-left: 35px;
    letter-spacing: 0.1em;
}
.sec13 {
    padding: 78px 0 120px;
    background: var(--mcolor);
    position: relative;
}
.sec13::before {
    background: url('../images/idx13_img_1.png') center /cover no-repeat;
    width: 494px;
    height: 746px;
    content: '';
    position: absolute;
    top: -78px;
    left: calc(50% + 398px);
    z-index: 2;
}
.sec13 .inner {
    width: 100%;
}
.sec13 .inner::before, .sec13 .inner::after {
    width: calc(100% - 64px);
    height: 1290px;
    background: #fff;
    left: calc(50% - 780px);
    top: -78px;
    border-radius: 90px 0 0 0;
    z-index: 0;
    position: absolute;
    content: '';
}
.sec13 .inner::before {
    height: 875px;
}
.sec13 .inner::after {
    left: calc(50% - 968px);
    top: 557px;
    width: calc(100% - 253px);
    height: 785px;
    border-radius: 0 0 90px 0;
}
.sec13 .sec13_top {
    position: relative;
    z-index: 2;
}
.sec13 .sec13_ttl {
    font-size: 56px;
    line-height: 1.25em;
    font-weight: 900;
    color: var(--mcolor);
    text-align: center;
    margin-top: -3px;
    margin-bottom: 42px;
}
.sec13 .sec13_bot {
    position: relative;
    z-index: 1;
    padding-top: 15px;
}
.sec13 .sec13_bot::before {
    position: absolute;
    top: -218px;
    left: calc(50% - 696px);
    background: url('../images/idx13_icon_1.png') center /cover no-repeat;
    width: 1392px;
    height: 520px;
    content: '';
}
.sec13 .sec13_bot .big {
    font-size: 62px;
    font-weight: 900;
    text-align: center;
    position: relative;
    z-index: 3;
    margin-bottom: 30px;
    padding-left: 20px;
}
.sec13 .sec13_list {
    display: flex;
    justify-content: space-between;
    width: 1246px;
    margin: 0 auto 45px;
}
.sec13 .sec13_list .item {
    background: #fff;
    border: 5px solid #333;
    width: 605px;
    height: 205px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    box-shadow: 3px 3px 0px 0px #ff5b00;
}
.sec13 .sec13_list .item p {
    line-height: 1.75em;
    font-size: 24px;
    font-weight: 700;
}
.sec13 .sec13_list .item p span {
    font-size: 26px;
    font-weight: 900;
    color: var(--mcolor);
}
.sec13 .sec13_list .item.bg1::before {
    position: absolute;
    top: -50px;
    left: -84px;
    content: '';
    background: url('../images/idx13_icon_2.png') center /cover no-repeat;
    width: 182px;
    height: 268px;
}
.sec13 .sec13_list .item.bg2::before {
    position: absolute;
    top: -53px;
    right: -84px;
    content: '';
    background: url('../images/idx13_icon_3.png') center /cover no-repeat;
    width: 152px;
    height: 272px;
}
/*==========================================================
                        F O O T E R
==========================================================*/
footer {
        position: relative;
    z-index: 3;
    margin-bottom: 165px;
}
.ft_top {
    background: var(--mcolor);
    padding-top: 182px;
    padding-bottom: 39px;
    margin-bottom: 70px;
}
.ft_top .inner {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1430px;
}
.ft_info {
    display: flex;
    color: #fff;
    justify-content: space-between;
    width: 100%;
    padding-right: 177px;
}
.ft_info_logo {
    flex-shrink: 0;
}
.ft_info_add {
    font-size: 24px;
    font-weight: bold;
    padding-top: 22px;
    line-height: 1.66;
}
.ft_cta {
    position: relative;
    margin-bottom: -145px;
}
.ft_cta:before {
    position: absolute;
    content: "";
    background: url("../images/indx_bg03.png") no-repeat center top/cover;
    width: 1920px;
    height: 388px;
    left: calc(50% - 960px);
    top: 25px;
}
.ft_cta .inner {
    width: 100%;
    max-width: 1634px;
}
.ft_cta_ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
    margin-bottom: 40px;
    position: relative;
}
.ft_cta_ttl .sm {
    font-size: 42px;
    font-weight: 900;
    margin-bottom: 22px;
    position: relative;
    padding: 0 70px;
}
.ft_cta_ttl .sm:before, .ft_cta_ttl .sm:after {
    position: absolute;
    content: "";
    width: 63px;
    height: 74px;
    top: -20px;
}
.ft_cta_ttl .sm:before {
    background: url("../images/idx_ic02_left.png") no-repeat left top/cover;
    left: 3px;
}
.ft_cta_ttl .sm:after {
    background: url("../images/idx_ic02_right.png") no-repeat left top/cover;
    right: 0;
}
.ft_cta_ttl .lg {
    font-size: 82px;
    font-weight: 900;
}
.ft_cta_ttl .sm .org {
    font-size: 123%;
}
.ft_cta_item {}
.ft_cta_label {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 439px;
    height: 196px;
    background: #f9eedf;
    justify-content: center;
    margin-bottom: 0;
    border-radius: 10px;
    position: relative;
    padding-bottom: 5px;
}
.ft_cta_label:before {
    position: absolute;
    content: "";
    width: 68px;
    height: 46px;
    left: 129px;
    top: -40px;
    background: url("../images/cta_arrow.png") no-repeat center top/cover;
}
.ft_cta_label:after {
    position: absolute;
    content: "";
    background: url("../images/bb3.png") no-repeat left top/cover;
    width: 415px;
    height: 218px;
    left: 13px;
    top: -34px;
}
.ft_cta_label .sm {
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 24px;
}
.ft_cta_label .lg {
    font-size: 40px;
    font-weight: 900;
    position: relative;
}
.ft_cta_label .lg .sm {
    font-size: 85%;
}
.ft_cta_box_tel {
    padding-top: 18px;
}
.ft_cta_tel {
    margin-bottom: 17px;
}
.ft_cta_tel a {
    color: var(--mcolor);
    font-size: 62px;
    font-weight: 900;
    background: url("../images/icon_tel2.png") no-repeat left 3px top 28px/35px;
    padding-left: 45px;
}
.ft_cta_item_hour {
    display: flex;
    justify-content: center;
    margin-bottom: 24px;
    margin-left: 5px;
}
.ft_cta_subitem {
    margin-bottom: 0;
    display: flex;
}
.ft_cta_item .label {
    font-size: 24px;
    border-radius: 4px;
    background: #ffcd86;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px 1px;
    margin-right: 5px;
}
.ft_cta_item .txt {
    font-size: 24px;
}
.ft_cta_item {
    background: #fff;
    height: 252px;
    border-radius: 30px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0px 40px 0 42px;
    z-index: 1;
}
.ft_cta_item:before {
    border: 2px var(--mcolor) solid;
    border-radius: 20px;
    left: 10px;
    top: 10px;
    right: 10px;
    bottom: 10px;
    z-index: -1;
}
.ft_cta_item:before, .ft_cta_ttl:before {
    position: absolute;
    content: "";
}
.ft_cta_ttl:before {
    background: url("../images/idx_ic02.png") no-repeat center top/161px;
    width: 161px;
    height: 111px;
    right: calc(50% - 426px);
    top: -20px;
}
.ft_cta_item:after {
    position: absolute;
    content: "";
    background: url("../images/pp06.png") no-repeat center top/cover;
    width: 376px;
    height: 446px;
    left: 82px;
    top: -277px;
    z-index: -1;
}
.ft_cta_subitem.ml01 {
    margin-left: 40px;
}
.ft_share_btn {
    display: flex;
    justify-content: center;
    gap: 45px;
    margin-left: 0;
}
.ft_share_btn a {}
.ft_cta_con {
    margin-bottom: 0;
}
.ft_cta_con a {
    width: 540px;
    height: 172px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: left;
    background: var(--mcolor);
    border-radius: 86px;
    color: #fff;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.6;
    padding-bottom: 2px;
    position: relative;
    padding-left: 20px;
    box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.2);
}
.ft_cta_con a:before {
    position: absolute;
    content: "";
    background: url("../images/icon_mail_w.png") no-repeat left center/cover;
    width: 61px;
    height: 42px;
    left: 46px;
    top: calc(50% - 21px);
}
/* FOOTER LINK */
.ft_link {
    padding-bottom: 44px;
}
.ft_link .inner {
    display: flex;
    width: 100%;
    max-width: 1430px;
}
.ft_link ul:not(:last-child) {
    margin-right: 80px;
}
.ft_link ul li {}
.ft_link ul li p {
    font-size: 28px;
    font-weight: bold;
    color: var(--mcolor);
}
.ft_link ul li p a {
    color: #333;
    background: url("../images/icon_org_lg.png") no-repeat left top 14px/10px;
    padding-left: 15px;
}
.ft_link ul li {
    margin-bottom: 13px;
}
.ft_link ul li.big {
    margin-bottom: 17px;
}
.ft_link ul li.big.mt1 {
    margin-top: 25px;
}
.ft_link ul li.big.mt2 {
    margin-top: 21px;
}
.ft_link ul li > a {
    position: relative;
    color: #333;
    line-height: 1.5;
    display: block;
    background: url("../images/icon_org.png") no-repeat left top 9px/9px;
    padding-left: 20px;
}
address {
    text-align: center;
    background-color: var(--mcolor);
    color: #fff;
    padding: 32px 20px 38px;
}
.cta_fixed {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    height: 163px;
    width: 100%;
    z-index: 9;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.10);
    transition: var(--time);
}
.cta_fixed .ft_cta_box_tel {
    padding-top: 37px;
    margin-right: 20px;
}
.cta_fixed .ft_cta_con {
	margin-right: 20px;
}
.cta_fixed .ft_cta_label {
    width: 440px;
    height: 144px;
    margin-right: 35px;
	    padding-bottom: 12px;
}
.cta_fixed .ft_cta_label .sm {
    margin-bottom: 18px;
}
.cta_fixed .ft_cta_label:after {
    position: absolute;
    content: "";
    background: url("../images/bb3_fixed.png") no-repeat left top / cover;
    width: 476px;
    height: 128px;
    left: -44px;
    top: 7px;
}
.cta_fixed .ft_cta_label:before {
    position: absolute;
    content: "";
    width: 46px;
    height: 67px;
    left: -37px;
    top: 38px;
    background: url("../images/cta_arrow_fixed.png") no-repeat center top / cover;
}
.cta_fixed .ft_cta_item {
    height: 100%;
    padding: 1px 140px 0 165px;
    justify-content: flex-start;
    border-radius: 0px;
}
.cta_fixed .ft_cta_tel a {
    font-size: 40px;
    background: url(../images/icon_tel_fixed.png) no-repeat left 3px top 16px / 25px;
    padding-left: 30px;
    white-space: nowrap;
}
.cta_fixed .ft_cta_subitem {
    flex-direction: column;
}
.cta_fixed .ft_cta_item .label {
    margin-right: 5px;
    width: 150px;
    height: 38px;
    text-align: center;
    margin-bottom: 3px;
}
.cta_fixed .ft_cta_subitem.ml01 {
    margin-left: 7px;
}
.cta_fixed .ft_cta_subitem.ml01 .label {
    width: 140px;
}
.cta_fixed .ft_cta_item .txt {
    text-align: center;
}
.cta_fixed .ft_cta_tel {
    margin-bottom: 10px;
}
.cta_fixed .ft_cta_con a {
    width: 600px;
    height: 110px;
    font-size: 32px;
    padding-left: 0px;
}
.cta_fixed .ft_cta_con a span {
    background: url(../images/icon_mail_w_fixed.png) no-repeat left center/51px;
    padding-left: 65px;
}
.cta_fixed .ft_cta_con a:before {
    display: none;
}
.cta_fixed .ft_share_btn {
    gap: 25px;
    flex-shrink: 0;
}
.cta_fixed .ft_cta_item:before {
    display: none;
}
.cta_fixed .ft_cta_item:after {
    background: url(../images/pp06_fixed.png) no-repeat center top / cover;
    width: 180px;
    height: 214px;
    left: 5px;
    top: -51px;
}
/* BACK TO TOP */
.to_top {
    position: fixed;
    z-index: 9;
    width: 120px;
    height: 120px;
    bottom: 18px;
    right: 0px;
    cursor: pointer;
    transition: var(--time);
}