@charset "UTF-8"; @import "base.css"; @import "fonts.css"; @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap'); /*==========================================================================*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
    font-size: 160%;
    -webkit-text-size-adjust: none;
    font-weight: 400;
}

/* html:focus-within {scroll-behavior: smooth;} */
*,::before,::after {
    box-sizing: border-box;
    outline: none;
}

img {
    vertical-align: middle;
    max-width: 100%;
    flex-shrink: 0;
    height: auto;
}

select {
    visibility: visible !important;
}

a {
    transition: all ease 0.3s;
    text-decoration: none;
    color: var(--txt);
}

a[href^="tel:"] {
    word-break: keep-all;
}

/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html {
    background: #fff
}

body {
    -webkit-text-size-adjust: none;
    min-width: 320px;
    color: var(--txt);
    font-family: var(--f-main)
}

table {
    width: 100%
}

h1,h2,h3,h4,h5,h6 {
    line-height: 1.4;
}

p,dd,dt,li,th,td,address {
    line-height: 2em;
    letter-spacing: 0;
}

p {
    margin: 0 0 30px;
}

p:last-child {
    margin-bottom: 0
}

.bold {
    font-weight: bold;
}

.left {
    text-align: left
}

.right {
    text-align: right;
}

.auto {
    margin-left: auto;
    margin-right: auto;
}

.red {
    color: var(--red);
}

.txt_line {
    text-decoration: underline;
}

.f_big {
    font-size: 150%;
}

.f_sm {
    font-size: 80%;
}

.m0a {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

:root {
    --txt: #333;
    --mcolor: #f39700;
    --scolor: #0078d2;
    --blue-d: #1c3370;
    --brown : #593d16;
    --container: 1230px;
    --f-main: "Noto Sans JP", sans-serif;
    --f-open: "Open Sans", sans-serif;
}

#wrapper {
    min-width: 1260px;
    overflow: hidden;
    margin: 0 auto
}

.inner {
    width: var(--container);
    margin: 0 auto;
    position: relative;
    max-width: 100%;
    padding: 0 15px;
}

/*==========================================================
                       H E A D E R
==========================================================*/
/* HAMBUGER BUTTON */
.hamburger {
    font: inherit;
    display: block;
    overflow: visible;
    margin: 0;
    padding: 10px 8px 5px;
    cursor: pointer;
    transition-timing-function: linear;
    transition-duration: .15s;
    transition-property: opacity,filter;
    text-transform: none;
    color: inherit;
    border: 0
}

.hamburger-box {
    position: relative;
    display: inline-block;
    width: 35px;
    height: 24px
}

.hamburger-inner {
    top: 50%;
    display: block;
    margin-top: -2px
}

.hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {
    position: absolute;
    width: 35px;
    height: 2px;
    transition: all ease 0.15s;
    background-color: #fff;
}

.hamburger-inner::after, .hamburger-inner::before {
    display: block;
    content: ""
}

.hamburger-inner::before {
    top: -7px;
}

.hamburger-inner::after {
    bottom: -7px;
}

.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,-7px,0) rotate(-45deg);
}

header {
    position: relative;
    z-index: 9;
}

h1 {
    font-size: 16px;
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 500px;
    font-weight: 900;
    letter-spacing: -0.5px;
    margin: 0 0 8px 0;
}

.h_box {
    width: 100%;
    position: fixed;
    transition: .3s ease-in-out;
}

.h_inner {
}

/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main {
    position: relative;
    z-index: 2;
    padding-top: 0;
}

.mv {
    position: relative;
    padding: 0;
}

.mv_bg {
    position: relative;
    overflow: hidden;
    opacity: 0;
    transition: all .3s;
}

.mv_bg.init {
    opacity: 1
}

.mv_slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

.mv_bg,.mv_slider_ite {
    width: 100%;
    height: 680px
}

.mv_slider_ite .bg {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: center
}

.mv_slider_ite.zoomed .bg {
    animation-name: zoomImg;
    animation-duration: 6s;
    animation-timing-function: linear;
    animation-fill-mode: forwards
}

.mv_txt {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: auto
}

.mv_txt h2 {
    font-size: 40px;
    font-weight: bold;
    text-align: center
}

@keyframes zoomImg {
    0% {
        transform: scale(1.2)
    }

    100% {
        transform: scale(1.0)
    }
}

/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl_h3 {
    text-align: center;
    font-weight: bold;
}

.ttl_h3:not(:last-child) {
    margin-bottom: 30px;
}

.ttl_h3 span {
    display: block;
}

.ttl_h3 .ja {
    font-size: 32px;
}

.ttl_h3 .en {
    font-size: 16px;
}

/* DEFAUTL NAME BUTTON */
.under main .btn_contact_custom input, .btn a {
    width: 380px;
    height: 60px;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url('../images/ic-right.png') no-repeat right 20px center /10px 13px var(--scolor);
    font-size: 20px;
    color: #fff;
    border-radius: 10px;
    letter-spacing: -1px;
}

.btn.center a {
    margin-left: auto;
    margin-right: auto;
}

.btn_box:not(:last-child) {
    margin-bottom: 30px;
}

.btn_box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.btn_box .btn {
    margin: 10px;
}

section {
    padding: 40px 0;
}

.h_left {
    padding: 26px 0 0 29px;
    transition: .3s ease-in-out;
}
.is_scroll .h_left{padding: 10px 10px 10px 30px;}
.h_right{transition: .3s ease-in-out;}
.h_logo{transition: .3s ease-in-out;}
.is_scroll .h_logo{width: 350px;}
.h_flex {
    display: flex;
    justify-content: space-between;
    transition: .3s ease-in-out;
}
.is_scroll .h_flex{align-items: center;}

/*============= SEC01 ==============*/
.sec01 {
    padding: 0 0;
}

.s1_bg {
    background: url(../images/s1_bg.jpg) no-repeat center/cover;
    height: auto;
    padding: 0 0 90px 0;
}

.s1_content {
    position: relative;
    z-index: 1;
    margin: 0 0 145px 0;
}

.s1_content::before {
    content: '';
    position: absolute;
    top: 50px;
    left: -50px;
    width: 800px;
    height: 800px;
    border-radius: 50%;
    background: rgba(255,255,255,.6);
    pointer-events: none;
    z-index: -1;
}

.s1_content::after {
    content: '';
    position: absolute;
    top: -80px;
    left: 501px;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    border: 40px solid rgba(255,255,255,.4);
    pointer-events: none;
    z-index: -1;
}

.s1_sub_title p {
    font-size: 37px;
    color: var(--brown);
    font-weight: 500;
    letter-spacing: -1.8px;
}

.s1_content_sub {
    padding: 250px 0 0 120px;
}

.s1_sub_title .dot {
    display: inline-block;
    position: relative;
    letter-spacing: 0;
    color: var(--mcolor);
    margin: 0 -8px 0 0;
    font-weight: 700;
}

.s1_sub_title .dot::before {
    content: '';
    position: absolute;
    top: calc((100% - 11px));
    left: calc((100% - 5px)/2);
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--mcolor);
}

.s1_title h2 {
    font-size: 60px;
    font-weight: 600;
    color: #1c3370;
    font-weight: 700;
    letter-spacing: -6px;
    margin: -8px 0 0 0;
}

.s1_title h2 .color {
    color: var(--brown);
    letter-spacing: -3px;
    font-weight: 500;
}

.s1_title h2 .small {
    font-size: 90%;
    font-weight: 500;
}

.s1_frame p {
    font-size: 24px;
    color: #fff;
    line-height: 1.5;
}

.s1_frame {
    width: 390px;
    height: 50px;
    border-radius: 999px;
    background: rgba(28,51,112,.9);
    margin: 20px 0 0 -11px;
    padding: 4px 0 0 25px;
}

.s1_frame .txt_ja {
    display: inline-block;
    letter-spacing: -1.5px;
}

.s1_description p {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -1.5px;
}

.s1_description p .color {
    color: var(--blue-d);
    font-weight: 900;
}

