/* ------------------------------------------------------
content
------------------------------------------------------ */
.pages #content .section:not(:last-child) {
    padding: 0 0px 55px 0;
}

.pages #content .section .section {
    padding-top: 30px;
}

.pages #content .section p:last-child {
    margin-bottom: 0;
}

.pages .contents_detail {
    letter-spacing: 0.1em;
    line-height: 2.25;
}

.pages .contents_detail p {
    letter-spacing: 0.1em;
}

.pages .contents_detail p:not(:last-child) {
    margin-bottom: 36px;
}

.pages .contents_detail a {
    text-decoration: underline;
}

.pages .contents_detail .hasimg {
    line-height: 0;
}

.pages .contents_detail ul li,
.pages .contents_detail ol li {
    list-style: inherit;
    margin-left: 15px;
}

.pages .contents_detail .wp-block-image {
    margin-bottom: 47px;
}

.pages .section_bg {
    background: url(../images/common/section_bg.jpg);
    background-position: center top;
    background-size: cover;
}

/* ------------------------------------------------------
h3 h4 h5 h6
------------------------------------------------------ */
.pages h3.pages_mainttl {
    font-family: var(--KaiseiOpti-font);
    font-size: 46px;
    font-weight: 400;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 40px;
}

.pages h3,
.pages h4,
.pages h5,
.pages h6 {
    font-weight: 700;
}

/* ------------------------------------------------------
p_mainvisual
------------------------------------------------------ */
.pages #p_mainvisual {
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: flex-end;
    background-image: url(../images/common/under_mv_bg.jpg);
    background-position: center top;
    background-size: cover;
    position: relative;
    overflow: hidden;
}

.pages #p_mainvisual .inner {
    width: 100%;
    max-width: 100%;
    padding: 0 135px 95px;
    z-index: 2;
}

.pages #p_mainvisual h2 {
    font-family: var(--KaiseiOpti-font);
    font-size: 80px;
    font-weight: 400;
    letter-spacing: 0.05em;
    text-shadow: -5px 5px 10px rgba(255, 255, 255, 0.8);
    opacity: 0;
}

.pages #p_mainvisual h2 .char {
    display: inline-block;
    transform: scale(var(--scale, 0));
    opacity: var(--opacity, 0);
    transition: opacity .5s cubic-bezier(0.165, 0.84, 0.44, 1), transform .5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-delay: calc(0.03s * var(--char-index));
}

.pages #p_mainvisual h2.is-active {
    --opacity: 1;
    --scale: 1;
    opacity: 1;
}

.pages #p_mainvisual .fv_slogan {
    width: 100%;
    max-width: 100px;
    position: absolute;
    top: 54%;
    right: 17.2%;
    transform: translateY(-50%);
}

.pages #p_mainvisual .fv_cover {
    width: 43.421vw;
    height: 25.368vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.pages #p_mainvisual .fv_cover figure {
    width: 100%;
    height: 100%;
    overflow: hidden;
    clip-path: polygon(15% 15%, 85% 15%, 85% 85%, 15% 85%);
}

.pages #p_mainvisual .fv_cover figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ------------------------------------------------------
topic_path
------------------------------------------------------ */
.pages #topic_path ul {
    display: flex;
}

.pages #topic_path li {
    display: inline-block;
    font-weight: 500;
    letter-spacing: 0.1em;
    white-space: nowrap;
    position: relative;
}

.pages #topic_path li::after {
    display: inline-block;
    content: '';
    background: url(../images/common/icon_breadcrumb.png) no-repeat;
    background-size: contain;
    width: 10px;
    height: 10px;
    margin: 0 7px;
    position: relative;
    top: -1px;
}

.pages #topic_path li:last-child {
    text-align: justify;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
}

.pages #topic_path li:last-child::after {
    display: none;
}

.pages #topic_path li a {
    letter-spacing: 0.1em;
}

.pages #topic_path li a:hover {
    text-decoration: none;
}

/* ------------------------------------------------------
table
------------------------------------------------------ */
.pages table {
    margin-bottom: 45px;
}

.pages table th,
.pages table td {
    line-height: 1.75;
    letter-spacing: 0.05em;
    padding: 23px 19px 22px;
    border-bottom: 2px solid #faa9cb;
}

.pages table th {
    font-size: 20px;
    font-weight: 700;
    text-align: left;
    vertical-align: top;
}

.pages table td {
    font-weight: 500;
}

.pages table.td_top td {
    vertical-align: top;
}

.pages table.td_center td {
    text-align: center;
}

.pages table.tb_fix {
    table-layout: fixed;
}

.pages #content table:last-child {
    margin-bottom: 0;
}

.pages table td a {
    text-decoration: underline;
}

.pages table td ol li,
.pages table td ul li {
    list-style: inherit;
    margin-left: 15px;
}

.pages table.tb_block th {
    width: 20.2%;
}

.pages table.tb_block td a {
    color: #ffb1d4;
    font-weight: 700;
}

/*-----txt_note-----*/
.pages .txt_note {
    display: none;
}

.pages .txt_bold {
    font-weight: 700;
}

.pages .tb_catcher dl {
    display: flex;
    gap: 10px;
    padding: 34px 0 26px;
    position: relative;
}

.pages .tb_catcher dl::after {
    position: absolute;
    content: '';
    background: url(../images/common/tb_line.png) repeat-x;
    width: 100%;
    height: 4px;
    bottom: 0;
    left: 0;
}

.pages .tb_catcher dl dt {
    width: 100%;
    max-width: 330px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 0 15px;
}

.pages .tb_catcher dl dd {
    width: 100%;
    font-weight: 500;
    padding-top: 5px;
    padding: 5px 15px 0;
    flex: 1;
}

/* ------------------------------------------------------
under list
------------------------------------------------------ */
.pages .list01 li {
    margin-bottom: 22px;
    padding-left: 35px;
    position: relative;
}

.pages .list01 li::before {
    position: absolute;
    content: "";
    width: 20px;
    height: 3px;
    background: #1e3c72;
    top: 9px;
    left: 0;
}

.pages .list_check li {
    margin-bottom: 22px;
    padding-left: 35px;
    position: relative;
}

.pages .list_check li::before {
    position: absolute;
    content: "";
    width: 7px;
    height: 12px;
    border: solid #1e3c72;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    display: inline-block;
    top: 8px;
    left: 0;
}

.pages .list01:last-child,
.pages .list01 li:last-child,
.pages .list_check:last-child,
.pages .list_check li:last-child {
    margin-bottom: 0px;
}

/* ------------------------------------------------------
under frame
------------------------------------------------------ */
.pages .frame01 {
    background: rgba(255, 211, 216, 0.3);
    padding: 25px 30px 25px;
    margin: 0 auto 30px;
    border-radius: 10px;
    box-sizing: border-box;
}

.pages .frame01:last-child {
    margin: 0 auto;
}

/* ------------------------------------------------------
under_step
------------------------------------------------------ */
.pages .under_step dl {
    margin-bottom: 60px;
}

.pages .under_step dl:last-child {
    margin-bottom: 0px;
}

.pages .under_step dl dt {
    font-size: 18px;
    color: #fff;
    background: #e06277;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border: 2px solid #e06277;
    padding: 10px 20px 5px;
    box-sizing: border-box;
}

.pages .under_step dl dt span {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    margin-right: 5px;
}

.pages .under_step dl dd {
    display: flex;
    align-items: center;
    border: 2px solid #e06277;
    padding: 20px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}

.pages .under_step dl:nth-child(odd) dd {
    flex-direction: row-reverse;
}

.pages .under_step dl dd .step_img {
    flex-shrink: 0;
    padding-left: 40px;
    margin-bottom: 0 !important;
    box-sizing: border-box;
}

.pages .under_step dl:nth-child(even) dd .step_img {
    padding: 0 40px 0 0;
}

/* ------------------------------------------------------
qa_dl
------------------------------------------------------ */
.pages .qa_dl dl {
    padding-left: 80px;
    padding-bottom: 60px;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
}

.pages .qa_dl dl:after {
    position: absolute;
    z-index: -1;
    left: 25px;
    top: 0;
    height: 100%;
    width: 1px;
    content: '';
    display: block;
    border-left: rgba(119, 119, 119, 0.30) 1px dotted;
}

.pages .qa_dl dl:last-child {
    padding-bottom: 0;
}

