@charset "UTF-8";
@import "base.css";
@import "fonts.css";
/*==========================================================================*/
/*                                                                          */
/*    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;
}

img {
    vertical-align: middle;
    max-width: 100%;
    flex-shrink: 0;
    height: auto;
}

*,
::before,
::after {
    box-sizing: border-box;
    outline: none;
}

select {
    visibility: visible !important;
}

a {
    transition: all ease 0.3s;
    text-decoration: none;
    color: var(--txt);
}

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)
}

table {
    width: 100%
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.5;
}

p,
dd,
dt,
li,
th,
td,
address {
    line-height: 1.16em;
    letter-spacing: 0;
}

p {
    margin: 0 0 1.5em;
}

p:last-child {
    margin-bottom: 0
}

.bold {
    font-weight: bold;
}

.left {
    text-align: left
}

.right {
    text-align: right;
}

.auto {
    margin-left: auto;
    margin-right: auto;
}

.red {
    color: var(--red);
}

.txt_line {
    text-decoration: underline;
}

.m0a {
    display: block;
    margin: 0 auto;
}

.f_big {
    font-size: 150%;
}

.f_sm {
    font-size: 80%;
}

:root {
    --font-main: "Noto Sans JP", sans-serif;
    --txt: #000000;
    --mcolor: #2b70ba;
    --scolor: #538ed9;
    --sscolor: #1b5c96;
    --site_size: 1230px;
    --gray: #e9e9e9;
    --blue: blue;
    --red: red;
    --en: "Roboto", sans-serif;
}

#wrapper {
    min-width: 1260px;
    overflow: hidden;
    margin: 0 auto;
    position: relative;
}

#wrapper::before,
#wrapper::after {
    position: absolute;
    content: "";
}

#wrapper::after {
    background: url("../images/brush_top.png") no-repeat center top;
    width: 1160px;
    height: 1170px;
    right: -178px;
    top: -500px;
}

.under #wrapper::after {
    display: none;
}

#wrapper::before {
    width: 100%;
    height: 900px;
    left: 0;
    top: 0;
    background: #dde8f7;
}

.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;
}

h1 {}

#logo {
    width: 460px;
    height: 110px;
    position: relative;
    background-color: rgba(83, 142, 217, 0);
    transition: all 0.3s;
}

#logo a {
    display: block;
    width: 100%;
    height: 100%;
}

.active #logo {
    background-color: rgba(83, 142, 217, 1);
}

.is_active .active #logo {
    background: none;
    ;
}

#logo img {
    position: absolute;
    left: 24px;
    top: 24px;
    transition: all 0.3s;
}

.active #logo img.sroll {
    opacity: 1;
}

.active #logo img.no-sroll {
    opacity: 0;
}

#logo img.sroll {
    opacity: 0;
}

.is_active #logo img.sroll {
    opacity: 1;
}

.h_box {
    width: 100%;
    position: fixed;
    padding: 0 127px 5px 0px;
    z-index: 101;
}

.h_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    width: 100%;
    padding: 0;
}

.h_contact {
    display: flex;
    align-items: center;
    flex-direction: column;
}

.h_contact>p {
    margin-bottom: 20px;
}

.h_contact_mail a {
    color: #FFF;
    font-weight: bold;
    text-align: center;
    background-color: var(--mcolor);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    height: 60px;
    position: relative;
}

.h_contact_mail a span {
    position: relative;
    z-index: 2;
    font-size: 20px;
    display: inline-block;
    padding-left: 30px;
}

.h_contact_mail a span::before {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    left: 0;
    top: calc(50% - 10px);
    background: url('../images/ic_h_mail.png') no-repeat center /cover;
}

.h_contact_tel a {
    font-size: 28px;
    color: #332829;
    font-weight: bold;
    padding-left: 25px;
    position: relative;
    line-height: 1;
    display: block;
}

.h_contact_tel .time {
    font-size: 12px;
    display: block;
    line-height: 1.6;
    text-align: right;
}

.contact_tel,
.contact_mail a {
    width: 260px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #fff;
    transition: all ease 0.3s;
}

.contact_tel a {
    font-family: var(--en);
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    background: url("../images/icon_tel_fix.png") no-repeat left top 2px /30px;
    padding: 8px 0 5px 38px;
    letter-spacing: -0.02em;
}

.contact_tel .time {
    font-size: 16px;
    position: relative;
    top: 3px;
    letter-spacing: 0.05em;
    justify-content: center;
}

.contact_fix .wrap {
    display: flex;
}

.contact_tel {
    background: var(--scolor);
    padding-bottom: 4px;
    border-radius: 40px 0 0 0;
}

.contact_fix .wrap p {
    margin-bottom: 0;
}

.contact_mail a {
    background: var(--mcolor);
    padding-bottom: 4px;
}

.contact_mail a .lg {
    background: url("../images/icon_mail_fix.png") no-repeat left top 2px /30px;
    padding: 6px 0 8px 38px;
    font-size: 20px;
    font-weight: 700;
}

.contact_mail a .sm {
    font-size: 16px;
    letter-spacing: -0.05em;
}

/* 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: flex;
    align-items: center;
}

.hamburger-inner {
    /* top: 50%; */
    display: block;
    margin-top: -2px;
}

.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before {
    width: 60px;
    height: 3px;
    transition: all ease 0.15s;
    background-color: var(--scolor);
    left: 0;
    right: 0;
    margin: 0 auto;
    position: relative;
}

.hamburger-inner::after,
.hamburger-inner::before {
    display: block;
    content: "";
    position: absolute;
}

.hamburger-inner::before {
    top: -26px;
    width: 20px;
}

.hamburger-inner::after {
    bottom: 13px;
    left: 0;
    right: 0;
    width: 40px;
    margin: 0 auto;
}

.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;
        top: -36px;
    }

    .hamburger--3dxy.is_active .hamburger-inner::before {
        transform: translate3d(0, 10px, 0) rotate(45deg);
        width: 40px;
        top: -33px;
    }

    .hamburger--3dxy.is_active .hamburger-inner::after {
        transform: translate3d(0, -10px, 0) rotate(-45deg)
    }
.menu_tt {
    font-family: var(--en);
    color: var(--mcolor);
    font-size: 18px;
    font-weight: 700;
    position: relative;
    top: -14px;
    margin-left: 52px;
    transition: all 0.3s;
}