.s1_description {
    margin: 47px 0 0 0;
}

.s1_description .space01 {
    display: inline-block;
    letter-spacing: 0;
}

.s1_description .space01 .color {
    letter-spacing: 0;
    margin: 0 6px 0 0;
}

.s1_slide_box {
    width: 580px;
    /* height: 140px; */
    height: 100%;
    background: #fff;
    border-radius: 10px;
    display: flex;
    padding: 20px 20px;
    position: relative;
    min-height: 165px;
}

.s1_slide_box::after{content: '';position: absolute;bottom: 10px; right: 10px;width: 30px;height: 30px;background: url(../images/s2_btn.png) no-repeat center/14px 18px;border-radius: 50%;filter: brightness(0) invert(1);transition: .3s ease-in-out;}
.s1_slide_box::before{content: '';position: absolute;bottom: 10px;right: 10px;width: 30px;height: 30px;background: var(--blue-d);border-radius: 50%;transition: .3s ease-in-out;}

.s1_slide_link{margin: 10px 0 0 0;position:  absolute;bottom: 15px;right: 50px;}
.s1_slide_link a{display: block;font-size: 14px;color: var(--mcolor);font-weight: 500;}

.s1_slide_img {
    flex-shrink: 0;
    margin: 0 20px 0 0;
}

.s1_slide_ttl p {
    color: var(--brown);
    /* font-size: 26px; */
    font-size: 20px;
    line-height: 1.5;
    font-weight: 500;
    transition: .3s ease-in-out;
}

.s1_slide_ttl p .color {
    color: var(--scolor);
    transition: .3s ease-in-out;
}

.s1_slide_des p {
    /* font-size: 16px; */
    font-size: 13px;
    line-height: 1.5;
    font-weight: 700;
    color: #000;
}

.txt_small .s1_slide_des p{font-size: 11px;}

.s1_slide_col {
    margin: 0 10px;
    transform: translateX(-245px);
}

.s1_slide_ttl {
    margin: 0 0 2px 0;
}

.s1_slide_info {
    margin: -8px 0 0 0;
}

.sec01 .slick-dots {
    bottom: -80px;
}

.sec01 .slick-dots li button {
    width: 10px;
    height: 10px;
    background: #bdb1a2;
    border-radius: 50%;
}

.sec01 .slick-dots li button::before {
    display: none;
}

.sec01 .slick-dots li.slick-active button {
    background: var(--mcolor);
}

.sec01 .slick-prev {
    left: calc((100% - 10%)/2);
    top: calc((100% + 67px));
    z-index: 1;
}

.sec01 .slick-next {
    right: calc((100% - 10%)/2);
    top: calc((100% + 67px));
    z-index: 1;
}

.sec01 .slick-prev::before {
    display: none;
}

.sec01 .slick-next::before {
    display: none;
}

.sec01 .slick-prev::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 13px;
    height: 17px;
    background: url(../images/s1_prev.png) no-repeat center/100%;
    transition: .3s ease-in-out;
}

.sec01 .slick-next::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 13px;
    height: 17px;
    background: url(../images/s1_next.png) no-repeat center/100%;
    transition: .3s ease-in-out;
}

/*============= SEC02 ==============*/
.sec02 {
    background: url(../images/s2_bg.jpg) no-repeat center/cover;
    height: auto;
    padding: 80px 0;
}

.s2_background {
    width: 100%;
    background: var(--scolor);
    border-radius: 10px;
    padding: 33px 10px 53px 10px;
    position: relative;
    transition: .3s ease-in-out;
}

.s2_demo {
    text-align: center;
    margin: 0 0 9px 0;
}

.s2_demo p {
    font-size: 28px;
    font-weight: 500;
    color: #fff;
    line-height: 1.5;
    letter-spacing: -1.5px;
    display: inline-block;
    position: relative;
    padding: 0 0 4px 0;
}

.s2_demo p::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #fff;
}

.s2_ttl_big {
    display: flex;
    justify-content: center;
    margin: 0 0 7px 0;
}

.s2_tag {
    width: 110px;
    height: 50px;
    background: #ffe548;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 12px 0 0 -7px;
}

.s2_tag p {
    line-height: 1.5;
    color: var(--brown);
    font-size: 28px;
    font-weight: 700;
}

.s2_ttl h3 {
    font-size: 44px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -1.5px;
}

.s2_ttl {
    padding: 0 0 0 20px;
}

.s2_des p {
    font-size: 20px;
    font-weight: 500;
    color: #fff;
    line-height: 1.5;
    letter-spacing: -0.5px;
}

.s2_des {
    text-align: center;
}

.s2_btn a {
    display: flex;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff url(../images/s2_btn.png) no-repeat 15px center/14px 18px;
}

.s2_btn {
    position: absolute;
    top: calc((100% - 40px)/2);
    right: 50px;
}

/*============= SEC03 ==============*/
/* .sec03{background: #f2f1e9;padding: 0 0;} */
.sec03 {
    position: relative;
    ;padding: 0 0;
}

.s3_ovn::after {
    content: '';
    position: absolute;
    top: -110px;
    left: 0;
    width: 100%;
    height: 8890px;
    background: url(../images/s3_bg_all.png) no-repeat top/100%;
    z-index: -1;
}

.s3_ct01_img {
    position: relative;
    display: inline-block;
    margin: 2px 172px 0 165px;
}

/* .s3_ct01_img::before{} */
.s3_ct01_img p {
    flex-shrink: 0;
    margin: 0;
}

.s3_ct01_img01 {
    position: absolute;
    top: -32px;
    left: -141px;
    animation: 4s 0s fluffy ease-in-out infinite;
    animation-delay: .5s;
}

.s3_ct01_img02 {
    position: absolute;
    top: -90px;
    right: -101px;
    animation: 4s 0s fluffy ease-in-out infinite;
}

@keyframes fluffy {
	0%,
	100% {
		transform: translateX(0);
	}
	50% {
		transform: translateX(20px);
	}
}

.s3_ct01_flex {
    display: flex;
}

.s3_ct01_img .f img {
    min-height: 513px;
}

.s3_ovn {
    width: 100vw;
    height: 100%;
    position: absolute;
    overflow: hidden;
    left: calc((100% - 100vw)/2);
    pointer-events: none;
}

.s3_ovn::before {
    content: '';
    position: absolute;
    top: -56px;
    left: 230px;
    width: 680px;
    height: 680px;
    border-radius: 50%;
    background: rgba(255,255,255,.6);
    z-index: 1;
}

.s3_content01 {
    position: relative;
    z-index: 2;
    padding: 70px 0 0 0;
}

.s3_ttl h3 {
    font-size: 44px;
    font-weight: 600;
    color: var(--blue-d);
    line-height: 1.5;
    letter-spacing: -1.5px;
}

.s3_demo p span {
    font-size: 28px;
    color: var(--brown);
    border-top: 1px solid var(--brown);
    padding: 6px 0 11px 0;
    letter-spacing: -1.5px;
    white-space: nowrap;
    font-weight: 500;
}

.s3_demo p span:last-child {
    border-bottom: 1px solid var(--brown);
}

.s3_demo p {
    display: flex;
    flex-direction: column;
}

.s3_des_small p {
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: -1px;
    color: #000;
    font-weight: 500;
}

.s3_des_big p {
    font-size: 24px;
    color: var(--brown);
    line-height: 1.5;
    letter-spacing: -1px;
}

.s3_ct01_info {
    padding: 37px 0 0 0;
    position: relative;
}

.s3_ct01_info::after {
    content: '';
    position: absolute;
    top: -10px;
    right: -112px;
    width: 360px;
    height: 360px;
    background: url(../images/s3_img04.png) no-repeat center/100%;
}

.s3_ttl {
    margin: 0 0 27px 0;
}

.s3_demo {
    margin: 0 0 24px 0;
    width: 440px;
}

.s3_des_small {
    margin: 0 0 33px 0;
}

.s3_content02 {
    margin: -15px 0 0 0;
    padding: 0 0 115px 0;
    position: relative;
    z-index: 1;
}