.pages .qa_dl dl dt,
.pages .qa_dl dl dd {
    position: inherit;
    z-index: 1;
}

.pages .qa_dl dl dt span,
.pages .qa_dl dl dd span {
    position: absolute;
    z-index: 1;
    left: -80px;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    color: #fff;
    font-size: 18px;
}

.pages .qa_dl dl dt {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    color: #00478A;
    min-height: 50px;
    display: flex;
    align-items: center;
    line-height: 1.4em;
}

.pages .qa_dl dl dd {
    padding: 30px;
    background: rgba(109, 178, 216, 0.15);
}

/* ------------------------------------------------------
under_bnr
------------------------------------------------------ */
.pages .under_bnr_full {
    background: url(../images/under_btn_bg.jpg) no-repeat center;
    background-size: cover;
    width: 700px;
    height: 150px;
    border-radius: 8px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.25);
    margin: 0 auto;
    transition: all 0.25s linear;
}

.pages .under_bnr_full a {
    font-size: 18px;
    line-height: 1.6;
    color: #fff;
    width: 100%;
    height: 100%;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 .5em;
}

/* ------------------------------------------------------
others
------------------------------------------------------ */
.pages .center {
    margin-bottom: 35px;
}

.pages .image_l {
    margin: 0 40px 15px 0;
}

.pages .image_r {
    margin: 0 0 15px 40px;
}

.pages .a_hover:hover {
    text-decoration: none;
}

.pages .wp-pagenavi {
    display: flex;
    justify-content: center;
    flex-flow: row wrap;
    margin-top: 99px;
}

.pages .wp-pagenavi span,
.pages .wp-pagenavi a {
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--Lato-font);
    font-size: 20px;
    font-weight: 700;
    color: var(--white-color);
    text-align: center;
    border-radius: 50%;
    border: 2px solid var(--white-color);
    background: #faa9cb;
    margin: 0 5px 10px;
    position: relative;
}

.pages .wp-pagenavi a,
.pages .wp-pagenavi a:link,
.pages .wp-pagenavi a:visited {
    transition: all .3s ease;
    position: relative;
}

.pages .wp-pagenavi .current {
    color: #faa9cb;
    background: var(--white-color);
    border: 2px solid var(--white-color);
    position: relative;
}

.pages .wp-pagenavi a.previouspostslink,
.pages .wp-pagenavi a.nextpostslink {
    width: auto;
    height: auto;
    flex-direction: column;
    font-weight: 300;
    background: transparent;
    border: 0;
}

.pages .wp-pagenavi a.previouspostslink::before,
.pages .wp-pagenavi a.nextpostslink::before {
    content: '';
    display: block;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-image: url(../images/common/btn_iconarrow03.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px 10px;
    background-color: var(--white-color);
    margin: -2px 0 2px;
}

.pages .wp-pagenavi a.nextpostslink {
    margin-left: 110px;
    margin-right: 0;
}

.pages .wp-pagenavi a.previouspostslink {
    margin-right: 110px;
    margin-left: 0;
}

.pages .wp-pagenavi a.previouspostslink::before {
    transform: rotate(180deg);
}

.pages .wp-pagenavi .pages,
.pages .wp-pagenavi .first,
.pages .wp-pagenavi .last {
    display: none;
}

.pages .media_back {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.pages .media_back li {
    width: calc(100% / 3);
}

.pages .media_back li a {
    color: #faa9cb;
}

.pages .media_back li:not(.special-btn) .btn_primary .txt {
    font-size: 20px;
    font-weight: 700;
}

.pages .media_back li.prev-btn .btn_primary .circle {
    transform: rotate(180deg) scale(1);
}

.pages .media_back li.next-btn {
    text-align: right;
}

.pages .media_back li.special-btn a {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 300;
}

.txt_effect {
    filter: blur(5px);
    transition: all .8s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.txt_effect.is-active {
    filter: blur(0);
}

/*----- under_banner ------*/
.pages #under_banner {
    padding: 0 10px;
    position: relative;
    z-index: 1;
}

.pages #under_banner .under_banner_list {
    display: flex;
    gap: 10px;
}

.pages #under_banner .banner_item {
    width: calc((100% - 20px) / 3);
    height: 48.211vw;
    max-height: 916px;
    border: 1px solid var(--white-color);
}

.pages #under_banner .banner_item a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 154px 0 90px;
    position: relative;
    transition: all .3s cubic-bezier(.15, 0, .25, 1);
}

.pages #under_banner .banner_item a::before {
    position: absolute;
    content: '';
    background-position: center top;
    background-size: cover;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    transition: all .8s cubic-bezier(.15, 0, .25, 1);
}

.pages #under_banner .banner_item .under_banner_title {
    font-family: var(--KaiseiOpti-font);
    font-size: 60px;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 0;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.pages #under_banner .banner_item .btn_primary .btn_hover {
    display: inline-flex;
    align-items: center;
    gap: 36px;
}

.pages #under_banner .banner_item .btn_primary .txt {
    font-size: 40px;
}

.pages #under_banner .banner_item .btn_primary .circle {
    width: 58px;
    height: 58px;
    border: 1px solid #faa9cb;
    transition: all .3s cubic-bezier(.15, 0, .25, 1);
}

.pages #under_banner .banner_item .btn_primary .circle .icon {
    background: url(../images/common/btn_iconarrow02.png) no-repeat;
    background-size: contain;
    width: 18px;
    height: 12px;
}

.pages #under_banner .banner_item figure {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    transition: all .8s cubic-bezier(.15, 0, .25, 1);
}

.pages #under_banner .banner_item figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages #under_banner .banner_item:nth-child(1) a::before {
    background-image: url(../images/common/under_bnr_bg01.jpg);
}

.pages #under_banner .banner_item:nth-child(2) a::before {
    background-image: url(../images/common/under_bnr_bg02.jpg);
}

.pages #under_banner .banner_item:nth-child(3) a::before {
    background-image: url(../images/common/under_bnr_bg03.jpg);
}

/* ------------------------------------------------------
p_guide
------------------------------------------------------ */
.pages #guide_intro {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.pages #guide_intro .guide_intro_wrap {
    width: 100%;
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
}

.pages #guide_intro .virtual_cover,
.pages #guide_intro .guide_intro_cover {
    width: 44.947vw;
}

.pages #guide_intro .guide_intro_cover {
    height: 100vh;
    position: fixed;
    top: 0;
    right: 0;
    z-index: -2;
}

.pages #guide_intro .guide_intro_cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages #guide_intro .guide_intro_component {
    width: 100%;
    flex: 1;
    position: relative;
}

.pages #guide_intro .pages_mainttl {
    margin-bottom: 0;
    position: absolute;
    top: 14.947vh;
    left: 175px;
}

.pages #guide_intro .special_panel {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: all 1s cubic-bezier(0.475, 0.425, 0, 0.995);
    pointer-events: none;
}

.pages #guide_intro .special_panel.is-active {
    opacity: 1;
    visibility: visible;
    transition: all 1s cubic-bezier(0.475, 0.425, 0, 0.995);
}

.pages #guide_intro .special_panel .special_frame {
    width: 100%;
    height: 100vh;
    padding: 30.947vh 3% 0 175px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.pages #guide_intro .special_panel .special_component {
    width: 100%;
    max-width: 600px;
}

.pages #guide_intro .special_panel .special_title {
    font-size: 20px;
    letter-spacing: 0.05em;
    margin-bottom: 2vh;
}

.pages #guide_intro .special_panel .special_txt {
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.75;
}

.pages #guide_intro .guide_intro_btn {
    width: 100%;
    max-width: 455px;
    display: flex;
    justify-content: space-between;
    gap: 25px;
    position: absolute;
    top: 72vh;
    left: 175px;
}

.pages #guide_intro .guide_intro_btn .btn_primary {
    margin: 0 0;
}

.pages #guide_intro .guide_intro_btn .btn_primary .txt {
    font-size: 24px;
    font-weight: 700;
    color: #faa9cb;
}

.pages #guide_intro .virtual_group {
    pointer-events: none;
}

.pages #guide_intro .virtual_layer {
    width: 100%;
    height: 100vh;
}

.pages .p_guide .section_bg {
    padding-bottom: 370px;
}

.pages #guide_overview {
    padding: 141px 0 113px;
}

.pages #guide_overview .inner {
    max-width: 1280px;
}

.pages #guide_overview .pages_mainttl {
    margin-bottom: 48px;
}