.menu_tt::before {
    position: absolute;
    content: "";
    background: var(--mcolor);
    width: 1px;
    height: 60px;
    left: -41px;
    top: -16px;
    transition: all 0.3s;
}


.hamburger {
    position: fixed;
    right: 122px;
    top: 0px;
    font: inherit;
    display: block;
    overflow: visible;
    margin: 0;
    cursor: pointer;
    transition-timing-function: linear;
    transition-duration: .15s;
    transition-property: opacity, filter;
    text-transform: none;
    color: inherit;
    border: 0;
    z-index: 101;
    width: 260px;
    height: 110px;
    background-color: rgba(83, 142, 217, 0);
    transition: all 0.3s;
    padding-top: 50px;
    padding-right: 40px;
}

.active .hamburger {
    background-color: rgba(43, 112, 186, 1);
    right: 0;
    padding-top: 53px;
}

.is_active .active .hamburger {
    background: none;
}

.active .menu_tt::before {
    background: #fff;
}

.active .menu_tt {
    color: #fff;
}

.active .hamburger-inner,
.active .hamburger-inner::after,
.active .hamburger-inner::before {
    background: #fff;
}

.is_active .active .hamburger-inner,
.is_active .active .hamburger-inner::after,
.is_active .active .hamburger-inner::before {
    background-color: rgba(43, 112, 186, 1);
}

/* NAV */
body.is_active {
    overflow: hidden;
}

nav {
    display: block;
    position: fixed;
    top: 0px;
    left: 0;
    width: 100%;
    height: calc(100vh - 0px);
    overflow: auto;
    z-index: 100;
    background: url("../images/bg_menu_blue.png") no-repeat left -8px top/contain, url("../images/bg_menu.png") no-repeat right top/cover;
    background-size: calc(100% - 495px) auto, cover;
    transform: scale(1.1);
    opacity: 0;
    transition: all ease 0.5s;
    pointer-events: none;
}

nav.is_active {
    transform: scale(1, 1);
    opacity: 1;
    pointer-events: inherit;
}

nav .inner {
    display: flex;
    align-items: flex-end;
    width: 100%;
    justify-content: space-between;
    padding: 0 92px 0 260px;
    height: 100%;
    max-width: 1920px;
}

.nav_left,
.nav_left .wrap {
    display: flex;
}

.nav_left .wrap {
    width: 440px;
}

.nav_list,
.nav_left .wrap {
    flex-direction: column
}

.nav_left {
    align-self: center;
}

.nav_right {
    margin-bottom: 80px;
}

.nav_list ul,
.nav_list li {
    width: 100%
}

.nav_list>li {
    margin-bottom: 20px;
    display: table;
    width: auto;
}

.nav_list>li.parent .sub li {
    margin-bottom: 10px;
    margin-left: 10px;
}

.nav_list>li.parent .sub li a {
    position: relative;
    padding-left: 20px;
}

.nav_list>li.parent .sub li a::before {
    position: absolute;
    content: "";
    width: 10px;
    height: 1px;
    background: #fff;
    left: 0;
    top: 10px;
}

.nav_list .sub_btn,
.nav_list a {
    display: table;
    padding: 0;
    font-size: 18px;
    font-weight: 300;
    color: #fff;
    position: relative;
}

.nav_list .sub_btn {
    position: relative;
    margin-bottom: 10px;
    font-weight: 600;
}

.nav_bnr .sub1 {
    margin-bottom: 20px;
}

.nav_bnr .sub1 a {
    display: inline-block;
    position: relative;
}

.nav_bnr .sub1 span {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    background-color: var(--txt);
    border-radius: 999px;
    color: #fff;
    font-weight: bold;
    line-height: 1.6;
    padding: 4px 20px 3px;
}

.nav_bnr .sub1 span::before {
    content: '';
    position: absolute;
    top: 100%;
    left: calc(50% - 6px);
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 6px 0 6px;
    border-color: var(--txt) transparent transparent transparent;
}

.nav_bnr .sub1 a::before {
    background: url('../images/arrow_up_b.png') center /cover no-repeat;
    width: 15px;
    height: 15px;
    position: absolute;
    top: 15px;
    right: 15px;
    content: '';
}


.nav_list a.big {
    font-weight: 600;
}

.nav_btn a {
    background: url("../images/arrow_up_w.png")no-repeat right center/16px;
    padding-right: 25px;
}

.ft_link .nav_btn a {
    background: url("../images/arrow_up.png")no-repeat right center/16px;
    padding-right: 25px;
}

.ft_con .nav_btn a {
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.2);
}

.nav_btn a span {
    padding-right: 30px;
}

/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main {
    position: relative;
    padding-top: 200px;
    z-index: 2;
}

.mv {
    position: relative;
    padding: 0;
    display: flex;
    z-index: 1;
}

.mv_left {
    flex-shrink: 0;
    position: relative;
    left: -15px;
}

.mv_right {
    width: calc(100% - 1400px);
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    top: -40px;
}

.mv_bg {
    position: relative;
    transition: all .3s;
}

.mv_bg,
.main_slider .slide_item {
    width: 100%;
    height: 850px;
}

.main_slider .slide_item {
    border-radius: 0 40px 40px 0;
    overflow: hidden;
}

.main_slider {
    height: 850px;
    overflow: hidden;
}

.sec01_slide_wrap {
    height: 760px;
    overflow: hidden;
}

.sec02_item_slide {
    height: 480px;
    overflow: hidden;
}

.sec01_slide_wrap.loaded,
.sec02_item_slide .slick-initialized,
.main_slider.slick-initialized {
    height: auto;
    overflow: inherit;
}

.main_slider .slide_item .num {
    margin-bottom: 0;
    position: absolute;
    right: 30px;
    bottom: 32px;
    line-height: 1;
    font-family: var(--en);
    font-size: 177px;
    font-weight: 900;
    color: #f6f9fd;
    opacity: 0.4;
}

.main_slider .slide_item .bg {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: center
}

.main_slider .slide_item .bg::before {
    width: 1px;
    height: 230px;
    content: '';
    background: #fff;
    position: absolute;
    transform: rotate(45deg);
    right: 98px;
    bottom: -17px;
    opacity: 0.4;
}

.mv_bg {
    width: 1400px;
}

.mv_bg .slick-dots {
    position: absolute;
    top: 450px;
    width: 20px;
    right: -27px;
    z-index: 999;
}

