@charset "UTF-8";
@import "base.css";
@import "fonts.css";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,700;1,700&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: 16px;
    -webkit-text-size-adjust: none;
    font-weight: 500;
}
body{-webkit-text-size-adjust:none;min-width:320px;font-family: var(--font-main)}
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;
}

select,
input,
textarea {
    font-family: var(--font-main)
}

table {
    width: 100%
}

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

p,
dd,
dt,
li,
th,
td,
address {
    line-height: 2.1875em;
    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;
    --font-Roboto: "Roboto", sans-serif;
    --txt: #000;
    --mcolor: #171C61;
    --scolor: #1E73BE;
    --site_size: 1330px;
    --gray: #F7F7F7;
    --blue: blue;
    --red: red;

    --tcd-archive-title-font-size-pc: 34px;
    --tcd-archive-title-font-size-sp: 22px;
    --tcd-archive-title-font-type: var(--tcd-font-type2);
    --tcd-font-type1: Arial,"Hiragino Sans","Yu Gothic Medium","Meiryo",sans-serif;
    --tcd-font-type2: "Times New Roman",Times,"Yu Mincho","游明朝","游明朝体","Hiragino Mincho Pro",serif;
    --tcd-font-type3: Palatino,"Yu Kyokasho","游教科書体","UD デジタル 教科書体 N","游明朝","游明朝体","Hiragino Mincho Pro","Meiryo",serif;
}


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

.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;
    max-width: 1920px;
    margin: 0 auto;
}

header.show .h_box {
    box-shadow: 0 0 20px rgb(0, 0, 0, 25%);
}

#logo {
    background: #fff;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 20px rgb(0, 0, 0, 5%);
}

#logo::before {
    position: absolute;
    content: "";
    height: 5px;
    width: 100%;
    background: #B39758;
    top: 0;
    left: 0
}

.h_box {
    width: 100%;
    position: fixed;
    background-color: #fff;
    max-width: 1920px;
    top: 0;
}

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

.h_inner .h_right {
    background: rgb(234 234 234 / 70%);
    display: flex;
    height: 110px;
    align-items: center;
    justify-content: space-between;
}

.h_contact {
    display: flex;
    align-items: center;
    margin-left: 55px;
}

.h_contact>p {
    margin-bottom: 0;
}

.h_contact>p:not(:last-child) {}

.h_contact_mail a {
    padding-bottom: 1px;
    color: #FFF;
    text-align: center;
    background-color: var(--mcolor);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 205px;
    height: 110px;
    position: relative;
    font-family: var(--font-main);
}

.h_contact_mail a span {
    position: relative;
    z-index: 2;
    display: inline-block;
    line-height: 1.52625;
}

.h_contact_mail a span::before {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    left: 0;
    top: calc(50% - 10px);
}

.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_mail2 a {
    background: var(--scolor);
}

/* HAMBUGER BUTTON */
.hamburger {
    font: inherit;
    display: block;
    overflow: visible;
    margin: 0;
    padding: 10px 8px 5px;
    cursor: pointer;
    transition-timing-function: linear;
    transition-duration: .15s;
    transition-property: opacity, filter;
    text-transform: none;
    color: inherit;
    border: 0
}

.hamburger-box {
    position: relative;
    display: inline-block;
    width: 35px;
    height: 24px
}

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

.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before {
    position: absolute;
    width: 28px;
    height: 2px;
    transition: all ease 0.15s;
    background-color: #000
}

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

.hamburger-inner::before {
    top: -10px
}

.hamburger-inner::after {
    bottom: -10px
}

.hamburger--3dxy .hamburger-box {
    perspective: 80px
}

.hamburger--3dxy .hamburger-inner {
    transition: transform .15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0 cubic-bezier(0.645, 0.045, 0.355, 1) .1s
}

.hamburger--3dxy .hamburger-inner::after,
.hamburger--3dxy .hamburger-inner::before {
    transition: transform cubic-bezier(0.645, 0.045, 0.355, 1) .1s
}

.hamburger--3dxy.is_active .hamburger-inner {
    transform: rotateX(180deg) rotateY(180deg);
    background-color: transparent !important
}

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

.hamburger--3dxy.is_active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg)
}

/*SLIDER MENU*/
.content_slider {
    display: flex;
    justify-content: space-between;
    max-width: 930px;
    margin: 0 auto;
    padding: 40px 0 20px
}

.content_slider .item {
    position: relative;
    margin: 0 15px
}

.content_slider .item .img {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 160px;
    margin-bottom: 17px;
}