.pages #guide_gallery {
    width: 100%;
    display: flex;
    gap: 0.632vw;
    padding: 0 35px;
}

.pages #guide_gallery .w_half {
    width: calc((100% - 0.632vw) / 2);
    height: 36.316vw;
}

.pages #guide_gallery .w_half:nth-child(2) {
    display: flex;
    flex-direction: column;
    gap: 0.474vw;
}

.pages #guide_gallery .h_half {
    height: calc((100% - 0.474vw) / 2);
}

.pages #guide_gallery figure {
    width: 100%;
    height: 100%;
    border: 1px solid var(--white-color);
}

.pages #guide_gallery figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages #guide_access {
    width: 100%;
    padding: 0 35px;
    margin-top: -345px;
    position: relative;
}

.pages #guide_access::after {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: var(--white-color);
    top: 0;
    left: 0;
    z-index: -1;
}

.pages #guide_access .guide_access_map {
    width: 100%;
    height: 45.2vw;
    max-height: 678px;
    border: 1px solid var(--white-color);
}

.pages #guide_access .guide_access_map iframe {
    width: 100%;
    height: 100%;
}

#guide #footer {
    background: var(--white-color);
}

/* ------------------------------------------------------
p_recruit
------------------------------------------------------ */
.pages #recruit_intro {
    overflow: hidden;
}

.pages #recruit_intro .headline {
    width: 50%;
    padding-top: 159px;
    margin-bottom: -269px;
    position: relative;
    z-index: 1;
}

.pages #recruit_intro .recruit_intro_title {
    font-family: var(--KaiseiOpti-font);
    font-size: 32px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.75;
    text-align: center;
}

.pages #recruit_intro .recruit_intro_wrap {
    display: flex;
}

.pages #recruit_intro .recruit_intro_cover {
    width: 50%;
    height: 91.602vw;
    max-height: 938px;
    overflow: hidden;
}

.pages #recruit_intro .cover_image {
    width: 100%;
    height: 100%;
    position: relative;
    top: 159px;
}

.pages #recruit_intro .recruit_intro_cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages #recruit_intro .recruit_intro_frame {
    width: 50%;
    display: flex;
    align-items: flex-end;
    padding-left: 134px;
    padding-bottom: 43px;
}

.pages #recruit_intro .recruit_intro_component {
    width: 100%;
    max-width: 600px;
}

.pages #recruit_intro .recruit_intro_txt {
    font-weight: 500;
    line-height: 1.75;
    margin-bottom: 94px;
}

.pages #recruit_intro .recruit_benefits {
    width: 100%;
    max-width: 495px;
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 128px;
}

.pages #recruit_intro .recruit_benefits li {
    width: 100%;
    max-width: 117px;
    text-align: center;
}

.pages #recruit_intro .recruit_benefits li h4 {
    letter-spacing: 0.05em;
    color: #faa9cb;
    margin-top: 8px;
}

.pages #recruit_intro .recruit_intro_btn {
    width: 100%;
    max-width: 415px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.pages #recruit_intro .recruit_intro_btn a {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #faa9cb;
}

.pages #recruit_intro .recruit_intro_btn .btn_primary .txt {
    font-size: 20px;
    font-weight: 700;
}

.pages #recruit_intro .recruit_intro_btn .anchor_link {
    margin: 0 0;
}

.pages #recruit_intro .recruit_intro_btn .anchor_link i {
    display: inline-block;
    background: url(../images/recruit/icon_arrow_down.png) no-repeat;
    background-size: contain;
    width: 9px;
    height: 15px;
    margin-left: 12px;
}

.pages #recruit_overview {
    padding: 133px 0 149px;
    position: relative;
}

.pages #recruit_overview::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: url(../images/recruit/recruit_overview_bg.jpg);
    background-position: center top;
    background-size: cover;
    top: 0;
    left: 0;
}

.pages #recruit_overview .inner {
    max-width: 1280px;
}

.pages #recruit_overview .pages_mainttl {
    margin-bottom: 49px;
}

/* ------------------------------------------------------
p_support
------------------------------------------------------ */
.pages .p_support #content {
    background: url(../images/support/support_intro_bg.jpg) no-repeat;
    background-size: 100% auto;
    background-position: center top;
}

.pages #support_intro {
    padding: 180px 0 50px;
}

.pages #support_intro .support_intro_title {
    font-family: var(--KaiseiOpti-font);
    font-size: 30px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 53px;
}

.pages #support_intro .support_intro_des {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.9;
    text-align: center;
}

.pages #support_intro .support_intro_des p:not(:last-child) {
    margin-bottom: 37px;
}

.pages #support_overview {
    padding: 85px 0 233px;
}

.pages #support_overview .inner {
    max-width: 1300px;
}

.pages #support_overview .overview_card {
    margin-bottom: 95px;
}

.pages #support_overview .overview_card:last-child {
    margin-bottom: 0;
}

.pages #support_overview .card_title {
    font-family: var(--KaiseiOpti-font);
    font-size: 30px;
    font-weight: 400;
    margin-bottom: 35px;
}

.pages #support_overview .card_title span {
    display: inline-block;
    position: relative;
    z-index: 1;
}

.pages #support_overview .card_title span::before {
    position: absolute;
    content: '';
    background: url(../images/support/card_title_bg.png) no-repeat;
    background-size: cover;
    background-position: right;
    width: calc(100% + 150px);
    height: 100%;
    top: 0;
    left: -23px;
    z-index: -1;
}

.pages #support_overview .card_wrap {
    display: flex;
    justify-content: space-between;
    gap: 50px;
}

.pages #support_overview .card_component {
    width: 100%;
    flex: 1;
}

.pages #support_overview .card_subtitle {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.9;
    margin-bottom: 21px;
}

.pages #support_overview .card_subtitle:last-child {
    margin-bottom: 0;
}

.pages #support_overview .card_des {
    font-weight: 500;
    line-height: 2.35;
}

.pages #support_overview .card_des p:not(:last-child) {
    margin-bottom: 40px;
}

.pages #support_overview .card_des pre {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 20px;
}

.pages #support_overview .card_image {
    width: 38.96vw;
    max-width: 487px;
    height: 24.4vw;
    max-height: 305px;
}

.pages #support_overview .card_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ------------------------------------------------------
p_class
------------------------------------------------------ */
#class #p_mainvisual .fv_cover {
    width: 100%;
    height: 100%;
}

#class #p_mainvisual .fv_cover figure {
    clip-path: inherit;
}

.pages #class_info {
    padding: 127px 0 50px;
}

.pages #class_info .inner {
    max-width: 1120px;
}

.pages #class_info .class_list {
    display: flex;
    flex-wrap: wrap;
    gap: 23px;
}

.pages #class_info .class_list li {
    width: calc((100% - 46px) / 3);
    height: 42px;
    margin-bottom: 5px;
}

.pages #class_info .class_list li a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    font-weight: 700;
    color: #faa9cb;
    background: var(--white-color);
    border: 1px solid #faa9cb;
    position: relative;
}

.pages #class_info .class_list li a::after {
    position: absolute;
    content: '';
    background: url(../images/class/icon_border.png);
    background-size: contain;
    width: 24px;
    height: 11px;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
}

.pages #class_features {
    padding: 64px 0 196px;
}

.pages #class_features .inner {
    max-width: 1380px;
}

.pages #class_features .pages_mainttl {
    margin-bottom: 97px;
}

.pages #class_features .class_card {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 99px;
}

.pages #class_features .class_card:last-child {
    margin-bottom: 0;
}

.pages #class_features .class_card .class_headline {
    width: 100%;
    display: flex;
    justify-content: center;
    padding-top: 38px;
    flex: 1;
}

.pages #class_features .class_card .class_headline .class_mainttl {
    font-family: var(--KaiseiOpti-font);
    font-size: 36px;
    font-weight: 400;
    letter-spacing: 0.05em;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.pages #class_features .class_card .class_headline .class_mainttl .icon {
    display: inline-block;
    width: 100%;
    max-width: 55px;
    height: 55px;
    max-height: 55px;
    margin-bottom: 2px;
}

.pages #class_features .class_card .class_headline .class_mainttl .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.pages #class_features .class_card .class_component {
    width: 76.172vw;
    max-width: 780px;
}

.pages #class_features .class_card figure {
    width: 100%;
    height: 39.453vw;
    max-height: 404px;
    margin-bottom: 23px;
}