.mv_bg .slick-dots li {
    background-color: transparent;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    counter-increment: li;
    color: var(--scolor);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    transition: all 0.3s;
}

.mv_bg .slick-dots li.slick-active,
.mv_bg .slick-dots li:hover {
    background: #ffffff;
}

.mv_bg .slick-dots li.slick-active {
    pointer-events: none;
}

.mv_bg .slick-dots li::before {
    content: "0"counter(li);
    font-size: 20px;
    font-family: var(--en);
}

.mv_bg .slick-dots li:not(:last-child)::after {
    margin: 0 auto;
    position: absolute;
    content: "";
    width: 4px;
    height: 4px;
    background: #538ed9;
    border-radius: 50%;
    left: 0;
    right: 0;
    bottom: -11px;
}

.mv_bg .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 0px;
    height: 0px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots li button::before {
    display: none;
}

.mv_txt {
    position: absolute;
    z-index: 2;
    width: 1400px;
    height: auto;
    left: 15px;
    right: 0;
    top: -59px;
    display: flex;
    flex-direction: column;
    color: #fff;
}

.mv_txt h2 {
    font-size: 28px;
    font-weight: 700;
    padding-left: 40px;
    letter-spacing: -0.058em;
    line-height: 1.92;
    text-shadow: rgb(83, 142, 217) 2px 0px 0px, rgb(83, 142, 217) 1.75517px 0.958851px 0px, rgb(83, 142, 217) 1.0806px 1.68294px 0px, rgb(83, 142, 217) 0.141474px 1.99499px 0px, rgb(83, 142, 217) -0.832294px 1.81859px 0px, rgb(83, 142, 217) -1.60229px 1.19694px 0px, rgb(83, 142, 217) -1.97998px 0.28224px 0px, rgb(83, 142, 217) -1.87291px -0.701566px 0px, rgb(83, 142, 217) -1.30729px -1.5136px 0px, rgb(83, 142, 217) -0.421592px -1.95506px 0px, rgb(83, 142, 217) 0.567324px -1.91785px 0px, rgb(83, 142, 217) 1.41734px -1.41108px 0px, rgb(83, 142, 217) 1.92034px -0.558831px 0px;
}

.mv_en {
    font-size: 110px;
    font-weight: 700;
    margin-bottom: 17px;
    letter-spacing: 0.035em;
    line-height: 1;
    white-space: nowrap;
    position: relative;
    left: 40px;
    font-family: var(--en);
}

.mv_home {
    margin-bottom: 20px;
}

.mv_home a {
    display: flex;
    align-items: center;
    justify-content: center;
}

.mv_home a {
    width: 360px;
    height: 80px;
    color: #fff;
    background: var(--sscolor);
    border-radius: 40px 0 0 40px;
    font-weight: 600;
    font-size: 24px;
    padding-left: 20px;
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.2);
}

.mv_home a span {
    background: url("../images/icon_home.png") no-repeat left center/28px;
    padding: 5px 0 5px 42px;
    letter-spacing: 0;
}

.contact_fix {
    position: fixed;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    pointer-events: none;
    transition: all 0.3s ease;
}

.contact_fix.show {
    opacity: 1;
    bottom: 0;
}

.contact_fix p {
    pointer-events: auto;
}

.h_contact .mv_home a,
.h_contact .contact_tel,
.h_contact .contact_mail a {
    width: 340px;
    height: 100px;
    border-radius: 50px;
}

nav .h_contact .mv_home a,
nav .h_contact .contact_tel,
nav .h_contact .contact_mail a {
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.2);
}

nav .h_contact .mv_home a {
    line-height: 1.33;
}

nav .h_contact .mv_home a span {
    background: url("../images/icon_home_fix.png") no-repeat left center/34px;
    padding-left: 53px;
}

/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl {
    text-align: center;
    font-weight: bold;
    display: flex;
    flex-direction: column;
}

.ttl span {}

.ttl .ja {
    font-size: 28px;
    font-weight: 600;
    letter-spacing: -0.04em;
    color: #000;
}

.ttl .num {
    font-size: 200px;
    font-family: var(--en);
    margin-bottom: 17px;
    line-height: 0.7;
    color: #f6f9fd;
    font-weight: 900;
}

.ttl .en {
    font-size: 70px;
    font-weight: 700;
    color: var(--mcolor);
    letter-spacing: 0.075em;
    line-height: 1.05;
    font-family: var(--en);
}

/* DEFAUTL NAME BUTTON */
.btn a {
    width: 400px;
    height: 80px;
    border-radius: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url('../images/icon_arrow_right.svg') no-repeat right 23px top 34px /22px #538ed9;
    font-size: 20px;
    color: #fff;
    text-decoration: none;
    font-family: var(--en);
    box-shadow: 5px 5px 15px 0px rgba(0, 0, 0, 0.2);
    position: relative;
    padding-top: 1px;
}

.btn.center a {
    margin-left: auto;
    margin-right: auto;
}

section {
    padding: 40px 0;
}

/*==================== SEC01 ===================*/
.sec01,
.mv {
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
}

.sec01 .inner {
    width: 100%;
    padding: 0;
}

.sec01_item {
    display: flex;
}

.sec01_item {
    margin-bottom: 38px;
    height: 400px;
    overflow: hidden;
}

.sec01_item.slick-initialized {
    height: auto;
    overflow: inherit;
    padding: inherit;
}

.sec01_item .slick-prev,
.sec01_item .slick-next {
    position: absolute;
    z-index: 9;
    margin: auto;
    border-width: 0;
    background: none;
    cursor: pointer;
    text-indent: 9999999px;
    height: 120px;
    width: 120px;
    outline: none;
    opacity: 1;
    transition: all 0.3s linear;
    top: calc(50% - 8px);
    border-radius: 50%;
}

.sec01_item .slick-next {
    right: -57px;
    background: url(../images/icon_next.png)#fff no-repeat center/30px;
}

.sec01_item .slick-prev {
    left: -57px;
    background: url(../images/icon_prev.png)#fff no-repeat center/30px;
}

.sec01_item .slick-slide {
    margin: 0px -4px;
    transition: all linear 0.3s;
}

.sec01_item .slick-slide {
    position: relative;
}

.sec01_slide_wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}

.sec01_item_left,
.sec01_item_right {
    width: 570px;
    height: 360px;
    position: relative;
    margin-top: 130px;
}