.content_slider .item .img img {
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.content_slider .item .name,
.content_slider .item .desc {
    line-height: 1.6em;
    color: #fff;
    text-align: center;
    font-family: var(--font-main);
}

.content_slider .item .name {
    font-size: 22px;
    margin-bottom: 17px;
}

.content_slider .item .desc {
    font-size: 14px;
}

.content_slider .slick-list {
    margin: 0 -15px
}

.content_slider .slick-prev,
.content_slider .slick-next {
    top: 40%;
    width: 10px;
    height: 20px
}

.content_slider .slick-prev {
    background: url(../images/ic_prev.svg) center /cover no-repeat;
    transform: rotate(-180deg);
    top: 38%;
    left: -40px;
}

.content_slider .slick-next {
    background: url(../images/ic_prev.svg) center /cover no-repeat;
    right: -35px;
}

.content_slider .slick-prev::before,
.content_slider .slick-next::before {
    opacity: 0
}

.content_slider_post {
    display: flex;
    justify-content: space-between;
    max-width: 930px;
    margin: 0 auto;
    padding: 40px 0 20px
}

.content_slider_post .item {
    position: relative;
    margin: 0 15px
}

.content_slider_post .item .ct_item {
    position: relative;
    z-index: 1;
}

.content_slider_post .item .img {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 195px;
    margin-bottom: 17px;
}

.content_slider_post .item .img img {
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.content_slider_post .item .name,
.content_slider_post .item .desc {
    line-height: 1.6em;
    color: #fff;
    text-align: center;
    font-family: var(--font-main);
}

.content_slider_post .item .name {
    font-size: 14px;
    margin-bottom: 17px;
}

.content_slider_post .item .desc {
    font-size: 14px;
}

.content_slider_post .slick-list {
    margin: 0 -15px
}

.content_slider_post .slick-prev,
.content_slider_post .slick-next {
    top: 40%;
    width: 10px;
    height: 20px
}

.content_slider_post .slick-prev {
    background: url(../images/ic_prev.svg) center /cover no-repeat;
    transform: rotate(-180deg);
    top: 38%;
    left: -40px;
}

.content_slider_post .slick-next {
    background: url(../images/ic_prev.svg) center /cover no-repeat;
    right: -35px;
}

.content_slider_post .slick-prev::before,
.content_slider_post .slick-next::before {
    opacity: 0
}

.c-category {
    z-index: 2;
    position: absolute;
    left: 0;
    top: 0;
    width: calc(100% - 30px);
    font-family: var(--font-main);
    color: #fff;
    padding: 10px;
    background: var(--mcolor);
    line-height: 1.2em;
    z-index: 999999999;
}

.c-category a {
    color: #fff;
    font-size: 12px;
    line-height: 1.2em
}

.nav_list>li>a,
.nav_list>li>.sub_btn,
.sub ul li a {
    font-family: var(--font-main);
}

/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
#index main {
    background: var(--gray);
}

main {
    position: relative;
    padding-top: 207px;
    z-index: 2;
}

.mv {
    position: relative;
    padding: 0;
}

.mv::before {
    position: absolute;
    content: "";
    right: 186px;
    bottom: -147px;
    height: auto;
    width: 514px;
    background: url(../images/user.png) center /cover no-repeat;
    aspect-ratio: 257 / 465;
    z-index: 1;
}

.main_slider .slide_item {
    padding: 0 2.5px
}

.mv_txt {
    position: absolute;
    z-index: 2;
    top: 78px;
    height: auto;
    left: 172px;
}

.mv_txt::before,
.mv_txt::after {
    position: absolute;
    content: "";
    left: 0;
    top: 0
}

.mv_txt::before {
    width: 154px;
    height: 545px;
    background: var(--mcolor);
    left: -109px;
    top: -118px;
    z-index: -1;
}

.mv_txt::after {
    width: 66px;
    height: auto;
    background: url(../images/ic_mv.png) center /cover no-repeat;
    left: -130px;
    top: -21px;
    aspect-ratio: 33 / 28;
}

.mv_txt h2 {
    font-size: 80px;
    font-weight: bold;
    text-align: left;
    font-family: var(--font-main);
    color: #fff;
    letter-spacing: 0.05em;
    margin-bottom: 24px;
}

.mv_txt h2 .txt {
    display: inline-block;
    position: relative;
    padding-bottom: 5px;
}

.mv_txt h2 .txt::before {
    position: absolute;
    content: "";
    height: 6px;
    width: 100%;
    background: #fff;
    left: 0;
    bottom: 0
}

.mv_txt h2 .txt1 {
    margin-bottom: 12px;
}

.mv_txt h2 .txt1::before {
    width: calc(100% - 7px);
}

.mv_txt .txt-b {
    color: #fff;
    font-family: var(--font-main);
}

.mv_txt .txt-b1 {
    font-size: 43px;
    font-weight: bold;
    letter-spacing: 0.025em
}

.mv_txt .txt-b2 {
    font-size: 25px;
    font-weight: bold;
    letter-spacing: 0em;
    position: relative;
    margin: 102px 0 0 -69px;
}

.mv_txt .txt-b2::before {
    position: absolute;
    content: "";
    height: 6px;
    width: 94px;
    background: #fff;
    left: -117px;
    top: 27px;
}

.box_info_user {
    position: absolute;
    right: 70px;
    bottom: 65px;
    z-index: 2;
}

.box_info_user .txt {
    color: #fff;
    font-family: var(--font-main);
}

.box_info_user .txt1 {
    margin-bottom: 13px;
}

.box_info_user .txt1 .txt-ja {
    font-size: 14px;
    font-weight: 400;
    display: block;
    line-height: 1.2em;
}

.box_info_user .txt1 .txt-en {
    font-size: 22px;
    font-weight: bold
}

.box_info_user .txt2 {
    font-weight: bold;
    display: flex;
    align-items: center;
}

.box_info_user .txt-name {
    font-weight: 800;
    font-size: 200%;
    margin-left: 14px;
}

@keyframes zoomImg {
    0% {
        transform: scale(1.2)
    }

    100% {
        transform: scale(1.0)
    }
}

/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl {
    font-weight: bold;
}

.ttl span {
    display: block;
    color: var(--mcolor);
}

.ttl .ja {
    font-size: 46px;
    font-family: var(--font-main);
    font-weight: 800;
    color: var(--mcolor);
    letter-spacing: 0.025em;
}

.ttl .en {
    font-size: 20px;
    font-weight: bold;
    font-family: var(--font-Roboto);
    padding-left: 34px;
    position: relative;
    margin-bottom: 12px;
}

.ttl .en::before {
    position: absolute;
    content: "";
    background: url(../images/ic_title.png) center /cover no-repeat;
    width: 24px;
    aspect-ratio: 6 / 7;
    left: 0;
    top: 0;
    height: auto;
}

/* DEFAUTL NAME BUTTON */
.btn a {
    width: 355px;
    height: 107px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--scolor);
    font-size: 21px;
    color: #fff;
    text-decoration: none;
    font-family: var(--font-main);
    font-weight: bold;
    letter-spacing: 0;
    padding-bottom: 6px;
}

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