.pages #class_features .class_card figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages #class_features #class-73.class_card figure img {
    object-position: top;
}

.pages #class_features .class_card .class_des {
    font-weight: 500;
    line-height: 2.25;
    letter-spacing: 0.05em;
    margin-bottom: 28px;
}

.pages #class_features .class_card .btn_primary {
    text-align: right;
}

.pages #class_features .class_card .btn_primary .txt {
    font-size: 20px;
}

.pages #class_features .class_card:nth-child(odd) {
    flex-direction: row-reverse;
    padding-right: 40px;
}

.pages #class_features .class_card:nth-child(even) {
    padding-left: 40px;
}

.class-details #p_mainvisual h2 .icon {
    display: inline-flex;
    width: 6vw;
    max-width: 90px;
    height: 6vw;
    max-height: 90px;
    margin-right: -6px;
    filter: drop-shadow(-5px 5px 10px rgba(255, 255, 255, 0.8));
    position: relative;
    top: 14px;
}

.class-details #p_mainvisual h2 .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.class-details .class-73 #p_mainvisual .fv_cover figure img {
    object-position: top;
}

.class-details #anchor_link {
    padding: 128px 0 25px;
    overflow: hidden;
}

.class-details #anchor_link .inner {
    max-width: 737px;
}

.class-details #anchor_link .anchor_list {
    display: flex;
    justify-content: space-between;
    gap: 23px;
}

.class-details #anchor_link .anchor_list li {
    width: calc((100% - 23px) / 2);
    height: 54px;
}

.class-details #anchor_link .anchor_list li a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    font-weight: 700;
    color: var(--white-color);
    background: #faa9cb;
    position: relative;
}

.class-details #anchor_link .anchor_list li a::after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-top: 28px solid #faa9cb;
    bottom: -13px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.class-details #edu_goal {
    background: url(../images/ume/edu_goal_bg.png) no-repeat;
    background-position: center bottom;
    background-size: 100% auto;
    padding: 50px 0 63px;
    position: relative;
    overflow: hidden;
}

.class-details #edu_goal .inner {
    max-width: 1300px;
    z-index: 1;
}

.class-details #edu_goal h3.pages_mainttl {
    margin-bottom: 26px;
}

.class-details #edu_goal .edu_goal_subtitle {
    text-align: center;
    margin-bottom: 54px;
    opacity: 0;
    transform: scale(0);
    transition: all .5s cubic-bezier(0, 0.7, 0.32, 1.28);
}

.class-details #edu_goal .edu_goal_subtitle.is-active {
    opacity: 1;
    transform: scale(1);
}

.class-details #edu_goal .edu_goal_des {
    font-weight: 500;
    line-height: 2.375;
    text-align: center;
    margin-bottom: 223px;
    filter: blur(5px);
    transition: all .5s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.class-details #edu_goal .edu_goal_des.is-active {
    filter: blur(0);
}

.class-details #edu_goal .edu_goal_des p:not(:last-child) {
    margin-bottom: 38px;
}

.class-details #edu_goal .btn_primary {
    text-align: right;
}

.class-details #edu_goal .btn_primary .txt {
    font-size: 20px;
    font-weight: 700;
    color: #faa9cb;
}

.class-details #edu_goal .edu_goal_gallery {
    width: 100%;
    max-width: 1500px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
}

.class-details #edu_goal .edu_goal_gallery .para_image {
    overflow: hidden;
    position: relative;
}

.class-details #edu_goal .edu_goal_gallery .item {
    width: 100%;
    height: 125%;
    position: absolute;
    top: -15%;
    left: 0;
}

.class-details #edu_goal .edu_goal_gallery .item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.class-details #edu_goal .edu_goal_gallery .image01 {
    width: 26.333vw;
    max-width: 395px;
    height: 18.467vw;
    max-height: 277px;
    margin-left: auto;
    position: relative;
    top: 283px;
    right: 20px;
}

.class-details #edu_goal .edu_goal_gallery .image02 {
    width: 22.333vw;
    max-width: 335px;
    height: 24.6vw;
    max-height: 369px;
    position: relative;
    top: 87px;
    left: 44px;
}

.class-details #edu_goal .edu_goal_gallery .image03 {
    width: 14.067vw;
    max-width: 211px;
    height: 15.533vw;
    max-height: 233px;
    margin: 0 auto;
    position: relative;
    left: 380px;
    top: 27px;
}

.class-details #edu_goal .edu_goal_gallery .image04 {
    width: 15vw;
    max-width: 225px;
    height: 10.533vw;
    max-height: 158px;
    margin: 0 auto;
    position: relative;
    bottom: 77px;
    left: -202px;
}

.class-details #daily_program {
    background: #fefff9;
    padding: 234px 0 139px;
    position: relative;
}

.class-details #daily_program::before {
    position: absolute;
    content: '';
    background: url(../images/class/daily_program_bg.png);
    background-position: top left;
    background-size: cover;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.class-details #daily_program .daily_program_slogan {
    width: 42vw;
    max-width: 630px;
    position: absolute;
    top: -69px;
    left: 38.2%;
    transform: translateX(-50%);
    pointer-events: none;
    opacity: 0;
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    -webkit-transition: opacity 1s, -webkit-clip-path 1s;
    transition: opacity 1s, -webkit-clip-path 1s;
    transition: opacity 1s, clip-path 1s;
    transition: opacity 1s, clip-path 1s, -webkit-clip-path 1s;
}

.class-details #daily_program .daily_program_slogan.is-active {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    opacity: 1;
}

.class-details #daily_program .inner {
    max-width: 1314px;
}

.class-details #daily_program h3.pages_mainttl {
    margin-bottom: 56px;
}

.class-details #daily_program .daily_program_list {
    padding: 5px 0;
    overflow: hidden;
}

.class-details #daily_program .daily_program_list dl {
    display: flex;
    gap: 80px;
    border: 1px solid var(--main-color);
    margin-bottom: -1px;
    position: relative;
}

.class-details #daily_program .daily_program_list dl::after {
    position: absolute;
    content: '';
    width: 12px;
    height: 102%;
    background: #faa9cb;
    top: 0;
    left: 201px;
    z-index: 1;
    pointer-events: none;
}

.class-details #daily_program .daily_program_list dl.headline::after {
    top: 24px;
}

.class-details #daily_program .daily_program_list dl:last-child::before {
    position: absolute;
    content: '';
    width: 12px;
    height: 102%;
    background: #faa9cb;
    bottom: 50px;
    left: 201px;
    z-index: 1;
    pointer-events: none;
}

.class-details #daily_program .daily_program_list dl:last-child::after {
    width: 0;
    height: 0;
    border-top: 48px solid #faa9cb;
    border-right: 36px solid transparent;
    background: transparent;
    bottom: 18px;
    top: auto;
    left: 201px;
}

.class-details #daily_program .daily_program_list dl dt {
    width: 100%;
    max-width: 215px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.75;
    text-align: center;
    position: relative;
}

.class-details #daily_program .daily_program_list dl dt span {
    font-size: 14px;
}

.class-details #daily_program .daily_program_list dl dd {
    width: 100%;
    padding-right: 10px;
    flex: 1;
}

.class-details #daily_program .daily_program_list dl.headline {
    padding: 15px 0 6px;
}

.class-details #daily_program .daily_program_list dl.headline dt,
.class-details #daily_program .daily_program_list dl.headline dd {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: center;
}

.class-details #daily_program .daily_program_list dl:not(.headline) {
    padding: 29px 0 22px;
}

.class-details #daily_program .daily_program_list dl:not(.headline) dd {
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.05em;
}

.class-details .ume_control {
    padding: 126px 0 0;
}

.class-details .ume_control .media_back {
    max-width: 690px;
    margin: 0 auto;
}

.class-details .class-57 #daily_program .daily_program_slogan {
    top: -178px;
}

/* ------------------------------------------------------
p_accepting
------------------------------------------------------ */
.pages #accepting_intro {
    padding: 235px 0 302px;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.pages #accepting_intro .inner {
    max-width: 1300px;
}

.pages #accepting_intro h3.pages_mainttl {
    text-align: left;
    margin-bottom: 63px;
}

.pages #accepting_intro .accepting_intro_des {
    font-weight: 500;
    line-height: 1.75;
    margin-bottom: 84px;
}

.pages #accepting_intro .accepting_intro_des p:not(:last-child) {
    margin-bottom: 28px;
}

