@charset "UTF-8";
@import "base.css";
@import "fonts.css";
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&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;
}
img {
    vertical-align: middle;
    max-width: 100%;
    flex-shrink: 0;
    height: auto;
}
* {
    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: 2em;
    letter-spacing: 0;
}
p {
    margin: 0 0 1.875em;
}
p:last-child {
    margin-bottom: 0
}
.bold {
    font-weight: bold;
}
.left {
    text-align: left
}
.right {
    text-align: right;
}
.auto {
    margin-left: auto;
    margin-right: auto;
}
.red {
    color: var(--red);
}
.txt_line {
    text-decoration: underline;
}
.m0a {
    display: block;
    margin: 0 auto;
}
.f_big {
    font-size: 150%;
}
.f_sm {
    font-size: 80%;
}
:root {
    --font-main: 'Noto Sans JP', sans-serif;
    --txt: #333333;
    --mcolor: #f26221;
    --scolor: #c13200;
    --site_size: 1230px;
    --gray: #e9e9e9;
    --blue: blue;
    --red: red;
    --en: "Roboto", sans-serif;
}
#wrapper {
    min-width: 1260px;
    overflow: hidden;
    margin: 0 auto
}
.inner {
    width: var(--site_size);
    margin: 0 auto;
    position: relative;
    max-width: 100%;
    padding: 0 30px;
}
/*==========================================================
                       H E A D E R  
==========================================================*/
header {
    position: relative;
    z-index: 10;
}
body.is_active {
    overflow: hidden;
}
.h_left, .h_left_w, .h_tt01 {
    display: flex;
}
.h_left {
    flex-shrink: 0;
    align-items: flex-start;
    position: relative;
    z-index: 1;
}
.h_right {
    margin-left: auto;
    margin-right: 17px;
    position: relative;
    z-index: 1;
}
.h_left_w {
    margin-left: 12px;
    padding-top: 11px;
}
.h_tt01 {
    flex-direction: column;
    margin-top: 7px;
    margin-left: 15px;
    align-items: center;
}
.h_tt01 p {
    margin-bottom: 0;
}
.h_tt01 .black, .h_tt01 .org {
    font-weight: 600;
}
.h_tt01 .black {
    width: 160px;
    height: 24px;
    text-align: center;
    line-height: 24px;
    border-radius: 12px;
    background: #eeeeef;
    font-size: 12px;
    color: #333;
    margin-bottom: 2px;
    font-weight: 700;
    letter-spacing: 0.09em;
}
.h_tt01 .org {
    font-size: 14px;
    color: var(--mcolor);
    font-weight: 700;
    margin-top: 3px;
}
.h_tt01 .num {
    font-size: 30px;
    margin-right: 4px;
    font-family: var(--en);
}
h1 {}
.h_gg_view a {
    width: 200px;
    height: 70px;
    border-radius: 5px;
    justify-content: center;
    border: 1px #dbdcdc solid;
}
.h_box {
    width: 100%;
    position: fixed;
    background-color: #fff;
    height: 140px;
}
.active .h_box {
    box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.1);
}
.h_inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    height: 100%;
    width: 100%;
    padding: 0 105px 0 15px;
}
.contact_com, .h_gg_view a {
    display: flex;
    align-items: center;
}
.contact_com > p {
    margin-bottom: 0;
}
.contact_com > p:not(.contact_tel) > a {
    width: 240px;
    height: 80px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    font-weight: 700;
    text-align: left;
    line-height: 1.5;
    position: relative;
}
.contact_line {
    margin-left: 22px;
}
.contact_mail {
    margin-left: 2px;
}
.contact_mail a {
    padding-left: 65px;
    background: url("../images/icon_contact.svg")#e54100 no-repeat left 24px top 27px/28px;
}
.contact_line a {
    padding-left: 67px;
    background: url("../images/icon_line.svg")#00b900 no-repeat left 20px top 27px/31px;
}
.contact_mail a, .contact_line a {
    color: #fff;
}
.contact_mail > a > span {
    position: relative;
    z-index: 2;
}
.contact_com > p > a .sm {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.12em;
}
.contact_com > p.contact_line > a .sm {
    letter-spacing: -0.09em
}
.contact_com > p > a .lg {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.contact_com > p.contact_line > a .lg {
    letter-spacing: 0.1em;
}
.contact_com .lg .en {
    margin-right: 5px;
}
.contact_tel a {
    font-size: 28px;
    color: #333;
    font-weight: 600;
    position: relative;
    line-height: 1;
    display: block;
    background: url("../images/icon_tel.svg") no-repeat left top 9px/24px;
    padding: 5px 0 5px 30px;
    position: relative;
    margin-left: 28px;
}
.contact_tel .time {
    font-size: 14px;
    display: block;
    line-height: 1.6;
    font-weight: 600;
}
.contact_tel .time_txt {
    width: 70px;
    height: 20px;
    line-height: 19px;
    text-align: center;
    color: #fff;
    background: #888888;
    border-radius: 9px;
    display: inline-block;
    font-weight: 400;
}
.time_txt.ttl1 {
    margin-right: 5px;
}
.time_txt.ttl2 {
    width: 54px;
    margin: 0 9px 0 7px;
}
/* HAMBUGER BUTTON */
.hamburger {
    font: inherit;
    display: block;
    overflow: visible;
    margin: 0;
    padding: 0;
    cursor: pointer;
    transition-timing-function: linear;
    transition-duration: .15s;
    transition-property: opacity, filter;
    text-transform: none;
    color: inherit;
    border: 0;
    right: 0;
    position: fixed;
    top: 0;
    z-index: 10;
}
.hamburger-box {
    position: relative;
    display: inline-block;
    width: 120px;
    height: 140px;
    background: var(--mcolor);
    right: 0px;
    transition: all 0.3s;
}
.hamburger-box::before {
    position: absolute;
    content: "MENU";
    left: 0;
    bottom: 26px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    right: 0;
    margin: 0 auto;
    text-align: center;
    letter-spacing: 0.1em;
}
.is_active .hamburger-box::before {
    content: "CLOSE";
}
.hamburger-inner {
    top: 44%;
    display: block;
    margin-top: -2px;
    transform: translate(50%, 0);
}
.is_active .hamburger-inner {
    top: 47%;
    margin-top: 5px;
    margin-left: 30px;
}
.hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {
    position: absolute;
    width: 60px;
    height: 2px;
    transition: all ease 0.15s;
    background-color: #fff;
}
.hamburger-inner::after, .hamburger-inner::before {
    display: block;
    content: ""
}
.hamburger-inner::before {
    top: -20px;
}
.is_active .hamburger-inner::before {
    top: 0px;
}
.hamburger-inner::after {
    bottom: -20px;
}
.hamburger--3dxy .hamburger-box {
    perspective: 80px
}
.hamburger--3dxy .hamburger-inner {
    transition: transform .15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0 cubic-bezier(0.645, 0.045, 0.355, 1) .1s
}
.hamburger--3dxy .hamburger-inner::after, .hamburger--3dxy .hamburger-inner::before {
    transition: transform cubic-bezier(0.645, 0.045, 0.355, 1) .1s
}
.hamburger--3dxy.is_active .hamburger-inner {
    transform: rotateX(180deg) rotateY(180deg);
    background-color: transparent !important
}
.hamburger--3dxy.is_active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg)
}
.hamburger--3dxy.is_active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg)
}
/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
header .nav_link_com {
    display: none;
}
main {
    position: relative;
    padding-top: 140px;
    z-index: 2;
}
.mv {
    position: relative;
    padding: 0;
    height: 800px;
}
.mv::before {
    position: absolute;
    content: "";
    background: url("../images/main.jpg") no-repeat center top/1920px;
    height: 100%;
    width: 1920px;
    left: calc(50% - 960px);
    top: 0;
}
.mv_txt {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    padding-left: 260px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #000;
    padding-top: 40px;
}
.mv_ttl01 {
    font-size: 30px;
    font-weight: 700;
    position: relative;
    z-index: 1;
    display: table;
    color: #000000;
    margin-bottom: 11px;
    line-height: 1.4;
    padding: 0 13px 0 11px;
}
.mv_ttl01::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: -1;
    left: 0;
    top: 0;
}
.mv_ttl01 .sm {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.02em;
}
.mv_ttl02 {
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 0;
    letter-spacing: -0.04em;
}
.mv_ttl3 {
    background: var(--mcolor);
    color: #fff;
    font-size: 21px;
    font-weight: 500;
    margin-bottom: 35px;
    padding: 0 15px 2px;
    border-radius: 5px;
}
.mv_txt h2 {
    font-size: 58px;
    font-weight: 500;
    line-height: 1.378;
    margin-bottom: 3px;
}
.mv_txt h2 .pt {
    line-height: 0;
    position: relative;
    bottom: -5px;
    font-size: 113%;
    margin-right: 0;
    margin-left: 0;
}
.mv_txt h2 .line {
    background-image: repeating-linear-gradient(90deg, #5e5b5d, #5e5b5d 3px, transparent 3px, transparent 7px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    letter-spacing: -0.05em;
    position: relative;
}
.mv_txt h2 .line:before {
    position: absolute;
    content: "";
}
.mv_txt h2 .line > .sm {
    font-size: 80%;
}
.mv_txt h2 .line > .sm_t {
    position: relative;
    top: -7px;
}
.mv_txt h2 .org {
    color: var(--mcolor);
    font-weight: 700;
}
.mv_list {
    display: flex;
    width: 640px;
    justify-content: space-between;
    position: relative;
}
.mv_list::before {
    width: 660px;
    height: 150px;
    position: absolute;
    content: "";
    background: rgba(255, 255, 255, 0.4);
    border-radius: 10px;
    right: 0;
    bottom: -17px;
    z-index: -1;
}
.mv_txt01 {
    font-size: 10px;
    font-weight: 500;
    line-height: 1.9;
    letter-spacing: -0.02em;
}
.mv_img {
    margin-bottom: 15px;
}
.mv_txt_mid {
    text-align: center;
    font-size: 14px;
    line-height: 1.71;
    margin-bottom: 7px;
    letter-spacing: -0.02em;
}
/* nav */
.menu_list {
    display: flex;
    justify-content: flex-end;
}
.menu_list > li > a, .menu_list > li > .sub_btn {
    display: flex;
    align-items: center;
    position: relative;
    font-weight: 600;
    padding: 3px 20px 7px;
    height: 50px;
    color: #000000;
    letter-spacing: 0em;
}
.menu_list > li.parent {
    position: relative;
}
.menu_list > li.parent.normal:nth-child(4) > .sub_btn {
    letter-spacing: -0.03em;
    margin-right: 3px;
}
.menu_list > li.parent > .sub_btn {
    cursor: default;
    padding-right: 33px;
    letter-spacing: -0.07em;
}
.menu_list > li.parent.normal > .sub_btn {
    padding-right: 33px;
    letter-spacing: 0em;
}
.sub_t {
    position: absolute;
    z-index: 1;
    transition: all .3s;
    opacity: 0;
    visibility: hidden;
    top: 100%;
    left: 0;
    background: #000000;
    width: 270px;
    padding: 20px 10px 25px 25px;
}
.parent_main .sub_t > ul {
    position: relative;
}
.parent_main .sub_t > ul:before {
    position: absolute;
    content: "";
    width: 1px;
    height: 100%;
    left: 220px;
    background: #666666;
}
.parent_main .sub_t .child {
    display: flex;
}
.parent_main .sub_t > ul > li {
    width: 202px;
    margin-bottom: 12px;
    transition: all 0.3s;
}

.parent_main .sub_t > ul > li.child_link, .parent_main .sub_t .sub_btn02, .normal .sub_t li {
    background: url("../images/icon_arrow_w.svg") no-repeat right 10px center/19px;
    transition: all 0.3s;
}

.parent_main .sub_t {
    width: 645px;
    visibility: hidden;
    opacity: 0;
    padding: 42px 40px 28px 40px;
    box-sizing: border-box;
}
.parent_main .sub_t > ul > li > a {
    color: #fff;
    display: block;
}
.parent_main .sub_t .sub02 {
    position: absolute;
    left: 250px;
    top: -2px;
    opacity: 0;
    visibility: hidden;
}
.parent_main .sub_t .sub02.active {
    opacity: 1;
    visibility: visible;
}
.parent_main .sub_t .sub02 ul li {
    margin-bottom: 12px;
}
.parent_main .sub_t .sub02 ul li a {
    background: url("../images/icon_poly_o_w.svg") no-repeat left 7px center/6px;
    padding-left: 20px;
    display: block;
    font-size: 14px;
    color: #fff;
    letter-spacing: -0.04em;
    padding-right: 5px;
}
.parent_main .sub_t > ul > li, .sub_btn02, .normal .sub_t li a {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.07em;
    display: block;
}
.parent_main .sub_t .sub02 ul li.menu_tt {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.05em;
    margin-bottom: 6px;
}
.sub_btn02 {
    width: 100%;
    display: block;
}
.sub_btn.sub_list02:before {
    background: #fff;
    left: 1px;
    top: 8px;
    width: 11px;
    height: 11px;
}
/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: 600;
    margin-bottom: 50px;
}
.ttl .point {
    position: relative;
}
.ttl .point::before {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    margin: 0 auto;
    top: -1px;
    background: var(--mcolor);
    width: 5px;
    height: 5px;
    border-radius: 50%;
}
.ttl .sm {
    font-size: 18px;
    color: var(--mcolor);
    letter-spacing: 0.12em;
    margin-bottom: 15px;
}
.ttl .mid {
    font-size: 40px;
    letter-spacing: -0.07em;
}
.ttl .lg .num {
    font-size: 120%;
    position: relative;
    top: 4px;
}
.ttl .lg {
    font-size: 60px;
    line-height: 1;
    font-weight: 500;
    margin-bottom: 21px;
}
.txt_org {
    color: var(--mcolor);
}
/* DEFAUTL NAME BUTTON */
.btn a {
    width: 300px;
    height: 60px;
    border-radius: 999px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--mcolor);
    font-size: 16px;
    color: #fff;
    text-decoration: none;
    position: relative;
    font-weight: 500;
    border: 1px var(--mcolor) solid;
}
.btn.lg a {
    width: 420px;
    font-size: 18px;
}
.btn_w a {
    background: #fff;
    color: #f26221;
}
.item2 .btn_w a {
    color: #e54100;
}
.item2 .btn.btn_w a::before {
    border-color: transparent transparent transparent #e54100
}
.item3 .btn_w a {
    background: #fff;
    color: #c13200
}
.item3 .btn.btn_w a::before {
    border-color: transparent transparent transparent #c13200
}
.btn a::before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0 3px 7px;
    border-color: transparent transparent transparent #fff;
    right: 12px;
    top: calc(50% - 4px);
    transition: all ease 0.3s;
}
.btn_sm a::before, .btn.btn_w a::before {
    border-color: transparent transparent transparent var(--mcolor);
}
.btn.x_lg a {
    background: #fde7de;
    color: var(--mcolor);
    width: 600px;
    height: 100px;
    font-size: 24px;
    line-height: 1.33;
    font-weight: 600;
    letter-spacing: -0.05em;
}
.btn.x_lg a::before {
    border-color: transparent transparent transparent var(--mcolor);
    border-width: 7px 0 7px 14px;
    top: calc(50% - 8px);
    right: 15px;
}
.btn_sm a {
    background: #fff;
    border-radius: 30px;
    font-size: 14px;
    color: var(--mcolor);
    width: 160px;
    height: 40px;
    letter-spacing: -0.12em;
    border: none;
}
.btn.center a {
    margin-left: auto;
    margin-right: auto;
}
section {
    padding: 40px 0;
}
.menu {
    display: flex;
    justify-content: flex-end;
    position: relative;
    margin-right: 148px;
    margin-top: -50px;
}
.menu_list {
    display: flex;
    width: 694px;
    background: #fff;
}
.child_link.out span {
    background: url(../images/arrow_up_w.png) no-repeat right top 6px / 13px;
    padding-right: 20px;
}
/*==================== SEC01 ===================*/
.sec01 {
    padding-top: 91px;
    padding-bottom: 100px;
}
.sec01_ttl {
    font-size: 30px;
    text-align: center;
    font-weight: 600;
    letter-spacing: -0.05em;
    margin-bottom: 14px;
}
.sec01_item {
    width: 1000px;
    max-width: 100%;
    margin: 0 auto 39px;
}
.sec01_item dl:first-child {
    border-top: 1px #dbdcdc solid;
}
.sec01_item dl {
    display: flex;
    padding: 9px 15px 12px;
    border-bottom: 1px #dbdcdc solid;
}
.sec01_item dt {
    width: 157px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}