section {
    padding: 40px 0;
}

/*==================== SEC01 ===================*/
#SECTION1,#SECTION2{position: relative}
#SECTION1{z-index: 2}
.sec01 {
    padding: 87px 0 0;
    position: relative !important;
    z-index: 999999 !important;
}

.tcdce-body {
    position: relative !important;
    z-index: 999999 !important;
}

.sec01::before {
    position: absolute;
    content: "";
    left: -5px;
    top: 60px;
    background: url(../images/bg_sec01.png) center /cover no-repeat;
    width: 814px;
    height: auto;
    aspect-ratio: 37 / 52;
}

.sec01 .content_sec01_1 .item {
    position: relative;
    z-index: 2
}

.sec01 .content_sec01_1 .item .box_right {
    background: #fff;
    box-shadow: 0 0 50px rgb(0, 0, 0, 5%);
    padding: 95px 10px 94px 100px;
    position: relative;
    z-index: 1;
}

.sec01 .content_sec01_1 .item .desc {
    font-family: var(--font-main);
    color: var(--mcolor);
}

.content_sec01_2 {
    padding: 18px 0 0px 0;
    position: relative;
    z-index: 2;
}

.content_sec01_2 .info_ttl .txt-en {
    font-family: var(--font-Roboto);
    font-weight: bold;
    font-size: 136px;
    color: rgb(23, 28, 97, 10%);
    line-height: 1.2em;
    margin: 0;
    position: relative
}

.content_sec01_2 .info_ttl .txt-en::before,
.content_sec01_2 .info_ttl .txt-en::after {
    position: absolute;
    content: "";
    opacity: 0.4
}

.content_sec01_2 .info_ttl .txt-en::before {
    width: 892px;
    background: var(--mcolor);
    left: -165px;
    height: 1px;
    top: 81px;
}

.content_sec01_2 .info_ttl .txt-en::after {
    width: 6px;
    background: var(--mcolor);
    right: -200px;
    height: 6px;
    top: 78px;
    border-radius: 50%
}

.content_sec01_2 .info_ttl .txt-ja {
    font-family: var(--font-main);
    font-weight: bold;
    font-size: 32px;
    color: var(--mcolor);
}

.sec01 .box_user {
    background: rgb(23, 28, 97, 5%)
}

.sec01 .box_user .box_left {
    position: relative
}