.pages #accepting_intro .accepting_intro_btn {
    width: 100%;
    max-width: 605px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.pages #accepting_intro .accepting_intro_btn a {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.pages #accepting_intro .accepting_intro_btn .btn_primary .txt {
    font-size: 20px;
    font-weight: 700;
}

.pages #accepting_intro .accepting_intro_btn .btn_primary .circle {
    background: transparent;
    border: 1px solid var(--main-color);
}

.pages #accepting_intro .accepting_intro_btn .btn_primary .circle .icon {
    background: url(../images/accepting/btn_iconarrow.png) no-repeat;
    background-size: contain;
}

.pages #accepting_intro .accepting_intro_btn .anchor_link {
    margin: 0 0;
}

.pages #accepting_intro .accepting_intro_btn .anchor_link i {
    display: inline-block;
    background: url(../images/accepting/icon_arrow_down.png) no-repeat;
    background-size: contain;
    width: 9px;
    height: 15px;
    margin-left: 12px;
}

.pages #accepting_intro .accepting_intro_cover {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.pages #accepting_intro .accepting_intro_cover img {
    width: 100%;
}

.pages #accepting_guidelines {
    background: #fefff9;
    padding: 132px 0 142px;
    position: relative;
    z-index: 1;
}

.pages #accepting_guidelines::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: url(../images/accepting/accepting_guidelines_bg.png);
    background-position: center top;
    background-size: cover;
    top: 0;
    left: 0;
    z-index: -1;
}

.pages #accepting_guidelines .inner {
    max-width: 1280px;
}

.pages #accepting_guidelines h3.pages_mainttl {
    margin-bottom: 44px;
}

.pages #accepting_guidelines table.tb_block td a {
    text-decoration: none;
}

.pages #accepting_faq {
    padding: 80px 0 164px;
}

.pages #accepting_faq .inner {
    max-width: 1130px;
}

.pages #accepting_faq .pages_mainttl {
    margin-bottom: 55px;
}

.pages #accepting_faq .faq_list {}

.pages #accepting_faq .faq_list dl {
    background: #ffb1d4;
    padding: 41px 45px 40px;
    margin-bottom: 22px;
    position: relative;
    z-index: 1;
}

.pages #accepting_faq .faq_list dl::before {
    position: absolute;
    content: '';
    background: url(../images/accepting/faq_bg.png);
    background-position: center top;
    background-size: cover;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.pages #accepting_faq .faq_list dl:last-child {
    margin-bottom: 0;
}

.pages #accepting_faq .faq_list dl .tag {
    width: 45px;
    display: block;
    font-family: var(--KaiseiOpti-font);
    font-size: 32px;
    font-weight: 400;
    letter-spacing: 0.05em;
    text-align: right;
    position: absolute;
    top: 0;
    left: 29px;
}

.pages #accepting_faq .faq_list dl dt {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.05em;
    background: var(--white-color);
    padding: 15px 80px 16px 99px;
    position: relative;
    cursor: pointer;
}

.pages #accepting_faq .faq_list dl dt::after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 26px solid #ffb1d4;
    top: 18px;
    right: 39px;
}

.pages #accepting_faq .faq_list dl dt.active::after {
    transform: rotate(180deg);
}

.pages #accepting_faq .faq_list dl dt .tag {
    top: 3px;
}

.pages #accepting_faq .faq_list dl dd {
    display: none;
    padding: 38px 32px 0 99px;
    position: relative;
}

.pages #accepting_faq .faq_list dl dd .tag {
    top: 21px;
}

.pages #accepting_faq .faq_list dl dd .answer_contents {
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.05em;
}

/* ------------------------------------------------------
p_childcare
------------------------------------------------------ */
#childcare #wrapper {
    overflow: inherit;
}

.pages #childcare_intro {
    position: relative;
    overflow: hidden;
}

.pages #childcare_intro .headline {
    padding-top: 139px;
}

.pages #childcare_intro .pages_mainttl {
    margin-bottom: 10px;
}

.pages #childcare_intro .childcare_intro_subtitle {
    text-align: center;
    opacity: 0;
    transform: scale(0);
    transition: all .5s cubic-bezier(0, 0.7, 0.32, 1.28);
}

.pages #childcare_intro .childcare_intro_subtitle.is-active {
    opacity: 1;
    transform: scale(1);
}

.pages #childcare_intro .panel_container {
    position: relative;
    width: 100%;
    height: 100vh;
}

.pages #childcare_intro .childcare_panel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    opacity: 0;
    pointer-events: none;
}

.pages #childcare_intro .childcare_panel:first-child {
    opacity: 1;
    pointer-events: auto;
}

.pages #childcare_intro .childcare_panel .inner {
    max-width: 1180px;
    display: flex;
    justify-content: flex-end;
    gap: 59px;
}

.pages #childcare_intro .childcare_panel {
    width: 100%;
    height: 100vh;
    padding-top: 68px;
}

.pages #childcare_intro .childcare_panel.is-active {
    pointer-events: auto;
}

.pages #childcare_intro .childcare_panel .childcare_headline {
    opacity: 0;
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    -webkit-transition: opacity 1s, -webkit-clip-path 1s;
    transition: opacity 1s, -webkit-clip-path 1s;
    transition: opacity 1s, clip-path 1s;
    transition: opacity 1s, clip-path 1s, -webkit-clip-path 1s;
    width: 40.605vw;
    max-width: 510px;
    height: 23.885vw;
    max-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.pages #childcare_intro .childcare_panel .childcare_headline.is-active {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    opacity: 1;
}

.pages #childcare_intro .childcare_panel .childcare_headline figure {
    position: absolute;
    top: 65%;
    right: 0;
    transform: translateY(-50%);
}

/*
.pages #childcare_intro .childcare_panel .childcare_headline .tag {
    font-size: 100px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    position: relative;
    top: 28px;
    left: 38px;
    transform: skewX(-10deg);
}
*/

.pages #childcare_intro .childcare_panel .childcare_photo {
    width: 36.624vw;
    max-width: 460px;
    height: 23.885vw;
    max-height: 300px;
    margin-top: 25px;
    box-shadow: -10px 20px 80px 0 rgba(101, 0, 95, 0.3);
    filter: blur(5px);
    transition: all .8s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.pages #childcare_intro .childcare_panel .childcare_photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages #childcare_intro .childcare_panel .childcare_component {
    width: 100%;
    max-width: 345px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    filter: blur(5px);
    transition: all .8s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.pages #childcare_intro .childcare_panel .childcare_component .panel_title {
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-left: 39px;
}

.pages #childcare_intro .childcare_panel .childcare_component .panel_des {
    font-weight: 700;
    line-height: 1.75;
}

.pages #childcare_intro .childcare_panel .childcare_component .panel_des p:not(:last-child) {
    margin-bottom: 0;
    margin-left: 28px;
}

.pages #childcare_intro .childcare_panel .childcare_photo.is-active,
.pages #childcare_intro .childcare_panel .childcare_component.is-active {
    filter: blur(0);
}

.pages .p_childcare .childcare_intro_cover {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -2;
}

.pages .p_childcare .childcare_intro_cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom;
}

.pages #annual_events {
    background: #fefff9;
    padding: 143px 0 141px;
    position: relative;
    overflow: hidden;
}

.pages #annual_events::before {
    position: absolute;
    content: '';
    background: url(../images/childcare/annual_events_bg.png);
    background-position: top left;
    background-size: cover;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.pages #annual_events .inner {
    max-width: 1340px;
    z-index: 1;
}

.pages #annual_events .pages_mainttl {
    margin-bottom: 59px;
}

.pages #annual_events .tb_events {
    margin-bottom: 89px;
}

.pages #annual_events .tb_events th,
.pages #annual_events .tb_events td {
    border: 1px solid var(--main-color);
}

.pages #annual_events .tb_events th {
    font-size: 24px;
    text-align: center;
    padding-top: 12px;
    padding-bottom: 9px;
}

.pages #annual_events .tb_events th:first-child {
    width: 15.2%;
}

.pages #annual_events .tb_events td:first-child {
    font-weight: 700;
    text-align: center;
}

.pages #annual_events .tb_events td:nth-child(2) {
    padding-left: 120px;
}

.pages #annual_events .block_title {
    font-size: 24px;
    letter-spacing: 0.05em;
    margin-bottom: 36px;
}