.sec01_item_center {
    width: 590px;
    height: 760px;
    position: relative;
}

.sec01_item_center .slick-dots li button {
    width: 10px;
    height: 10px;
}

.sec01_item_center .slick-dots li.slick-active {
    pointer-events: none;
}

.sec01_item_center .slick-dots {
    width: 778px;
    background: #fff;
    height: 50px;
    display: flex;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    left: -8px;
    right: 0;
    bottom: 0px;
}

.sec01_item_center .slick-dots li {
    background: #fff;
    border: 1px #538ed9 solid;
    border-radius: 50%;
    width: 10px;
    height: 10px;
}

.sec01_item_center .slick-dots li.slick-active,
.sec01_item_center .slick-dots li:hover {
    background: #538ed9;
}

.sec01_item_center::before {
    position: absolute;
    content: "";
    width: 820px;
    height: 670px;
    border: 1px #98bbe8 solid;
    border-radius: 20px;
    top: 42px;
    left: -30px;
}

.sec01_item_left .slick-slide,
.sec01_item_right .slick-slide {
    margin: 0;
    border-radius: 20px;
    overflow: hidden;
}

.sec01_item_center .slick-slide .wrap,
.sec01_item_left .slick-slide .wrap,
.sec01_item_right .slick-slide .wrap {
    cursor: pointer;
}

.sec01_item_left .slick-slide img,
.sec01_item_right .slick-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sec01_item_left,
.sec01_item_center,
.sec01_item_right {
    border-radius: 20px;
}

.sec01_item_center {
    margin: 0 120px;
    flex-shrink: 0;
    width: 720px;
}

.sec01_item_center .slick-prev,
.sec01_item_center .slick-next {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    z-index: 9;
    top: 310px;
    transition: all 0.3s;
}

.sec01_item_center .slick-prev {
    background: url("../images/icon_prev.png")#fff no-repeat left 36px center;
    left: -138px;
}

.sec01_item_center .slick-next {
    background: url("../images/icon_next.png")#fff no-repeat right 36px center;
    right: -138px;
}

.sec01_item_center .slick-prev::before,
.sec01_item_center .slick-next::before {
    display: none;
}

.sec01_item_left {
    margin-left: -150px;
}

.sec01_item_right {
    margin-right: -150px;
}

.sec01_item_center .price {
    width: 300px;
    height: 70px;
    background: #dde8f7;
    border-radius: 20px 20px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    color: #538ed9;
    font-size: 56px;
    font-weight: 700;
    padding-bottom: 4px;
    letter-spacing: -0.025em;
}

.sec01_item_center .price .sm {
    font-size: 60%;
    margin-left: 5px;
    margin-top: 18px;
}

.sec01_item_center .img {
    height: 455px;
    width: 100%;
    margin-bottom: 20px;
}

.sec01_item_center .date {
    font-size: 24px;
    font-weight: 500;
    color: #2b70ba;
    margin-bottom: 10px;
}