.s3_content02::before {
    content: '';
    position: absolute;
    top: -10px;
    left: -520px;
    width: 510px;
    height: 600px;
    background: url(../images/s3_ct02_bf01.png) no-repeat center/100%;
}

.s3_content02::after {
    content: '';
    position: absolute;
    top: 30px;
    right: -320px;
    width: 360px;
    height: 621px;
    background: url(../images/s3_ct02_bf02.png) no-repeat center/100%;
}

.s3_ct02_bg {
    width: 100%;
    height: 540px;
    background: #fff;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    z-index: 1;
}

.s3_ct02_left::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--blue-d);
    clip-path: polygon(0% 0%, 85% 0, 100% 50%, 85% 100%, 0% 100%);
    z-index: -1;
}

.s3_ct02_flex {
    display: flex;
    height: 100%;
}

.s3_ct02_left {
    width: 650px;
    height: 100%;
    position: relative;
    z-index: 1;
    padding: 50px 0 0 0;
}

.s3_ct02_left_ttl p {
    font-size: 34px;
    font-weight: 500;
    color: #fff;
    line-height: 1.5;
    display: inline-block;
    padding: 0 75px 0 0px;
    letter-spacing: 0;
}

.s3_ct02_left_ttl {
    text-align: center;
    margin: 0 0 37px 0;
}

.s3_ct02_left_img {
    text-align: center;
    padding: 0 50px 0 0;
    margin: 0 0 35px 0;
}

.s3_ct02_left_des p {
    font-size: 44px;
    font-weight: 700;
    color: #fff;
    line-height: 1.4;
    letter-spacing: -2px;
}

.s3_ct02_left_des .kc{letter-spacing: -5.5px;}

.s3_ct02_left_des {
    text-align: center;
    padding: 0 71px 0 0;
}

.s3_ct02_right_list {
    display: flex;
    justify-content: center;
}

.s3_ct02_right_demo p {
    display: inline-block;
    line-height: 1.5;
    font-size: 34px;
    font-weight: 500;
    color: var(--brown);
    position: relative;
    padding: 0 0 18px 0;
    letter-spacing: -2px;
}

.s3_ct02_right_demo p::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 240px;
    height: 16px;
    background: url(../images/s3_ct02_right_demo.png) no-repeat center/100%;
}

.s3_ct02_right_demo {
    text-align: center;
    margin: 0 0 25px 0;
}

.s3_ct02_right {
    width: calc((100% - 650px));
    padding: 70px 0 0 0;
    position: relative;
}

.s3_ct02_right::before {
    content: '';
    position: absolute;
    top: calc((100% - 440px)/2);
    left: calc((100% - 400px)/2);
    width: 380px;
    height: 380px;
    border: 20px solid rgba(244,221,122,.2);
    border-radius: 50%;
    z-index: -1;
}

.s3_ct02_right_ttl {
    text-align: center;
    margin: 0 0 30px 0;
}

.s3_ct02_right_ttl p {
    line-height: 1.1;
    font-size: 52px;
    font-weight: 700;
}

.s3_ct02_right_ttl p .color {
    color: var(--mcolor);
    font-size: 120%;
}

.s3_ct02_right_box {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: #fef5e5;
    border: 1px dashed var(--mcolor);
    display: flex;
    justify-content: center;
    align-items: center;
}

.s3_ct02_right_box p {
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    line-height: 1.3;
    color: var(--brown);
}

.s3_ct02_right_col {
    margin: 0 10px;
}

.s3_ct03_ttl_big {
    text-align: center;
    margin: 0 0 10px 0;
}

.s3_ct03_ttl_big h3 {
    font-size: 44px;
    font-weight: 500;
    color: var(--brown);
    line-height: 1.5;
    letter-spacing: -3px;
}

.s3_ct03_ttl_big h3 .color_blue {
    color: var(--scolor);
}

.s3_ct03_ttl_big h3 .color_orange {
    color: var(--mcolor);
}

.s3_content03 {
    padding: 0 0 0 0;
}

.s3_ct03_des01 {
    text-align: center;
    margin: 0 0 70px 0;
}

.s3_ct03_des01 p {
    font-size: 20px;
    letter-spacing: -1px;
    font-weight: 500;
}

.s3_ct03_boxes {
    width: 1320px;
    height: auto;
    padding: 20px 20px 45px 20px;
    border-radius: 15px;
    background: #fff;
    position: relative;
    left: calc((100% - 1320px)/2);
    box-shadow: 0 0 10px rgba(0,0,0,.1);
    margin: 0 0 59px 0;
}

.s3_ct03_bg {
    position: relative;
    z-index: 1;
    padding: 0 0 67px 0;
}

.s3_ct03_box_ttl p {
    font-size: 36px;
    font-weight: 500;
    color: var(--blue-d);
    position: relative;
    display: inline-block;
    padding: 0 40px;
    line-height: 1.5;
    letter-spacing: -1px;
}

.s3_ct03_box_ttl p::before{content: '';position: absolute;top: 10px;left: 0;width: 16px;height: 52px;background: url(../images/s3_box_bf01.png) no-repeat center/100%;}
.s3_ct03_box_ttl p::after{content: '';position: absolute;top: 10px;right: 0;width: 16px;height: 52px;background: url(../images/s3_box_bf02.png) no-repeat center/100%;}

.s3_ct03_box_ttl p .big {
    font-size: 120%;
    font-weight: 700;
}

.s3_ct03_box_ttl {
    text-align: center;
    margin: -55px 0 16px 0;
}

.s3_ct03_box {
    width: 380px;
    height: 120px;
    background: #f9d599;
    border-radius: 10px;
    display: flex;
    align-items: center;
    padding: 5px 0 0 30px;
}

.s3_ct03_row {
    margin: 15px 15px;
}

.s3_ct03_content_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.s3_ct03_txt p {
    font-size: 24px;
    font-weight: 700;
    color: #665e37;
    line-height: 1.4;
}

.s3_ct03_icon {
    flex-shrink: 0;
    margin: 0 10px 0 0;
}

.s3_ct03_icon img {
    flex-shrink: 0;
    display: block;
}

.s3_ct03_txt {
    margin: -11px 0 0 0;
}

.s3_btn {
    display: flex;
    justify-content: center;
}

.btn03 a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 28px;
    color: #fff;
    line-height: 1.5;
    width: 720px;
    height: 80px;
    background: var(--scolor);
    border-radius: 10px;
    position: relative;
    letter-spacing: -2px;
    padding: 10px 10px 10px 10px;
}

.btn03 a::before {
    content: '';
    position: absolute;
    top: calc((100% - 20px)/2);
    right: 30px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
}

.btn03 a::after {
    content: '';
    position: absolute;
    top: calc((100% - 9px)/2);
    right: 36px;
    width: 7px;
    height: 9px;
    background: url(../images/s3_btn.png) no-repeat center/100%;
}

.s3_ct03_quotes p {
    font-size: 24px;
    line-height: 1.5;
    background: url(../images/s3_ct03_cloud.png) no-repeat center/ 100%;
    width: 437px;
    height: 146px;
    padding: 30px 10px 10px 52px;
    margin: 37px -7px 0 0px;
    letter-spacing: -2px;
    font-weight: 500;
}

.s3_ct03_quotes p .big {
    color: var(--mcolor);
    font-size: 120%;
}

.s3_ct03_quotes {
    display: flex;
    justify-content: flex-end;
    position: relative;
    padding: 0 245px 0 0;
    margin: -20px 5px 0 0;
}

.s3_ct03_quotes::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 251px;
    height: 250px;
    background: url(../images/s3_ct03_women.png) no-repeat center/100%;
}

/*============= SEC04 ==============*/
.sec04 {
    background: #f6f7f2;
    padding: 40px 0 0 0;
}

.s4_ttl_small::before {
    content: '';
    position: absolute;
    top: -60px;
    left: calc((100% - 120px)/2);
    width: 120px;
    height: 121px;
    background: url(../images/s4_man.png) no-repeat center/100%;
}