.pages #annual_events .block_des {
    font-weight: 500;
    line-height: 1.75;
}

.pages #annual_events .block_des p span {
    font-weight: 700;
    color: #faa9cb;
}

.pages #annual_events .block_des p:not(:last-child) {
    margin-bottom: 36px;
}

.pages #annual_events .annual_events_block .btn_primary a {
    gap: 12px;
}

.pages #annual_events .annual_events_block .btn_primary .txt {
    font-size: 16px;
}

.pages #annual_events .annual_events_block .btn_primary .circle {
    width: 32px;
    height: 32px;
}

.pages #annual_events .annual_events_block .btn_primary .circle .icon {
    width: 10px;
    height: 7px;
}

.pages #food_news {
    display: flex;
    background: var(--white-color);
    padding: 10px 10px;
}

.pages #food_news .food_news_cover {
    width: 50%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--white-color);
    position: sticky;
    top: 0;
    left: 0;
}

.pages #food_news .pages_mainttl {
    letter-spacing: 0;
    margin-bottom: 0;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    position: absolute;
    bottom: 41px;
    left: 3%;
}

.pages #food_news .food_news_subttl {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.75;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    filter: blur(5px);
    transition: all .5s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.pages #food_news .food_news_subttl.is-active {
    filter: blur(0);
}

.pages #food_news .food_news_cover figure {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.pages #food_news .food_news_cover figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages #food_news .food_news_contents {
    width: 50%;
    background: var(--white-color);
    padding: 129px 3%;
    position: relative;
    z-index: 1;
}

.pages #food_news .food_news_list {
    width: 100%;
    max-width: 396px;
    margin: 0 auto;
}

.pages #food_news .news_panel {
    width: 100%;
    margin-bottom: 73px;
}

.pages #food_news .news_panel:last-child {
    margin-bottom: 0;
}

.pages #food_news .news_panel figure {
    width: 100%;
    height: 26.111vw;
    max-height: 235px;
    margin-bottom: 18px;
}

.pages #food_news .news_panel figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages #food_news .news_panel .panel_title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
}

.pages #food_news .news_panel .panel_des {
    font-weight: 700;
    line-height: 1.75;
}

#childcare #under_banner {
    background: var(--white-color);
    overflow: hidden;
}

#childcare #footer {
    background: var(--white-color);
}

/* ------------------------------------------------------
p_gallery
------------------------------------------------------ */
.pages #our_gallery {
    width: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    display: flex;
    align-items: center;
    background-image: url(../images/common/under_mv_bg.jpg);
    background-position: center top;
    background-size: cover;
    padding-bottom: 40px;
    position: relative;
}

.pages #our_gallery .gallery_wrap {
    width: 100%;
    position: absolute;
    bottom: 123px;
    left: 0;
}

.pages #our_gallery .gallery_wrap .inner {
    max-width: 1630px;
    display: flex;
    gap: 20px;
}

.pages #our_gallery .our_gallery_title {
    font-family: var(--KaiseiOpti-font);
    font-size: 80px;
    font-weight: 400;
    letter-spacing: 0.05em;
    flex-shrink: 0;
    position: relative;
    top: 13px;
    opacity: 0;
}

.pages #our_gallery .our_gallery_title .char {
    display: inline-block;
    transform: scale(var(--scale, 0));
    opacity: var(--opacity, 0);
    transition: opacity .5s cubic-bezier(0.165, 0.84, 0.44, 1), transform .5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-delay: calc(0.03s * var(--char-index));
}

.pages #our_gallery .our_gallery_title.is-active {
    --opacity: 1;
    --scale: 1;
    opacity: 1;
}

.pages #our_gallery .cate_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 48px;
}

.pages #our_gallery .cate_list li a {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.pages #our_gallery .scroll-wrapper {
    display: flex;
    flex-wrap: nowrap;
    width: max-content;
    will-change: transform;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}

.pages #our_gallery .gallery_panel {
    flex: 0 0 auto;
}

.pages #our_gallery .gallery_list {
    position: relative;
    width: 100%;
    will-change: transform;
    transform: translate3d(0, 0, 0);
}

.pages #our_gallery .gallery_list .item {
    position: absolute;
    height: 210px;
    overflow: hidden;
    transition: left 0.3s ease, top 0.3s ease;
    will-change: transform;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}

.pages #our_gallery .gallery_list .item a,
.pages #our_gallery .gallery_list .item img {
    display: block;
    width: 100%;
    height: 100%;
}

.pages #our_gallery .gallery_list .item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages#gallery .vbox-child {
    width: 100%;
    max-width: 900px !important;
    max-height: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: transparent !important;
    padding: 0 0;
    box-shadow: 0 0;
}

.pages#gallery .vbox-child img {
    max-height: 100%;
    flex-shrink: 0;
    border-radius: 3px;
    border: 4px solid var(--white-color);
}

.pages#gallery .vbox-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--white-color);
}

.pages#gallery .vbox-left-corner {
    left: 1%;
    top: 17px;
}

.pages#gallery .vbox-num {
    color: var(--white-color);
    padding: 0 0;
}

.pages#gallery .vbox-next,
.pages#gallery .vbox-prev {
    width: 30px;
    height: 30px;
}

.pages#gallery .vbox-next {
    right: calc(50% - 485px);
}

.pages#gallery .vbox-prev {
    left: calc(50% - 500px);
}

.pages#gallery .vbox-next span,
.pages#gallery .vbox-prev span {
    width: 100%;
    height: 100%;
    border: 3px solid var(--white-color);
    border-left: 0;
    border-top: 0;
    position: relative;
    top: auto;
}

.pages#gallery .vbox-next span {
    transform: rotate(315deg);
}

.pages#gallery .vbox-prev span {
    transform: rotate(135deg);
}

.pages#gallery .vbox-close {
    font-size: 30px;
    color: var(--white-color);
    padding: 0 0;
    top: 50px;
    right: 2vw;
}

/* ------------------------------------------------------
p_privacypolicy
------------------------------------------------------ */
.pages #privacypolicy_mv {
    width: 100%;
    min-height: 568px;
    display: flex;
    align-items: flex-end;
    background-image: url(../images/common/under_mv_bg.jpg);
    background-position: center top;
    background-size: cover;
    padding-bottom: 67px;
}

.pages #privacypolicy_mv h2 {
    font-family: var(--KaiseiOpti-font);
    font-size: 46px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 58px;
}

.pages #privacypolicy_mv .p_mainvisual_des {
    width: 100%;
    max-width: 1000px;
    font-weight: 500;
    line-height: 2.25;
    letter-spacing: 0.1em;
    text-align: justify;
    margin: 0 auto;
}

.pages #privacypolicy_info {
    padding: 140px 0 142px;
}

.pages #privacypolicy_info .inner {
    max-width: 1000px;
}

.pages #privacypolicy_info .para_block {
    margin-bottom: 77px;
}

.pages #privacypolicy_info .para_block:last-child {
    margin-bottom: 0;
}

.pages #privacypolicy_info .para_title {
    font-family: var(--KaiseiOpti-font);
    font-size: 32px;
    font-weight: 400;
    letter-spacing: 0.1em;
    padding-bottom: 6px;
    margin-bottom: 32px;
    position: relative;
}

.pages #privacypolicy_info .para_title::after {
    position: absolute;
    content: '';
    background: url(../images/common/tb_line.png) repeat-x;
    width: 100%;
    height: 4px;
    bottom: 0;
    left: 0;
}

.pages #privacypolicy_info .para_title span {
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #f8a7c9;
    margin-right: 20px;
}

.pages #privacypolicy_info .para_des {
    font-weight: 500;
    line-height: 2.25;
    letter-spacing: 0.1em;
    text-align: justify;
}

.pages #privacypolicy_info .para_des p:not(:last-child) {
    margin-bottom: 18px;
}

.pages #privacypolicy_info .para_des .sub_title {
    font-size: 20px;
    font-weight: 700;
}

.pages #privacypolicy_info .para_list li {
    padding-left: 19px;
    position: relative;
}

.pages #privacypolicy_info .para_list li::before {
    position: absolute;
    content: '';
    width: 10px;
    height: 10px;
    border: 1px solid var(--main-color);
    border-radius: 50%;
    top: 12px;
    left: 0;
}

.pages #privacypolicy_info .para_list li:last-child {
    margin-bottom: 0;
}