.sec01 .box_user .box_right {
    padding: 55px 50px 50px 0px;
}

.sec01 .box_user .box_left .img_user {
    margin: -86px 0 0 0;
}

.sec01 .box_user .info_user {
    position: absolute;
    bottom: 60px;
    left: 43px;
    z-index: 2
}

.sec01 .box_user .info_user .txt {
    font-family: var(--font-main);
    color: var(--mcolor);
    display: inline-block;
    background: #fff;
    line-height: 1.2em;
    padding: 6px 7px 7px 7px;
}

.sec01 .box_user .info_user .txt1 {
    font-weight: 600;
    margin-bottom: 5px;
}

.sec01 .box_user .info_user .txt-name {
    font-weight: 800;
    font-size: 32px;
    padding: 6px 14px 7px 13px;
}

.sec01 .box_user .box_right .desc {
    color: var(--mcolor);
    font-family: var(--font-main);
}

.sec01 .box_user .box_right .desc1 {
    margin: 0 0 54px 8px;
}

.sec01 .box_user .box_right .box_user1 {
    background: rgb(23, 28, 97, 5%);
    padding: 26px 40px 27px 30px;
}

.sec01 .box_user .box_right .box_user1:not(:last-child) {
    margin-bottom: 10px;
}

.sec01 .box_user .box_right .box_user1 .ttl {
    font-size: 17px;
    color: var(--mcolor);
    font-family: var(--font-main);
}

.sec01 .box_user .box_right .desc2 {
    font-size: 14px;
    line-height: 1.78em;
    padding: 2px 0 0 0;
}

.list li {
    font-family: var(--font-main);
    font-weight: 500;
    font-size: 14px;
    color: var(--mcolor);
    position: relative;
    padding-left: 15px;
    line-height: 1.78em;
}

.list li::before {
    position: absolute;
    content: "・";
    left: 0;
    top: 0;
    color: var(--mcolor);
    font-size: 14px;
    font-weight: 500;
}

.content_sec01_3 {
    background: var(--mcolor);
    padding: 102px 0 84px;
    position: relative;
    z-index: 1;
    margin: -42px 0 0 0;
}

.content_sec01_3::before {
    position: absolute;
    content: "";
    left: calc(50% - 960px);
    width: 100%;
    z-index: -1;
    background: var(--mcolor);
    height: 100%;
    top: 0;
}

.content_sec01_3 .item .ttl-f {
    font-family: var(--font-main);
}

.content_sec01_3 .item .ttl-b {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 14px;
}

.content_sec01_3 .item .ttl-b .txt {
    display: inline-block;
    padding: 4px 5px 5px 5px;
    color: #fff;
    background: var(--scolor);
    margin: 0 3px 0 0;
    line-height: 1em;
}

.content_sec01_3 .item .ttl-b2 {
    color: #fff;
    font-weight: bold;
    font-size: 30px;
    line-height: 1.4em;
    margin-bottom: 15px;
}

.content_sec01_3 .item .ttl-b3 {
    color: #fff;
    font-family: var(--font-main);
    line-height: 1.6875em
}

.content_sec01_3 .box_right .box_book {
    width: 503px;
    background: rgb(30, 115, 190, 32%);
    height: 156px;
    position: relative;
}

.content_sec01_3 .box_right .box_book .tt-book {
    color: #fff;
    font-family: var(--font-main);
    line-height: 1.625em;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    background: rgb(30, 115, 190, 32%);
    width: 169px;
    margin-bottom: 0;
    position: relative;
    padding: 0 0 0 27px;
}

.content_sec01_3 .box_right .box_book .tt-book::before {
    position: absolute;
    content: "";
    right: -36px;
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 80px 0px 80px 36px;
    border-color: transparent transparent transparent rgb(30, 115, 190, 32%);
}

/*==================== SEC02 ===================*/
.sec02 {
    position: relative;
    padding: 208px 0 119px;
    background: var(--gray);
}

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

.sec02::before {
    top: -98px;
    left: 0;
    width: 1920px;
    height: 912px;
    background: url(../images/bg_sec02.jpg) center /cover no-repeat;
}

.sec02::after {
    bottom: -315px;
    right: -11px;
    width: 798px;
    height: auto;
    background: url(../images/bg_sec02_after.png) center /cover no-repeat;
    z-index: 1;
    aspect-ratio: 399 / 422
}

.sec02 .info_ttl {
    margin-bottom: 133px;
}

.sec02 .ttl {
    margin-bottom: 15px;
}

.sec02 .ttl .en,
.sec02 .ttl .ja {
    color: #fff
}

.sec02 .ttl .en::before {
    background: url(../images/ic_title_white.png) center / cover no-repeat;
}