.s4_ttl_small {
    text-align: center;
    padding: 83px 0 0 0;
    position: relative;
}

.s4_ttl_small p {
    line-height: 1.5;
    display: inline-block;
    font-size: 24px;
    color: var(--brown);
    font-weight: 500;
    letter-spacing: -2px;
}

.s4_ttl_big {
    text-align: center;
    margin: 0 0 15px 0;
}

.s4_ttl_big h3 {
    line-height: 1.5;
    display: inline-block;
    font-size: 44px;
    color: var(--blue-d);
    font-weight: 500;
    letter-spacing: -2px;
}

.s4_ttl_big h3 .color {
    color: var(--mcolor);
}

.s4_man_quotes {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 1;
    margin: 0 0 30px 0;
}

.s4_man_quotes::after {
    content: '';
    position: absolute;
    bottom: 39px;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--brown);
    z-index: -1;
}

.s4_man_txt p {
    width: 581px;
    height: 201px;
    background: url(../images/s4_cloud.png) no-repeat center/100%;
    padding: 45px 0 0 70px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: -1px;
}

.s4_man_txt {
    margin: 21px 96px 0 0px;
}

.s4_man_img {
    margin: 0 0px 0px 100px;
    transform: translate(47px, 0px);
}

.s4_ct02_ttl {
    text-align: center;
    margin: 0 0 37px 0;
}

.s4_ct02_ttl p {
    font-size: 40px;
    font-weight: 700;
    color: var(--brown);
    display: inline-block;
    line-height: 1.4;
    letter-spacing: -2px;
}

.s4_ct02_ttl p .small {
    display: block;
    font-size: 80%;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.s4_ct02_list {
    display: flex;
    margin: 0 -15px;
    justify-content: center;
}

.s4_ct02_box {
    width: 380px;
}

.s4_ct02_box_ttl {
    width: 320px;
    height: 54px;
    background: var(--blue-d);
    border-radius: 999px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    position: relative;
}

.s4_ct02_box_ttl p {
    font-size: 26px;
    font-weight: 500;
    color: #fff;
    line-height: 1.5;
}

.s4_ct02_box_img {
    width: 380px;
    height: 340px;
    margin: -30px 0 0 0;
}

.b01 .s4_ct02_box_img {
    background: url(../images/s4_ct02_img01.png) no-repeat center/100%;
}

.b02 .s4_ct02_box_img {
    background: url(../images/s4_ct02_img02.png) no-repeat center/100%;
}

.b03 .s4_ct02_box_img {
    background: url(../images/s4_ct02_img03.png) no-repeat center/100%;
}

.s4_ct02_col {
    padding: 0 15px;
}

.s4_ct02_box_des p {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    line-height: 1.7;
    letter-spacing: -2px;
}

.s4_ct02_box_des {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
    padding: 0 0 30px 0;
}

.s4_content02 {
    position: relative;
    z-index: 1;
}

.s4_content03 {
    margin: 0 0 44px 0;
}

.s4_ct03_bg {
    width: 941px;
    height: 766px;
    background: url(../images/s4_ct03_bg.png) no-repeat center/100%;
    margin: -174px 0 0 130px;
}

.s4_ct03_content {
    display: flex;
    justify-content: center;
    position: relative;
    margin: 0 0 26px 0;
}

.s4_ct03_bg_text p {
    text-align: center;
    font-size: 28px;
    font-weight: 500;
    color: var(--blue-d);
    line-height: 1.45;
    letter-spacing: -1px;
}

.s4_ct03_bg_text {
    padding: 198px 110px 0 0;
}

.s4_ct03_cc {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    border: 1px dashed var(--blue-d);
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
}

.s4_ct03_cc p {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}

.s4_ct03_cc.cc01 {
    background: #e8ebf2;
    border-color: var(--blue-d);
    top: 233px;
    left: 170px;
}

.s4_ct03_cc.cc02 {
    background: #fef5e4;
    border-color: var(--mcolor);
    top: 327px;
    right: 210px;
}

.s4_ct03_cc.cc01 p {
    color: var(--blue-d);
}

.s4_ct03_cc.cc02 p {
    color: var(--mcolor);
}

.s4_ct03_description p {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: -0.5px;
}

.s4_ct04_box {
    width: 380px;
    height: 180px;
    background: #fff;
    border-radius: 10px;
    padding: 19px 10px 10px 20px;
}

.s4_ct04_col {
    padding: 0 15px;
}

.s4_ct04_list {
    display: flex;
    justify-content: center;
    margin: 0 -15px;
}

.s4_ct04_head {
    display: flex;
    margin: 0 0 23px 0;
}

.s4_ct04_head .number {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #f4dd7a;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 20px 0 0;
}

.s4_ct04_head .number p {
    font-size: 32px;
    font-weight: 600;
    font-family: var(--f-open);
    color: #665e37;
    line-height: 1;
}

.s4_ct04_head .title p {
    font-size: 26px;
    font-weight: 600;
    color: #665e37;
    letter-spacing: -1px;
}

.s4_ct04_des p {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.75;
}

/*============= SEC05 ==============*/
.sec05 {
    background: #f1f1e9;
    margin: -80px 0 0 0;
    padding: 160px 0 120px 0;
}

.s5_head_flex {
    display: flex;
    margin: 0 0 15px 0;
}

.s5_head {
    display: flex;
    padding: 58px 0 0 106px;
}

.s5_head_tag {
    width: 100px;
    height: 60px;
    border-radius: 10px;
    background: var(--blue-d);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

.s5_head_tag p {
    line-height: 1;
    color: #fff;
    font-size: 32px;
    font-weight: 500;
}

.s5_head_ttl p {
    font-size: 44px;
    color: var(--blue-d);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -4px;
}

.s5_head_ttl p .color {
    color: var(--mcolor);
    letter-spacing: -1px;
}

.s5_head_img {
    flex-shrink: 0;
    padding: 0 0 0 18px;
    position: relative;
    margin: 0 43px 0 0;
}
.s5_head_img::before{content: '';position: absolute;top: 72px;left: -88px;width: 116px;height: 120px;background: url(../images/s5_head_img_bf01.png) no-repeat center/100%;animation: 4s 0s fluffy ease-in-out infinite;}
.s5_head_img::after{content: '';position: absolute;top: -55px;right: -43px;width: 116px;height: 107px;background: url(../images/s5_head_img_bf02.png) no-repeat center/100%;animation: 4s 0s fluffy ease-in-out infinite;animation-delay: .5s;}

.s5_head_description p {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: -0.5px;
    margin: 0 0 10px 0;
}

.s5_head_info {
    margin: 46px 0 0 -9px;
}

.s5_box {
    width: 580px;
}

.s5_list {
    display: flex;
    justify-content: center;
    margin: 0 -20px;
}

.s5_col {
    padding: 0 20px;
}

.s5_box_bg {
    width: 100%;
    height: 440px;
    background: #fff;
    border-radius: 10px;
    margin: -28px 0 0 0;
}

.s5_ttl {
    width: 430px;
    height: 54px;
    border-radius: 999px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: -12px auto 0 auto;
    position: relative;
}

.s5_ttl p {
    color: #fff;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.5;
}

.b01 .s5_ttl {
    background: var(--mcolor);
}

.b02 .s5_ttl {
    background: var(--blue-d);
    width: 510px;
}

.b02 .s5_ttl p {
    letter-spacing: -3px;
}

.s5_step_box {
    width: 380px;
    height: 200px;
    background: #fff;
    border-radius: 10px;
    padding: 15px 20px 15px 20px;
}

.s5_step_list {
    display: flex;
    justify-content: center;
    margin: 0 -15px;
}

.s5_step_col {
    padding: 0 15px;
}

.s5_content {
    margin: 0 0 81px 0;
}

.s5_step_ttl {
    text-align: center;
    margin: 0 0 11px 0;
}

.s5_step_ttl p {
    display: inline-block;
    font-size: 26px;
    font-weight: 500;
    color: var(--brown);
}

.s5_step_des p {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.90;
    letter-spacing: -0.5px;
}

/*============= SEC06 ==============*/
.sec06 {
    padding: 0 0 0 0;
}

.s6_parallax {
    width: 100%;
    height: 300px;
    background: url(../images/s6_parallax.jpg) no-repeat center/cover;
    background-attachment: fixed;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

/* .s6_parallax::before{content: '';position: absolute;top: 0;left: 0;width: 100%;height: 600px;background: url(../images/s6_parallax.jpg) no-repeat center/100%;z-index: -1;background-attachment: fixed;} */

.s6_bg {
    background: #f2f1e9;
    padding: 50px 0 120px 0;
    position: relative;
    z-index: 1;
}

.s6_bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/s6_bg_bf01.png) no-repeat center/cover;
    z-index: -1;
}

.s6_btg_ttl {
    text-align: center;
    padding: 54px 0 0 0;
    position: relative;
    margin: 0 0 33px 0;
}

.s6_btg_ttl::before {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 161px;
    width: 93px;
    height: 180px;
    background: url(../images/s6_ic02.png) no-repeat center/100%;
}

.s6_btg_ttl::after {
    content: '';
    position: absolute;
    top: -100px;
    right: 92px;
    width: 420px;
    height: 165px;
    background: url(../images/s6_ic01.png) no-repeat center/100%;
}

.s6_btg_ttl p {
    display: inline-block;
    line-height: 1.5;
    font-size: 48px;
    font-weight: 500;
    color: var(--brown);
    letter-spacing: -2px;
    position: relative;
}

.s6_btg_ttl p::before {
    content: '';
    position: absolute;
    top: -40px;
    left: -90px;
    width: 98px;
    height: 68px;
    background: url(../images/s6_pickup.png) no-repeat center/100%;
}

.s6_btg_ttl p .big {
    font-weight: 700;
}

.s6_list_anchor {
    display: flex;
    justify-content: center;
    margin: 0 0 70px 0;
}

.s6_list_anchor .btn:not(:last-child) {
    margin: 0 30px 0 0;
}

.s6_content_box {
    width: 100%;
    height: 850px;
    border-radius: 15px;
    background: #fff;
    padding: 50px 0 10px 80px;
    position: relative;
}

.s01 .s6_content_box::after {
    content: '';
    position: absolute;
    bottom: -41px;
    right: -23px;
    width: 239px;
    height: 224px;
    background: url(../images/s6_ct01_after.png) no-repeat center/100%;
}

.s01 .s6_content_box::before {
    content: '';
    position: absolute;
    top: 0;
    left: calc((100% + 0px));
    width: 100%;
    height: 100%;
    background: #fff;
}

.s6_ct_head_number {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: #f8c166;
    border: 1px dashed var(--mcolor);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 47px 0 0;
}

.s6_ct_head_number p {
    font-size: 110px;
    color: #fff;
    font-family: var(--f-open);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -10px;
}

.s6_ct_head {
    display: flex;
}

.s6_quote p {
    font-size: 24px;
    font-weight: 700;
    color: var(--brown);
    line-height: 1.5;
    letter-spacing: -1.5px;
}

.s6_title p {
    font-size: 42px;
    font-weight: 500;
    color: var(--blue-d);
    letter-spacing: -3.5px;
    line-height: 1.5;
}

.s6_title p .big {
    display: inline-block;
    color: var(--mcolor);
    font-size: 120%;
    position: relative;
    font-weight: 700;
}

.s6_title p .big::before {
    content: '';
    position: absolute;
    top: calc((100% - 3px));
    left: calc((100% - 7px)/2);
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--mcolor);
}