/* ------------------------------------------------------
p_contact
------------------------------------------------------ */
.pages .p_contact #contact_mv {
    width: 100%;
    min-height: 726px;
    display: flex;
    align-items: flex-end;
    background-image: url(../images/common/under_mv_bg.jpg);
    background-position: center top;
    background-size: cover;
    padding: 120px 0 149px;
}

.pages .p_contact #contact_mv h2 {
    font-family: var(--KaiseiOpti-font);
    font-size: 46px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
}

.pages .p_contact #contact_mv .contact_mv_frame {
    width: 100%;
    max-width: 1000px;
    display: flex;
    justify-content: space-between;
    background: var(--white-color);
    border: 2px solid #faa9cb;
    padding: 40px 0 46px;
    margin: 0 auto;
}

.pages .p_contact #contact_mv .contact_mv_title {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--KaiseiOpti-font);
    font-size: 32px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: center;
}

.pages .p_contact #contact_mv .contact_mv_title i {
    display: block;
    background: url(../images/contact/icon_contact.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 30px;
    height: 35px;
    margin-right: 10px;
    position: relative;
    top: 3px;
}

.pages .p_contact #contact_mv .contact_mv_component {
    width: 50%;
    text-align: center;
    position: relative;
}

.pages .p_contact #contact_mv .contact_mv_component::before {
    position: absolute;
    content: '';
    width: 2px;
    height: 100px;
    background: #f8a7c9;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.pages .p_contact #contact_mv .contact_phone {
    font-size: 24px;
    font-weight: 300;
    letter-spacing: 0;
    color: #f8a7c9;
    margin-bottom: 7px;
}

.pages .p_contact #contact_mv .contact_phone a {
    font-size: 133.33%;
    letter-spacing: 0;
    color: #f8a7c9;
    margin-left: 5px;
}

.pages .p_contact #contact_mv .contact_notes {
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0;
    color: #f8a7c9;
}

.pages #contact_info {
    padding: 135px 0 152px;
}

.pages #contact_info .inner {
    max-width: 1000px;
}

.pages #contact_info .pages_mainttl {
    margin-bottom: 21px;
}

.pages .contact_form .smf-item {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 17px 0 16px;
}

.pages .contact_form .smf-item__col--label {
    width: 100%;
    max-width: 290px;
    display: flex;
    gap: 8px;
    padding: 25px 0 0;
}

.pages .contact_form .smf-item__col--label .smf-item__label {
    font-weight: 700;
    letter-spacing: 0.1em;
}

.pages .contact_form .smf-item__col--label .smf-item__description {
    width: 44px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    font-weight: 700;
    color: var(--white-color);
    background: #f8a7c9;
    border-radius: 13px;
    margin: 0 0;
}

.pages .contact_form .smf-item__col--controls {
    width: 100%;
    flex: 1;
}

.pages .contact_form .field_radio .smf-radio-buttons-control__control {
    display: flex;
    gap: 8px;
}

.pages .contact_form .field_radio .smf-label {
    width: calc((100% - 24px) / 4);
    height: 72px;
}

.pages .contact_form .field_radio .smf-label label,
.pages .contact_form .field_radio .smf-radio-button-control {
    width: 100%;
    height: 100%;
    display: block;
}

.pages .contact_form .field_radio .smf-radio-button-control {
    position: relative;
}

.pages .contact_form .field_radio .smf-radio-button-control__control {
    width: 100%;
    height: 100%;
    border-radius: 36px;
    border-width: 2px;
    border-color: #ddd;
    margin: 0 0;
}

.pages .contact_form .field_radio .smf-radio-button-control__control:before {
    position: absolute;
    content: '';
    width: 8px;
    height: 8px;
    background: #f8a7c9;
    border-radius: 50%;
    left: 19px;
    top: 50%;
    transform: translateY(-50%);
    visibility: visible;
}

.pages .contact_form .field_radio .smf-radio-button-control__label {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #f8a7c9;
    position: absolute;
    top: 50%;
    left: 39px;
    transform: translateY(-50%);
}

.pages .contact_form .field_radio .smf-radio-button-control__control:checked {
    background-color: #f8a7c9;
    border-color: #f8a7c9;
}

.pages .contact_form .field_radio .smf-radio-button-control__control:checked:before {
    background: var(--white-color);
}

.pages .contact_form .field_radio .smf-radio-button-control__control:checked + span {
    color: var(--white-color);
}

.pages .contact_form .input_custom,
.pages .contact_form .txt_custom {
    width: 100%;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0;
    border: 2px solid #ddd;
    border-radius: 0;
    padding: 0 10px;
}

.pages .contact_form .input_custom {
    height: 72px;
}

.pages .contact_form .txt_custom {
    height: 202px;
    text-align: justify;
}

.pages .contact_form .field_accept .smf-item__col--controls {
    position: relative;
}

.pages .contact_form .field_accept .smf-checkbox-control__control {
    width: 20px;
    height: 20px;
    border-width: 2px;
    border-color: #ddd;
    border-radius: 0;
    margin: 0 0;
}

.pages .contact_form .field_accept .smf-checkbox-control__label {
    opacity: 0;
    visibility: hidden;
}

.pages .contact_form .field_accept .accept_txt {
    font-weight: 700;
    letter-spacing: 0.1em;
    position: absolute;
    top: 0;
    left: 34px;
}

.pages .contact_form .field_accept .accept_txt a {
    text-decoration: underline;
}

.pages .contact_form .smf-action {
    width: 100%;
    margin: 29px 0 0;
}

.pages .contact_form .smf-action .smf-button-control {
    width: 100%;
    height: 80px;
    display: block;
    margin: 0 auto;
}

.pages .contact_form .smf-action .smf-button-control__control {
    width: 100%;
    height: 100%;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: var(--white-color);
    background: #f8a7c9;
    border: 0;
    border-radius: 0;
    transition: all .3s ease;
}

.pages .contact_form .smf-action .smf-button-control__control::after {
    position: absolute;
    content: '';
    width: 46px;
    height: 46px;
    background-image: url(../images/contact/icon_btn.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px 10px;
    border-radius: 50%;
    border: 1px solid var(--white-color);
    top: 50%;
    right: 27px;
    transform: translateY(-50%);
}

.pages .contact_form .smf-action .smf-button-control__control .smf-sending {
    display: none;
}

.pages .contact_form .smf-complete-content {
    font-size: 20px;
    font-weight: 700;
    line-height: 2.25;
    text-align: center;
}

/* ------------------------------------------------------
p_news
------------------------------------------------------ */
.pages .p_news #news_mv {
    width: 100%;
    min-height: 726px;
    display: flex;
    align-items: flex-end;
    background-image: url(../images/common/under_mv_bg.jpg);
    background-position: center top;
    background-size: cover;
    padding: 120px 0 260px;
}

.pages .p_news #news_mv h2 {
    font-family: var(--KaiseiOpti-font);
    font-size: 46px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 59px;
}

.pages .p_news #news_mv .news_mv_des {
    font-weight: 500;
    line-height: 2.25;
    text-align: center;
}

.pages #news_container {
    background: #f8a7c9;
    padding: 2px 0 135px;
}

.pages #news_container .news_info {
    width: 94%;
    max-width: 1300px;
    background: var(--white-color);
    border: 1px solid #f8a7c9;
    padding: 92px 0 99px;
    margin: -175px auto 0;
}

.pages #news_container .news_info .inner {
    max-width: 1100px;
    display: flex;
    justify-content: space-between;
    gap: 80px;
}

.pages #news_container .news_info .side_menu {
    width: 100%;
    max-width: 270px;
    position: relative;
}

.pages #news_container .news_info .side_menu::after {
    position: absolute;
    content: '';
    background-image: url(../images/common/tb_line_v.png);
    background-repeat: repeat-y;
    background-position: center top;
    width: 4px;
    height: 100%;
    top: 5px;
    right: -40px;
}

.pages #news_container .news_info .side_menu dl {
    width: 100%;
    padding-bottom: 43px;
    margin-bottom: 32px;
    position: relative;
}

.pages #news_container .news_info .side_menu dl:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
}

.pages #news_container .news_info .side_menu dl:not(:last-child)::after {
    position: absolute;
    content: '';
    background: url(../images/common/tb_line.png) repeat-x;
    width: 100%;
    height: 4px;
    bottom: 0;
    left: 0;
}