.sec01_item_center .title {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 10px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.sec01_item_center .tag {}

.sec01_item_center .tag span {
    height: auto;
    display: inline-block;
    background: #1b5c96;
    border-radius: 8px;
    color: #fff;
    text-align: center;
    margin-right: 10px;
    font-size: 18px;
    padding: 7px 10px;
    margin-bottom: 4px;
}

.sec01_item_center .tag span:last-child {
    margin-right: 0;
}

.sec01_item_center .img img,
.sec01_item_right .img img,
.sec01_item_left .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.sec01_item_center .img,
.sec01_item_right .img,
.sec01_item_left .img {
    border-radius: 20px;
}

.sec01_item_right .img,
.sec01_item_left .img {
    width: 570px;
    height: 360px;
}

.sec01 .ttl {
    position: relative;
    margin-top: -55px;
}

.sec01 .en {
    margin-bottom: 37px;
    margin-top: 5px;
    padding-left: 20px;
}

.sec01_item_center .slick-current p:not(.img) {
    opacity: 1;
    transform: translateY(0);
    transition: all linear 0.5s;
}

.sec01_item_center p:not(.img) {
    opacity: 0;
    transform: translateY(30px);
}

/* CLIP PATH */
.slider_path {
    margin: 0 auto;
    height: 100%;
    width: 100%;
}

.slider_path_l .slide,
.slider_path_r .slide,
.slider_path .slide {
    position: relative;
}

.slider_path img {
    width: 100%;
    display: block;
}

.slider_wrap {
    position: absolute;
    width: 720px;
    height: 455px;
    margin: 0;
    top: 70px;
    left: 0;
    pointer-events: none;
}

.sec01_item_left .slider_wrap,
.sec01_item_right .slider_wrap {
    top: 0;
    width: 100%;
    height: 100%;
}

.slider_wrap .layer {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}

.current {
    z-index: 1;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    border-radius: 20px;
    background-size: cover;
    background-position: center;
}

.overlay {
    width: 100%;
    height: 100%;
    z-index: 2;
    clip-path: inset(0 0 0 100%);
    position: absolute;
    inset: 0;
    border-radius: 20px;
    background-size: cover;
    background-position: center;
}

.overlay.animate {
    animation: reveal 1s ease forwards;
}

@keyframes reveal {
    from {
        clip-path: inset(0 0 0 100%);
    }

    to {
        clip-path: inset(0 0 0 0);
    }
}

/*==================== SEC02 ===================*/
.sec02 {
    margin-top: 70px;
    margin-bottom: 110px;
    position: relative;
}

.sec02 .btn {
    position: absolute;
    right: 10px;
    bottom: 15px;
}

.sec02 .btn a {
    width: 160px;
    height: 50px;
    background-size: 18px auto;
    background-position: right 17px center
}

.sec02 .inner {
    padding: 0;
    width: 100%;
}

.sec02_item_slide {
    display: flex;
}

.sec02_item_slide p,
.sec02_item_slide p img {
    border-radius: 20px;
}

.sec02_item_slide .slick-slide {
    width: 680px;
    height: 480px;
    margin: 0 5px;
}

.sec02_info_slide {
    width: 500px;
    height: 220px;
    background: #fff;
    border-radius: 20px 0 0 0;
    position: absolute;
    right: 0;
    bottom: -20px;
    padding: 29px 0 0 40px;
    margin-bottom: 0 !important;
}

.sec02_info_slide .slick-slide {}

.sec02 .ttl {
    position: absolute;
    width: 490px;
    height: 260px;
    background: url("../images/bg_blue.png") no-repeat right top;
    color: #fff;
    z-index: 9;
    left: -85px;
    bottom: 0;
    text-align: left;
    padding: 78px 0 0 30px;
}

.sec02 .ttl .en {
    color: #fff;
    font-size: 80px;
    margin-bottom: 1px;
    padding-left: 80px;
    letter-spacing: 0.09em;
}

.sec02 .ttl .ja {
    padding-left: 100px;
    letter-spacing: -0.1em;
    color: #fff;
}

.sec02_ttl {
    font-family: var(--en);
    font-size: 24px;
    padding-left: 10px;
    font-weight: 700;
    color: #2b70ba;
    margin-bottom: 19px;
    padding-bottom: 14px;
    background: url("../images/line1.png") no-repeat left bottom/450px;
}

.sec02_txt dl {
    display: flex;
}

.sec02_txt dl:not(:last-child) {
    margin-bottom: 10px;
}

.sec02_txt dl dt {
    border-radius: 8px;
    background: #dde8f7;
    color: #2b70ba;
    font-size: 20px;
    font-weight: 600;
    width: 110px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
}

.sec02_txt dl dd {
    font-size: 20px;
    color: #000000;
    padding-top: 3px;
}

.sec02_txt dl dd span {
    margin-left: 4px;
}

.sec02 .slick-dots {
    position: absolute;
    top: 28px;
    width: 120px;
    left: 150px;
    z-index: 999;
    display: flex;
    bottom: auto;
}

.sec02 .slick-dots li {
    background-color: #dde8f7;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    counter-increment: li;
    color: var(--scolor);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
    padding-top: 3px;
}

.sec02 .slick-dots li.slick-active,
.sec02 .slick-dots li:hover {
    background: var(--mcolor);
    color: #fff;
}

.sec02 .slick-dots li.slick-active {
    pointer-events: none;
}

.sec02 .slick-dots li::before {
    content: "0"counter(li);
    font-size: 14px;
    font-family: var(--en);
}

.sec02 .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 0px;
    height: 0px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

/*==================== SEC03 ===================*/
.sec03 {
    position: relative;
    padding-top: 0;
    z-index: 3;
}

.sec03::before,
.sec03::after {
    position: absolute;
    content: "";
    width: calc(100% - 40px);
    height: 1440px;
    border-radius: 0 40px 40px 0;
    left: 0;
    top: 0;
}

.sec03::before {
    background: url("../images/idx_brush1.png") no-repeat right -2px top 0px, url("../images/idx_brush2.png") no-repeat left 7px bottom;
    z-index: -1;
}

.sec03::after {
    background-color: #dde8f7;
    z-index: -2;
}

.sec03 .inner {
    width: 1430px;
}

.sec03_item {
    display: flex;
    margin-bottom: 20px;
}

.sec03_item .item_l {}

.sec03_item .item_r {
    flex-shrink: 0;
    margin-top: 139px;
    position: relative;
    left: -5px;
}

.sec03_item .item_r .sec03_img {
    display: flex;
}

.sec03_item .btn a {
    background-position: right 30px center;
}

.sec03 .ttl {
    text-align: left;
    position: relative;
    margin-top: -20px;
    margin-bottom: 1px;
}

.idx_ttl1 {
    color: #538ed9;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.692;
    margin-bottom: 21px;
    letter-spacing: -0.035em;
}

.sec03_txt {
    font-size: 18px;
    line-height: 1.888;
    font-weight: 500;
    margin-bottom: 19px;
    padding-right: 55px;
    letter-spacing: 0em;
}

.sec03 .ttl .ja {
    letter-spacing: -0.09em;
    margin-bottom: 5px;
}

.sec03 .ttl .ja .let1 {
    margin-right: 15px;
}

.sec03 .ttl .num {
    color: #fff;
    margin-bottom: 22px;
}

.sec03 .ttl .en {
    letter-spacing: 0.09em;
}

.sec03_img {
    margin-bottom: 63px;
}

.sec03_g {
    display: flex;
    max-width: 1400px;
}

.sec03_g p:not(:last-child) {
    margin-right: 40px;
}

.sec03_g .sec03_img img {
    border-radius: 20px;
}

.sec03_img.img2 {
    margin-top: 40px;
}

.sec03_img.img3 {
    margin-top: 100px;
}

.sec03_info {
    position: relative;
    margin-top: -342px;
    width: 740px;
}

.sec03_en {
    font-size: 60px;
    font-weight: 700;
    color: #2b70ba;
    letter-spacing: 0em;
    margin-bottom: 21px;
    font-family: var(--en);
    letter-spacing: 0.04em;
}

.sec03_txt dl {
    display: flex;
    padding: 15px 0;
    background: url("../images/line2.png") no-repeat left bottom/740px;
}

.sec03_txt dl:first-child {
    background: url("../images/line2.png") no-repeat left bottom/740px, url("../images/line2.png") no-repeat left top/740px;
}

.sec03_txt dt,
.sec03_txt dd,
.sec03_txt dd a {
    font-size: 18px;
}

.sec03_txt dd {
    font-weight: 500;
}

.sec03_txt dt {
    font-family: var(--en);
    font-weight: 700;
    position: relative;
    width: 110px;
    color: #2b70ba;
    letter-spacing: 0.1em;
    margin-right: 30px;
}

.sec03_txt dt::before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #538ed9;
    right: 0;
    top: calc(50% - 5px);
}

.sec03_txt dd .icon_add {
    letter-spacing: -0.025em;
    background: url("../images/arrow_up.png") no-repeat right center/20px;
    padding-right: 35px;
}

.btn.bt_ic_home a {
    background: #538ed9;
}

.btn.bt_ic_home a .icon_home {
    background: url("../images/icon_home_w.png") no-repeat left top -1px /25px;
    padding-left: 40px;
    padding-top: 2px;
    font-family: var(--font-main);
}

.sec03_tt {
    letter-spacing: -0.07em;
    margin-bottom: 22px;
}

.sec03_tt .let2 {
    margin-right: 15px;
    letter-spacing: -0.02em;
}

/*==================== SEC04 ===================*/
.sec04 {
    position: relative;
    padding-top: 96px;
    z-index: 2;
    background: linear-gradient(to right, rgba(27, 92, 150, 1) 0%, rgba(43, 112, 186, 1) 100%);
    padding-bottom: 270px;
}
.sec04 .ttl{padding-top: 50px}
.sec04 .inner {
    z-index: 3;
    width: 1490px;
}

