@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Itim&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
    font-size: 160%;
    -webkit-text-size-adjust: none;
    font-weight: 400;
}
blockquote {
    font-size: 100%;
}
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: 2.125em;
    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_md{
    font-size: 125%;
}
.f_sm {
    font-size: 80%;
}
:root {
    --font-main: "Noto Sans JP", sans-serif;
    --txt: #000;
    --txt2: #492f1d;
    --mcolor: #ff6600;
    --scolor: #c65000;
    --scolor2: #ffe8d9;
    --site_size: 1430px;
    --gray: #e9e9e9;
    --blue: blue;
    --red: red;
    --noto-seri: "Noto Serif JP", serif;
    --en: "Itim", cursive;
    --en2: "Lato", sans-serif;
}
#wrapper {
    min-width: 1260px;
    overflow: hidden;
    margin: 0 auto;
    background: url("../images/idx_bg01.jpg") repeat-y center top/1920px;
}
/* .under #wrapper {
	background-position: center bottom -825px;
} */
.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;
    transition: all 0.3s;
}
header.active .h_box {
    background-color: rgba(255, 255, 255, 1);
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
}
h1 {
    padding-top: 52px;
    transition: all 0.3s;
}
.h_box {
    width: 100%;
    position: fixed;
    background-color: rgba(255, 255, 255, 0);
    padding: 0 15px;
}
.h_inner {
    display: flex;
    height: 100%;
    width: 100%;
    max-width: 1920px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
/* 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: all ease 0.15s;
    background-color: #fff;
}
.hamburger-inner::after, .hamburger-inner::before {
    display: block;
    content: ""
}
.hamburger-inner::before {
    top: -8px;
}
.hamburger-inner::after {
    bottom: -8px;
}
.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, 7px, 0) rotate(45deg);
}
.hamburger--3dxy.is_active .hamburger-inner::after {
    transform: translate3d(0, -9px, 0) rotate(-45deg);
}
/*==========================================================
M A I N    V I S U A L
==========================================================*/
main {
    position: relative;
    padding-top: 147px;
    z-index: 2;
}
.mv {
    position: relative;
    padding: 0;
    padding-bottom: 85px;
}
.mv::before {
    position: absolute;
    content: "";
    background: url("../images/idx_brush1.png") no-repeat left center;
    width: 1001px;
    height: 202px;
    left: 15px;
    bottom: -65px;
    z-index: 1;
    mix-blend-mode: multiply;
}
.mv .inner {
    width: 100%;
    display: flex;
    padding: 0 85px 0 140px;
    justify-content: space-between;
    max-width: 1920px;
}
.mv_left {
    width: 820px;
    padding-top: 98px;
}
.mv_right {
    position: relative;
    padding-top: 35px;
}
.mv_img {
    position: relative;
}
.mv_list {
    display: flex;
    position: absolute;
    bottom: 14px;
    left: -318px;
	z-index: 1;
}
.mv_list li:not(:last-child) {
    margin-right: 20px;
}
.mv_txt {
    margin-bottom: 87px;
}
.mv_ttl1 {
    font-size: 26px;
    font-family: var(--noto-seri);
    font-weight: 700;
    color: var(--txt2);
    letter-spacing: -0.03em;
    margin-bottom: -1px;
}
.mv_ttl1 .org {
    color: #c65000;
    font-weight: 600;
}
.mv_ttl1 .line {
    text-decoration: underline;
    text-decoration-color: #eadd39;
    text-decoration-thickness: 8px;
    text-underline-offset: -5px;
}
.mv_ttl2 {
    font-size: 48px;
    font-weight: bold;
    font-family: var(--noto-seri);
    color: var(--mcolor);
    letter-spacing: -0.101em;
    line-height: 1.66;
    margin-bottom: 12px;
}
.mv_ttl2 .point {
    font-size: 120%;
    position: relative;
    line-height: 1;
}
.mv_ttl2 .point::before {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    top: 6px;
    margin: 0 auto;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ff6600;
}
.mv_ttl3 {
    color: #333333;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.78;
    letter-spacing: -0.05em;
}


.mv_post{position: absolute;bottom: -180px;right: 30px;background: #fff;padding: 20px;border-radius: 20px ;width: 850px;z-index: 5;box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.14);}
.mv_post_ct{height: 150px;overflow-y: auto;margin-bottom: 20px;}
.mv_post_ct dl{margin-bottom: 15px;display: flex;justify-content: space-between;position: relative;width: 100%;}
.mv_post_ct dl:last-child{margin-bottom: 0;}
.mv_post_ct dt{flex-shrink: 0;margin-right: 15px;padding-bottom: 1px;width: 80px;transition: all ease 0.3s;}
.mv_post_ct dd{
    border-bottom: 1px solid var(--txt2);
    padding-bottom: 15px;
    position: relative;
    transition: all ease 0.3s;
    width: calc(100% - 95px);
    display: flex;
    justify-content: space-between;
    padding-right: 10px;
}
.mv_post_ct dd .txt {
	text-overflow: ellipsis;
	word-break: break-all;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	width: calc(100% - 125px);
	margin-bottom: 0px;
}
.mv_post_ct dd .mv_post_ct_link {
    flex-shrink: 1;
    width: 110px;
    margin-left: 15px;
}
.mv_post_ct dd .mv_post_ct_link a {
	background: url('../images/ic_arr_b.png')no-repeat right center/20px;
	padding-right: 25px;
	display: inline-block;
}

.mv_post_ct dt a{position: absolute;top: 0;right: 15px;display:flex;align-items: center;}
.mv_post_ct dt a::after{width: 25px;height: 14px;display: inline-block;margin-left: 10px;content: '';transition: all ease 0.3s;}

.btn_con a {box-shadow: 0 0 8px rgba(0,0,0,0.15) ,0 0 12px rgba(0,0,0,0.15);background: linear-gradient(to bottom, #FFBA00 0%, var(--mcolor) 50%);color: #fff;width: 450px;height: 120px;display: flex;align-items: center;justify-content: center;font-size: 30px;font-weight: 500;border-radius: 999px;letter-spacing: 0;position: relative;z-index: 1;}
.btn_con a > span{background: url("../images/icon_search_w.svg") no-repeat left center/34px;padding: 5px 0 7px 47px;}
.btn_con a > span .big{background: var(--scolor);color: #fff;padding: 0 10px 3px;border-radius: 5px;margin-right: 10px;}

.btn_con a > span .label{background: #fff;display: inline-block;border-radius: 999px;border:2px solid var(--mcolor);position: absolute;top: -20px;left: calc(50% - 110px);width: 220px;text-align: center;color: var(--mcolor);padding: 10px 0;line-height: 1em;font-size: 16px;}

/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl {
    text-align: center;
}
.ttl span {
    display: block;
}
.ttl .ja {
    color: var(--txt2);
    font-weight: 600;
    font-size: 44px;
    font-family: var(--noto-seri);
    letter-spacing: -0.05em;
}
.ttl .en {
    font-size: 24px;
    font-family: var(--en);
    color: var(--mcolor);
    line-height: 1.1;
}
/* DEFAUTL NAME BUTTON */
.btn a {
    width: 202px;
    height: 52px;
    border-radius: 25px;
    display: flex;
    align-items: center;
    background: url('../images/arrow_right.svg')#fff no-repeat right 35px center /22px;
    font-size: 18px;
    text-decoration: none;
    color: var(--mcolor);
    font-family: var(--noto-seri);
    border: 2px var(--mcolor) solid;
    font-weight: 600;
    padding-left: 35px;
    padding-bottom: 1px;
    letter-spacing: -0.09em;
}
.btn.lg a {
    width: 370px;
    background-position: right 27px center;
    padding-left: 25px;
    letter-spacing: -0.07em;
}
.btn.center a {
    margin-left: auto;
    margin-right: auto;
}
section {
    padding: 40px 0;
}
/*==================== COMMON ===================*/
.idx_bnr {
    width: 354px;
    height: 98px;
    border-radius: 10px;
    background: #fff;
    margin: 10px 25px 0 auto;
    border: 2px solid var(--mcolor);
}
.idx_bnr a {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    position: relative;
    padding-left: 109px;
    padding-top: 12px;
    letter-spacing: -0.03em;
}
.idx_bnr .img {
    flex-shrink: 0;
    position: absolute;
    left: 2px;
    top: 7px;
}
.idx_bnr .ttl {
    background: #ff8533;
    width: 225px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    color: #fff;
    border-radius: 22px;
    font-size: 12px;
    margin-bottom: 3px;
}
.idx_bnr .txt {
    color: var(--txt2);
    font-size: 13px;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    line-height: 1.5;
}
.idx_bnr .txt .lg {
    font-size: 120%;
    margin: 0 2px 0;
    position: relative;
    padding-top: 2px;
    display: inline-block;
}
.idx_bnr .txt .lg .dot{position: relative;}
.idx_bnr .txt .lg .dot::before{width: 4px;height: 4px;background: var(--mcolor);position: absolute;top: -2px;left: calc(50% - 2px);content: '';pointer-events: none;border-radius: 50%;}
.idx_bnr.ft_idx_bnr .txt .lg{padding-top: 0;top: -2px;}
/*CTA*/
.h_right {}
.cta, .boxtel_wrap, .contact_tel, .box_time .time {
    display: flex;
}
.boxtel_wrap {
    align-items: flex-end;
    margin-right: 10px;
    margin-top: 27px;
    transition: all 0.3s;
}
.contact_tel {
    flex-direction: column;
    align-items: center;
    margin-right: 18px;
    margin-bottom: 0;
}
.contact_tel .title {
    font-size: 14px;
    color: #c65000;
    line-height: 1.5;
    letter-spacing: -0.08em;
    position: relative;
    padding: 0 9px 0 10px;
    top: -15px;
}
.contact_tel .title::before, .contact_tel .title:after, .boxcontact_wrap .ttl .line::before, .boxcontact_wrap .ttl .line:after {
    position: absolute;
    content: "";
    width: 1px;
    height: 12px;
    background: #c65000;
    top: 4px;
}
.contact_tel .title::before, .boxcontact_wrap .ttl .line::before {
    left: 0;
    transform: rotate(-25deg);
}
.contact_tel .title:after, .boxcontact_wrap .ttl .line:after {
    right: 0;
    transform: rotate(25deg);
}
.boxcontact_wrap .ttl .line::before, .boxcontact_wrap .ttl .line:after {
    top: 2px;
}
.contact_tel .tel {
    position: relative;
    font-size: 26px;
    color: #ff6600;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 2px;
    letter-spacing: -0.012em;
    padding-left: 22px;
    font-weight: 900;
}
.contact_tel .tel .tel2{color: #4cc764;position: relative;}
.contact_tel .tel .tel3{color: #c65000;position: relative;}

.contact_tel .tel .tel2::before,
.contact_tel .tel .tel3::before{content: 'ふどうさん';font-size: 12px;color: #4cc764;position: absolute;top: -5px;left: 0;text-align: center;width: 100%;font-family: var(--font-main);font-weight: 900;}
.contact_tel .tel .tel3::before{content: 'パパっと';color: #c65000;left: -5px;}

.ft_contact.cta .contact_tel .tel .tel2::before,
.ft_contact.cta .contact_tel .tel .tel3::before{top: -2px;font-size: 16px;letter-spacing: 0.05em;}

.contact_tel .tel::before {
    position: absolute;
    content: "";
    background: url("../images/icon_tel.svg") no-repeat left center/cover;
    width: 19px;
    height: 22px;
    left: 0;
    top: 5px;
}
.contact_tel .txt {
    font-size: 10px;
    color: #ff6600;
    line-height: 1;
    font-weight: 500;
    left: 3px;
    position: relative;
}
.box_time {}
.box_time .time {
    font-size: 14px;
    line-height: 1.5;
}
.box_time .time .tt {
    color: #fff;
    background: #ff6600;
    border-radius: 5px;
    height: 22px;
    line-height: 20px;
    padding: 0 4px;
    margin-right: 4px;
    text-align: center;
}
.box_time .time .num {
    font-weight: 500;
    letter-spacing: -0.04em;
}
.time {}
.box_time .time.txt1 {
    margin-bottom: 8px;
}
.box_time .time.txt2 {}
.boxcontact_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 420px;
    align-items: flex-start;
    position: relative;
    padding-top: 47px;
    transition: all 0.3s;
}
.boxcontact_wrap .ttl {
    width: 100%;
    font-size: 14px;
    color: #c65000;
    display: flex;
    justify-content: center;
    letter-spacing: -0.02em;
    line-height: 1;
    position: absolute;
    top: 25px;
    left: -25px;
    transition: all 0.3s;
}
.boxcontact_wrap .ttl .line {
    display: flex;
    position: relative;
    padding: 0 12px 0 13px;
}
.boxcontact_wrap .ttl .num {
    margin-right: 3px;
}
.contact_line a, .contact_mail a {
    display: flex;
    justify-content: center;
    border: 1px #fff solid;
    font-size: 15px;
    font-weight: 500;
    border-radius: 20px;
    height: 40px;
    position: relative;
    box-shadow: 0 0 8px rgba(0,0,0,0.15) ,0 0 12px rgba(0,0,0,0.15);
}
.contact_line {
    margin-right: 10px;
    margin-bottom: 0;
}
.contact_line a {
    width: 200px;
    background: #fff;
    border: 2px solid #4cc764;
    color: #4cc764;
    padding-top: 0;
    padding-left: 30px;
}
.contact_line a::before {
    background: url("../images/icon_line_g.svg") no-repeat center/20px;
    width: 20px;
    height: 20px;
    left: 15px;
    top: 10px;
}
.contact_line a .lg {}
.contact_line a .lg .en {
    margin-right: 2px;
}
.contact_mail {}
.contact_mail a {
    background: linear-gradient(to bottom, #FFBA00 0%, var(--mcolor) 50%);
    width: 210px;
    color: #fff;
    padding-left: 25px;
    font-weight: 600;
}
.contact_mail a::before, .contact_line a::before {
    position: absolute;
    content: "";
}
.contact_mail a::before {
    width: 21px;
    height: 20px;
    background: url("../images/icon_search_w.svg") no-repeat center / 21px;
    left: 17px;
    top: 8px;
    transition: all 0.3s;
}
.contact_mail a .lg {
    padding-top: 2px;
}
/*==================== SEC01 ===================*/
.sec01 {
    position: relative;
    padding-top: 220px;
    padding-bottom: 115px;
}
.sec01 .ttl {
    margin-bottom: 67px;
}
.sec01::before {
    position: absolute;
    content: "";
    background: url("../images/idx_bg2.png")  no-repeat center top/1920px;
    left: calc(50% - 960px);
    top: 0;
    width: 1920px;
    height: 100%;
}
.sec01 .inner {
    width: 1430px;
}
.sec01_item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 113px;
}
.sec01_item > div {
    display: flex;
    flex-wrap: wrap;
    width: 680px;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.14);
    overflow: hidden;
    cursor: pointer;
}
.sec01_item > div .wrap .title {
    color: #c65000;
    font-size: 40px;
    font-family: var(--noto-seri);
    font-weight: 600;
    margin-bottom: 27px;
    position: relative;
    display: flex;
    align-items: center;
    letter-spacing: -0.07em;
}
.sec01_item > .item1 {
    width: 100%;
    margin-bottom: 60px;
    flex-direction: row-reverse;
}
.sec01_item > .item1 .sec01_img {
    margin-bottom: 0;
}
.sec01_item > .item1 .wrap {
    flex-grow: 1;
    padding-left: 60px;
    padding-top: 35px;
}
.sec01_list {
    margin-bottom: 36px;
}
.sec01_list li {
    font-size: 19px;
    font-weight: 500;
    position: relative;
    background: url("../images/icon_check.png") no-repeat left top 17px/10px;
    padding-left: 20px;
    letter-spacing: 0;
    margin-bottom: 7px;
}
.sec01_list li span {
    font-weight: 800;
}
.sec01_item > div:not(.item1) .wrap .title {
    margin-top: -104px;
    background: #fff;
    height: 80px;
    border-radius: 0 10px 0px 0;
    margin-bottom: 30px;
    padding:0 34px 6px 20px;
    letter-spacing: -0.07em;
}
.sec01_item > div:not(.item1) .wrap {
    padding-top: 0px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding-bottom: 59px;
}
.sec01_item > div:not(.item1) .sec01_list {
    margin-bottom: 16px;
    padding-left: 113px;
}
.sec01_item > div:not(.item1) .btn {
    margin: 0 auto;
}
.sec01_ttl2 {
    position: relative;
}
.sec01_ttl2 .en {
    position: absolute;
    left: 99px;
    top: -59px;
}
.sec01_ttl2 .ttl1, .sec01_ttl2 .ttl2 {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 50px;
    font-family: var(--noto-seri);
    font-weight: 700;
    margin-bottom: 0;
    line-height: 1.58;
    text-decoration: underline;
    text-decoration-color: #ffd1b2;
    text-decoration-thickness: 14px;
    text-underline-offset: -4px;
    letter-spacing: -0.057em;
}
.sec01_ttl2 .ttl1 {
    color: #c65000;
}
.sec01_ttl2 .ttl1 .org {
    color: #ff6600;
}
.sec01_ttl2 .ttl2 {
    color: #ff6600;
    margin-bottom: 35px;
}
.sec01_ttl2 .ttl2 .point {
    position: relative;
}
.sec01_ttl2 .ttl2 .point::before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    background: #ff6600;
    border-radius: 50%;
    left: 0;
    right: 0;
    top: 3px;
    margin: 0 auto;
}
.sec01_txt {
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    color: var(--txt2);
    line-height: 2.08;
}
/*==================== SEC02 ===================*/
.sec02 {
    position: relative;
    background: #fff;
    padding-top: 120px;
    padding-bottom: 120px;
}
.sec02 .ttl {
    margin-bottom: 37px;
}
.sec02_txt {
    margin-bottom: 76px;
}
.sec02 .inner {
    width: 1430px;
}
.sec02::before {
    position: absolute;
    content: "";
    background: url("../images/idx_bg3.png") no-repeat center top/1920px;
    left: calc(50% - 960px);
    width: 1920px;
    height: 940px;
    bottom: 0;
}
.sec02_txt {
    text-align: center;
}
.idx_txt {}
.idx_txt p {
    color: var(--txt2);
    font-weight: 600;
}
.sec02_item {}
.sec02_item > div {
    display: flex;
    border-radius: 15px;
    box-shadow:0px 0px 35px 0px rgba(0, 0, 0, 0.14);
    background: #fff;
    padding: 40px;
    cursor: pointer;
}
.sec02_item > div .title {
    position: relative;
    display: flex;
    flex-direction: column;
    font-family: var(--noto-seri);
    font-size: 38px;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 22px;
}
.sec02_item > div.item2 .title {
    margin-bottom: 20px;
}
.sec02_item > div.item2 .txt {
    margin-bottom: 50px;
}
.sec02_item > div .txt {
    font-weight: 600;
    margin-bottom: 53px;
    letter-spacing: -0.06em;
}
.sec02_item > div .title .bb {
    position: absolute;
}
.sec02_item > div.item1 .title .bb {
    position: absolute;
    right: 30px;
    top: -80px;
}
.sec02_item > div.item2 .title .bb {
    right: -13px;
    top: -100px;
}
.sec02_item > div .title .sm {
    color: #c65000;
    font-size: 70%;
    letter-spacing: -0.056em;
}
.sec02_item > div .title .lg {
    color: #c65000;
    letter-spacing: -0.07em;
}
.sec02_item > div .wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 2px;
    flex-grow: 1;
}
.sec02_item > div.item1 {
    margin-bottom: 80px;
}
.sec02_item > div.item1 .sec02_img {
    margin-right: 60px;
}
.sec02_item > div.item2 .sec02_img {
    margin-left: 50px;
}
.sec02_item > div.item2 {
    flex-direction: row-reverse;
}
.sec02_item > div.item2 .btn.lg a {
    width: 402px;
}
.sec02_item > div.item2 .wrap {
    padding-left: 20px;
    padding-top: 1px;
}
.sec02_img {
    margin-bottom: 0;
    position: relative;
}
.sec02_img .num {
    font-size: 120px;
    left: 120px;
    position: absolute;
    bottom: 35px;
    color: #fff;
    text-shadow: rgb(255, 133, 51) 6px 0px 0px, rgb(255, 133, 51) 5.91686px 0.995377px 0px, rgb(255, 133, 51) 5.66974px 1.96317px 0px, rgb(255, 133, 51) 5.2655px 2.87655px 0px, rgb(255, 133, 51) 4.71532px 3.71022px 0px, rgb(255, 133, 51) 4.03447px 4.44106px 0px, rgb(255, 133, 51) 3.24181px 5.04883px 0px, rgb(255, 133, 51) 2.35931px 5.51667px 0px, rgb(255, 133, 51) 1.41143px 5.83163px 0px, rgb(255, 133, 51) 0.424423px 5.98497px 0px, rgb(255, 133, 51) -0.574341px 5.97245px 0px, rgb(255, 133, 51) -1.55719px 5.79441px 0px, rgb(255, 133, 51) -2.49688px 5.45578px 0px, rgb(255, 133, 51) -3.36738px 4.96596px 0px, rgb(255, 133, 51) -4.14455px 4.33852px 0px, rgb(255, 133, 51) -4.80686px 3.59083px 0px, rgb(255, 133, 51) -5.33596px 2.74364px 0px, rgb(255, 133, 51) -5.71718px 1.8204px 0px, rgb(255, 133, 51) -5.93995px 0.84672px 0px, rgb(255, 133, 51) -5.99811px -0.150428px 0px, rgb(255, 133, 51) -5.89004px -1.14341px 0px, rgb(255, 133, 51) -5.61874px -2.1047px 0px, rgb(255, 133, 51) -5.19172px -3.00766px 0px, rgb(255, 133, 51) -4.62082px -3.82727px 0px, rgb(255, 133, 51) -3.92186px -4.54081px 0px, rgb(255, 133, 51) -3.11421px -5.12852px 0px, rgb(255, 133, 51) -2.22026px -5.57409px 0px, rgb(255, 133, 51) -1.26477px -5.86518px 0px, rgb(255, 133, 51) -0.274238px -5.99373px 0px, rgb(255, 133, 51) 0.723898px -5.95617px 0px, rgb(255, 133, 51) 1.70197px -5.75355px 0px, rgb(255, 133, 51) 2.63288px -5.39147px 0px, rgb(255, 133, 51) 3.49082px -4.87998px 0px, rgb(255, 133, 51) 4.25202px -4.23324px 0px, rgb(255, 133, 51) 4.89538px -3.46919px 0px, rgb(255, 133, 51) 5.40307px -2.60899px 0px, rgb(255, 133, 51) 5.76102px -1.67649px 0px, rgb(255, 133, 51) 5.95932px -0.697531px 0px;
    letter-spacing: -0.05em;
}
.sec02_img .num .en {
    font-family: var(--en2);
    font-weight: 900;
}
.sec02_img .num .ja {
    font-size: 60%;
    font-weight: bold;
    position: relative;
    bottom: 5px;
}
/*==================== SEC03 ===================*/
.sec03 {
    position: relative;
    padding-top: 120px;
}
.sec03 .inner {
    width: 1430px;
}
.sec03::before, .sec03:after {
    position: absolute;
    content: "";
}
.sec03::before {
    background: url("../images/idx_brush2.png") no-repeat center top;
    width: 1476px;
    height: 460px;
    left: -186px;
    top: 112px;
}
.sec03:after {
    background: url("../images/idx_brush3.png") no-repeat center top;
    width: 1109px;
    height: 477px;
    right: 3px;
    bottom: 401px;
}
.sec03 .ttl {
    margin-bottom: 47px;
}
.sec03 .ttl .en {
    margin-bottom: 6px;
}
.sec03 .ttl .ja {
    line-height: 1.36;
}
.sec03_item {
    position: relative;
    z-index: 1;
}
.sec03_item > div {
    display: flex;
    justify-content: space-between;
}
.sec03_item > div .sec03_img {
    position: relative;
}
.sec03_item > div .sec03_img .img2 {
    position: absolute;
    right: -210px;
    bottom: -82px;
}
.sec03_item > div .sec03_img .img3 {
    position: relative;
    right: -17px;
}
.sec03_item > div .sec03_img .img4 {
    position: absolute;
    left: -161px;
    bottom: -242px;
}
.sec03_item > div .sec03_wrap {
    max-width: 660px;
}
.sec03_item > div.item1 .sec03_wrap {
    padding-top: 59px;
}
.sec03_item > div.item2 .sec03_wrap {
    padding-top: 232px;
    padding-left: 61px;
    max-width: 785px;
}
.sec03_item > div .title {
    font-size: 38px;
    font-weight: 600;
    color: #c65000;
    font-family: var(--noto-seri);
    margin-bottom: 3px;
    letter-spacing: -0.04em;
}
.sec03_item > div .txt {
    font-size: 19px;
    color: var(--txt2);
    line-height: 1.94;
    font-weight: 500;
    letter-spacing: -0.053em;
}
.sec03_item > div.item1 .txt {
    letter-spacing: -0.08em;
}
.sec03_item > div.item1 {
    padding-right: 60px;
    margin-bottom: -70px;
}
.sec03_item > div.item2 {
    flex-direction: row-reverse;
    margin-bottom: 56px;
}
.sec03_item > div.item3 {
    padding-left: 18px;
}
.sec03_ttl2 {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: 50px;
    font-family: var(--noto-seri);
    font-weight: 700;
    margin-bottom: 0;
    line-height: 1.58;
    text-decoration: underline;
    text-decoration-color: #ffd1b2;
    text-decoration-thickness: 14px;
    text-underline-offset: -4px;
    letter-spacing: -0.057em;
    color: #ff6600;
    padding-top: 240px;
    position: relative;
}
.sec03_ttl2 .let1 {
    letter-spacing: -0.1em;
    position: relative;
    right: 17px;
	    text-decoration-color: #ffd1b2;
    text-decoration-thickness: 14px;
    text-underline-offset: -4px;
}
.sec03_img2 {}
/*==================== SEC04 ===================*/
.sec04 {
    position: relative;
    padding-top: 30px;
    padding-bottom: 120px;
}
.sec04::before {
    position: absolute;
    content: "";
    background: url("../images/idx_brush4.png") no-repeat center top/1920px;
    width: 1920px;
    height: 415px;
    left: calc(50% - 960px);
    bottom: 26px;
}
.sec04 .inner {
    width: 1530px;
}
.sec04 .ttl {
    margin-bottom: 47px;
}
.sec04 .ttl .ja {
	color: #000000;
}
.sec04_item {
    display: flex;
    margin: 0 auto;
    background: #fff;
    height: 480px;
    border-radius: 15px;
    box-shadow: 0px 0px 35px 0px rgba(0, 0, 0, 0.14);
    margin-bottom: 59px;
}
.sec04_item > div {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    padding-top: 39px;
}
.sec04_item > div:not(:last-child)::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 400px;
    right: 0;
    top: 30px;
    background: #cccccc;
}
.sec04_item > div .sec04_icon {
    margin-bottom: 15px;
}
.sec04_item > div .title {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: var(--noto-seri);
    font-weight: 600;
    font-size: 28px;
    line-height: 1.3;
    margin-bottom: 11px;
    letter-spacing: -0.07em;
}
.sec04_item > div .title .org {
    color: #ff6600;
}
.sec04_item > div .title .sm {}
.sec04_item > div .title .lg {
    font-size: 120%;
}
.sec04_item > div .txt {
    text-align: center;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.89;
}
.sec04_item > .item1 {}
.sec04_item > .item2 {}
.sec04_item > .item3 {}
.sec04 .btn.lg a {
    width: 402px;
    height: 62px;
    border-radius: 30px;
    padding-left: 30px;
    background-position: right 30px center;
}
/*==================== SEC05 ===================*/
.sec05 {
    background: #fff;
    padding: 120px 0 118px;
}
.sec05 .btn a {
    border-radius: 30px;
    width: 222px;
    height: 62px;
    padding-left: 30px;
    background-position: right 30px center;
}
.sec05_item {
    display: flex;
    flex-direction: column;
}
.sec05_item .item_l {
    width: 100%;
    flex-shrink: 0;
    position: relative;
}

.sec05_item .item_r {
    width: 100%;
    overflow: hidden;
    margin: 50px auto;
}
.sec05_load {margin: 0 auto;}
.sec05_load  .slick-track {
	position: relative;
	left: -150px;
}
.sec05_load .item {
    width: 280px;
    cursor: pointer;
    margin: 0 10px;
}
.sec05_img {
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 15px;
    height: auto;
    aspect-ratio: 4/3;
}
.sec05_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s;
}
.sec05_date {
    font-weight: 700;
    color: var(--txt2);
    margin-bottom: 1px;
    line-height: 1.5;
}
.sec05_ttl {
    font-weight: 600;
    margin-bottom: 6px;
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    min-height: 102px;
    word-break: break-all;
}
.sec05_link {}
.sec05_link a {
    font-size: 18px;
    font-weight: 600;
    color: #ff6600;
    display: table;
    margin-left: auto;
    font-family: var(--noto-seri);
    background: url(../images/arrow_right.png) no-repeat right center / 25px;
    padding-right: 35px;
    letter-spacing: -0.05em;
}
/*==================== SEC06 ===================*/
/*==================== SEC07 ===================*/
/*==================== SEC08 ===================*/
/*==========================================================
F O O T E R
==========================================================*/
footer {
    position: relative;
    z-index: 3;
}
.ft_cta {
    padding-top: 116px;
    padding-bottom: 120px;
    position: relative;
}
.ft_cta::before {
   position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    background: #ff8533;
    opacity: 0.2;
}
.ft_cta_ttl1 {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-bottom: 14px;
}
.ft_cta_ttl1 .en {
    color: var(--txt2);
    font-size: 24px;
    font-family: var(--en);
    margin-bottom: 6px;
}
.ft_cta_ttl1 .ja {
color: var(--mcolor);
    font-family: var(--noto-seri);
    font-size: 48px;
    font-weight: 600;
    position: relative;
    padding: 0 21px 0 56px;

}
.ft_cta_ttl1 .ja::before,.ft_cta_ttl1 .ja:after {
	position: absolute;
	content: "";
	background: #ff6600;
	width: 30px;
	height: 1px;
	top: 20px;
}
.ft_cta_ttl1 .ja::before {
	left: 0;
}
.ft_cta_ttl1 .ja:after {
	right: 0;
}
.ft_cta_ttl2 {
    text-align: center;
    font-size: 26px;
    font-weight: 600;
    color: var(--txt2);
    font-family: var(--noto-seri);
    margin-bottom: 19px;
}
.ft_cta_txt {
    font-size: 20px;
    text-align: center;
    font-weight: 500;
    margin-bottom: 10px;
    letter-spacing: -0.06em;
}
.ft_contact.cta {
    justify-content: center;
    margin-bottom: 40px;
}
.ft_contact.cta .boxtel_wrap {
    flex-direction: column;
    align-items: flex-end;
    margin-top: 43px;
    margin-right: 40px;
}
.ft_contact.cta .contact_tel {
    margin-bottom: 7px;
    margin-right: 0;
}
.ft_contact.cta .contact_tel .title {
    font-size: 16px;
    margin-bottom: -3px;
}
.ft_contact.cta .contact_tel a {
    font-size: 44px;
    padding-left: 34px;
}
.ft_contact.cta .contact_tel .txt {
    font-size: 17px;
    align-self: flex-end;
}
.ft_contact.cta .box_time {
    display: flex;
}
.ft_contact.cta .box_time .time {
    font-size: 18px;
}
.ft_contact.cta .box_time .time .tt {
    height: 26px;
    line-height: 24px;
    padding: 0 3px;
    margin-right: 11px;
}
.ft_contact.cta .box_time .time.txt2 .tt {
    margin-right: 7px;
}
.ft_contact.cta .box_time .time.txt1 {
    margin-right: 15px;
}
.ft_contact.cta .contact_line a, .ft_contact.cta .contact_mail a {
    width: 400px;
    height: 120px;
    border-radius: 60px;
    flex-direction: column;
}
.ft_contact.cta .boxcontact_wrap {
    max-width: inherit;
}
.ft_contact.cta .contact_line {
    margin-right: 40px;
}
.ft_contact.cta .contact_line a {
    padding-left: 112px;
    line-height: 1.38;
    padding-bottom: 5px;
}
.ft_contact.cta .contact_tel .tel::before {
    width: 29px;
    height: 34px;
    left: 0;
    top: 9px;
}
.ft_contact.cta .contact_line a::before {
    width: 40px;
    height: 40px;
    left: 53px;
    top: 36px;
    background-size: 40px auto;
}
.ft_contact.cta .contact_line a .lg {
    font-size: 26px;
    font-weight: 500;
}
.ft_contact.cta .contact_line a .sm {
    font-size: 16px;
    padding-left: 7px;
}
.ft_contact.cta .contact_mail {}
.ft_contact.cta .contact_mail a::before {}
.ft_contact.cta .contact_mail a::before {
    width: 38px;
    height: 36px;
    background-size: 38px auto;
    left: 67px;
    top: 41px;
}
.ft_contact.cta .contact_mail a {
    padding-left: 125px;
    padding-bottom: 4px;
}
.ft_contact.cta .contact_mail a .sm {
    font-size: 16px;
    line-height: 1.3;
}
.ft_contact.cta .contact_mail a .lg {
    font-size: 24px;
    line-height: 1.16;
    letter-spacing: -0.04em;
}
.ft_contact.cta .contact_mail a .lg .let1 {
    letter-spacing: -0.17em;
}
.ft_top {
    background: #fff;
    padding-top: 100px;
    padding-bottom: 60px;
}
.ft_top .inner {
    display: flex;
    justify-content: space-between;
}
.ft_idx_bnr a {
    margin: 0 auto;
}
.idx_bnr.ft_idx_bnr {
    width: 860px;
    height: 120px;
    border-radius: 10px;
    margin: 0 auto;
    background-color: rgba(255, 255, 255, 0.8);
    border: 2px rgba(255, 209, 178, 0.8) solid;
}
.idx_bnr.ft_idx_bnr a {
    padding-top: 21px;
    border-radius: 10px;
    padding-left: 170px;
}
.idx_bnr.ft_idx_bnr .ttl {}
.idx_bnr.ft_idx_bnr .img {
	left: 21px;
}
.idx_bnr.ft_idx_bnr .ttl {
    width: 290px;
    height: 28px;
    font-size: 18px;
    border-radius: 14px;
    margin-bottom: 10px;
}
.idx_bnr.ft_idx_bnr .txt {
    flex-direction: row;
    font-size: 23px;
    font-weight: 600;
    letter-spacing: -0.04em;
}
/* FOOTER INFORMATION */
.ft_info {
    width: 600px;
    padding-top: 9px;
}
.ft_info_logo {
    margin-bottom: 17px;
}
.ft_info_tel a {
    font-size: 28px;
    color: #332829;
    font-weight: bold;
    padding-left: 25px;
    position: relative;
    line-height: 1;
    display: block;
}
.ft_info_add {
    font-size: 16px;
    line-height: 1.875;
    font-weight: 500;
    margin-bottom: 10px;
}
.ft_map_link a {
    color: #ff6600;
    font-size: 18px;
    font-weight: 600;
    margin-left: 27px;
}
.ft_map {
    width: 100%;
    margin-top: 50px;
}
.ft_map iframe {
    width: 100%;
    height: 400px;
}
/* FOOTER LINK */
.ft_link {
    display: flex;
    margin-right: 30px;
}
.ft_link .inner {
    display: flex;
    justify-content: center
}
.ft_link ul:not(:last-child) {}
.ft_link ul li {}
.ft_link ul:nth-child(1) {
    width: 100px;
}
.ft_link ul:nth-child(2) {
    width: 250px;
}
.ft_link ul:nth-child(3) {
    width: 230px;
}
.ft_link ul:nth-child(4) {
    width: 190px;
}
.ft_link ul li p {
    font-size: 125%;
    font-weight: bold;
}
.ft_link ul li p a {
    font-size: 16px;
    color: #333;
}
.ft_link ul li.big p {
    color: var(--mcolor);
    font-size: 18px;
    font-weight: bold;
}
.ft_link ul li {
    margin-bottom: 6px;
}
.ft_link ul li > a {
    position: relative;
    padding-left: 13px;
    font-weight: 600;
    color: #333;
    letter-spacing: -0.06em;
}
.ft_link ul li > a::before {
    width: 6px;
    height: 10px;
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    background: url('../images/arrow_ft.svg') center /cover no-repeat;
}
address {
    text-align: center;
    font-size: 16px;
    background: #fff;
    font-weight: 500;
    color: var(--txt2);
    padding-bottom: 55px;
}
/* BACK TO TOP */
.to_top {
    position: fixed;
    z-index: 9;
    width: 60px;
    height: 60px;
    bottom: 10px;
    right: 10px;
    cursor: pointer;
    transition: all .2s;
    opacity: 0;
    visibility: hidden
}
.to_top.show {
    transform: scale(1);
    opacity: 1;
    visibility: visible
}