.s01 .s6_quote {
    width: 240px;
    height: 27px;
    position: relative;
    margin: 23px 0 25px 20px;
}

.s01 .s6_quote::before {
    content: '';
    background: url(../images/s6_quote01.png) no-repeat center/100%;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 31px;
    left: -20px;
}

.s6_ct_head_txt {
    display: flex;
}

.s6_ct01_list {
    display: flex;
    justify-content: space-between;
}

.s6_ct01_cl {
    width: 580px;
    height: 390px;
    background: #f3f2ee;
    border: 1px dashed #c2bfaf;
    border-radius: 10px;
    padding: 38px 40px;
}

.s6_ct01_bx_ttl a {
    display: block;
    font-size: 32px;
    font-weight: 500;
    color: #665e37;
    position: relative;
    padding: 0 0 0 70px;
}

.s6_ct01_bx_ttl a::after {
    content: '';
    position: absolute;
    top: 5px;
    right: 4px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: url(../images/s6_btn01.png) no-repeat center/10px 13px #fff;
}

.s6_ct01_bx_ttl a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 42px;
    height: 42px;
    background: url(../images/s6_box_ic01.png) no-repeat center/100%;
}

.s6_ct01_bx_ttl a::before {
    content: '';
    position: absolute;
    top: 1px;
    left: 13px;
    width: 42px;
    height: 42px;
    background: url(../images/s6_box_ic01.png) no-repeat center/100%;
}

.cl02 .s6_ct01_bx_ttl a::before {
    background: url(../images/s6_box_ic02.png) no-repeat center/100%;
    width: 42px;
    height: 43px;
}

.s6_ct01_bx_ttl {
    border-bottom: 1px solid #a39e87;
    padding: 0 0 25px 0;
    margin: 0 0 40px 0;
}

.s6_ct01_bx_small_cl {
    width: 240px;
    height: 200px;
    background: #fff;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 10px 10px 10px;
    transition: .3s ease-in-out;
}

.s6_ct01_bx_2cl {
    display: flex;
    justify-content: center;
}

.s6_ct01_bx_small_cl:not(:last-child) {
    margin: 0 20px 0 0;
}

.s6_ct01_bx_icn {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #fef5e4;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 0px 0;
    transition: .3s ease-in-out;
}

.s6_ct01_bx_txt p {
    font-size: 24px;
    line-height: 1.3;
    font-weight: 600;
    text-align: center;
    transition: .3s ease-in-out;
}

.cl02 .s6_ct01_bx_icn {
    background: #e5f2fb;
}

.btn_width a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 28px;
    color: #fff;
    font-weight: 500;
    width: 720px;
    height: 80px;
    background: var(--scolor);
    border-radius: 10px;
    letter-spacing: -2px;
    position: relative;
}

.btn_width a::after {
    content: '';
    position: absolute;
    top: calc((100% - 20px)/2);
    right: 30px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff url(../images/s6_btn_width.png) no-repeat center/7px 9px;
}

.s6_btn_width {
    display: flex;
    justify-content: center;
    margin: 59px 0 0 0;
}

.s02 .s6_content_box::before {
    content: '';
    position: absolute;
    top: 0;
    right: calc((100% + 0px));
    width: 100%;
    height: 100%;
    background: #fff;
}

.s02 .s6_content_box::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: -20px;
    width: 340px;
    height: 180px;
    background: url(../images/s6_ct02_after.png) no-repeat center/100%;
}

.s02 .s6_ct_head {
    position: relative;
}

.s02 .s6_ct_head::before {
    content: '';
    position: absolute;
    top: -104px;
    left: -70px;
    width: 500px;
    height: 374px;
    background: url(../images/s6_img02.png) no-repeat center/100%;
}

.s6_quote {
    position: relative;
}

.s02 .s6_quote::before {
    content: '';
    position: absolute;
    top: 34px;
    left: -15px;
    width: 401px;
    height: 27px;
    background: url(../images/s6_quote02.png) no-repeat center/100%;
}

.s6_ct02_bx {
    width: 270px;
    height: 220px;
    background: #fff;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0 0 0;
    position: relative;
}

.s6_ct02_bx::before {
    content: '';
    position: absolute;
    bottom: 11px;
    right: 11px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #cde2f3 url(../images/s6_btn_width.png) no-repeat 7px center/7px 9px;
}

.s02 .s6_body {
    background: #f3f2ee;
    border: 1px dashed #c2bfaf;
    width: calc((100% - 80px));
    position: relative;
    z-index: 1;
    padding: 30px 30px;
}