.pages #news_container .news_info .side_menu dl dt {
    font-family: var(--KaiseiOpti-font);
    font-size: 32px;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-bottom: 21px;
}

.pages #news_container .news_info .side_menu dl dt i {
    display: inline-block;
    background: url(../images/common/icon_symbol01.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 30px;
    height: 35px;
    margin-right: 15px;
    position: relative;
    top: 5px;
}

.pages #news_container .news_info .side_menu dl dd .list_taxo li {
    margin-bottom: 18px;
}

.pages #news_container .news_info .side_menu dl dd .list_taxo li:last-child {
    margin-bottom: 0;
}

.pages #news_container .news_info .side_menu dl dd .list_taxo li a {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.1em;
    transition: all .3s ease;
}

.pages #news_container .news_info .news_list {
    width: 100%;
    max-width: 750px;
    padding-top: 8px;
}

.pages #news_container .news_list li {
    width: 100%;
    margin-bottom: 20px;
}

.pages #news_container .news_list li:last-child {
    margin-bottom: 0;
}

.pages #news_container .news_list li a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 59px;
    background: #fcd9de;
    padding: 0 105px 0 30px;
    position: relative;
    transition: all .3s ease;
}

.pages #news_container .news_list li a::after {
    position: absolute;
    content: '';
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background-color: #f8a7c9;
    background-image: url(../images/common/btn_iconarrow.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px 10px;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
}

.pages #news_container .news_list .news_meta {
    width: 110px;
    text-align: center;
    padding-bottom: 3px;
}

.pages #news_container .news_list .news_meta .date {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #aaa;
    margin-bottom: 5px;
}

.pages #news_container .news_list .news_meta .news_cate {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.pages #news_container .news_list .news_meta .news_cate li {
    width: 100%;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-weight: 700;
    color: var(--white-color);
    background: #f8a7c9;
    padding: 2px 10px 0;
}

.pages #news_container .news_list .news_meta .news_cate li span {
    text-align: justify;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
}

.pages #news_container .news_list .news_component {
    width: 100%;
    padding: 32px 0;
    flex: 1;
}

.pages #news_container .news_list .news_title {
    font-size: 15px;
    font-weight: 700;
    line-height: 2.4;
    letter-spacing: 0.1em;
    text-align: justify;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}

.news-details .p_news #news_mv {
    align-items: center;
    padding-bottom: 244px;
}

.news-details .p_news #news_mv h2 {
    margin-bottom: 0;
}

.news-details #news_container #topic_path {
    margin: -302px 0 23px;
}

.news-details #news_container #topic_path .inner {
    max-width: 1300px;
}

.news-details #news_container .news_info {
    padding-top: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 79px;
}

.news-details #news_container .news_info .inner {
    max-width: 1000px;
    display: block;
}

.news-details #news_container .news_cate {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 51px;
}

.news-details #news_container .news_cate li {
    width: 100%;
    max-width: 120px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    color: var(--white-color);
    background: #f8a7c9;
    padding: 2px 10px 0;
}

.news-details #news_container .news_cate li span {
    text-align: justify;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
}

.news-details #news_container .media_headline {
    margin-bottom: 70px;
}

.news-details #news_container .media_headline .date {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #aaa;
    margin-bottom: 8px;
}

.news-details #news_container .media_headline .headline_title {
    font-family: var(--KaiseiOpti-font);
    font-size: 32px;
    font-weight: 400;
    letter-spacing: 0.1em;
    padding-bottom: 6px;
    position: relative;
}

.news-details #news_container .media_headline .headline_title::after {
    position: absolute;
    content: '';
    background: url(../images/common/tb_line.png) repeat-x;
    width: 100%;
    height: 4px;
    bottom: 0;
    left: 0;
}

.news-details #news_container .contents_detail {
    margin-bottom: 68px;
}

.news-details #news_container .media_back {
    gap: 16px;
}

.news-details #news_container .media_back li {
    width: calc((100% - 16px) / 2);
    height: 192px;
}

.news-details #news_container .media_back li a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    border: 2px solid #f8a7c9;
    padding: 25px 49px;
    transition: all .3s ease;
}

.news-details #news_container .media_back li .icon_btn {
    font-size: 20px;
    font-weight: 300;
    letter-spacing: 0;
    color: var(--main-color);
    text-align: center;
    margin-bottom: 0;
}

.news-details #news_container .media_back li .icon_btn i {
    display: block;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #f8a7c9;
    position: relative;
}

.news-details #news_container .media_back li .icon_btn i::after {
    position: absolute;
    content: '';
    background-image: url(../images/common/btn_iconarrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 14px;
    height: 10px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.news-details #news_container .media_back li.prev-btn .icon_btn i {
    transform: rotate(180deg);
}

.news-details #news_container .nav_title {
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 2.25;
    color: var(--main-color);
    text-align: justify;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    margin-bottom: 0;
}

.news-details #news_container .btn_primary {
    text-align: center;
}

.news-details #news_container .btn_primary .txt {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--white-color);
}

.news-details #news_container .btn_primary .circle {
    width: 50px;
    height: 50px;
    background: var(--white-color);
}

.news-details #news_container .btn_primary .circle .icon {
    background: url(../images/common/btn_iconarrow03.png) no-repeat;
    background-size: contain;
}

/* ------------------------------------------------------
p_letter
------------------------------------------------------ */
.pages #letter_mv {
    width: 100%;
    min-height: 554px;
    display: flex;
    align-items: flex-end;
    background: #fcd9de;
    padding: 120px 0 88px;
}

.pages #letter_mv h2 {
    font-family: var(--KaiseiOpti-font);
    font-size: 46px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 58px;
}

.pages #letter_mv .letter_mv_txt {
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 2.25;
    text-align: center;
}

.pages #letter_info {
    padding: 149px 0 119px;
}

.pages #letter_info .inner {
    max-width: 1300px;
}

.pages #letter_info .letter_list {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.pages #letter_info .letter_list .letter_card {
    width: calc((100% - 48px) / 3);
    border: 2px solid #ddd;
    padding: 29px 29px 28px;
}

.pages #letter_info .letter_card .pdf_file {
    width: 100%;
    height: 36.153vw;
    max-height: 500px;
    margin-bottom: 15px;
}

.pages #letter_info .letter_card .pdf_file a {
    width: 100%;
    height: 100%;
    display: block;
    background: #ddd;
    position: relative;
}

.pages #letter_info .letter_card .pdf_file a::after {
    position: absolute;
    content: '';
    background: url(../images/common/icon_zoom.png) no-repeat;
    background-size: contain;
    width: 35px;
    height: 35px;
    bottom: 20px;
    right: 20px;
}

.pages #letter_info .letter_card .pdf_file img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages #letter_info .letter_card .letter_name {
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.76;
    padding-bottom: 16px;
    margin-bottom: 22px;
    position: relative;
}

.pages #letter_info .letter_card .letter_name::after {
    position: absolute;
    content: '';
    background: url(../images/common/tb_line.png) repeat-x;
    width: 100%;
    height: 4px;
    bottom: 0;
    left: 0;
}

.pages #letter_info .letter_card .btn_primary {
    text-align: center;
}

.pages #letter_info .letter_card .btn_primary .txt {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #f8a7c9;
}

.pages #letter_info .letter_card .btn_primary .circle {
    width: 40px;
    height: 40px;
}

.pages #letter_info .letter_card .btn_primary .circle .icon {
    width: 12px;
    height: 8px;
}

.pages #letter_info .wp-pagenavi {
    margin-top: 125px;
}

.pages #letter_info .wp-pagenavi span,
.pages #letter_info .wp-pagenavi a {
    color: #ddd;
    background: transparent;
    border-color: #ddd;
}

.pages #letter_info .wp-pagenavi .current {
    color: var(--white-color);
    background-color: #f8a7c9;
    border-color: #f8a7c9;
}

.pages #letter_info .wp-pagenavi a.previouspostslink,
.pages #letter_info .wp-pagenavi a.nextpostslink {
    color: var(--main-color);
}

.pages #letter_info .wp-pagenavi a.previouspostslink::before,
.pages #letter_info .wp-pagenavi a.nextpostslink::before {
    background-image: url(../images/common/btn_iconarrow.png);
    background-color: #f8a7c9;
}

/* MOZZILLA CSS */
@-moz-document url-prefix() {}

/* IE CSS */
@media screen\0 {}

/* EDGE 12+ CSS */
@supports (-ms-ime-align:auto) {}