.sec02 .ttl-sec02 {
    color: #fff;
    font-family: var(--font-main);
    font-weight: bold;
    font-size: 30px;
    border-bottom: 2px solid #fff;
    line-height: 1.4em;
    padding-bottom: 11px;
    margin-bottom: 15px;
}

.sec02 .desc-sec02 {
    color: #fff;
    font-family: var(--font-main);
}

.info_sec02 {
    background: #fff;
    padding: 70px 0;
    position: relative;
    z-index: 2;
}

.info_sec02::before {
    background: #fff;
    position: absolute;
    content: "";
    left: -70px;
    width: calc(100% + 140px);
    top: 0;
    height: 100%;
    box-shadow: 0px 0px 50px rgb(0, 0, 0, 5%);
}

.info_sec02 .item {
    position: relative;
    box-shadow: 6px 6px 20px rgb(0, 0, 0, 16%);
}

.info_sec02 .item {
    width: calc((100% - 20px) / 2);
    margin: 0 20px 0 0
}

.info_sec02 .item::before,
.info_sec02 .item::after {
    position: absolute;
    content: "";
    bottom: 0
}

.info_sec02 .item::before {
    background: url(../images/bg_item_sec02.png) center /cover no-repeat;
    width: 100%;
    height: auto;
    aspect-ratio: 320 / 97;
}

.info_sec02 .item::after {
    background: url(../images/ic_btn.jpg) center /cover no-repeat;
    width: 40px;
    height: auto;
    aspect-ratio: 1 / 1;
    right: 0;
    z-index: 1;
}

.info_sec02 .item .img {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    height: 440px;
}