.sec01_item dt, .sec01_item dd {
    font-size: 14px;
    font-weight: 600;
}
.sec01_item dd {
    display: inline-block;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.sec01_item dt .date {
    margin-right: 22px;
    letter-spacing: -0.02em;
}
.label_new {
    width: 46px;
    height: 20px;
    background: #ef2222;
    color: #fff;
    text-align: center;
    font-size: 13px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
    position: relative;
    top: 1px;
    padding-bottom: 2px;
    font-weight: 400;
    letter-spacing: 0.025em;
}
/*==================== SEC02 ===================*/
.sec02 {
    background: url("../images/idx_bg01.png") repeat 0 0;
    padding-top: 115px;
    padding-bottom: 120px;
    position: relative;
}
.sec02 .ttl {
    max-width: 900px;
    margin: 0 auto 50px;
    position: relative;
    background: url("../images/q_left01.svg") no-repeat left bottom 2px/60px, url("../images/q_right01.svg") no-repeat right 20px bottom 1px/61px;
    padding: 0 25px;
}
.sec02::before {
    position: absolute;
    content: "";
    background-color: #feefe9;
    mix-blend-mode: multiply;
    width: 100%;
    height: 420px;
    left: 0;
    bottom: 0;
}
.sec02 .inner {
    width: 100%;
    padding: 0;
}
.sec02_slider {
    display: flex;
    margin-bottom: 120px !important;
}
.sec02_slider .slick-prev {
    left: calc(50% - 115px);
}
.sec02_slider .slick-next {
    right: calc(50% - 115px);
}
.sec02_slider .slick-prev, .sec02_slider .slick-next {
    top: auto;
    bottom: -90px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #ef2222;
    z-index: 99;
    transition: all 0.3s;
}
.sec02_wrap {
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
}
.sec02_wrap .sec02_date {
    margin-top: auto;
    margin-bottom: 15px;
}
.slick-prev::before, .slick-next::before {
    content: "";
    font-size: 0;
    opacity: 1;
    position: absolute;
    top: 11px;
    width: 0;
    height: 0;
    border-style: solid;
}
.slick-next::before {
    border-width: 4px 0 4px 9px;
    border-color: transparent transparent transparent #fff;
    right: 9px;
}
.slick-prev::before {
    border-width: 4px 9px 4px 0;
    border-color: transparent #fff transparent transparent;
    left: 9px;
}
.sec02_slider .slick-dots li, .sec02_slider .slick-dots li button {
    width: 10px;
    height: 10px;
}
.sec02_slider .slick-dots li {
    margin: 0 10px;
}
.sec02_slider .slick-dots li button {
    background: #fff;
    border-radius: 50%;
}
.sec02_slider .slick-dots li.slick-active {
    pointer-events: none;
}
.sec02_slider .slick-dots li.slick-active button {
    background: #f57a7a;
}
.sec02_slider .slick-dots li button::before {
    display: none;
}
.sec02_slider .slick-dots {
    bottom: -65px;
}
.sec02_slider_sub {
    width: 380px;
    height: 250px;
    margin: 0 20px;
    padding: 23px 30px 10px 30px;
    cursor: pointer;
    transition: all 0.3s;
    background: url("../images/arrow_round_o.svg")#fff no-repeat right 25px bottom 21px/30px;
}
.sec02_ttl {
    line-height: 1.77;
    margin-bottom: 10px;
    border-bottom: 1px var(--mcolor) solid;
    padding-bottom: 7px;
}
.sec02_ttl a {
    font-size: 18px;
    font-weight: 500;
    color: var(--mcolor);
    letter-spacing: -0.04em;
    height: 70px;
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.sec02_txt {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 5px;
    height: 80px;
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.sec02_date {
    color: #888888;
    font-size: 12px;
    font-weight: 500;
}
/*==================== SEC03 ===================*/
.sec03 {
    padding-top: 75px;
    padding-bottom: 75px;
}
.sec03 .inner {
    width: 1372px;
}
.sec03_item {
    display: flex;
    justify-content: space-between;
    align-items: center
}
.sec03_item_l {
    margin-right: 50px;
    position: relative;
    top: -2px;
}
.sec03 .ttl {
    align-items: self-start;
    text-align: left;
    margin-bottom: 19px;
}
.sec03 .ttl .sm {
    letter-spacing: 0.15em;
    margin-bottom: 10px;
}
.sec03 .ttl .mid {
    font-size: 50px;
    line-height: 1.6;
    font-weight: 500;
    color: #000000;
}
.sec03 .ttl .mid .point::before {
    width: 6px;
    height: 6px;
}
/*==================== SEC04 ===================*/
.sec04 {
    padding-top: 115px;
    padding-bottom: 80px;
}
.sec04 .inner {
    width: 1540px;
}
.sec04 .ttl {
    margin-bottom: -1px;
}
.sec04 .ttl .lg {
    font-size: 50px;
    line-height: 1.6;
}
.sec04 .ttl .sm {
    margin-bottom: 10px;
}
.sec04 .ttl .point::before {
    width: 6px;
    height: 6px;
}
.sec04_txt {
    text-align: center;
    margin-bottom: 98px;
}
.sec04_item01 {
    margin-bottom: 40px;
}
.sec04_item01, .sec04_item02 {
    display: flex;
}
.sec04_item02 {
    margin-bottom: 40px;
}
.sec04_item01 > div, .sec04_item02 > div {
    width: calc(50% - 10px);
    padding: 37px 40px 50px;
    display: flex;
    flex-direction: column;
}
.sec04_item01_sub.item1 {
    background: #f26221;
}
.sec04_item01_sub.item2 {
    background: #e54100;
}
.sec04_item02 .item_left {
    background: #c13200;
}
.sec04_item02 .item_right {
    background: #7c5e52;
}
.sec04_item01 > div:not(:nth-child(2n)), .sec04_item02 > div:not(:nth-child(2n)) {
    margin-right: 40px;
}
.sec04item_g dl {
    display: flex;
    padding: 16px 30px 26px 30px;
    position: relative;
    background: #fff;
    align-items: center;
    cursor: pointer;
    transition: all 0.3s;
}
.sec04item_g dl::before {
    position: absolute;
    content: "";
    width: 28px;
    height: 28px;
    background: url("../images/arrow_bor_o.svg")#f26221 no-repeat left 10px center/10px;
    right: 2px;
    bottom: 2px;
    border-radius: 7px 0px 0px 0px;
}
.sec04item_g dl dd {
    align-self: flex-start;
    width: 100%;
}
.item2 .sec04item_g dl::before {
    background: url("../images/arrow_bor_o.svg")#e54100 no-repeat left 10px center/10px;
}
.item_left .sec04item_g dl::before {
    background: url("../images/arrow_bor_o.svg")#c13200 no-repeat left 10px center/10px;
}
.item_right .sec04item_g dl .tt {
    color: #7c5e52;
    border-bottom: 1px #7c5e52 solid;
}
.item_right .sec04item_g dl::before {
    background: url(../images/arrow_bor_o.svg) #7c5e52 no-repeat left 10px center / 10px;
}
.sec04item_g dl dt {
    flex-shrink: 0;
    margin-right: 31px;
}
.sec04item_g dl .tt {
    font-size: 22px;
    font-weight: 600;
    color: var(--mcolor);
    border-bottom: 1px var(--mcolor) solid;
    padding-bottom: 8px;
    margin-bottom: 5px;
}
.item2 .sec04item_g dl .tt {
    color: #e54100;
    border-bottom: 1px #e54100 solid;
}
.item_left .sec04item_g dl .tt {
    color: #c13200;
    border-bottom: 1px #c13200 solid;
}
.sec04item_g dl .txt {
    line-height: 1.875;
    font-weight: 500;
    letter-spacing: -0.06em;
}
.sec04item_g dl:not(:last-child) {
    margin-bottom: 40px;
}
.sec04_ttl {
    text-align: center;
    font-size: 36px;
    font-weight: 500;
    color: #fff;
    line-height: 1.3;
    z-index: 1;
    position: relative;
    margin-bottom: 41px;
    letter-spacing: -0.07em;
}
.sec04_ttl span {
    font-size: 50px;
    position: relative;
    letter-spacing: -0.03em;
}
.sec04_ttl span::before {
    position: absolute;
    content: "";
    width: calc(100% - 2px);
    left: 1px;
    bottom: 5px;
    background: #f69164;
    height: 16px;
    z-index: -1;
}
.item_right .sec04_ttl span::before {
    background: #d9aa97;
}
.item02 .sec04_ttl span::before {
    background: #ed7a4c;
}
.item_left .sec04_ttl span::before {
    background: #d46f4c;
}
.sec04item_g {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.sec04item_g .flex_g {
    flex-grow: 1;
}
/*==================== SEC05 ===================*/
.sec05 .inner {
    width: 100%;
    padding: 0;
}
.sec05 .ttl {
    margin-bottom: 0;
    position: relative;
    z-index: 2;
}
.sec05_item {
    display: flex;
}
.sec05_item > div {
    flex: 1;
    position: relative;
    height: 360px;
    z-index: 1;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-top: 19px;
    cursor: pointer;
    overflow: hidden;
}
.sec05_img {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
}
.sec05_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sec05_item > div::before {
    position: absolute;
    content: "";
    width: 960px;
    height: 100%;
    z-index: 1;
    left: 0;
    top: 0;
}
.sec05_item > div::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background-color: #b4b4b5;
    mix-blend-mode: multiply;
    left: 0;
    top: 0;
    /* z-index: 0; */
}
/*.sec05_item .item1::before {
    background: url("../images/idx_img_03.jpg") no-repeat left top/960px;
}
.sec05_item .item2::before {
    background: url("../images/idx_img_04.jpg") no-repeat left top/960px;
}*/
.sec05_item .item1 {}
.sec05_item .item2 {
    position: relative;
}
.sec05_item > div .sm {
    margin-bottom: 29px;
    position: relative;
    z-index: 2;
}
.sec05_item > div .sm .link {
    background: #fff;
    color: #000;
    font-size: 20px;
    font-weight: 500;
    padding: 11px 16px 10px 17px;
}
.sec05_item > div .blank {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 22;
}
.sec05 .ttl .sm {
    color: #fff;
    font-size: 26px;
    font-weight: 500;
    margin-bottom: 10px;
    letter-spacing: 0;
}
.sec05 .ttl .lg {
    font-size: 47px;
    font-weight: 700;
    background: url("../images/around_red.svg") no-repeat right center/30px;
    padding-right: 45px;
    letter-spacing: 0.06em;
}
.sec05_btn {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    width: 250px;
    height: 50px;
    border-radius: 10px 10px 0 0;
    font-size: 20px;
    color: #333;
    text-align: center;
    line-height: 56px;
    background: url("../images/arrow_up.svg")#fff no-repeat right 20px top 19px/16px;
    font-weight: 500;
    z-index: 2;
}
/*==================== SEC06 ===================*/
.sec06 {
    padding-top: 37px;
    padding-bottom: 80px;
}
.sec06 .btn a {
    font-size: 18px;
    letter-spacing: -0.035em;
}
.sec06 .ttl .sm {
    letter-spacing: 0.15em;
}
.sec06 .inner {
    width: 1430px;
}
.sec06 .ttl .lg:first-line {
    letter-spacing: -0.01em;
}
.sec06 .ttl .lg {
    font-size: 50px;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: -0.07em;
}
.space_01 {
    margin: 0 -6px;
}
.sec06_item {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.sec06_item > div {
    width: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 58px;
}
.sec06_item > div.item5 .txt {
    letter-spacing: -0.05em;
}
.sec06_item > div .icon {
    position: relative;
    margin-bottom: 13px;
}
.sec06_item > div .icon .num {
    position: absolute;
    font-size: 80px;
    font-family: var(--en);
    color: #f26221;
    font-weight: 500;
    left: -18px;
    top: 71px;
}
.sec06_item > div .tt {
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 15px;
    text-align: center;
    letter-spacing: -0.04em;
    line-height: 1.5em;
}
.sec06_item > div .txt {
    font-weight: 500;
    line-height: 1.875;
    letter-spacing: -0.03em;
}
.sec06 .ttl {
    margin-bottom: 41px;
}
/*==================== SEC07 ===================*/
.sec07 {
    padding-bottom: 0;
}
.sec07 .btn_w a {
    font-weight: 700;
    letter-spacing: -0.05em;
    border: none;
}
.sec07 .inner {
    width: 100%;
    padding: 0;
}
.sec07_item {
    display: flex;
}
.sec07_item > div {
    flex: 1;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 440px;
    justify-content: center;
    padding-bottom: 8px;
}
.sec07_item > div .tt {
    font-size: 30px;
    font-weight: 500;
    margin-bottom: 15px;
}
.sec07_item > div .txt {
    text-align: center;
    line-height: 1.875;
    margin-bottom: 29px;
    letter-spacing: -0.02em;
}
.sec07_item > div.item1 {
    background: #f26221;
}
.sec07_item > div.item2 {
    background: #e54100;
}
.sec07_item > div.item3 {
    background: #c13200;
}
/*==================== SEC08 ===================*/
.sec_contact {
    position: relative;
    height: 580px;
    z-index: 1;
    color: #fff;
    padding-top: 97px;
}
.sec_contact .inner {
    width: 100%;
}
.sec_contact::before {
    position: absolute;
    content: "";
    background: url("../images/idx_bg_01.jpg") no-repeat center top/1920px;
    width: 1920px;
    height: 100%;
    left: calc(50% - 960px);
    left: 0;
    top: 0;
    z-index: -1;
}
.ft_con.sec_contact::before {
    background: url("../images/idx_bg_02.jpg") no-repeat center top/1920px;
}
.sec_contact .ttl {
    margin-bottom: 10px;
}
.sec_contact .ttl .sm {
    color: #fff;
    font-weight: 500;
}
.sec_contact.ft_con .ttl .sm {
    margin-bottom: 24px;
}
.sec_contact .ttl .mid {
    font-size: 30px;
    font-weight: 500;
    letter-spacing: -0.06em;
    margin-bottom: 13px;
}
.sec_contact.ft_con .ttl .mid {
    margin-bottom: 17px;
}
.sec_contact .ttl .mid .point::before {
    background: #fff;
    width: 5px;
    height: 4px;
    top: -2px;
}
.sec_contact .ttl .lg {
    font-size: 44px;
    font-weight: 600;
    letter-spacing: -0.07em;
    margin-bottom: 20px;
}
.sec_contact_txt {
    margin-bottom: 57px;
}
.sec_contact_txt p {
    text-align: center;
    letter-spacing: -0.045em;
}
.sec_contact_group.contact_com .contact_tel {
    background: #fff;
    text-align: center;
    padding-top: 12px;
}
.sec_contact_group.contact_com > p:not(.contact_tel) > a, .sec_contact_group.contact_com .contact_tel {
    width: 440px;
    height: 120px;
}
.sec_contact_group.contact_com {
    justify-content: center;
}
.sec_contact_group.contact_com > p > a .sm {
    font-size: 24px;
    letter-spacing: -0.01em;
    margin-bottom: -2px;
}
.sec_contact_group.contact_com > p > a .lg {
    font-size: 32px;
}
.sec_contact_group.contact_com .contact_line a {
    background-size: 50px auto;
    padding-left: 125px;
    background: url("../images/icon_line_lg.svg")#00b900 no-repeat left 53px top 39px/53px;
    padding-bottom: 5px;
}
.sec_contact_group.contact_com .contact_mail a {
    padding-left: 121px;
    background: url("../images/icon_contact_lg.svg")#e54100 no-repeat left 49px top 41px/53px;
    padding-bottom: 3px;
}
.sec_contact_group.contact_com .contact_line {
    margin-left: 0;
}
.sec_contact_group.contact_com > p:not(:last-child) {
    margin-right: 40px;
}
.sec_contact_group.contact_com .contact_tel a {
    font-size: 42px;
    background: url("../images/icon_tel_lg.svg") no-repeat left 4px top 13px/33px;
    display: table;
    margin: 0 auto 1px;
    padding-left: 44px;
    letter-spacing: -0.01em;
}
.sec_contact_group.contact_com .contact_tel .time {
    color: #333;
    font-size: 22px;
    letter-spacing: -0.02em;
    font-weight: 400;
}
.sec_contact_group.contact_com .contact_tel .time_txt {
    background: #333333;
    width: 102px;
    height: 30px;
    border-radius: 15px;
    line-height: 28px;
    font-size: 20px;
}
.sec_contact_group.contact_com .contact_tel .time_txt.ttl2 {
    width: 82px;
}
.sec_contact_group.contact_com .time_txt.ttl1 {
    margin-right: 9px;
}
.sec_contact_group.contact_com .time_txt.ttl2 {
    margin: 0 9px 0 9px;
}
/*==========================================================
                        F O O T E R
==========================================================*/
.sec_com_txt p {
    font-weight: 500;
    line-height: 1.875;
    letter-spacing: -0.015em;
}
footer {
    background: #fff;
    position: relative;
    z-index: 3;
}
.ft_top {}
.ft_top .inner {
    display: flex;
    justify-content: space-between;
}
.ft_map {
    width: 100%;
    height: 400px;
}
.ft_map_iframe {
    width: 100%;
    height: 300px;
}
.ft_bnr {
    margin-top: 90px;
    margin-bottom: 120px;
}
.ft_bnr_list {
    display: flex;
    max-width: 1315px;
    margin: 0 auto;
}
.ft_bnr_list > div:nth-child(1) {
    margin-right: 40px;
}
.ft_bnr_list > div:nth-child(2) {
    margin-right: 34px;
}
.ft_bnr_t {
    display: flex;
}
.ft_bnr_t p:not(:last-child) {
    margin-right: 40px;
    margin-bottom: 17px;
}
.ft_bnr03 a, .ft_bnr04 a, .ft_bnr05 a {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px #888888 solid;
    background: #fff;
    height: 90px;
}
.ft_bnr03 a, .ft_bnr05 a {
    width: 340px;
}
.ft_bnr05 a {
    font-size: 30px;
    font-weight: 700;
    color: var(--mcolor);
}
.ft_bnr04 a {
    width: 180px;
}
.ft_area {
    background: #fff;
    margin: 0 auto;
    width: 710px;
    height: 60px;
    border-radius: 30px;
    padding: 0 5px;
    margin-top: 40px;
}
.ft_area dt, .ft_area dd {
    font-size: 24px;
}
.ft_area dt, .ft_area {
    display: flex;
    align-items: center;
}
.ft_area dt {
    font-weight: 600;
    color: var(--mcolor);
    width: 209px;
    justify-content: center;
    position: relative;
    margin-right: 23px;
    letter-spacing: -0.05em;
}
.ft_area dt::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 30px;
    background: var(--mcolor);
    right: 0;
    top: 9px;
}
.ft_area dd {
    color: #333;
    letter-spacing: 0.01em;
}
address {
    text-align: center;
    background-color: #333333;
    color: #fff;
    font-size: 14px;
    margin-top: 77px;
    padding-bottom: 60px;
    letter-spacing: -0.012em;
}
.ft_logo {
    margin-bottom: 32px;
}
/*header*/
nav {
    position: fixed;
    z-index: 9;
    width: 100%;
    height: 100%;
    top: 0;
    overflow-y: auto;
}
nav .nav_left {
    padding-top: 170px;
    width: 538px;
}
nav .nav_addr {
    margin-bottom: 38px;
}
nav .nav_list {
    margin-top: 165px;
    padding-left: 87px;
}
nav .nav_list::before {
    height: 100vh;
    background: #ffffff;
    top: -165px;
}
nav.nav_link_com .inner {
    width: 1400px;
}
/*footer*/
.nav_link_com {
    background: #333333;
    color: #fff;
}
.nav_link_com .inner {
    width: 1380px;
    display: flex;
}
.nav_left {
    width: 520px;
}
.nav_list::before {
    width: 1px;
    height: calc(100% - 28px);
    background: #888888;
    left: 0;
    top: 5px;
}
.nav_list {
    width: calc(100% - 520px);
    display: flex;
    padding-left: 97px;
    position: relative;
    margin-top: 115px;
    white-space: nowrap;
}
.nav_list > ul:nth-child(1) {
    width: 163px;
}
.nav_list > ul:nth-child(2) {
    width: 272px;
}
.nav_list > ul:nth-child(3) {
    width: 300px;
}
.nav_list > ul:nth-child(2) > li {
    margin-bottom: 12px;
}
.nav_list li {
    font-size: 14px;
    margin-bottom: 2px;
}
.nav_link {
    padding-left: 13px;
}
.nav_list li.mb01 {
    margin-bottom: 23px;
}
.nav_list ul:nth-child(2) > li.mb02 {
    margin-bottom: 22px;
}
.nav_list ul:nth-child(2) > li.mb03 {}
.nav_list ul:nth-child(2) > li.mb04 {}
.nav_list li .nav_link li a, .nav_list .sub ul li a {
    position: relative;
}
.nav_list li .sub .nav_link li a {
    padding-left: 8px;
    letter-spacing: -0.03em;
}
.nav_list li .nav_link li:not(.nav_link_out) a::before {
    width: 6px;
    height: 6px;
    border-left: 1px #fff solid;
    border-bottom: 1px #fff solid;
    left: 0;
    top: 4px;
}
.nav_list li span, .nav_list li a {
    color: #fff;
    font-weight: 500;
}
.nav_list li .big, .nav_list li .sub_btn.sub_list02 {
    font-weight: 500;
}
.nav_list ul:nth-child(2) li .sub_btn.sub_list01 {
    margin-top: 9px;
    margin-bottom: 2px;
}
.nav_list .sub ul li a {
    padding-left: 15px;
    font-weight: 400;
}
.nav_list .sub ul.sub01 li a::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0 3px 7px;
    border-color: transparent transparent transparent #fff;
    top: calc(50% - 1px);
    left: 3px;
}
.nav_list li.parent {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
}
.nav_list > ul:nth-child(2) li.parent .sub ul li a::before {
    left: 0px;
    top: calc(50% - 3px);
}
.nav_list > ul:nth-child(2) li.parent .sub ul li a {
    letter-spacing: -0.04em;
}
.sub_btn.sub_list02::before, .sub_btn.sub_list03::before, .nav_list .sub ul li a::before, .nav_list li .nav_link li a::before, .nav_list::before {
    position: absolute;
    content: "";
}
.sub_btn.sub_list02, .sub_btn.sub_list03 {
    position: relative;
}
.sub_btn.sub_list03 {
    padding-left: 9px;
    margin-bottom: 1px;
    display: block;
}
.sub_btn.sub_list03::before, .nav_link_round a::before {
    width: 3px;
    height: 3px;
    background: #fff;
    left: 0;
    top: 13px;
    border-radius: 50%;
}
.nav_list .sub ul.nav_link_round li a {
    padding-left: 10px;
    letter-spacing: -0.02em;
}
.nav_link_round a::before {
    top: 9px;
    left: 2px;
}
.nav_link_round.nav_link_out a::before {
    top: 9px;
    left: -9px;
}
.nav_list li .sub .nav_link li.nav_link_out a {
    padding-left: 0px;
    position: relative;
    left: -2px;
}
.nav_list li .sub .nav_link li.nav_link_out a {
    background: url("../images/arrow_up_w.png") no-repeat right top 6px/13px;
    padding-right: 25px;
}
.sub_btn.sub_list02 {
    padding-left: 17px;
    margin-bottom: 2px;
}
.nav_addr p {
    font-size: 14px;
    line-height: 2.14;
    letter-spacing: -0.02em;
}
.nav_addr {
    margin-bottom: 40px;
}
.nav_btn.mb01 {
    margin-bottom: 20px;
}
.nav_btn.mb02 {
    margin-bottom: 60px;
}
.nav_ins {
    margin-bottom: 12px;
}
.nav_addr p:not(:last-child) {
    margin-bottom: 30px;
}
.nav_btn a {
    width: 420px;
    height: 60px;
    border-radius: 30px;
    background: url("../images/arrow_up_ft.png")#fff no-repeat right 25px center/16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
}
.nav_btn a.no-icon{background: #fff}
.nav_txt_l {
    font-size: 14px;
    letter-spacing: -0.035em;
}
.btn_fixed {
    position: fixed;
    width: 290px;
    height: 180px;
    right: 0;
    z-index: 5;
    bottom: 90px;
    transition: all 0.3s;
}
.btn_fixed_close {
    display: block;
    position: absolute;
    width: 30px;
    height: 30px;
    background: url(../images/ic_close.svg) no-repeat center center / 12px auto var(--txt);
    left: -15px;
    top: -15px;
    cursor: pointer;
    transition: all 0.3s;
    z-index: 2;
    border-radius: 50%;
}
.btn_fixed.hide .btn_fixed_close {
    background-image: url(../images/ic_prev_white.svg);
    background-size: 6px auto;
    background-position: center;
}
.btn_fixed.hide {
    right: -270px;
}
/* BACK TO TOP */
.to_top {
    position: fixed;
    z-index: 9;
    width: 60px;
    height: 60px;
    bottom: 10px;
    right: 10px;
    cursor: pointer;
    transition: all .2s;
    opacity: 0;
    visibility: hidden;
    margin-bottom: 0;
}
.to_top.show {
    transform: scale(1);
    opacity: 1;
    visibility: visible
}