.s02 .s6_ct_head {
    margin: 0 0 20px 0;
}

.s6_ct02_icon {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #fdeacc;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 10px 0;
}

.s6_ct02_ttl a {
    display: inline-block;
    font-size: 24px;
    color: var(--brown);
    text-align: center;
    line-height: 1.2;
    font-weight: 500;
}

.s6_ct02_ttl a .big {
    font-size: 28px;
}

.s6_s02_quotes_txt {
    width: 89px;
    height: 91px;
    background: url(../images/s6_s02_quote.png) no-repeat center/100%;
    position: absolute;
    top: -15px;
    left: -24px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}

.s6_s02_quotes_txt p {
    font-size: 24px;
    font-weight: 500;
    color: var(--blue-d);
    line-height: 1.5;
    font-weight: 700;
}

.s6_ct02_list {
    display: flex;
}

.s6_ct02_cl:not(:last-child) {
    margin: 0 20px 0 0;
}


.s03 .s6_content_box::before {
    content: '';
    position: absolute;
    top: 0;
    left: calc((100% + 0px));
    width: 100%;
    height: 100%;
    background: #fff;
}

.s03 .s6_title p {
    line-height: 1.3;
    letter-spacing: -1px;
}


.s03 .s6_quote::before {
    content: '';
    position: absolute;
    top: 34px;
    left: -10px;
    width: 320px;
    height: 27px;
    background: url(../images/s6_quote03.png) no-repeat center/100%;
}

.s03 .s6_quote {
    margin: 0 0 30px 0;
}

.s03 .s6_title {
    margin: 0 0 0 -10px;
}

.s6_title p .big.no_dot::before {
    display: none;
}

.s03 .s6_head_img::before {
    content: '';
    position: absolute;
    top: -90px;
    right: -137px;
    width: 537px;
    height: 369px;
    background: url(../images/s6_img03.png) no-repeat center/100%;
}

.s03 .s6_ct_head_txt {
    position: relative;
    z-index: 1;
}

.s6_ct03_list {
    display: flex;
}

.s6_ct03_cl_flexin {
    display: flex;
    flex-wrap: wrap;
    margin: -10px -20px;
    justify-content: center;
}

.s6_ct03_cl_boxin {
    width: 240px;
    height: 200px;
    border-radius: 10px;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 5px 5px;
    justify-content: center;
    transition: .3s ease-in-out;
}

.s6_ct03_cl {
    background: #f3f2ee;
    border: 1px dashed #c2bfaf;
    width: 580px;
    border-radius: 10px;
    padding: 30px 40px 40px 40px;
}

.s6_ct03_cl:not(:last-child) {
    margin: 0 40px 0 0;
}

.s03 .s6_ct_head {
    margin: 0 0 40px 0;
}

.s6_ct03_cl_ttl a {
    display: block;
    position: relative;
    padding: 0px 0 0 80px;
    font-size: 28px;
    font-weight: 500;
    color: var(--brown);
    letter-spacing: -0.5px;
}

.s6_ct03_cl_ttl a::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    width: 53px;
    height: 57px;
    background: url(../images/s6_ct03_cl_ttl_bf01.png) no-repeat center/100%;
}

.s6_ct03_cl_ttl a::after {
    content: '';
    position: absolute;
    top: calc((100% - 30px)/2);
    right: 4px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #fff url(../images/s6_btn01.png) no-repeat center/10px 13px;
    transition: .3s ease-in-out;
}

.cl02b .s6_ct03_cl_ttl a::before{background: url(../images/s6_ct03_cl_ttl_bf02.png) no-repeat center/100%;width: 62px;height: 38px;top: 19px;left: 6px;}

.s6_ct03_cl_ttl {
    border-bottom: 1px solid var(--brown);
    padding: 0 0 21px 0;
    margin: 0 0 10px 0;
}

.s6_ct03_cl_des p {
    font-size: 16px;
    color: #000;
    letter-spacing: -1px;
    font-weight: 500;
}

.s6_ct03_cl_des {
    margin: 0 0 15px 0;
}

.s6_ct03_cl_colin {
    padding: 10px 10px;
}

.s6_ct03_icon {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #fef5e4;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 10px 13px 10px;
    margin: 0 0 5px 0;
    transition: .3s ease-in-out;
}

.s6_ct03_txt p {
    font-size: 24px;
    text-align: center;
    line-height: 1.3;
    color: var(--brown);
    font-weight: 500;
    transition: .3s ease-in-out;
}

.cl02b .s6_ct03_icon {
    background: #e5f2fb;
}

.s03 .s6_content_box::after {
    content: '';
    position: absolute;
    bottom: -38px;
    right: -69px;
    width: 280px;
    height: 220px;
    background: url(../images/s6_ct03_after.png) no-repeat center/100%;
}

/*============= SEC07 ==============*/
.sec07 {
    padding: 0 0;
}

.s7_flex {
    display: flex;
}

.s7_bg {
    height: auto;
    background: #fff;
    position: relative;
    z-index: 1;
    padding: 105px 0 0 0;
}
.s7_bg .inner{padding-bottom: 102px;position: relative;}

.s7_bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: -190px;
    width: calc((100vw + 192px));
    height: 100%;
    background: url(../images/s7_bg.png) no-repeat center/100%;
    z-index: -1;
}
#index footer{z-index: 1;}
.s7_bg .inner::after{content: '';position: absolute;bottom: -37px;left: 28px;width: 284px;height: 263px;background: url(../images/s7_before.png) no-repeat center/100%;}

.s7_avt {
    width: 480px;
    height: 480px;
    border-radius: 50%;
    overflow: hidden;
    margin: 5px 60px 0 0;
}

.s7_demo p {
    font-size: 24px;
    font-weight: 700;
    color: var(--brown);
    line-height: 1.5;
    letter-spacing: -1.5px;
}

.s7_ttl p {
    font-size: 44px;
    font-weight: 500;
    color: var(--blue-d);
    line-height: 1.4;
    letter-spacing: -1.5px;
}

.s7_ttl {
    margin: 0 0 37px 5px;
}

.s7_wrap {
    border-top: 1px solid var(--brown);
    border-bottom: 1px solid var(--brown);
    padding: 0 0 7px 0;
    margin: 0 0 14px 0;
}

.s7_wrap p {
    font-size: 28px;
    color: var(--brown);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -1px;
}

.s7_wrap p .color {
    color: var(--mcolor);
    font-size: 24px;
    line-height: 1.5;
    display: inline-block;
    position: relative;
    padding: 0 25px 0 0;
    margin: 0 5px 0 0;
    letter-spacing: 0.01em;
}

.s7_wrap p .color::after {
    content: '';
    position: absolute;
    top: calc((100% - 6px)/2);
    right: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50px;
    background: var(--mcolor);
}

.s7_des p {
    font-size: 18px;
    color: #000;
    line-height: 1.7;
    letter-spacing: -1px;
    margin: 0 0 35px 0;
}

.s7_des p:last-child {
    margin: 0;
}

.s7_table dl {
    display: flex;
}

.s7_table dl:not(:last-child) {
    border-bottom: 1px solid #c2bfaf;
    padding-bottom: 13px;
    margin-bottom: 19px;
}

.s7_table {
    border: 2px solid #f2f1e9;
    border-radius: 10px;
    padding: 18px 18px;
    background: #fff;
}

.s7_des {
    margin: 0 0 57px 0;
}

.s7_table dt {
    font-size: 16px;
    background: var(--brown);
    padding: 5px 5px;
    line-height: 1;
    border-radius: 999px;
    color: #fff;
    font-weight: 500;
    width: 110px;
    height: 28px;
    text-align: center;
    letter-spacing: 0.1em;
    flex-shrink: 0;
    margin: 0 20px 0 0;
}

.s7_table dd {
    font-size: 18px;
    font-weight: 500;
    color: #000;
    line-height: 1.6;
    letter-spacing: -1px;
}

/*============= SEC08 ==============*/
/*==========================================================
                        F O O T E R
==========================================================*/
.ft_contact {
    background: #f4dd7a;
    padding: 90px 0 100px 0;
}