.info_sec02 .item .img img {
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.info_sec02 .item .date,
.info_sec02 .item .name {
    color: #fff;
    font-family: var(--font-main);
    letter-spacing: 0.025em;
    font-weight: 500;
}

.info_sec02 .item .date {
    position: absolute;
    width: 80px;
    height: 80px;
    background: var(--scolor);
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 17px 12px 15px 12px;
    left: 15px;
    top: 15px;
}

.info_sec02 .item .date .year {
    display: block;
    font-size: 14px;
    line-height: 1em;
}

.info_sec02 .item .date .day {
    display: block;
    font-size: 20px;
    line-height: 1.2em;
}

.info_sec02 .item .name {
    position: absolute;
    left: 5px;
    bottom: 38px;
    font-weight: bold;
    font-size: 25px;
    line-height: 1.6em;
    margin-bottom: 0;
    padding: 0 35px;
    letter-spacing: 0;
}

.info_sec02 .item .name .txt {
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

/*==================== SEC03 ===================*/
.sec03 {
    position: relative;
    padding: 0px 0 92px;
    z-index: 2;
}

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

.sec03::before {
    left: -5px;
    top: 48px;
    height: auto;
    background: url(../images/bg_sec03.png) center /cover no-repeat;
    width: 672px;
    aspect-ratio: 84 / 95;
}

.sec03::after {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: var(--gray);
    z-index: -1
}

.sec03 .info_ttl {
    display: flex;
    align-items: flex-end;
    margin-bottom: 43px;
}

.sec03 .view a {
    color: var(--mcolor);
}

.sec03 .view a::before {
    background: var(--mcolor)
}

.sec03 .desc-sec03 {
    font-size: 21px;
    color: var(--mcolor);
    font-weight: bold;
    line-height: 1.9em;
    font-family: var(--font-main);
    margin-bottom: 85px;
}

.sec03 .inner .box_left .img-sec03 {
    position: relative
}

.sec03 .inner .box_left .img-sec03 img {
    box-shadow: 6px 6px 20px rgb(0, 0, 0, 16%);
}

.sec03 .inner .box_right {
    background: #fff;
    padding: 100px 0px 100px 0px;
    position: relative;
    z-index: 1;
}

.sec03 .inner .box_right::before {
    width: 1050px;
    position: absolute;
    content: "";
    right: calc(50% - 673px);
    background: #fff;
    height: 100%;
    top: 0;
    z-index: -1;
    box-shadow: 0px 0px 50px rgb(0, 0, 0, 5%);
}

.box_post {
    background: var(--gray);
    padding: 15px 46px 15px 15px;
    display: flex;
    align-items: center;
    position: relative
}

.box_post::before {
    position: absolute;
    content: "";
    right: 0;
    top: 0;
    height: auto;
    width: auto;
    background: url(../images/ic_btn.jpg) center /cover no-repeat;
    width: 40px;
    aspect-ratio: 1 / 1;
    z-index: 1;
}

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

.box_post .img {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 180px;
    width: 180px;
    margin-right: 40px
}

.box_post .info {
    width: calc(100% - 220px);
    padding: 5px 0 0 0;
}

.box_post .img {
    margin-bottom: 0
}

.box_post .img img {
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.box_post .name .txt {
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.box_post .date,
.box_post .name {
    font-family: var(--font-main);
}

.box_post .date {
    font-size: 14px;
    letter-spacing: 0.025em;
    color: #898989;
    line-height: 1.2em;
    margin-bottom: 14px;
}

.box_post .name {
    font-size: 18px;
    color: var(--mcolor);
    font-weight: bold;
    line-height: 1.67em
}

/*==================== SEC04 ===================*/
.sec04 {
    position: relative;
    padding: 111px 0 85px;
    background: var(--gray);
    z-index: 1;
}

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

.sec04::before {
    left: 0;
    background: #fff;
    height: 100%;
    width: calc(100% - 302px);
    top: 0;
    box-shadow: 0px 0px 50px rgb(0, 0, 0, 5%);
    z-index: 1;
}

.sec04::after {
    right: -9px;
    top: -247px;
    height: auto;
    background: url(../images/bg_sec04.png) center /cover no-repeat;
    width: 798px;
    aspect-ratio: 399 / 422;
}

.sec04 .info_ttl {
    display: flex;
    align-items: flex-end;
    margin-bottom: 67px;
    z-index: 2;
    position: relative;
}

.sec04 .ttl .ja {
    font-weight: bold
}

.sec04 .ttl .txt-small {
    font-size: 71.8%;
    letter-spacing: 0.02em;
    margin-bottom: -5px;
}

.sec04 .view a {
    color: var(--mcolor);
}

.sec04 .view a::before {
    background: var(--mcolor)
}

.info_sec04 {
    display: flex;
    position: relative;
    z-index: 1;
}

.info_sec04 .item {
    width: calc((100% - 40px) / 3);
    margin: 0 20px 0 0;
    position: relative
}

.info_sec04 .item .img {
    margin-bottom: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 150px
}

.info_sec04 .item .img img {
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.info_sec04 .item .date,
.info_sec04 .item .name {
    font-family: var(--font-main);
}

.info_sec04 .item .date {
    font-size: 14px;
    line-height: 1.3em;
    color: #898989;
    margin-bottom: 5px;
    letter-spacing: 0.025em;
}

.info_sec04 .item .name {
    font-weight: bold;
    line-height: 1.5625;
    color: var(--mcolor);
}

.info_sec04 .item .name .txt {
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.item_big {
    position: relative;
    z-index: 2;
}

.item_big::before {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    height: auto;
    width: 100%;
    background: url(../images/bg_item_big.png) center /cover no-repeat;
    aspect-ratio: 620 / 151;
}

.item_big .img {
    margin-bottom: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 350px
}

.item_big .img img {
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.item_big .info {
    position: absolute;
    bottom: 29px;
    left: 31px;
    padding: 0 30px 0 0;
}

.item_big .date,
.item_big .name {
    font-family: var(--font-main);
    color: #fff;
}

.item_big .date {
    font-size: 14px;
    line-height: 1.3em;
    margin-bottom: 10px;
    letter-spacing: 0.025em;
}

.item_big .name {
    font-weight: bold;
    line-height: 1.5625;
    font-size: 18px;
}

.item_big .name .txt {
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

/*==================== SEC05 ===================*/
.sec05 {
    padding: 103px 0 86px;
    background: var(--gray);
    position: relative
}

.sec05 .info_sec05 {
    display: flex;
    justify-content: center
}

.sec05 .info_sec05 .item {
    margin: 0 98px;
    position: relative;
}

.sec05 .info_sec05 .item::before {
    position: absolute;
    content: "";
    right: -195px;
    background: #C4C4C4;
    top: -103px;
}

.sec05 .info_sec05 .item1::before {
    width: 1px;
    height: calc(100% + 189px);
}

.sec05 .info_sec05 .item .txt-en {
    font-family: var(--font-Roboto);
    font-weight: bold;
    color: #A7A7A7;
    margin-bottom: 2px;
    text-align: center;
    line-height: 1.3em;
}

.sec05 .info_sec05 .item .tt {
    font-family: var(--font-main);
    font-weight: 800;
    color: var(--mcolor);
    font-size: 32px;
    margin-bottom: 1px;
    text-align: center;
}

.sec05 .info_sec05 .item .tt .txt {
    position: relative;
    padding-right: 64px;
}

.sec05 .info_sec05 .item .tt .txt::after {
    position: absolute;
    content: "";
    right: 0;
    top: 3px;
    height: auto;
    background: url(../images/ic_btn.jpg) center /cover no-repeat;
    width: 40px;
    aspect-ratio: 1 / 1;
    z-index: 1;
}

.sec05 .info_sec05 .item .desc {
    font-family: var(--font-main);
    font-weight: bold;
    color: var(--mcolor);
    line-height: 1.75em;
    text-align: center;
}

/*==================== SEC06 ===================*/
.sec06 {
    position: relative;
    padding: 114px 0 90px;
}

.sec06::before {
    position: absolute;
    content: "";
    width: 39500px;
    height: 100%;
    left: 0;
    z-index: -1;
    background: url(../images/bg_sec06.jpg) left center repeat;
    top: 0;
    animation: river 600s linear forwards infinite;
}
@keyframes river{0%{left: 0}100%{left: -39500px}}
.sec06 .tt-1 {
    font-family: var(--font-main);
    font-weight: bold;
    font-size: 21px;
    color: #fff;
    margin-bottom: 14px;
}

.sec06 .ttl {
    margin-bottom: 47px
}

.sec06 .ttl .ja {
    color: #fff;
    line-height: 1.76em;
    letter-spacing: 0;
    font-weight: bold;
}

.sec06 .desc-sec06 {
    font-family: var(--font-main);
    color: #fff;
    line-height: 2.5em
}

/*==================== SEC07 ===================*/
.sec07 {
    padding: 103px 0 100px;
    position: relative
}

.sec07::before {
    position: absolute;
    content: "";
    background: #fff;
    left: 0;
    top: 0;
    width: 100%;
    z-index: -1;
    height: 356px;
}

.sec07 .inner {
    width: 1130px
}

.sec07 .view a {
    color: var(--mcolor);
}

.sec07 .view a::before {
    background: var(--mcolor)
}

.tabs {
    width: 100%;
}

.tab-nav {
    display: flex;
    padding: 0;
    margin: 0 auto 70px auto;
    align-items: center;
    justify-content: center;
    max-width: 1070px;
}

.tab-nav li {
    padding: 25px 30px 24px 30px;
    cursor: pointer;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: var(--mcolor);
    background: #EFEFEF;
    font-family: var(--font-main);
    letter-spacing: 0;
}

.tab-nav li:last-child {}

.tab-nav li.active {
    background: var(--gray);
    pointer-events: none
}

.tab-nav li.active::before,
.tab-nav .item3::before {
    display: none
}

.tab-content {
    padding: 0;
}

.tab-pane {
    display: none;
}

.tab-pane.active {
    display: block;
}

.info_sec07 {
    display: flex
}

.sec07 .info_ttl {
    margin-bottom: 58px;
}

.info_sec07 .item {
    width: calc((100% - 50px) / 3);
    margin: 0 25px 0 0;
    position: relative;
    background: #fff;
    box-shadow: 0px 0px 20px rgb(0, 0, 0, 5%);
}

.info_sec07 .item .img {
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px
}

.info_sec07 .item .img img {
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.info_sec07 .item .info {
    padding: 27px 30px 28px 30px;
}

.info_sec07 .item .name,
.info_sec07 .item .desc {
    font-family: var(--font-main);
}

.info_sec07 .item .date {
    color: #898989;
    font-size: 12px;
    margin-bottom: 2px;
    font-family: var(--font-main);
}

.info_sec07 .item .name {
    font-weight: bold;
    color: var(--mcolor);
    line-height: 1.625em;
    margin-bottom: 10px;
    border-bottom: 1px solid #E8E8E8;
    padding-bottom: 19px;
}

.info_sec07 .item .desc {
    color: var(--mcolor);
    line-height: 1.666em;
    font-size: 12px;
}

.info_sec07 .item .name .txt {
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

/*==================== SEC08 ===================*/
.sec08 {
    padding: 166px 0 165px;
    position: relative;
    background: var(--gray);
}

.sec08::before {
    position: absolute;
    content: "";
    right: 0;
    background: var(--mcolor);
    width: calc(100% - 123px);
    top: 0;
    height: 100%;
}

.sec08 .info_sec08 {
    position: relative
}

.sec08 .info_sec08::before {
    position: absolute;
    content: "";
    left: -90px;
    background: url(../images/bg_sec08.png) center /cover no-repeat;
    width: 770px;
    top: -166px;
    height: auto;
    aspect-ratio: 385 / 344;
}

.sec08 .info_sec08 .ttl {
    margin-bottom: 21px
}

.sec08 .info_sec08 .ttl .ja {
    color: #fff;
    font-size: 38px;
    line-height: 1.71em;
    font-weight: bold;
}

.sec08 .desc-sec08 {
    color: #fff;
    font-family: var(--font-main);
    line-height: 2.5em;
    letter-spacing: 0;
    padding: 0 0px 0 0;
}

/*==================== SEC09 ===================*/
.sec09 {
    position: relative;
    padding: 114px 0 131px;
}

.sec09::before,
.sec09::after,
.sec09 .info_sec09::before,
.sec09 .info_sec09::after {
    position: absolute;
    content: "";
    height: auto
}

.sec09::before {
    left: -7px;
    top: 90px;
    background: url(../images/bg_sec09_before.png) center /cover no-repeat;
    width: 410px;
    aspect-ratio: 205 / 322;
}

.sec09::after {
    right: -8px;
    top: 114px;
    background: url(../images/bg_sec09_after.png) center /cover no-repeat;
    width: 410px;
    aspect-ratio: 205 / 277;
}

.sec09 .ttl .ja {
    font-weight: bold
}

.sec09 .info_sec09 {
    width: 750px;
    background: #fff;
    padding: 100px 100px 96px 100px;
}

.sec09 .info_sec09::before {
    right: 212px;
    top: -114px;
    background: url(../images/bg_sec09_before1.png) center /cover no-repeat;
    width: 604px;
    aspect-ratio: 302 / 201;
    z-index: -1;
}

.sec09 .info_sec09::after {
    right: 299px;
    bottom: -131px;
    background: url(../images/bg_sec09_after1.png) center /cover no-repeat;
    width: 355px;
    aspect-ratio: 355 / 268;
    z-index: -1;
}

.sec09 .ttl {
    margin-bottom: 33px
}

.sec09 .view a {
    color: var(--mcolor);
}

.sec09 .view a::before {
    background: var(--mcolor)
}

.sec09 .desc-sec09 {
    font-family: var(--font-main);
    color: var(--mcolor);
    margin-bottom: 21px
}

.view {
    color: #fff;
    font-weight: bold;
    font-family: var(--font-Roboto);
    font-size: 26px;
}

.view a {
    color: #fff;
    position: relative;
    padding-bottom: 8px;
}

.view a::before {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    width: 100%;
    height: 5px;
    background: #fff;
    transition: all ease 0.3s;
}

.full_hover {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 45;
}

/*==========================================================
                        F O O T E R
==========================================================*/
footer {
    position: relative;
    z-index: 3;
    background: var(--gray);
}

.ft_top {
    padding: 105px 0 55px;
}

.ft_top .inner {
    width: 1130px
}

.ft_info_add {
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 14px;
    line-height: 1.785em;
    color: var(--mcolor);
}

/* FOOTER INFORMATION */
.ft_info {
    display: flex;
    justify-content: space-between;
}

/* FOOTER LINK */
.ft_link .inner {
    width: 1130px
}

.ft_link ul {
    background: #fff;
    padding: 26px 40px 22px 44px;
    margin-bottom: 60px;
}

.ft_link ul li {
    display: inline-block;
    margin: 0 22px 0 0;
}

.ft_link ul li:last-child {
    margin-right: 0
}

.ft_link ul li>a {
    position: relative;
    color: var(--mcolor);
    font-family: var(--font-main);
}

address {
    text-align: center;
    background-color: var(--mcolor);
    color: #fff;
    font-size: 14px;
    padding: 22px 0;
    font-family: var(--font-main);
    font-weight: 400;
}

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

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

@-moz-document url-prefix() {
    .sec08 .desc-sec08 {
        letter-spacing: -0.01em
    }
}



/*
===================
CONTROL RENEW
===================
 */

.renew_page.home .l-footer,
.renew_page .l-header,
.renew_page .p-footer-info,
.renew_page .p-footer-nav,
.renew_page .p-footer-copyright,
.renew_page.page-id-59 .l-sidebar,
.renew_page .screen-reader-text{display: none !important;}

.renew_page.blog .tcdce-body{font-size: 15px;}
.renew_page .c-breadcrumb__list{font-size: 10px;}

/*.renew_page main.l-main{padding-top: 0;}*/
.renew_page aside:empty{display: none;}
.renew_page.home main.l-main{padding-bottom: 0}
.renew_page main.l-main{max-width: 1920px;margin: 0 auto;overflow: hidden;}
/*==========================================================
                        T A B L E
==========================================================*/
.under{width: 100%;}
.under table{margin-bottom: 30px;}
.under table th{font-size: 16px;font-weight: bold;padding: 10px;}
.under table td{padding: 10px;font-size: 16px;}
.under table td:first-child{width: 25%;}
.under table img{display:block;margin:auto;}


/*
===================
PAGE LIVE ONLY
===================
 */

.renew_page .p-cb-item{position: relative;}
#section-96{z-index: 2;}
.home.page .p-cb-header{display: none;}