.sec04::after,
.sec04::before {
    position: absolute;
    content: "";
}

.sec04::after {
    background: url("../images/idx_brush3.png") no-repeat center top/1240px;
    width: 1240px;
    height: 620px;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 30px;
    z-index: 2;
}

.sec04::before {
    width: 100%;
    height: 1100px;
    background: #2c70bb;
    left: 0;
    top: 0;
}

.sec04 .num {
    color: #548ac6;
    margin-bottom: 16px;
}

.sec04 .ja {
    color: #fff;
    font-weight: 500;
    letter-spacing: -0.1em;
    margin-bottom: 4px;
}

.sec04 .en {
    color: #bad2f0;
    letter-spacing: 0.1em;
    margin-bottom: 54px;
    font-family: var(--en);
}

.sec04_tt,
.sec04_txt {
    text-align: center;
    color: #fff;
}

.sec04_tt {
    color: #bad2f0;
    font-size: 28px;
    border-bottom: 2px #bad2f0 solid;
    display: table;
    margin: 0 auto 22px;
    font-weight: 500;
    padding-bottom: 11px;
    letter-spacing: 0.03em;
}

.sec04_txt {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.75;
    margin-bottom: 0;
}

.sec04_top {
    margin-bottom: 70px;
}

.sec04_item>div {
    width: 1460px;
    height: 500px;
    border-radius: 20px;
    color: #fff;
    padding: 61px 0 0 61px;
    position: relative;
    cursor: pointer;
}

.sec04_item>div:not(:last-child) {
    margin-bottom: 40px;
}

.sec04_item>div.item1 {
    background: url("../images/idx_img_10.png") no-repeat center top/cover;
}

.sec04_item>div.item2 {
    background: url("../images/idx_img_11.png") no-repeat center top/cover;
}

.sec04_item>div.item3 {
    background: url("../images/idx_img_12.png") no-repeat center top/cover;
}

.sec04_item>div .info {}

.sec04_item>div .info .txt {
    line-height: 1.58;
    font-size: 24px;
    font-weight: 700;
}

.sec04_ttl {
    margin-bottom: 250px;
}

.sec04_ttl .en {
    margin-bottom: 17px;
    color: #fff;
    font-size: 100px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
}

.sec04_ttl .ja {
    font-size: 32px;
    font-weight: 700;
}

.sec04_btn {
    position: absolute;
    right: 0;
    bottom: 0;
}

.sec04_btn a {
    width: 320px;
    height: 80px;
    background: url(../images/icon_arrow_right.svg) no-repeat right 30px center / 22px #538ed9;
    display: flex;
    align-items: center;
    border-radius: 40px 0 20px 0;
    color: #fff;
    font-family: var(--en);
    font-weight: 500;
    padding-left: 40px;
    letter-spacing: 0.05em;
}

.sec04_number {
    display: flex;
    justify-content: center;
}

.sec04_number.active {
    position: fixed;
    top: calc(50% + 415px);
    left: 50%;
    transform: translateX(-50%);
}

.sec04_number li {
    width: 30px;
    height: 30px;
    border: 1px #fff solid;
    border-radius: 50%;
    color: #fff;
    font-family: var(--en);
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 2px;
    margin: 0 10px;
    font-weight: 500;
}

.sec04_number li.active {
    background: #fff;
    color: #538ed9;
}

.sec04_item {
    margin-bottom: 30px;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.15);
    border-radius: 20px;
}