.ft_ct_ttl {
    text-align: center;
}

.ft_ct_ttl p {
    line-height: 1.5;
    font-size: 44px;
    font-weight: 500;
    color: var(--brown);
    letter-spacing: -2px;
}

.ft_ct_demo {
    text-align: center;
    margin: 0 0 47px 0px;
}

.ft_ct_demo p {
    line-height: 1.5;
    font-size: 18px;
    font-weight: 700;
    color: var(--brown);
}

footer {
    position: relative;
    z-index: 3;
    margin-bottom: 240px;
}

.fixed_right {
    position: fixed;
    right: 0;
    top: 180px;
    z-index: 7;
}

address{text-align: center;font-size: 16px;color: #f4dd7a;line-height: 1.5;font-weight: 400;letter-spacing: -0.5px;padding: 123px 0 0 0;}

.f_right_col {
    width: 60px;
    height: 210px;
    border-radius: 10px 0 0 10px;
    padding: 20px 0 0 10px;
    position: relative;
    transition: .3s ease-in-out;
}

.f_right_col a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.f_right_w {
    background: #665e37;
    margin: 0 0 20px 0;
    /* border: 1px solid #fff; */
}

.f_right_m {
    background: var(--brown);
}

.f_right_txt p {
    color: #fff;
    font-size: 18px;
}

.f_right_txt {
    margin: 9px 0 0 2px;
}
.ft_ct_flex{display: flex;padding: 21px 0 0 40px;}

.ft_ct_box{width: 100%;max-width: 1060px;height: 120px;background: #fff;border-radius: 10px;margin: 0 auto;position: relative;}
.ft_ct_box::after{content: '';position: absolute;bottom: -89px;right: -142px;width: 274px;height: 234px;background: url(../images/ft_ct_after.png) no-repeat center/100%;}
.ft_ct_demo_sm p{font-size: 22px;font-weight: 500;color: #665e37;display: inline-block;position: relative;padding: 25px 10px 0 0;line-height: 1.5;letter-spacing: -1.5px;margin: 0 43px 0 0;font-weight: 700;}
.ft_ct_demo_sm p::before{content: '';position: absolute;top: 8px;right: 3px;width: 36px;height: 16px;background: url(../images/ft_ct_demo_sm01.png) no-repeat center/100%;}
.ft_ct_demo_sm p::after{content: '';position: absolute;bottom: -20px;right: 3px;width: 36px;height: 16px;background: url(../images/ft_ct_demo_sm02.png) no-repeat center/100%;}
.ft_ct_btn{width: 300px;height: 80px;background: var(--mcolor);border-radius: 10px;display: flex;flex-direction: column;align-items: center;padding: 12px 0 0 0;margin: 0 25px 0 0;transition: .3s ease-in-out;}
.ft_ct_btn p{color: #fff;font-size: 16px;font-weight: 500;display: inline-block;line-height: 1.5;margin: 0 0 0 0;letter-spacing: 0.1em;}
.ft_ct_btn a{display: inline-block;font-size: 24px;font-weight: 500;position: relative;padding: 0 0 0 35px;line-height: 1.5;color: #fff;letter-spacing: -1.5px;margin: -3px 0 0 0;text-align: center;}
.ft_ct_btn a::before{content: '';position: absolute;top: -14px;left: -27px;width: 53px;height: 40px;background: url(../images/ft_ct_btn_ic.png) no-repeat center/100%;}
.ft_ct_tel .number_tel a{display: inline-block;position: relative;padding: 0 0 0 53px;font-size: 40px;font-weight: 500;color: var(--scolor);font-family: var(--f-open);line-height: 1.1;letter-spacing: -3.5px;}
.ft_ct_tel .number_tel a::before{content: '';position: absolute;top: 8px;left: 0;width: 26px;height: 31px;background: url(../images/ft_tel.png) no-repeat center/100%;}
.ft_ct_tel .booking p{display: inline-block;position: relative;padding: 0 0 0 0;font-size: 18px;line-height: 1.1;color: var(--scolor);font-weight: 700;}
.ft_ct_tel .booking p .time{font-weight: 500;font-family: var(--f-open);font-size: 22px;display: inline-block;padding: 0px 0 0 23px;letter-spacing: -1px;position: relative;margin: 0 0 0 6px;}
.ft_ct_tel .booking p .time::before{content: '';position: absolute;top: 11px;left: 0;width: 7px;height: 7px;border-radius: 50%;background: var(--scolor);}
.number_tel{margin: 2px 0 0 0;}
.ft_ct_tel .booking{padding: 1px 0 0 49px;}
.ft_main{background: #665e37;padding: 112px 0 42px 7px;}
.link_address a{display: inline-block;color: #fff;font-size: 18px;text-decoration: underline;position: relative;padding: 0 0 0 13px;letter-spacing: -0.3px;font-weight: 300;}
.link_address a::before{content: '';position: absolute;top: 4px;left: -3px;width: 11px;height: 14px;background: url(../images/link_add_bk.png) no-repeat center/100%;}
.ft_logo{margin: 0 0 24px 0;}
.txt_address p{font-size: 16px;color: #fff;display: block;letter-spacing: -0.3px;margin: 0 0 0 0;line-height: 1.5;font-weight: 300;}
.txt_address a{font-size: 16px;color: #fff;display: inline-block;letter-spacing: -0.3px;margin: 0 0 16px 0;line-height: 1.5;font-weight: 300;}
.link_address{margin: 0 0 17px 0;}
.ft_map img{border-radius: 10px;}
.ft_cmp_flex{display: flex;}
.ft_cmp_right{display: flex;}
.ft_cmp_left{margin: 0 64px 0 0;}
.ft_web_banner{display: flex;flex-direction: column;}
.ft_web_banner a{display: block;}
/* .ft_web_banner a:not(:last-child){margin: 0 0 20px 0;} */
.ft_web_banner a{margin: 0 0 20px 0;}
.ft_web_ttl p{font-size: 17px;font-weight: 500;color: #fff;line-height: 1.5;letter-spacing: -2px;text-align: center;}
.ft_web_ttl{margin: 0 0 21px 0;}
.ft_web{margin: -7px 0 0 40px;display: flex;flex-direction: column;align-items: center;}
.ft_company{border-bottom: 1px solid #fff;padding: 0 0 80px 0;margin: 0 0 77px 0;}
.ft_menu_list{display: flex;}
.ft_menu_item{display: flex;}
.ft_menu_ttl p{font-size: 18px;font-weight: 500;color: #fff;line-height: 1.2;letter-spacing: -1px;}
.ft_menu_ttl{margin: 0 0 20px 0;}
.ft_menu_item ul{}
.ft_menu_item ul li{line-height: 1.2;}
.ft_menu_item ul li a{display: inline-block;line-height: 1.2;font-size: 16px;font-weight: 400;color: #fff;}
.ft_menu_item ul li:not(:last-child){margin: 0 0 21px 0;}
.ft_menu{padding: 0 0 0 67px;}
.ft_menu_item ul:not(:last-child){margin: 0 69px 0 0;}
.ft_menu_col:not(:last-child){margin: 0 75px 0 0;}
/* BACK TO TOP */
.to_top {
    position: fixed;
    z-index: 8;
    width: 70px;
    height: 70px;
    bottom: 35px;
    right: 20px;
    cursor: pointer;
    transition: all .2s;
    opacity: 0;
    visibility: hidden;
    width: 70px;
    height: 70px;
    background: var(--mcolor);
    margin: 0;
}

.to_top::after {
    content: '';
    position: absolute;
    top: calc((100% - 12px)/2);
    left: calc((100% - 26px)/2);
    background: url(../images/btn_top.png) no-repeat center/100%;
    width: 26px;
    height: 12px;
}

.to_top.show {
    transform: scale(1);
    opacity: 1;
    visibility: visible
}

/* FIREFOX ONLY */
@-moz-document url-prefix() {
}

/* Safari 10.1+ (which is the latest version of Safari at this time) */
@media not all and (min-resolution: 0.001dpcm) {
}


.plg_bottom{position: fixed;bottom: 0;left: 0;width: 100%;background: #faf0bf;padding: 10px 0 10px 0;z-index: 7;transition: .3s ease-in-out;transform: translateY(100%);height: auto;}
.plg_bottom.end{padding: 34px 0 0 0;height: 240px;}
.plg_bottom.show{transform: translateY(0);}
.plg_bt_tag_list{display: flex;}
.plg_bt_ttl_flex{display: flex;justify-content: center;}
.plg_bt_tag{width: 134px;height: 42px;border-radius: 5px;background: #f4dd7a;padding: 5px;}
.plg_bt_tag p{font-size: 30px;font-weight: 500;color: #665e37;line-height: 1;}
.plg_bt_txt p{line-height: 1.3;font-size: 30px;color: #665e37;font-size: 30px;font-weight: 500;letter-spacing: -1px;}
.plg_bt_txt p .big{font-size: 120%;letter-spacing: 0;font-weight: 700;}
.plg_bt_tag:not(:last-child){margin: 0 15px 0 0}
.plg_bt_txt{margin: -6px 0 0 20px;}
.plg_bt_bg{width: 100%;height: 120px;background: #fdf8e4;margin: 10px 0 0 0;transition: .3s ease-in-out;}
.plg_bottom.end{margin: 24px 0 0 0;}
.plg_bt_bg_flex{display: flex;}
.plg_bt_bg_demo p{font-size: 18px;font-weight: 700;color: #665e37;line-height: 1.5;display: inline-block;position: relative;padding: 0 0 0 0;}
.plg_bt_bg_search{width: 300px;height: 80px;background: var(--blue-d);border-radius: 10px;margin: 23px 0 0 20px;}
.plg_bt_bg_demo{margin: 33px 0 0 -4px;}
.plg_bt_bg_demo p::before{content: '';position: absolute;top: -9px;right: -5px;width: 36px;height: 16px;background: url(../images/ft_ct_demo_sm01.png) no-repeat center/100%;}
.plg_bt_bg_demo p::after{content: '';position: absolute;bottom: -9px;right: -6px;width: 36px;height: 16px;background: url(../images/ft_ct_demo_sm02.png) no-repeat center/100%;}
.plg_bt_bg .ft_ct_tel{margin: 25px 0 0 26px;}
.plg_bt_bg .ft_ct_btn{margin: 23px 0 0 45px;}
.plg_bt_bg_line{margin: 30px 0 0 20px;}
.plg_bt_bg_search{position: relative;display: flex;justify-content: center;align-items: center;}
.plg_bt_bg_search span{display: inline-block;font-size: 24px;font-weight: 500;color: #fff;position: relative;padding: 0 0 0 45px;letter-spacing: 0.05em;}
.search_demo{position: absolute;top: -18px;left: calc((100% - 172px)/2);width: 157px;height: 49px;background: url(../images/search_demo.png) no-repeat center/100%;padding: 6px 0 0px 19px;}
.plg_bt_bg_search span::before{content: '';position: absolute;top: 0;left: 0;width: 31px;height: 34px;background: url(../images/search_ic.png) no-repeat center/100%;}
.search_demo p{font-size: 16px;color: #fff;font-weight: 400;line-height: 1.5;}
.is_scroll .h_box{background: #fff;box-shadow: 3px 0 3px rgba(0,0,0,.5);}
.fixed_right.end .f_right_w{border: 1px solid #fff;}
.to_top.end{bottom: 58px;}

.plg_bottom_fixed{position: fixed;bottom: 0;left: 0;width: 100%;z-index: 7;display: flex;transition: .3s ease-in-out;transform: translateY(200%);}
.plg_bottom_fixed.show{transform: translateY(0);}
.plg_tel{display: flex;flex-direction: column;}
.plg_bt_box{width: calc((100% / 3));height: 50px;}
.plg_bt_box a{width: 100%;height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;}
.plg_bt_box .plg_tel{background: var(--scolor);}
.plg_bt_box .plg_mail{background: var(--mcolor);}
.plg_bt_box .plg_web{background: var(--blue-d);padding: 10px 0 0 0;}
.plg_bt_box a .number{display: inline-block;color: #fff;font-size: 16px;font-family: var(--f-open);font-weight: 700;position: relative;padding: 0 0 0 15px;}
.plg_bt_box a .number::before{content: '';position: absolute;top: 0;left: -1px;width: 13px;height: 19px;background: url(../images/ft_tel.png) no-repeat center/100%;filter: brightness(0) invert(1);}
.plg_bt_box a .txt{display: inline-block;font-size: 12px;color: #fff}
.plg_bt_box .txt_small{display: inline-block;color: #fff;font-size: 12px;}
.plg_bt_box .txt_big{display: inline-block;color: #fff;font-size: 13px;font-weight: 700;position: relative;padding: 0 0 0 17px;}
.plg_bt_box .txt_big::before{content: '';position: absolute;top: 3px;left: 0;width: 14px;height: 11px;background: url(../images/ft_ct_btn_ic.png) no-repeat center/100%;}

.plg_web .txt_demo{display: inline-flex;color: #fff;font-size: 12px;background: url(../images/search_demo.png) no-repeat center/100%;width: 107px;height: 39px;position: absolute;top: -15px;justify-content: center;padding: 6px 0 0 0;}
.plg_web .txt_main{display: inline-block;color: #fff;font-size: 14px;font-weight: 700;position: relative;padding: 0 0 0 22px;}
.plg_web .txt_main::before{content: '';background: url(../images/search_ic.png) no-repeat center/100%;width: 18px;height: 21px;position: absolute;top: 0;left: 0;}

.s1_list_slide{height: 140px;}

.ft_ct_demo_sm{order: 0;}
.ft_ct_btn{order: 2;margin: 0 0 0 25px;}
.ft_ct_tel{order: 1;}
.ft_map{flex-shrink: 0;}
.web_ttl{display: block;text-align: center;font-size: 16px;color: #fff;font-weight: 500;margin: 0 0 5px 0;}

.ft_web_banner a{order: 0;}
.ft_web_banner a.order02{order: 2;}
.ft_web_banner a.order03{order: 3;}
.order03_ttl{order: 3;}

.ft_ct_btn.plg_bt_bg_line_button a::before{display: none;}
.ft_ct_btn.plg_bt_bg_line_button a::after{content: '';position: absolute;top: calc((100% - 50px)/2);left: -20px;width: 50px;height: 50px;background: url(../images/line.png) no-repeat center/100%;}
.plg_bt_bg_line_button.ft_ct_btn{background: #4cc764;/* border-radius: 0; */}
/* .plg_bt_bg_line_button.ft_ct_btn a{color: #4cc764;} */
.ft_ct_btn.plg_bt_bg_line_button a span{font-size: 70%;}
.plg_bt_bg_line_button.ft_ct_btn{margin: 23px 0 0 20px;padding: 5px 5px;}
.plg_bt_bg_line{margin: 23px 0 0 20px;}

.ft_cmp_left .ft_web_banner{align-items: center;margin: 20px 0 0 0;}
.ft_cmp_left .ft_web_banner{}
/* .ft_cmp_right .ft_web_banner{display: none;} */
.head_plg_flex{display: flex;}
.head_plg_flex .plg_bt_bg_line_button.ft_ct_btn{margin: 0 0 0 20px;}
.h_right{display: flex;align-items: center;}


/* fix  */
.plg_bt_bg{width: fit-content;height: auto;padding: 10px 20px;margin: 0;}
.plg_bt_bg_demo{margin: 0 0 0 0;}
.plg_bt_bg .ft_ct_tel{margin: 0 0 0 20px;}
.plg_flex_fix{display: flex;align-items: center;justify-content: center;}
.plg_bt_ttl{margin: 10px 0 0 0;}
.plg_bottom.end{height: auto;padding: 10px 0;}
footer{margin-bottom: 112px;}
.to_top{bottom: 18px;}
.to_top.end{bottom: 18px;}