.sec04_box.first {
    margin-bottom: 70px;
}
.sec04_box.first .textline,.sec04_box.first .textline__genuine{
    margin: 0 auto;
}
.textline {
    position: relative;
}
.textline, .textline__genuine {
    display: block;
    height: -moz-fit-content;
    height: fit-content;
    width: -moz-fit-content;
    width: fit-content;
    
}
.textline__pseudo, .textlinelink {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
}
.textline__pseudo {
    height: -moz-fit-content;
    height: fit-content;
    left: 0;
    opacity: .5;
    pointer-events: none;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
.textline__genuine {
    clip-path: inset(0 100% 0 0);
}
/*==================== SEC05 ===================*/
.sec05 {
    position: relative;
    margin-top: -100px;
    z-index: 2;
    overflow: hidden;
    padding-bottom: 150px;
}

.sec05 .inner {
    z-index: 2;
    width: 1430px;
}

.sec05::before,
.sec05::after {
    position: absolute;
    content: "";
    width: calc(100% - 33px);
    height: 1190px;
    border-radius: 40px 0 0 40px;
    right: 0;
    top: 40px;
}

.sec05::before {
    background: url(../images/idx_brush6.png) no-repeat right -321px top 327px, url(../images/idx_brush7.png) no-repeat left 0px bottom;
    z-index: -1;
}

.sec05::after {
    background-color: #dde8f7;
    z-index: -2;
}

.sec05_item {
    display: flex;
    align-items: flex-start;
}

.sec05_item .item_l {
    width: 580px;
    position: relative;
    top: 0px;
    overflow: hidden;
}

.sec05_item .item_r {
    flex-shrink: 0;
    position: relative;
    width: calc(100% - 580px);
    display: flex;
    flex-direction: column;
}

.sec05_img {
    position: absolute;
    flex-shrink: 0;
}

.sec05_img img {
    border-radius: 20px;
    overflow: hidden;
}

.sec05_img.img1 {
    right: 0px;
    top: -40px;
}

.sec05_img.img2 {
    top: 540px;
    left: 60px;
}

.sec05 .ttl {
    margin-top: -10px;
    text-align: left;
}

.sec05 .ttl .num {
    margin-bottom: 15px;
    color: #fff;
}

.sec05 .ttl .ja {}

.sec05 .ttl .en {
    margin-bottom: 12px;
}

.sec05_txt p {
    line-height: 1.75;
    font-weight: 500;
}

.sec05_txt p:not(:last-child) {
    margin-bottom: 34px;
}

.sec05 .idx_ttl1 {
    margin-bottom: 20px;
}

.sec05_txt {
    margin-bottom: 60px;
}

.btn_group p:not(:last-child) {
    margin-bottom: 20px;
}

.btn_group .btn a {
    background: url(../images/arrow_up_w.png) no-repeat right 30px top 28px / 20px #538ed9;
    justify-content: flex-start;
    padding-left: 40px;
    letter-spacing: 0.01em;
    margin-bottom: 15px;
    box-shadow: 5px 5px 14px 0px rgba(0, 0, 0, 0.16);
}

/*==================== SEC06 ===================*/
.sec06 {
    padding-top: 0;
    padding-bottom: 150px;
}

.sec06 .ttl {
    margin-top: -30px;
    margin-bottom: 48px;
}

.sec06 .ttl .ja {
    margin-bottom: 5px;
}

.sec06 .inner {
    width: 1430px;
}

.sec06_item {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 19px;
}

.sec06_item>div:not(:nth-child(2n)) {
    margin-right: 80px;
}

.sec06_item>div {
    width: 660px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 60px;
}

.sec06_item>div .info {
    background: #eef4fb;
    border-radius: 20px;
    width: 100%;
    padding: 139px 40px 13px;
}

.sec06_item>div .img {
    margin-bottom: -100px;
    z-index: 1;
    position: relative;
    width: 580px;
    height: 380px;
}

.sec06_item>div .img img {
    border-radius: 20px;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.sec06_item>div .info dl:first-child {
    border-top: 2px #cbddf4 solid;
}

.sec06_item>div .info dl {
    display: flex;
    border-bottom: 2px #cbddf4 solid;
    padding: 15px 20px 12px;
}

.sec06_item>div .info dl dt {
    font-family: var(--en);
    font-weight: 700;
    position: relative;
    width: 110px;
    color: #2b70ba;
    letter-spacing: 0.1em;
    margin-right: 21px;
    flex-shrink: 0;
}

.sec06_item>div .info dl dt::before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #538ed9;
    right: 0;
    top: calc(50% - 5px);
}

.sec06_item>div .info dl dd {
    font-size: 18px;
    color: #000;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: 100%;
}

.sec06_item>div .info dl dd .num {
    font-size: 160%;
    font-weight: 700;
    margin-right: 2px;
}

.sec06_g {
    display: flex;
    margin-top: 39px;
}

.sec06_g .btn a {
    width: 280px;
    height: 80px;
}

.sec06_g .btn:not(:last-child) {
    margin-right: 20px;
}

.sec06_g .btn.btn_con a {
    background: #2b70ba;
}

.sec06_g .btn.btn_con a span {
    background: url("../images/icon_mail_w.png") no-repeat left center/24px;
    padding: 5px 0 5px 37px;
}

/*==================== SEC07 ===================*/
.sec07 {
    position: relative;
    padding: 142px 0 660px;
}

.sec07 .inner {
    width: 1430px;
    z-index: 9;
}

.sec07::before,
.sec07::after {
    position: absolute;
    content: "";
}

.sec07::before {
    background: #bfd4ea;
    left: 0;
    top: 0;
    right: 0;
    margin: 0 auto;
    border-radius: 40px 40px 0 0;
    width: 100%;
    height: 100%;
}

.sec07::after {
    background: url("../images/idx_brush5.png") no-repeat left top/650px;
    width: 650px;
    height: 858px;
    left: -7px;
    top: 20px;
}

.sec07_item {
    display: flex;
}

.sec07_item .item_l {
    width: 350px;
}

.sec07_item .item_r {
    width: calc(100% - 350px);
    margin-top: 7px;
}

.sec07 .ttl {
    text-align: left;
    margin-bottom: 47px;
}

.sec07 .ttl .ja {
    margin-bottom: 5px;
}

.sec07 .ttl .en {}

.sec07 .btn a {
    width: 280px;
}

.sec07 .item_r dl {
    background: url("../images/line_white.png") no-repeat left top/1050px, url("../images/icon_arrow_blue.png") no-repeat right 10px center/30px;
    padding: 36px 90px 30px 0;
    cursor: pointer;
}

.sec07 .item_r dl:last-child {
    background: url("../images/line_white.png") no-repeat left top/1050px, url("../images/line_white.png") no-repeat left bottom/1050px, url("../images/icon_arrow_blue.png") no-repeat right 10px center/30px;
    padding-bottom: 32px;
}

.sec07 .item_r dl dt {
    font-size: 18px;
    font-weight: 700;
    font-family: var(--en);
    color: #2b70ba;
    margin-bottom: 12px;
}

.sec07 .item_r dl dd {
    font-size: 18px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500;
    letter-spacing: -0.09em;
}

sec07 .item_r dl dd a {
    color: #000;
}

/*==================== SEC08 ===================*/
/*==========================================================
                        F O O T E R
==========================================================*/
footer {
    background-color: #edf4fc;
    position: relative;
    z-index: 3;
}

.ft_info_logo {
    margin-bottom: 82px;
}

.ft_bnr a {
    display: inline-block;
    position: relative;
    padding: 10px 0;background: #fff;border-radius: 10px;
}

.ft_bnr span {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    background-color: var(--txt);
    border-radius: 999px;
    color: #fff;
    font-weight: bold;
    line-height: 1.6;
    padding: 4px 20px 3px;
}

.ft_bnr span::before {
    content: '';
    position: absolute;
    top: 100%;
    left: calc(50% - 6px);
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 6px 0 6px;
    border-color: var(--txt) transparent transparent transparent;
}

.ft_bnr a::before {
    background: url('../images/arrow_up_b.png') center /cover no-repeat;
    width: 15px;
    height: 15px;
    position: absolute;
    top: 15px;
    right: 15px;
    content: '';
}

.ft_con {
    width: calc(100% - 85px);
    background: #2b70ba;
    border-radius: 40px;
    color: #fff;
    margin: 0 auto 0;
    position: relative;
    top: -520px;
    height: 860px;
    padding-top: 123px;
    margin-bottom: -389px;
}

.ft_con .ttl {
    color: #fff;
    margin-bottom: 4px;
}

.ft_con_ttl {
    font-size: 24px;
    text-align: center;
    color: #dde8f7;
    background: url("../images/line3.png") no-repeat center top/1px;
    padding-top: 41px;
    font-weight: 500;
    margin-bottom: 45px;
}

.ft_con .ttl .en {
    color: #fff;
    font-weight: 600;
    letter-spacing: 0.075em;
}

.ft_con .ttl .ja {
    font-weight: 500;
    margin-bottom: 14px;
    color: #fff;
}

.ft_con .inner {
    width: 1430px;
}

.ft_con_box {
    display: flex;
    margin-bottom: 60px;
}

.ft_con_box li {}

.ft_con_box li:not(:last-child) {
    margin-right: 40px;
}

.ft_con_box li a {
    width: 440px;
    height: 100px;
    border-radius: 50px;
    background: #fff;
    font-size: 24px;
    font-weight: 600;
    color: #2b70ba;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.2);
}

.ft_con_box .sub1 {}

.ft_con_box .sub2 {}

.ft_con_box .sub3 {}

.ft_con_box .sub1 a {}

.ft_con_box .sub1 a span {
    background: url("../images/icon_mail_btn.png") no-repeat left center/27px;
    padding: 5px 0 5px 38px;
}

.ft_con_box .sub2 a {
    padding-right: 37px;
}

.ft_con_box .sub2 a span {
    background: url("../images/icon_search_btn.png") no-repeat left center/26px;
    padding: 5px 0 5px 41px;
    letter-spacing: -0.1em;
}

.ft_con_box .sub3 a {}

.ft_con_box .sub3 a span {
    background: url("../images/icon_home_btn.png") no-repeat left center/28px;
    padding: 5px 0 5px 38px;
    letter-spacing: -0.05em;
}

.ft_tel {
    width: 100%;
    height: 120px;
    background: #538ed9;
    border-radius: 60px;
    margin: 0 auto;
    max-width: 1400px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ft_tel a {
    font-size: 60px;
    font-weight: 700;
    background: url("../images/icon_tel_blue.png") no-repeat left center/51px;
    padding-left: 65px;
    color: #fff;
    line-height: 1;
    font-family: var(--en);
    margin-right: 23px;
    letter-spacing: -0.03em;
}

.ft_tel .ft_tel_txt {
    display: flex;
    margin-right: 0;
    position: relative;
    top: -1px;
}

.ft_tel .ft_tel_txt .hour {
    font-size: 22px;
    display: flex;
    margin-bottom: 0;
}

.ft_tel .ft_tel_txt .hour:nth-child(2) {
    margin-left: 35px;
}

.ft_tel .ft_tel_txt .hour .txt1 {
    border: 1px #fff solid;
    border-radius: 8px;
    width: 100px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 17px;
    padding: 0px 0 4px 2px;
    letter-spacing: -0.04em;
}

.ft_tel .ft_tel_txt .hour:nth-of-type(2) .txt1 {
    width: 80px;
}

.ft_tel .ft_tel_txt .hour .txt2 {
    letter-spacing: 0.04em;
    padding-top: 2px;
}

.ft_top {
    padding-top: 9px;
}

.ft_top .inner {
    display: flex;
    padding-bottom: 50px;
}

.ft_add_box {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 40px auto 0;
    position: relative;
}

.ft_add_box a {
    position: absolute;
    z-index: 9;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.ft_add_tt {
    font-size: 26px;
    background: url("../images/icon_map.png") no-repeat left top 9px /15px;
    padding-left: 24px;
    margin-bottom: 0;
    padding-top: 4px;
    letter-spacing: 0.03em;
}

.ft_add_tt span {
    margin-right: 27px;
    letter-spacing: -0.02em;
}

.ft_add_txt {
    width: 410px;
    height: 60px;
    border-radius: 8px;
    background: #75a5e1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin-left: 42px;
    font-size: 26px;
    letter-spacing: -0.075em;
    transition: all ease 0.3s;
    padding-left: 6px;
    padding-bottom: 3px;
}

/* FOOTER INFORMATION */
.ft_info {
    padding-right: 80px;
    flex-shrink: 0;
}

.ft_info_tel a {
    font-size: 28px;
    color: #332829;
    font-weight: bold;
    padding-left: 25px;
    position: relative;
    line-height: 1;
    display: block;
}

.ft_map {
    width: 50%;
}

.ft_map_iframe {
    width: 100%;
    height: 300px;
}

.ft_map .gg_link {
    position: relative;
    text-align: right;
    margin-top: 10px;
}

.ft_map .gg_link::before {
    background: url('../images/ic_map.png') center /cover no-repeat;
    width: 12px;
    height: 16px;
    content: '';
    display: inline-block;
    margin-right: 5px;
    position: relative;
    top: 2px;
}

/* FOOTER LINK */
.ft_link {}

.ft_link .inner {
    display: flex;
    justify-content: center;
    width: auto;
    padding: 0;
    margin-bottom: 50px;
}

.ft_link ul:not(:last-child) {
    margin-right: 55px;
}

.ft_link ul li {}

.ft_link ul li p {
    font-size: 20px;
    font-weight: 600;
}

.ft_link ul li.mt2 {
    margin-top: 35px;
}

.ft_link ul li.mt3 {
    margin-top: 35px;
}

.ft_link ul li.mt4 {
    margin-top: 35px;
}

.ft_link ul li p a {
    font-size: 18px;
    position: relative;
}

.ft_link ul li {
    margin-bottom: 20px;
    font-weight: 500;
}

.ft_link ul li.big {
    margin-bottom: 20px;
}

.ft_link ul li.big a {
    position: relative;
}

.ft_link ul li.mt1 {
    margin-top: 35px;
}

.ft_link ul li:not(.big)>a {
    position: relative;
    padding-left: 20px;
    color: #000;
    font-size: 16px;
}

.ft_link ul li>a::before {
    position: absolute;
    content: "";
    width: 10px;
    height: 1px;
    background: #000;
    left: 0;
    top: 13px;
}

.ft_link ul li.contact_tt>a::before {
    display: none;
}

.ft_link ul li.big .icon_contact {
    background: url("../images/icon_mail_ft.png")no-repeat left 0px center/21px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 30px;
    letter-spacing: -0.03em;
}

address {
    text-align: center;
    font-size: 18px;
    color: #2b70ba;
    padding-bottom: 55px;
}

/* BACK TO TOP */
.to_top {
    position: fixed;
    z-index: 9;
    width: 60px;
    height: 60px;
    bottom: -100px;
    right: 490px;
    cursor: pointer;
    transition: all .2s;
    opacity: 0;
    visibility: hidden
}

.to_top.show {
    transform: scale(1);
    opacity: 1;
    visibility: visible;
    bottom: 0;
}

/* FIREFOX ONLY */
@-moz-document url-prefix() {
    .mv_left {
        left: -17px;
    }

    .sec05_item .btn a {
        font-family: var(--font-main);
    }
}