/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

* {
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

a,
a:visited {
    text-decoration: none;
    color: #1977ec;
}

a:hover {
    color: #ec194a;
}



html,
body {
    font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium";
    color: #333;
    font-size: 16px;
    font-weight: normal;
    line-height: 1.7;
    -webkit-text-size-adjust: 100%;
    /* scroll-behavior: smooth; */
}

.w98 {
    padding: 0 20px;
    overflow: hidden;
}

div#privacy_sec .w98 {
    position: initial !important;
}

/*==========================================================================
*
*headerfi
*
============================================================================*/
/*=====================================
*
*header
*
=======================================*/
header {
    position: fixed;
    top: 67px;
    z-index: 4;
    width: 100%;
    transition: .3s;
    position: absolute;
}

header.active {
    border-bottom: 1px solid #efefef;
}

.header_content {
    display: flex;
    max-width: 1820px;
    width: 100%;
    padding: 0 20px;
    height: 100%;
    column-gap: 180px;
    margin: 0 auto;
}

.header_content .cta_box {
    width: auto;
    display: flex;
    justify-content: end;
    align-items: center;
}

.header_content .cta_box .tel_box01 a {
    font-size: 18px;
    font-weight: bold;
    pointer-events: none;
    color: #000;
    display: flex;
    align-items: center;
    margin-right: 30px;
}

.header_content .cta_box .mail_box01 a {
    background: #c63527;
    font-size: 18px;
    border: 1px solid #c63527;
    position: relative;
    width: 155px;
    color: #fff;
    display: flex;
    height: 45px;
    justify-content: center;
    align-items: center;
    border-radius: 0px;
    transition: .3s;
    font-weight: bold;
}

.header_content .cta_box .RequestCatalog01 a {
    background: #fff;
    font-size: 18px;
    border: 1px solid #c63527;
    position: relative;
    width: 155px;
    color: #c63527;
    display: flex;
    height: 45px;
    justify-content: center;
    align-items: center;
    border-radius: 0px;
    transition: .3s;
    font-weight: bold;
}

.header_content .cta_box .tel_box01 a::before {
    content: "";
    background-image: url(img/tel.png);
    background-repeat: no-repeat;
    width: 18px;
    height: 18px;
    background-size: contain;
    margin-right: 6px;
}

.header_content .cta_box .mail_box01 a::before {
    content: "";
    background-image: url(img/mail.png);
    transition: .3s;
    background-size: contain;
    width: 20px;
    height: 16px;
    margin-top: 2px;
    margin-right: 5px;
    background-repeat: no-repeat;
}

.header_content .cta_box .RequestCatalog01 a::before {
    content: "";
    background-image: url(img/download.png);
    transition: .3s;
    background-size: contain;
    width: 16px;
    height: 16px;
    margin-top: 2px;
    margin-right: 3px;
    background-repeat: no-repeat;
}

.header_content .cta_box .mail_box01 a:hover {
    background-color: #fff;
    color: #c63527;
}

.header_content .cta_box .mail_box01 a:hover::before {
    background-image: url(img/mail1_2.png);
}

.header_content .cta_box .RequestCatalog01 a:hover {
    background-color: #c63527;
    color: #fff;
}

.header_content .cta_box .RequestCatalog01 a:hover::before {
    background-image: url(img/download1_2.png);
}

.header_content .logo {
    display: block;
    text-align: left;
    max-width: 296px;
    z-index: 1;
}

.header_content .logo a {
    height: 100%;
    text-align: left;
    display: block;
}

.header_content .logo a img {
    height: 100%;
    width: auto;
    object-fit: contain;
}

.header_content .cta_box.sp_tb .sns {
    position: relative;
    translate: 10px 0;
    opacity: 0;
    transition: translate 1s ease, opacity 0.3s ease;
}

.header_content .menu.active .cta_box .sns {
    opacity: 1;
    translate: 0px 0;
    transition-delay: 1s;
}

.header_content .cta_box .sns .x {
    position: relative;
}

.header_content .cta_box .sns .x a {
    width: 32px;
    position: relative;
    display: block;
    transition: .3s;
}

/* .header_content .cta_box .sns .x a:hover {
    opacity: .7;
} */
/* pc */
@media only screen and (min-width: 1130px) {
    .header_content .menu {
        width: 100%;
        background: rgb(255 255 255 / 80%);
        border-radius: 4px;
        border: 1px solid #849493;
        max-width: 1220px;
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 25px;
    }

    .header_content .menu .Gmenu {
        height: 100%;
        display: flex;
        justify-content: center;
        column-gap: 0px;
    }

    .header_content .menu ul li {
        position: relative;
    }

    .header_content .menu ul li a {
        font-size: 16px;
        color: #363535;
        font-family: 'Noto Sans JP', sans-serif;
        display: flex;
        align-items: center;
        transition: .3s;
        justify-content: center;
        padding: 6px 14px 6px;
        font-weight: 400;
        border-radius: 4px;
        letter-spacing: .05em;
    }

    .header_content .menu ul li a:hover {
        color: #fff;
        background: #828181;
    }

    .header__hamburger {
        display: none;
    }

    /*ドロップダウンメニュ*/
    li.menu-item-has-children {
        position: relative;
    }

    .Gmenu>li.menu-item-has-children>a::after {
        font-family: "Font Awesome 5 Free";
        content: "\f078";
        font-weight: bold;
        font-size: 12px;
        transition: .3s;
        margin-left: 5px;
    }

    li.menu-item-has-children.active a::after {
        transform: rotate(-180deg);
    }

    .Gmenu>li.menu-item-has-children:hover>a::after {
        transform: rotate(-180deg);
    }

    .header_content .menu .Gmenu>li>ul {
        position: absolute;
        background-color: #fff;
        width: 430px;
        display: flex;
        flex-direction: row;
        padding: 20px 20px 10px;
        visibility: hidden;
        opacity: 0;
        transition: .3s;
    }

    .header_content .menu .Gmenu>li:hover>ul {
        visibility: visible;
        opacity: 1;
    }

    .header_content .menu .Gmenu>li>ul.active {
        display: flex;
    }

    .header_content .menu ul li ul li {
        width: 100%;
    }

    .header_content .menu .Gmenu>li>ul>li>a {
        border-bottom: 1px solid #c73527;
        pointer-events: none;
        font-size: 16px;
        justify-content: flex-start;
        padding: 0;
        width: fit-content;
        padding-bottom: 10px;
    }

    .header_content .menu .Gmenu>li>ul>li>ul {
        margin-top: 10px;
    }

    .header_content .menu .Gmenu>li>ul>li>ul>li>a {
        padding: 0;
        margin: 0px 0 10px;
        justify-content: flex-start;
    }
}

/*ドロップダウンメニュend sp*/
@media only screen and (max-width: 1129px) {
    body.active {
        height: 100%;
        overflow: hidden;
    }

    /* body.active .header_content{
    background: rgb(255 255 255 / 80%);
  } */
    /*ドロップダウンメニュ*/
    li.menu-item-has-children>a::after {
        right: 20px;
        top: 20px;
        font-size: 16px;
        transition: .3s;
        position: absolute;
        pointer-events: none;
        display: none;
    }

    .header_content .menu ul li ul {
        position: relative;
        margin-top: 0;
    }

    .Gmenu>li.menu-item-has-children::before {
        position: absolute;
        top: 0;
        right: 0;
        background: #efefef;
        width: 60px;
        height: 64px;
        font-family: "Font Awesome 5 Free";
        content: "\f078";
        font-weight: bold;
        font-size: 12px;
        z-index: 1;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    /*ドロップダウンメニュend*/

    .sec09_content {
        padding: 0px !important;
    }

    .header_content .menu {
        position: fixed;
        right: 0;
        left: 0;
        top: 0px;
        width: 100%;
        height: calc(100vh - 0px);
        background-color: rgb(255 255 255 / 95%);
        transition: ease .3s;
        overflow-y: scroll;
        padding-bottom: 50px;
        clip-path: inset(100% 0 0 0);
        transition: clip-path 1s cubic-bezier(0.165, 0.84, 0.44, 1);
    }

    .header_content h1 {
        width: 230px;
    }

    .header__hamburger {
        height: 100%;
        display: block;
    }

    .menulogo.sp_tb {
        margin-top: 20px;
    }

    .menulogo.sp_tb .img_box {
        width: 250px;
        max-width: 250px;
        margin: 0 auto;
        image-rendering: auto;
        margin-left: 20px;
    }

    .menulogo.sp_tb .img_box img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        image-rendering: auto;
    }

    .header_content .menu ul {
        flex-direction: column;
        align-items: center;
        gap: 0;
        margin: 0 auto;
        margin-top: 97px;
        display: flex;
        gap: 24px;
        width: 100%;
        padding: 0 40px;
        max-width: 500px;
    }

    .header_content .menu ul li {
        width: 100%;
        position: relative;
        /* padding-left: 10px; */
        translate: 10px 0;
        opacity: 0;
        transition: translate 1s ease, opacity 0.3s ease;
    }

    .header_content .menu.active ul li {
        opacity: 1;
        translate: 0px 0;
        transition-delay: 1s;
    }

    .header_content .menu ul li a {
        width: 100%;
        display: flex;
        justify-content: flex-start;
        padding: 0px 0;
        font-size: 16px;
        color: #333333;
        letter-spacing: .05em;
        font-weight: 500;
        flex-direction: column;
        position: relative;
        margin-left: 10px;
    }

    .header_content .menu ul li a::before {
        content: "";
        background: #333;
        width: 8px;
        height: 1px;
        margin-top: 11px;
        margin-right: 10px;
        position: absolute;
        left: -16px;
    }

    .header_content .menu ul li a span.subti {
        font-size: 12px;
        margin-bottom: 0px;
        display: inherit !important;
    }

    .hamburger {
        background-color: transparent;
        border-color: transparent;
        z-index: 9999;
    }

    /* ハンバーガーメニューの線 */
    .hamburger span {
        width: 100%;
        height: 2px;
        background-color: #414141;
        position: relative;
        transition: ease .3s;
        display: block;
        width: 24px;
    }

    .hamburger span:nth-child(1) {
        top: 0;
    }

    .hamburger span:nth-child(2) {
        margin: 8px 0 0;
    }

    /* ハンバーガーメニュークリック後のスタイル */
    .menu.active {
        clip-path: inset(0 0% 0 0);
    }

    .hamburger.active span:nth-child(1) {
        top: 5px;
        transform: rotate(45deg);
        height: 2px;
        background-color: #707070;
    }

    .hamburger.active span:nth-child(2) {
        top: -5px;
        transform: rotate(-45deg);
        height: 2px;
        background-color: #707070;
    }

    .header_content {
        padding: 0 20px;
        height: 60px;
        align-items: center;
        /* background: #fff; */
        column-gap: initial;
        justify-content: space-between;
        background: rgb(255 255 255 / 100%);

    }

    header {
        top: 0 !important;
    }

    .header_content .logo a {
        display: flex;
        align-items: center;
        gap: 5px;
        position: relative;
        z-index: 1;
    }

    .header_content .logo a::before {
        content: "";
        background-image: url(../../images/fav02.png);
        position: relative;
        width: 50px;
        height: 50px;
        z-index: 1;
        background-size: contain;
        background-repeat: no-repeat;

    }

    .header_content .logo a img {
        width: 200px;
    }

    .header_content .cta_box.sp_tb {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: center;
        margin-top: 50px;
        flex-direction: column;
        gap: 25px;
        margin: 0;
        align-items: flex-start;
        padding: 30px 46px;
        max-width: 500px;
        width: 100%;
        margin: 0 auto;
    }

    .header_content .cta_box .RequestCatalog01,
    .header_content .cta_box .mail_box01 {
        width: 50%;
        justify-content: center;
        display: flex;
    }

    .header_content .menu .Gmenu>li>ul {
        width: 100%;
        flex-direction: column;
        position: relative;
        border-bottom: 1px solid #cccccc;
        display: none;
        opacity: 0;
        height: 0;
        transition: .3s;
        padding: 0 20px;
        display: flex;
        transform: scaleY(0);
        transform-origin: center top;
    }

    .header_content .menu .Gmenu>li>ul.active {
        opacity: 1;
        height: 100%;
        padding: 20px 20px 10px;
        visibility: visible;
        transform: scaleY(1);
    }

    .header_content .menu .Gmenu>li>ul>li>ul>li>a {
        justify-content: flex-start;
        padding: 10px 0;
        margin: 0;
        font-size: 16px;
        border-bottom: 1px solid #ccc;
    }

    .header_content .menu .Gmenu>li>ul>li {
        margin-bottom: 20px;
    }

    .header_content .cta_box .tel_box01 {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .header_content .cta_box .RequestCatalog01,
    .header_content .cta_box .mail_box01 {
        width: 50%;
        justify-content: center;
        display: flex;
    }

    .header_content .cta_box .tel_box01 a {
        pointer-events: all;
        margin-bottom: 30px;
        margin-right: 0;
    }

    .header_content .logo {
        width: initial;
        transform: translate(-10px, 0px);
        max-width: initial;
    }

    body .header_content::after {
        content: "";
        background: #fff;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        left: 0px;
        top: 0px;
        opacity: 0;
    }

    body.active .header_content::after {
        opacity: 1;
        transition-delay: 1s;
    }

    .cta_box.pc {
        display: none;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1129px) {
    .header_content {
        background: none;
    }

    .header_content .menu {
        width: 100% !important;
    }
}

/*==========================================================================
*
*front
*
============================================================================*/
.privacy_row .accordion_one {
    margin-top: 60px;
}

div#privacy_sec {
    padding-left: 10px;
    padding-right: 10px;
}

.privacy_row .accordion_one {
    width: 100%;
    position: initial;
}

.privacy_row .accordion_one .accordion_header {
    position: relative;
    z-index: +1;
    cursor: pointer;
    transition: .3s;
}

.privacy_row .accordion_one .accordion_header:hover {
    opacity: .8;
}

.privacy_row .accordion_one .accordion_header .i_box {
    display: flex;
    justify-content: center;
}

.privacy_row .accordion_one .accordion_header .i_box .one_i {
    display: block;
    width: 50px;
    height: 50px;
    transform-origin: center center;
    transition-duration: 0.2s;
    position: relative;
}

.privacy_row .accordion_one .accordion_header.open .i_box {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
}

.privacy_row .accordion_one .accordion_header .i_box .one_i:before,
.privacy_row .accordion_one .accordion_header .i_box .one_i:after {
    display: flex;
    content: '';
    background-color: #616161;
    width: 50px;
    height: 8px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0px, -50%);
}

.privacy_row .accordion_one .accordion_header .i_box .one_i:before {
    width: 8px;
    height: 50px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: .3s;
}

.privacy_row .accordion_one .accordion_header.open .i_box .one_i:before {
    transform: translate(-50%, -50%) rotate(-90deg);
}

.privacy_row .accordion_one .accordion_inner {
    display: none;
}

.privacy_row .accordion_one .accordion_inner .box_one {
    height: auto;
    margin-top: 110px;
}

.privacy_row .accordion_one .accordion_inner p.txt_a_ac {
    margin: 0;
}

.title_box02 {
    position: relative;
    width: fit-content;
    margin: 0 auto;
}

.title_box02 h2 {
    font-size: 60px;
    text-align: center;
    line-height: 1.1;
    color: #5E5E5E;
    font-weight: 400;
    font-style: normal;
    letter-spacing: -0.02em;
}

.title_box02 p.p_text {
    text-align: center;
    font-size: 16px;
    letter-spacing: .05em;
    color: #5E5E5E;
    margin-top: 4px;
}

.privacy_row .accordion_one .accordion_inner .box_one h3 {
    font-size: 16px;
    font-weight: 500;
    border-bottom: 1px solid #CCCCCC;
    padding: 0 22px 8px;
    margin-bottom: 15px;
    margin-top: 50px;
}

.privacy_row .accordion_one .accordion_inner .box_one p.p_text {
    line-height: 1.8;
    font-size: 16px;
    padding: 0 22px;
}

.form_sec .formCta_row {
    background: #616161;
    border: 1px solid #7E7E7E;
    border-radius: 4px;
    padding: 42px 20px 40px;
}

.form_sec .formCta_row .title {
    font-size: 20px;
    text-align: center;
    color: #fff;
    font-weight: 500;
    margin-bottom: 15px;
}

.form_sec .formCta_row .text {
    text-align: center;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 24px;
}

.tel_box {
    position: relative;
    width: fit-content;
}

.tel_box a {
    display: flex;
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    width: fit-content;
    line-height: 1.2;
    column-gap: 4px;
    position: relative;
    transition: .3s;
    pointer-events: none;
}

.tel_box a:hover {
    opacity: .7;
}

.tel_box a::before {
    content: "\f095";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    transform: rotate(106deg);
}

.form_sec .formCta_row .tel_box {
    margin: 0 auto;
}

.form_sec .formCta_row .tel_box a {
    transform: translate(-10px, 0px);
}

.tel_box a span {
    margin-top: -3px;
}

.normalform_row {
    position: relative;
}

.normalform_row h3 {
    font-size: 28px;
    text-align: center;
    font-weight: 500;
    margin-bottom: 57px;
}



.normalform_row {
    position: relative;
}

.normalform_row .wpcf7 {
    position: relative;
}

.normalform_row .wpcf7 .cp_iptxt {
    margin-bottom: 20px;
}

.normalform_row .wpcf7 .cp_iptxt .text {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 11px;
}

.normalform_row .wpcf7 .cp_iptxt .place {
    position: relative;
}

.normalform_row .wpcf7 .cp_iptxt .place span.wpcf7-form-control.wpcf7-radio {
    position: relative;
}

.normalform_row .wpcf7 .cp_iptxt .place span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item {
    margin: 0;
    margin-right: 46px;
    margin-left: 6px;
}

.normalform_row .wpcf7 .cp_iptxt .place span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item span.wpcf7-list-item-label {
    font-size: 20px;
    cursor: pointer;
}

.normalform_row .wpcf7 .cp_iptxt .place span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item input[type="radio"] {
    transform: scale(1.55);
    margin-right: 10px;
    cursor: pointer;
}

.normalform_row .wpcf7 .cp_iptxt input[type="text"],
.normalform_row .wpcf7 .cp_iptxt input[type="tel"],
.normalform_row .wpcf7 .cp_iptxt input[type="email"] {
    background: #F1F1F1;
    border: 1px solid #999999;
    padding: 15px;
    font-size: 16px;
    border-radius: 4px;
    width: 100%;
}

.normalform_row .wpcf7 .cp_iptxt .place02 {
    position: relative;
}

.normalform_row .wpcf7 .cp_iptxt .place02 .subtext {
    font-size: 20px;
    margin-bottom: 10px;
    margin-top: 10px;
}

.normalform_row .wpcf7 .cp_iptxt .place select.wpcf7-form-control.wpcf7-select {
    cursor: pointer;
    width: 100%;
    padding: 14.5px;
    font-size: 16px;
    border-radius: 4px;
    max-width: 362px;
    background: #F1F1F1;
    border: 1px solid #999999;
    -webkit-appearance: none;
    appearance: none;
    color: #333;
}

.place.selectdeza {
    position: relative;
    width: 100%;
    max-width: 362px;
}

.place.selectdeza::after {
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 12px solid black;
    content: "";
    position: absolute;
    right: 17px;
    top: 50%;
    transform: translate(0px, -50%);
}

.cp_iptxt02 {
    position: relative;
    text-align: center;
    margin-top: 85px;
}

.cp_iptxt02 span.wpcf7-form-control-wrap input[type="checkbox"] {
    border: none;
    position: relative;
    width: 24px;
    height: 24px;
    border: 1px solid #616161;
    vertical-align: -5px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 4px;
    background: #F1F1F1;
    transform: translate(0px, 2px);
    margin-right: 7px;
    cursor: pointer;
}

.cp_iptxt02 span.wpcf7-form-control-wrap input[type="checkbox"]:checked:before {
    position: absolute;
    top: 5px;
    left: 8px;
    transform: rotate(50deg);
    width: 6px;
    height: 8px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    content: '';
}

.cp_iptxt02 span.wpcf7-form-control-wrap span.wpcf7-list-item-label {
    font-size: 16px;
    cursor: pointer;
}

.normalform_row .wpcf7 .sub {
    position: relative;
    text-align: center;
    width: fit-content;
    margin: 0 auto;
    margin-top: 75px;
    /* overflow: hidden; */
}

/* .normalform_row .wpcf7 .sub::after {
    content: "";
    position: absolute;
    top: 0;
    left: -60%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgb(255 255 255 / 50%), rgb(255 255 255 / 100%));
    transform: skew(-25deg);
} */
/* .normalform_row .wpcf7 .sub:hover::after {
        animation: shine2 1s;
    z-index: 1;
    transform: skew(-25deg) scale(1);
} */
.normalform_row .wpcf7 .sub input.wpcf7-form-control.wpcf7-submit.has-spinner {
    width: 280px;
    height: 65px;
    border-radius: 4px;
    background: #828181;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    border: none;
    position: relative;
    cursor: pointer;
    transition: .3s;
    padding-right: 10px;
    border: 1px solid #828181;
}

.normalform_row .wpcf7 .sub input.wpcf7-form-control.wpcf7-submit.has-spinner:hover {
    background: #fff;
    color: #828181;
}

.normalform_row .wpcf7 .sub input.wpcf7-form-control.wpcf7-submit.has-spinner:disabled:hover {
    background: #828181;
    color: #fff;
    cursor: not-allowed;
}

.normalform_row .wpcf7 .sub span.wpcf7-spinner {
    display: none;
}

.normalform_row .wpcf7 .sub p {
    position: relative;
}

.normalform_row .wpcf7 .sub p::after {
    content: "";
    position: absolute;
    background-image: url(../../images/arrowright.svg);
    top: 50%;
    right: 20px;
    z-index: 1;
    width: 19px;
    height: 9px;
    background-size: contain;
    transform: translate(0%, -50%);
    background-repeat: no-repeat;
}

.normalform_row .wpcf7 .sub p::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translate(0px, -50%);
    right: 10px;
    background: #fff;
    width: 39px;
    height: 39px;
    z-index: 1;
    border-radius: 50%;
    transition: .3s;
    border: 2px solid #828181;
}

/* .normalform_row .wpcf7 .sub p:has(input:hover)::before {
    background: #616161;
}
.normalform_row .wpcf7 .sub p:has(input:disabled:hover)::before {
    background: #fff;
}
.normalform_row .wpcf7 .sub p:has(input:hover)::after {
    color: #fff;
}
.normalform_row .wpcf7 .sub p:has(input:disabled:hover)::after {
    color: #616161;
} */
/* .grecaptcha-badge {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
} */
/* .rc-anchor{
    display: none !important;
} */
.grecaptcha-badge {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: 0.3s;
}

.grecaptcha-badge.active {
    visibility: visible;
    opacity: 1;
    pointer-events: all;
    transform: translate(0px, -60px);
    bottom: 60px !important;
}

.normalform_row .wpcf7 .cp_iptxt .text span.required {
    font-size: 16px;
    font-weight: 500;
    color: #FF0000;
    margin-left: 20px;
}

.wpcf7-response-output {
    border-color: #FF0000 !important;
    color: #FF0000;
}

.normalform_row .wpcf7 .cp_iptxt .place.kutiwid input[type="text"] {
    max-width: 362px;
}

.normalform_row .wpcf7 .cp_iptxt .place.kutiwid {
    position: relative;
}

.normalform_row .wpcf7 .cp_iptxt .place.kutiwid span.kuti {
    margin-left: 10px;
    font-size: 20px;
    font-weight: 500;
}

.normalform_row .wpcf7 .cp_iptxt .place.kutiwid p {
    display: flex;
    align-items: end;
}

.cp_iptxt02 label {
    display: flex;
}

.topinformation_sec {
    position: relative;
    margin: 0 auto;
    padding: 0 20px;
    margin-left: 60px;
}

.topinformation_sec .topinformation_row {
    display: flex;
    width: 100%;
    position: relative;
    max-width: 1394px;
    left: 0;
    position: relative;
    column-gap: 60px;
    margin: 0 auto;
}

.topinformation_sec .topinformation_row .topinformation_in {
    max-width: 1040px;
}

.topinformation_sec .topinformation_row .topinformation_in ul {
    display: grid;
    gap: 60px;
    grid-template-columns: 1fr 1fr 1fr;
}

.topinformation_sec .topinformation_row .topinformation_in ul li {
    position: relative;
}

.topinformation_sec .topinformation_row .topinformation_in ul li a {
    position: relative;
    transition: .3s;
}

.topinformation_sec .topinformation_row .topinformation_in ul li a .img_box {
    position: relative;
    padding-bottom: 100%;
    overflow: hidden;
    border: 1px solid #707070;
    border-radius: 4px;
}

.topinformation_sec .topinformation_row .topinformation_in ul li a .img_box img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 2s cubic-bezier(0, 1, 0, 1);
}

.topinformation_sec .topinformation_row .topinformation_in ul li a:hover .img_box img {
    transform: scale(1.1);
}

.topinformation_sec .topinformation_row .title_box02.cust {
    margin-right: auto;
    margin-left: 0;
    height: fit-content;
    margin-top: 90px;
}

.topinformation_sec .topinformation_row .topinformation_in ul li .flexdaycate {
    margin-top: 13px;
    margin-bottom: 16px;
}

.topinformation_sec .topinformation_row .topinformation_in ul li a h3 {
    font-size: 16px;
    color: #333;
    line-height: 1.9;
}

.topinformation_sec .topinformation_row .topinformation_in .morebtn {
    position: relative;
    margin-right: 0;
    margin-top: 60px;
    margin-left: auto;
    width: fit-content;
    transition: 0.6s !important;
}

.topinformation_sec .topinformation_row .topinformation_in .morebtn a {
    position: relative;
}

.morebtn {
    position: relative;
}

.morebtn a {
    position: relative;
    width: 280px;
    background: #828181;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    height: 65px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    border: 1px solid #828181;
    transition: .3s;
}

.morebtn a::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translate(0px, -50%);
    right: 10px;
    background: #fff;
    width: 39px;
    height: 39px;
    z-index: 1;
    border-radius: 50%;
    transition: .3s;
    border: 2px solid #828181;
}

.morebtn a::after {
    content: "";
    position: absolute;
    background-image: url(../../images/arrowright.svg);
    top: 50%;
    right: 20px;
    z-index: 1;
    width: 18.5px;
    height: 10.1px;
    background-size: contain;
    transform: translate(0%, -50%);
    background-repeat: no-repeat;
}

.morebtn a:hover {
    background: #fff;
    color: #828181;
}

/* .morebtn a .inbtnslide{
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.morebtn a .inbtnslide::after{
    content: "";
    position: absolute;
    top: 0;
    left: -60%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgb(255 255 255 / 50%), rgb(255 255 255 / 100%));
    transform: skew(-25deg);
}
.morebtn a:hover .inbtnslide::after{
        animation: shine2 1s;
    z-index: 1;
    transform: skew(-25deg) scale(1);
}
@keyframes shine2{
    100% {
        left: 125%;
    }
} */
.morebtn a span {
    position: relative;
    transform: translate(-10px, 0px);
}

.RecruitmentOfMembers_row {
    position: relative;
}

.RecruitmentOfMembers_row .content_box {
    border-top: 1px solid #ccc;
    padding: 50px;
}

.RecruitmentOfMembers_row .content_box>p {
    font-size: 16px;
    line-height: 2.1;
}

.RecruitmentOfMembers_row .content_box .table_content {
    position: relative;
    max-width: 474px;
    margin: 0 auto;
    margin-top: 30px;
}

.RecruitmentOfMembers_row .content_box .table_content table {
    position: relative;
    width: 100%;
    border-spacing: 0px 10px;
    border-collapse: separate;
}

.RecruitmentOfMembers_row .content_box .table_content table tr {
    margin-bottom: 12px;
}

.RecruitmentOfMembers_row .content_box .table_content table tr th {
    background: #828181;
    color: #fff;
    text-align: justify;
    border: 1px solid #828181;
    border-radius: 4px 0px 0px 4px !important;
    width: 50%;
}

.RecruitmentOfMembers_row .content_box .table_content table tr td {
    border: 1px solid #B29D9D;
    background: #fff;
    border-radius: 0px 4px 4px 0px !important;
    width: 50%;
}

.RecruitmentOfMembers_row .content_box .table_content table tr th,
.RecruitmentOfMembers_row .content_box .table_content table tr td {
    font-size: 16px;
    padding: 8px 30px;
}

.RecruitmentOfMembers_row .content_box>h3 {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: .04em;
    margin-bottom: 15px;
}

.RecruitmentOfMembers_row .content_box .table_content02 {
    position: relative;
    margin-bottom: 50px;
    margin-top: 50px;
}

.RecruitmentOfMembers_row .content_box .table_content02 table {
    border-collapse: separate;
}

.RecruitmentOfMembers_row .content_box .table_content02 table tr {
    display: flex;
    column-gap: 45px;
}

.RecruitmentOfMembers_row .content_box .table_content02 table tr td {
    color: #333;
}

.RecruitmentOfMembers_row .content_box .table_content02 table tr td a {
    color: #333;
}

.RecruitmentOfMembers_row .content_box .table_content02 table tr+tr {
    border-top: 4px solid transparent;
}

.RecruitmentOfMembers_row .content_box .table_content02 table tr td span.mintexti {
    font-size: 16px;
}

.RecruitmentOfMembers_row .content_box .text02 {
    font-size: 16px;
    line-height: 1.7;
}

.RecruitmentOfMembers_row .content_box .text02 p span.kometext {
    padding-left: 1em;
    text-indent: -1em;
    display: inline-block;
}

.RecruitmentOfMembers_row .content_box>p span.smalltext {
    font-size: 16px;
}

.RecruitmentOfMembers_row .content_box .info_box {
    margin-top: 50px;
}

.RecruitmentOfMembers_row .content_box .info_box>p {
    font-size: 16px;
}

.RecruitmentOfMembers_row .content_box .info_box .telfax {
    font-size: 20px;
    margin-bottom: 50px;
    color: #333;
}

.RecruitmentOfMembers_row .content_box .info_box .telfax p>span {
    pointer-events: none;
}

.RecruitmentOfMembers_row .content_box .info_box .telfax p a {
    color: #333;
}

.RecruitmentOfMembers_row .content_box:first-of-type {
    border: none;
    padding-top: 0;
}

.RecruitmentOfMembers_row .content_box.origin {
    border: none;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 20px;
}

.RecruitmentOfMembers_row .content_box.origin .application_flex {
    display: flex;
    gap: 43px;
    align-items: center;
}

.RecruitmentOfMembers_row .content_box.origin .application_flex .qr {
    width: 122px;
    position: relative;
}

.RecruitmentOfMembers_row .content_box.origin .application_flex .application_btnFlex {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.RecruitmentOfMembers_row .content_box.origin .application_flex .application_btnFlex .morebtn:nth-of-type(1) {
    transition-delay: .1s;
}

.RecruitmentOfMembers_row .content_box.origin .application_flex .application_btnFlex .morebtn:nth-of-type(2) {
    transition-delay: .2s;
}

.RecruitmentOfMembers_row .content_box.origin .application_flex .qr p {
    position: absolute;
    bottom: -24px;
    left: 50%;
    font-size: 12px;
    transform: translate(-50%, 0px);
    width: 100%;
    text-align: center;
}

.RecruitmentOfMembers_underImg {
    margin: 0 auto;
    margin-top: 120px;
    position: relative;
    padding-bottom: 200px;
    max-width: 1260px;
    /* margin: 0 auto; */
}

.RecruitmentOfMembers_row .content_box.origin .application_flex .application_btnFlex .morebtn a span {
    transform: translate(-20px, 0px);
}

.RecruitmentOfMembers_sec {
    position: relative;
    max-width: 1920px;
    margin: 0 auto;
    overflow: hidden;
    padding: 0 20px;
    z-index: 1;
}

.RecruitmentOfMembers_sec::before {
    content: "";
    background-image: url(../../images/top_pats02.jpg);
    width: 100%;
    height: calc(100% - 70px);
    position: absolute;
    left: 0;
    top: 70px;
    width: 93vw;
    margin: 0 calc(50% - 50vw);
    background-repeat: no-repeat;
    background-size: cover;
}

.RecruitmentOfMembers_row .content_box .table_content table tr td span.right {
    margin-right: 40px;
}

.about_sec {
    position: relative;
    padding: 0 20px;
    overflow: hidden;
    padding-bottom: 85px;
    max-width: 1920px;
    margin: 0 auto;
}

.about_sec .about_row {
    display: flex;
    margin-bottom: 200px;
}

.about_sec .about_row .text_col {
    width: 54%;
    padding-top: 146px;
    position: relative;
    z-index: 1;
    height: fit-content;
    padding-left: 80px;
    padding-bottom: 168px;
    padding-right: 75px;
}

.about_sec .about_row .img_col {
    width: 46%;
    position: relative;
    z-index: 1;
}

.about_sec .about_row .text_col p.text {
    line-height: 2.5;
    margin-bottom: 40px;
}

.about_sec .about_row .text_col p.endtext {
    line-height: 2.5;
    text-align: end;
    margin-bottom: 75px;
}

.about_sec .about_row .text_col::before {
    content: "";
    position: absolute;
    width: 100vw;
    height: 100%;
    z-index: -1;
    top: 0;
    left: 0px;
    background-image: url(../../images/top_pats04.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

.about_sec .about_row .text_col .morebtn a span.s {
    transform: translate(-20px, 0px);
}

.about_sec .bigimg_row {
    position: relative;
    width: calc(100% + 40px);
    transform: translate(-20px, 0px);
}

.about_sec .bigimg_row .img_box img {
    width: 100%;
}

.about_sec .bigimg_row .bigimg_text {
    margin-top: 0;
    text-align: end;
    padding-right: 24px;
    position: absolute;
    bottom: 40px;
    /* right: 24px; */
    right: 64px;

}

.about_sec .bigimg_row .bigimg_text p {
    font-size: 14px;
    color: #fff;
    text-shadow: 1px 3px 3px #000000;
}

.banner_sec {
    padding: 0 20px;
    padding-top: 70px;
    padding-bottom: 175px;
}

.banner_sec .img_box {
    position: relative;
}
.banner_sec .img_box a{
    /*transition: .3s;*/
}

/*.banner_sec .img_box a {
    transition: .3s;
    position: absolute;
    left: 52%;
    bottom: 11%;
    width: 24%;
    height: 17%;
    border-radius: 4px;
    display: none;
}*/
.banner_sec .img_box a img {
  transition:0.5s all;
}
.banner_sec .img_box a img:hover {
  transform:scale(0.95,0.95);
  transition:0.5s all;
}

.profile_row {
    position: relative;
}

.profile_row .flexs {
    display: flex;
    column-gap: 67px;
}

.profile_sec {
    position: relative;
}

.profile_sec .profile_row {
    position: relative;
}

.profile_row .flexs .img_col .img_con {
    position: relative;
}

.profile_row .flexs .img_col {
    position: relative;
    width: 50%;
    height: fit-content;
    padding-left: 7.5%;
    padding-top: 11%;
}

.profile_row .flexs .img_col .img_boxin {
    position: absolute;
    bottom: 0;
    transition: 0.6s;
    left: 0;
    transform-origin: left bottom;
}

.profile_row .flexs .img_col .img_box {
    position: relative;
    bottom: 0;
}

.profile_row .flexs .img_col .img_boxin.fadeIn {
    transform: rotate(-16deg);
}

.profile_row .flexs .text_col {
    position: relative;
    width: 50%;
    display: flex;
    align-items: center;
}

.profile_row .flexs .text_col table {
    position: relative;
    border-collapse: separate;
}

.profile_row .flexs .text_col table tr {
    border-top: 30px solid transparent;
    display: flex;
    column-gap: 23px;
    font-size: 18px;
}

.profile_row .flexs .text_col table tr td span.letter {
    letter-spacing: 0.2em;
}

.profile_row .flexs .text_col table tr td span.hira {
    font-size: 17px;
    letter-spacing: -0.05em;
}

.profile_row .flexs .text_col table tr th {
    text-align: start;
    min-width: 70px;
    display: flex;
    justify-content: space-between;
}

.grades_sec {
    position: relative;
    overflow: hidden;
    padding-bottom: 200px;
}

.grades_sec .grades_row {
    position: relative;
    padding-top: 70px;
    margin-bottom: 0;
}

.grades_sec .grades_row::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, 0px);
    background: #979797;
    width: 8px;
    height: calc(100% - 0px);
}

.grades_sec .grades_row .grades_flex {
    display: flex;
    justify-content: space-between;
    position: relative;
    gap: 140px;
}

.grades_sec .grades_row .grades_flex:not(:nth-of-type(1)) {
    margin-top: 30px;
}

.grades_sec .grades_row .grades_flex .yearscenter {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0px);
    z-index: 1;
}

.grades_sec .grades_row .grades_flex .yearscenter .imgs_box {
    opacity: 0;
}

.grades_sec .grades_row .grades_flex.fadeIn .yearscenter .imgs_box {
    animation: cd-bounce-1 0.6s;
    opacity: 1;
}

@keyframes cd-bounce-1 {
    0% {
        opacity: 0;
        transform: scale(0.5);
    }

    60% {
        opacity: 1;
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }
}

.grades_sec .grades_row .grades_flex .text_col {
    margin-top: 60px;
    width: 34%;
    width: 50%;
    display: flex;
    flex-direction: column;
}

.grades_sec .grades_row .grades_flex.fadeIn .text_col {
    transform: translate(0%, 0px);
    opacity: 1;
}

.grades_sec .grades_row .grades_flex.reverse .text_col {
    margin-top: 90px;
}

.grades_sec .grades_row .grades_flex.reverse.fadeIn .text_col {
    transform: translate(0%, 0px);
    opacity: 1;
}

.grades_sec .grades_row .grades_flex .text_col .text {
    line-height: 1.7;
    transition: .6s;
    transition-timing-function: ease;
    transform: translate(50%, 0px);
    opacity: 0;
}

.grades_sec .grades_row .grades_flex.reverse .text_col .text {
    transform: translate(-50%, 0px);
}

.grades_sec .grades_row .grades_flex .text_col .text:nth-of-type(1) {
    transition-delay: .3s;
}

.grades_sec .grades_row .grades_flex .text_col .text:nth-of-type(2) {
    transition-delay: .4s;
}

.grades_sec .grades_row .grades_flex .text_col .text:nth-of-type(3) {
    transition-delay: .5s;
}

.grades_sec .grades_row .grades_flex.fadeIn .text_col .text {
    transform: translate(0%, 0px);
    opacity: 1;
}

.grades_sec .grades_row .grades_flex .text_col .text .day {
    font-weight: 500;
    font-size: 16px;
    color: #FC8282;
}

.grades_sec .grades_row .grades_flex .text_col .text p {
    font-size: 16px;
}

.grades_sec .grades_row .grades_flex .img_col {
    margin-top: 20px;
    width: fit-content;
    width: 50%;
    transition: .6s;
    transition-timing-function: ease;
    transform: translate(-50%, 0px);
    opacity: 0;
    transition-delay: 0.6s;
}

.grades_sec .grades_row .grades_flex.fadeIn .img_col {
    transform: translate(0%, 0px);
    opacity: 1;
}

.grades_sec .grades_row .grades_flex .img_col img {
    width: fit-content;
}

.grades_flex.reverse {
    margin-top: 30px;
}

.grades_sec .grades_row .grades_flex.reverse .img_col {
    text-align: end;
    margin-top: 55px;
    transform: translate(50%, 0px);
    opacity: 0;
}

.grades_sec .grades_row .grades_flex.reverse.fadeIn .img_col {
    transform: translate(0%, 0px);
    opacity: 1;
}

.grades_sec .grades_row .grades_flex .text_col .text_in {
    display: flex;
    flex-direction: column;
    gap: 30px;
    max-width: 430px;
    width: 100%;
    margin: 0 auto;
}

.imglistallTextani_sec {
    position: relative;
    max-height: 2345px;
    padding-bottom: 123.1%;
    overflow: hidden;
    max-width: 1920px;
    margin: 0 auto;
}

.imglistallTextani_sec .img_box {
    position: relative;
    position: absolute;
    top: 0;
    width: 100%;
}

.imglistallTextani_sec .img_box img {
    width: 100%;
}

.imglistallTextani_sec .img_box02 {
    position: absolute;
    top: 24%;
    width: 45.7%;
    left: 70px;
    transition-delay: .2s;
}

.imglistallTextani_sec .img_box02 img {
    width: 100%;
}

.imglistallTextani_sec .img_box03 {
    position: absolute;
    right: 0;
    top: 31%;
    width: 46%;
    transition-delay: .4s;
}

.imglistallTextani_sec .img_box03 img {
    width: 100%;
}

.imglistallTextani_sec .img_box04 {
    position: absolute;
    margin-left: 19%;
    /* margin-top: 20%; */
    /* top: 72%; */
    bottom: 0;
    width: 23.2%;
    transition-delay: .4s;
}

.imglistallTextani_sec .img_box05 {
    position: absolute;
    top: 60.7%;
    right: 70px;
    width: 32.3%;
    transition-delay: .2s;
}

.imglistallTextani_sec .textani_row {
    position: absolute;
}

.imglistallTextani_sec .img_box04 img {
    width: 100%;
}

.imglistallTextani_sec .img_box05 img {
    width: 100%;
}

.imglistallTextani_sec .textani_row {
    display: flex;
    width: 100%;
    overflow: hidden;
    top: 56%;
}

.imglistallTextani_sec .textani_row.fadeswhich08.fadeIn .text01 {
    animation: loop 50s -25s linear infinite;
}

.imglistallTextani_sec .textani_row.fadeswhich08.fadeIn .text02 {
    animation: loop2 50s linear infinite;
}

.imglistallTextani_sec .textani_row .text01,
.imglistallTextani_sec .textani_row .text02 {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 250px;
    line-height: 1;
    color: #616161;
    font-size: 13.020833333333334vw;
    font-family: 'Noto Serif JP', serif;
    padding-right: 30vw;
}

@keyframes loop {
    0% {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes loop2 {
    0% {
        transform: translateX(0);
    }

    to {
        transform: translateX(-200%);
    }
}

.textani_row02 {
    display: flex;
    width: 100%;
    overflow: hidden;
    margin-top: 30px;
}

.textani_row02 .text01 {
    animation: loop03 50s -25s linear infinite;
}

.textani_row02 .text02 {
    animation: loop04 50s linear infinite;
}

.textani_row02 .text01,
.textani_row02 .text02 {
    flex: 0 0 auto;
    white-space: nowrap;
    line-height: 1;
    color: #C9C9C9;
    font-size: 70px;
    font-family: 'Noto Serif JP', serif;
    font-weight: bold;
}

@keyframes loop03 {
    0% {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes loop04 {
    0% {
        transform: translateX(0);
    }

    to {
        transform: translateX(-200%);
    }
}

.elementor-element:where(.e-con-full, .elementor-widget) {
    flex-wrap: initial;
}

footer {
    position: relative;
    background: #f5f5f5;
    /* padding: 65px 20px 45px !important; */
    padding: 95px 100px 45px !important;
}

footer .flex_content {
    display: flex;
    gap: 40px;
    position: relative;
    z-index: 1;
    margin-bottom: 50px;
}

footer .flex_content .left_col {
    width: 50%;
    position: absolute;
}

footer .flex_content .right_col {
    width: 50%;
    display: flex;
    align-items: center;
    margin-left: auto;
    width: calc(50% - 20px);
}

footer .flex_content .left_col aside.menu_column {
    margin-top: 50px;
}

footer .flex_content .left_col aside.menu_column ul#menu-footer {
    display: flex;
    flex-wrap: wrap;
    column-gap: 30px;
    row-gap: 30px;
}

footer .flex_content .left_col aside.menu_column ul#menu-footer li a {
    font-size: 18px;
    color: #333;
    letter-spacing: .005em;
    transition: .3s;
    position: relative;
}

footer .flex_content .left_col aside.menu_column ul#menu-footer li a::after {
    content: "";
    width: 0%;
    height: 1px;
    background: #333;
    position: absolute;
    bottom: -4px;
    left: 0;
    transition: .3s ease-out;
}

footer .flex_content .left_col .sns_box {
    position: relative;
    margin-top: 35px;
}

footer .flex_content .left_col .sns_box .x a {
    width: 37px;
    position: relative;
    display: block;
    transition: .3s;
}

footer .flex_content .right_col .logoimg_box {
    position: relative;
}

footer .flex_content .right_col .logoimg_box a {
    display: block;
    transition: .3s;
}

footer .flex_content .right_col .logoimg_box a:hover {
    opacity: .7;
}

/* footer .flex_content .left_col .sns_box .x a:hover {
    opacity: .7;
} */
footer .flex_content .left_col aside.menu_column ul#menu-footer li a:hover:after {
    width: 100%;
}

footer .bigtext_content {
    position: relative;
    text-align: end;
}

footer .bigtext_content p {
    font-size: 160px;
    color: #C9C9C9;
    line-height: 1;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: -.02em;
    font-size: 8.733333vw;
    font-weight: bold;
}

footer .bigtext_content p span.small {
    font-size: 150px;
    letter-spacing: 0;
    font-size: 7.8125vw;
    margin-right: -20px;
}

footer .copyright {
    font-size: 16px;
    text-align: end;
    color: #929292;
    margin-top: 50px;
}

.mv_area {
    position: relative;
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 20px 100px;
    animation: mvallviewnow .3s forwards;
    opacity: 0;
    animation-delay: 1s;
    display: none;
}

@keyframes mvallviewnow {
    0% {}

    100% {
        opacity: 1;
    }
}

.mv_area .imgTop_back {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    animation: loadingmv04 0.6s forwards;
    animation-delay: 7.0s;
    opacity: 0;
}

@keyframes loadingmv04 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* .page-header {
    display: none;
} */
.mv_area .imgBottom_back {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

.mv_area .img_back {
    position: relative;
    margin: 0 auto;
    width: 67.6%;
}

.mv_area .img_back span.copyri {
    font-size: 16px;
}

.mv_area.activemv .img_back {
    animation: loadingmv05 1s forwards;
    animation-delay: 4.6s;
    animation-timing-function: ease-in-out;
    filter: blur(10px);
}

@keyframes loadingmv05 {
    0% {}

    100% {
        filter: blur(0px);
    }
}

.mv_area.activemv .img_back::before,
.mv_area.activemv .img_back::after {
    content: "";
    background: #fff;
    width: 51%;
    top: 0;
    position: absolute;
    height: 100%;
    animation: loadingmv01 1s linear forwards;
    animation-delay: 4.6s;
    /* animation-timing-function: ease-in-out; */
}

.mv_area.activemv .img_back::before {
    left: 0;
}

.mv_area.activemv .img_back::after {
    right: 0;
}

@keyframes loadingmv01 {
    0% {}

    30% {
        width: 10%;
    }

    100% {
        width: 0%;
    }
}

.mv_area .mv_title {
    position: relative;
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    line-height: 1;
    margin-top: 100px;
    font-weight: bold;
    /* animation: mvtitle 1s forwards; */
    /* opacity: 0; */
    /* animation-delay: 1s; */

    transition: .9s;
    opacity: 0;
    transform: scale(1.2);
}

.mv_area .mv_title.fadeIn {
    opacity: 1;
    transform: scale(1.0);
}

/* @keyframes mvtitle{
    0% {
    }
    100% {
        opacity: 1;
    }
} */

.page-header {
    margin-top: -54px;
    visibility: hidden;
}

.mv_area .mv_title span.topte {
    font-size: 11.458333333333332vw;
    margin-bottom: 30px;
    display: block;
}

.mv_area .mv_title span.bottomte {
    font-size: 192px;
    letter-spacing: -.03em;
    font-size: 10vw;
}

.mv_area .mv_title span.ani {
    display: inline-block;
    /* transition: .8s; */
    /* opacity: 1; */
    /* transform: translateY(50%); */
}

.mv_area .mv_title span.topte>span:nth-of-type(5) {
    font-size: 10.285024vw;
}

/* .mv_area .mv_title.fadeIn span.ani {
    opacity: 1;
    transform: translateY(0%);
}
.mv_area .mv_title span.topte span.ani:nth-of-type(2) {
    transition-delay: .05s;
}
.mv_area .mv_title span.topte span.ani:nth-of-type(3) {
    transition-delay: .1s;
}
.mv_area .mv_title span.topte span.ani:nth-of-type(4) {
    transition-delay: .15s;
}
.mv_area .mv_title span.topte span.ani:nth-of-type(5) {
    transition-delay: .2s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(1) {
    transition-delay: .25s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(2) {
    transition-delay: .3s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(3) {
    transition-delay: .35s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(4) {
    transition-delay: .4s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(5) {
    transition-delay: .45s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(6) {
    transition-delay: .5s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(7) {
    transition-delay: .55s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(8) {
    transition-delay: .6s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(9) {
    transition-delay: .65s;
} */
/* .mv_area .mv_title.fadeIn span.ani {
    animation-name: ballDrop;
}
.mv_area .mv_title span.topte span.ani:nth-of-type(2) {
    animation-delay: .05s;
}
.mv_area .mv_title span.topte span.ani:nth-of-type(3) {
    animation-delay: .1s;
}
.mv_area .mv_title span.topte span.ani:nth-of-type(4) {
    animation-delay: .15s;
}
.mv_area .mv_title span.topte span.ani:nth-of-type(5) {
    animation-delay: .2s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(1) {
    animation-delay: .25s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(2) {
    animation-delay: .3s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(3) {
    animation-delay: .35s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(4) {
    animation-delay: .4s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(5) {
    animation-delay: .45s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(6) {
    animation-delay: .5s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(7) {
    animation-delay: .55s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(8) {
    animation-delay: .6s;
}
.mv_area .mv_title span.bottomte span.ani:nth-of-type(9) {
    animation-delay: .65s;
}
@keyframes ballDrop{
    60% {
        opacity: 1;
        transform: translate(0, 60%) rotate(-180deg) scale(.5);
    }
    100% {
        opacity: 1;
        transform: translate(0) rotate(0deg) scale(1);
    }
} */
.btnflex.independence {
    display: none;
}

.fadeswhich04 {
    transition: .3s;
    opacity: 0;
    transform: scale(1.2);
}

.fadeswhich04.fadeIn {
    opacity: 1;
    transform: scale(1.0);
}

.fadeswhich05 {
    transition: .3s;
    opacity: 0;
    transform: translate(0px, 40px);
}

.fadeswhich05.fadeIn {
    opacity: 1;
    transform: translate(0px, 0);
}

.fadeswhich09 {
    transition: .3s;
    opacity: 0;
    transform: translate(0px, 80px);
}

.fadeswhich09.fadeIn {
    opacity: 1;
    transform: translate(0px, 0);
}

.fadeswhich10 {
    transition: .6s;
    opacity: 0;
    transform: translate(0px, 80px);
}

.fadeswhich10.fadeIn {
    opacity: 1;
    transform: translate(0px, 0);
}

.mv_area .title_imgarea {
    position: absolute;
    top: 23%;
    width: 32.3%;
    left: 110px;
    left: 5.8%;
}

.pagetop a {
    position: fixed;
    right: 70px;
    bottom: 30px;
    width: 93px;
    height: 93px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #828181;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translate(0px, 100px);
    transition: .3s;
    opacity: 0;
    background: #828181;
    z-index: 2;
}

.pagetop.active a {
    opacity: 1;
    transform: translate(0, 0px);
}

.pagetop a:hover {
    /*opacity: .7;*/
}

.pagetop a span {
    display: none;
}

.pagetop a::after {
    color: #fff;
    font-family: "Font Awesome 5 Free";
    content: "\f077";
    font-weight: 600;
    transition: .3s;
    font-size: 22px;
}

.form_sec {
    position: relative;
}

main#content {
    position: relative;
    animation: maincontentanime 0.3s forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes maincontentanime {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* .elementor.elementor-11 {
    overflow: hidden;
    position: relative;
} */
.form_sec::before {
    content: "";
    background-image: url(../../images/top_pats13_01.png);
    position: absolute;
    bottom: -29.2%;
    left: 0%;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    margin: 0;
    aspect-ratio: 1920 / 2969;
    /* height: 100%; */
    max-width: 1920px;
    left: 50%;
    transform: translate(-50%, 0px);
    height: 2969px;
}

.privacy_row .accordion_one .accordion_inner::before {
    content: "";
    background-image: url(../../images/top_pats13_02.png);
    position: absolute;
    bottom: -25.6%;
    left: 50%;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    margin: 0;
    z-index: -1;
    /* aspect-ratio: 1920 / 1450; */
    max-width: 1920px;
    transform: translate(-50%, 0px);
}

/* .form_sec::before {
    background-image: url(../../images/top_pats13.webp);
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    max-height: 5938px;
    top: 0;
    background-size: cover;
    width: 99vw;
    margin: 0;
    height: 5938px;
    transform: translate(-50%, 0px);
}  */
/* .page-content{
    overflow: hidden;
} */
.btnentryfixed a {
    position: absolute;
    writing-mode: vertical-rl;
    background-image: linear-gradient(to top, #444444 23%, #A5B0B0 20%, #A5B0B0 42%, #FC4444 0%);
    font-size: 26px;
    color: #fff;
    font-weight: bold;
    width: 80px;
    height: 320px;
    justify-content: center;
    align-items: center;
    display: flex;
    letter-spacing: 4px;
    position: fixed;
    right: 0px;
    top: 30%;
    border-radius: 20px 0px 0px 20px;
    transition: .3s;
    z-index: 2;
    opacity: 0;
    visibility: hidden;
}

.btnentryfixed.active a {
    opacity: 1;
    visibility: visible;
}

.btnentryfixed a:hover {
    /*opacity: .7;*/
}

.gradesLastImg_row {
    position: relative;
    clip-path: inset(250px);
    transition: clip-path 0.1s linear;
    z-index: 1;
}

.gradesLastImg_row.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}

div#dd {
    position: relative;
}

div#dd.fixed div#frameTarget {
    position: fixed;
    top: 0;
}

.gradesLastImg_row.sasa {
    margin-top: 80%;
}

div#dd.fixed {
    height: 1990px;
}

.logotitle_area {
    position: absolute;
    top: 25%;
    left: 4.8%;
}

.mv_area.activemv .logotitle_area {
    animation: loadingmv02 1.0s forwards;
    animation-delay: 6.0s;
    opacity: 0;
}

@keyframes loadingmv02 {
    0% {
        opacity: 0;
    }

    30% {
        opacity: .6;
    }

    100% {
        opacity: 1;
    }
}

.logotitle_area .logotitle_area_in {
    display: flex;
}

.logotitle_area .logotitle_area_in .img_boix {
    width: 170px;
    min-width: 170px;
}

.logotitle_area .logotitle_area_in .texttt {
    position: relative;
}

.logotitle_area .logotitle_area_in .texttt .topsubtext {
    font-size: 30px;
    font-family: 'Noto Serif JP', serif;
    line-height: 1;
}

.logotitle_area .logotitle_area_in .texttt .midsubtext {
    font-family: 'Noto Serif JP', serif;
    font-size: 26px;
    letter-spacing: -0.2em;
    line-height: 1;
    margin: 10px 0 10px;
}

.logotitle_area .logotitle_area_in .texttt .bigtitle {
    font-size: 70px;
    text-shadow: 1px 2px 6px #fff;
    line-height: 1;
}

.topinformation_sec.fadeswhich07 .topinformation_row .title_box02.cust h2 {
    transition: .3s;
    opacity: 0;
    transform: scale(1.2);
}

.topinformation_sec.fadeswhich07.fadeIn .topinformation_row .title_box02.cust h2 {
    opacity: 1;
    transform: scale(1.0);
}

.topinformation_sec.fadeswhich07 .topinformation_row p.p_text {
    transition: .3s;
    opacity: 0;
    transform: translate(0px, 40px);
    transition-delay: .3s;
}

.topinformation_sec.fadeswhich07.fadeIn .topinformation_row p.p_text {
    opacity: 1;
    transform: translate(0px, 0);
}

.topinformation_sec.fadeswhich07 .topinformation_row .topinformation_in ul li {
    transition: .6s;
    opacity: 0;
    transform: translate(0px, 40px);
}

.topinformation_sec.fadeswhich07 .topinformation_row .topinformation_in ul li:nth-of-type(1) {
    transition-delay: .9s;
}

.topinformation_sec.fadeswhich07 .topinformation_row .topinformation_in ul li:nth-of-type(2) {
    transition-delay: 1.1s;
}

.topinformation_sec.fadeswhich07 .topinformation_row .topinformation_in ul li:nth-of-type(3) {
    transition-delay: 1.3s;
}

.topinformation_sec.fadeswhich07.fadeIn .topinformation_row .topinformation_in ul li {
    opacity: 1;
    transform: translate(0px, 0);
}

.RecruitmentOfMembers_row .content_box.origin .application_flex .qr .img_box a.link {
    display: block;
}

span.copyri {
    position: absolute;
    bottom: 10px;
    right: 12px;
    z-index: 1;
    color: #fff;
    font-size: 14px;
    text-shadow: 1px 3px 3px #000000;
    animation: loadingmv-text 1.0s forwards;
    animation-delay: 6.5s;
    opacity: 0;
}

@keyframes loadingmv-text {
    0% {
        opacity: 0;
    }

    30% {
        opacity: .6;
    }

    100% {
        opacity: 1;
    }
}

.grades_sec .grades_row .grades_flex.fadeIn .img_col .in {
    width: fit-content;
    height: fit-content;
    position: relative;
}

.grades_sec .grades_row .grades_flex.reverse .img_col .in {
    margin-left: auto;
}

.grades_sec .grades_row .grades_flex.fadeIn .img_col .in span.copyri {
    right: 5px;
    bottom: 5px;
    font-size: 12px;
}


/* ローディング */
.loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 10;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loading.on {
    animation: fadeOut 1s 3s forwards;
}

@keyframes fadeOut {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        visibility: hidden;
    }
}

.loading .loading__logo {
    opacity: 0;
    width: 500px;
    filter: blur(10px);
}

/* .loading__logo.activemv{
    animation: logo_fade 2.0s 0.3s forwards;
    width: 500px;
    filter: blur(10px);
} */
.loading.on .loading__logo {
    animation: logo_fade 2.0s 0.3s forwards;
}

@keyframes logo_fade {
    0% {
        opacity: 0;
        filter: blur(10px);
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 1;
        filter: blur(0);
    }
}

header.home.activemv {
    animation: loadingmv03 0.6s ease-in-out forwards;
    animation-delay: 8.0s;
    opacity: 0;
}

@keyframes loadingmv03 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

header.others_page_active {
    animation: othersmvanimation_header 0.6s ease-in-out forwards;
    animation-delay: 4.0s;
    opacity: 0;
}

@keyframes othersmvanimation_header {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* frontlast */
/*==========================================================================
*
*information
*
============================================================================*/
#infos .flexmain {
    display: flex;
    column-gap: 30px;
    margin-bottom: 120px;
}

#infos .flexmain .sidecontent {
    max-width: 180px;
    width: 180px;
    min-width: 180px;
}

#infos .flexmain .maincontent {
    max-width: 1050px;
    width: 100%;
}

#infos .flexmain .maincontent .list_box {
    position: relative;
}

#infos .flexmain .maincontent .list_box ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 44px;
    row-gap: 70px;
}

#infos .flexmain .maincontent .cate_btn_list {
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    max-width: 890px;
}

#infos .flexmain .maincontent .cate_btn_list .btn {
    position: relative;
}

#infos .flexmain .maincontent .cate_btn_list .btn a {
    border: 1px solid #616161;
    border-radius: 4px;
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    min-height: 56px;
    color: #707070;
    font-weight: 500;
    transition: .3s;
    font-size: 16px;
}

#infos .flexmain .maincontent .cate_btn_list .btn.active a {
    background: #616161;
    color: #fff;
}

#infos .flexmain .maincontent .cate_btn_list .btn a:hover {
    background: #616161;
    color: #fff;
}

#infos .flexmain .maincontent .list_box ul li {
    position: relative;
}

#infos .flexmain .maincontent .list_box ul li>a {
    display: block;
    position: relative;
    transition: .3s;
}

#infos .flexmain .maincontent .list_box ul li a .img_box {
    position: relative;
    overflow: hidden;
    padding-bottom: 100%;
    border: 1px solid #707070;
    border-radius: 4px;
}

#infos .flexmain .maincontent .list_box ul li a .img_box img {
    position: absolute;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    transition: 2s cubic-bezier(0, 1, 0, 1);
}

#infos .flexmain .maincontent .list_box ul li a:hover .img_box img {
    transform: scale(1.1);
}

#infos .flexmain .maincontent .list_box ul li a .flexdaycate {
    margin-top: 23px;
}

.flexdaycate {
    position: relative;
    display: flex;
    gap: 26px;
    align-items: center;
}

.flexdaycate .catein {
    position: relative;
}

.flexdaycate .catein a {
    position: relative;
    color: #333;
    border: 0.5px solid #000000;
    border-radius: 4px;
    font-size: 16px;
    padding: 0px 19px 0px;
    display: block;
    font-weight: 300;
    transition: .3s;
    line-height: 1.6;
    transform: translate(0px, -1px);
}

.flexdaycate .catein a:hover {
    opacity: .7;
}

.flexdaycate .days {
    position: relative;
    color: #333;
    line-height: 1.5;
}

#infos .flexmain .maincontent .list_box ul li>a .title {
    color: #333;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 10px;
    margin-bottom: 20px;
}

#infos .flexmain .maincontent .list_box ul li>a .text {
    position: relative;
    font-size: 16px;
    line-height: 1.7;
    color: #333;
}

#infos .flexmain .sidecontent .sidearchive .title_box {
    text-align: end;
}

#infos .flexmain .sidecontent .sidearchive .title_box h2 {
    font-size: 40px;
    line-height: 1;
    color: #5E5E5E;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
}

#infos .flexmain .sidecontent .sidearchive .title_box p {
    font-size: 16px;
    letter-spacing: .05em;
    margin-top: 4px;
    color: #5E5E5E;
}


.accordion {
    width: fit-content;
    text-align: end;
    margin-left: auto;
    margin-top: 30px;
}

.accordion .accordion_container {
    margin-bottom: 10px;
}

.accordion .accordion_title {
    font-size: 18px;
    position: relative;
    z-index: +1;
    cursor: pointer;
    transition-duration: 0.2s;
    color: #5E5E5E;
    display: flex;
    align-items: center;
}

.accordion .accordion_title:hover {
    opacity: 0.8;
}

.accordion .accordion_container .accordion_inner {
    display: none;
    box-sizing: border-box;
}

p.txt_a_ac {
    font-size: 18px;
    margin-top: 10px;
}

p.txt_a_ac a {
    color: #5E5E5E;
}

.accordion .accordion_title i.fa-solid.fa-chevron-down {
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    font-size: 14px;
    line-height: 1;
    transition: .3s;
    transform: rotate(-95deg);
}

.accordion .accordion_title span {
    margin-left: 10px;
}

.accordion .accordion_title.open i.fa-solid.fa-chevron-down {
    transform: rotate(0deg);
}

.hidden {
    display: none;
    opacity: 0;
}

#infos .flexmain .maincontent .list_box div#news__btn {
    position: relative;
    margin: 92px auto 0;
    width: fit-content;
}

#infos .flexmain .maincontent .list_box div#news__btn .btn {
    background: #616161;
    width: 250px;
    height: 56px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: 500;
    border-radius: 4px;
    pointer-events: all;
    cursor: pointer;
    transition: .3s;
    border: 1px solid #616161;
}

#infos .flexmain .maincontent .list_box div#news__btn .btn:hover {
    background: #fff;
    color: #707070;
}

.accordion .accordion_container .accordion_inner .ac_inner_wraper {
    display: flex;
    flex-direction: column-reverse;
}

.fadeswhich {
    opacity: 0;
    transition: opacity 1.3s;
    transition: 1.3s;
}

.fadeswhich.fadeIn {
    opacity: 1;
}

#infos .flexmain .maincontent .list_box ul li.fadeswhich:nth-child(3n+1) {
    transition-delay: 0ms;
}

#infos .flexmain .maincontent .list_box ul li.fadeswhich:nth-child(3n+2) {
    transition-delay: 400ms;
}

#infos .flexmain .maincontent .list_box ul li.fadeswhich:nth-child(3n+3) {
    transition-delay: 800ms;
}

.page_mv {
    position: relative;
    width: 100%;
    height: 600px;
    padding: 0 20px;
}

.page_mv .img_box {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;

    animation: othersmvanimation 1s forwards;
    animation-timing-function: ease-in-out;
    filter: blur(10px);
    animation-delay: .3s;
}

@keyframes othersmvanimation {
    0% {}

    100% {
        filter: blur(0px);
    }
}

.page_mv .img_box::before,
.page_mv .img_box::after {
    content: "";
    background: #fff;
    width: 51%;
    top: 0;
    position: absolute;
    height: 100%;
    animation: othersmvanimation_in 1s linear forwards;
    z-index: 1;
    animation-delay: .3s;
}

@keyframes othersmvanimation_in {
    0% {}

    30% {
        width: 10%;
    }

    100% {
        width: 0%;
    }
}

.page_mv .img_box::before {
    left: 0;
}

.page_mv .img_box::after {
    right: 0;
}

.page_mv .img_box img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_mv .titles {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0px, -50%);
    color: #fff;

    animation: othersmvanimation_in_title 1.0s forwards;
    animation-delay: 2s;
    opacity: 0;
}

@keyframes othersmvanimation_in_title {
    0% {}

    30% {
        opacity: 0.6;
    }

    100% {
        opacity: 1;
    }
}

.page_mv .w142 {
    height: 100%;
    width: 100%;
}

.page_mv .titles h1 {
    font-size: 60px;
    line-height: 1.25;
    margin-bottom: -2px;
}

.page_mv .titles p {
    font-size: 16px;
    letter-spacing: .05em;
    margin-left: 4px;
}

div#infos {
    margin-top: 156px;
}

body.error404 {
    background: #f5f5f5;
}

div#re404 {
    width: 100%;
    background: #f5f5f5;
}

div#re404 .re404_sec {
    position: relative;
    margin-top: -27px;
    width: 100%;
    padding-top: 215px;
    padding-bottom: 78px;
}

#re404 header,
#re404 footer {
    display: none;
}

div#re404 .re404_sec .img_logos {
    width: 373px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

div#re404 .re404_sec .back_img404 {
    position: absolute;
    left: 50%;
    top: 35.4%;
    transform: translate(-50%, 0px);
    width: 24.6%;
    z-index: 0;
}

div#re404 .re404_sec>p {
    font-size: 18px;
    text-align: center;
    margin-top: 100px;
    line-height: 2.77;
    z-index: 1;
    position: relative;
}

div#re404 .re404_sec .topreturnBtn {
    position: relative;
    margin-top: 90px;
    z-index: 1;
}

div#re404 .re404_sec .topreturnBtn a {
    width: 250px;
    height: 56px;
    background: #616161;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
    transition: .3s;
    border: 1px solid #616161;
    margin: 0 auto;
}

div#re404 .re404_sec .topreturnBtn a:hover {
    color: #616161;
    background: #fff;
}

div#re404 .re404_sec .bigtext {
    font-size: 157px;
    font-family: 'Noto Serif JP', serif;
    font-weight: bold;
    color: #C9C9C9;
    opacity: .5;
    line-height: 1;
    text-align: center;
    font-size: 6.877083vw;
    margin-top: 137px;
}

/*==========================================================================
*
*single
*
============================================================================*/
.single_content {
    position: relative;
}

.single_content h1 {
    font-size: 30px;
    line-height: 1.5;
    font-weight: 500;
    margin-bottom: 16px;
}

/* .single_content .singleicatch {
    position: relative;
    margin-top: 50px;
    overflow: hidden;
    border-radius: 4px;
}
.single_content > figure.wp-block-image {
    margin: 40px 0;
}
.single_content > p {
    margin: 70px 0;
    font-size: 20px;
    line-height: 1.5;
} */
.single_content .itirann_box a {
    position: relative;
    background: #616161;
    border: 1px solid #616161;
    width: 250px;
    height: 56px;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    color: #fff;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 500;
    margin: 0 auto;
    margin-top: 60px;
    transition: .3s;
}

.single_content .itirann_box a:hover {
    background: #fff;
    color: #707070;
}

.single_content>p,
.single_content>figure {
    margin-bottom: 2.4em;
}

/*==========================================================================
*
*pc
*
============================================================================*/
@media only screen and (min-width: 1921px) {
    .form_sec::before {
        bottom: -33vw;
        aspect-ratio: initial;
        max-width: initial;
        height: 160vw;
        z-index: -1;
    }

    .privacy_row .accordion_one .accordion_inner::before {
        bottom: -24vw;
        z-index: -1;
        aspect-ratio: initial;
        max-width: initial;
    }

    .about_sec {
        max-width: initial;
    }

    .RecruitmentOfMembers_sec {
        position: initial;
    }

    div#re404 .re404_sec .bigtext {
        font-size: 157px;
    }

    div#re404 {
        width: 100%;
        background: #f5f5f5;
    }

    .RecruitmentOfMembers_sec::before {
        width: 92%;
        margin: 0;
        height: calc(100% - 170px);
    }

    .mv_area .imgBottom_back img {
        width: 100%;
    }

    .mv_area .imgBottom_back {
        width: 100vw;
        margin: 0 calc(50% - 50vw);
        Z-INDEX: -1;
    }

    .mv_area .imgTop_back {
        width: 100vw;
        margin: 0 calc(50% - 50vw);
        height: 100%;
        max-height: 300px;
    }

    .mv_area .imgTop_back img {
        width: 100%;
        height: 100%;
    }

    footer .bigtext_content p {
        font-size: 160px;
    }

    footer .bigtext_content p span.small {
        font-size: 150px;
    }

    .mv_area .mv_title span.topte {
        font-size: 220px;
    }

    .mv_area .mv_title span.bottomte {
        font-size: 192px;
    }

    .imglistallTextani_sec .textani_row .text01,
    .imglistallTextani_sec .textani_row .text02 {
        font-size: 250px;
    }

    .imglistallTextani_sec {
        /* max-height: 2345px; */
        /* min-height: 2345px; */
        padding-bottom: 120vw;
        overflow: initial;
        max-width: initial;
    }
}

@media only screen and (max-width: 1920px) {
    .mv_area {
        overflow: hidden;
    }
}

@media only screen and (min-width: 1130px) and (max-width: 1510px) {
    .header_content .menu ul li a {
        font-size: 16px;
        padding: 6px 6px 6px;
        letter-spacing: 0;
    }

    .header_content .menu .Gmenu {
        justify-content: space-between;
        width: 100%;
    }

    .header_content .menu>div:nth-of-type(1) {
        width: 100%;
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1800px) {
    .pagetop a {
        right: 10px;
        width: 70px;
        height: 70px;
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1740px) {
    .header_content {
        column-gap: 20px;
        justify-content: space-between;
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1700px) {
    .header_content {
        column-gap: 20px;
        justify-content: space-between;
    }

    /* .header_content .menu {
    width: fit-content;
} */

    .topinformation_sec {
        margin-left: 30px;
        margin-right: 70px;
    }

    .topinformation_sec .topinformation_row .topinformation_in ul {
        gap: 20px;
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1600px) {
    footer .flex_content .left_col aside.menu_column ul#menu-footer {
        column-gap: 1.8vw;
        row-gap: 1.9vw;
    }

    footer .flex_content .left_col aside.menu_column {
        margin-top: min(3vw, 50px);
    }

    footer .flex_content .left_col aside.menu_column ul#menu-footer li a {
        font-size: max(14px, 1.13vw);
    }

    footer .flex_content .left_col {
        position: absolute;
        width: 48%;
    }

    footer .flex_content {
        gap: 20px;
    }

    footer .flex_content .right_col {
        display: flex;
        align-items: center;
        margin-left: auto;
        min-width: 430px;
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1420px) {
    .btnentryfixed.otherspageadd.active a {
        display: none;
    }
}

@media only screen and (min-width: 1130px) and (max-width: 1320px) {
    .header_content .menu ul li a {
        font-size: 14px;
        padding: 6px 5px 6px;
        letter-spacing: 0;
    }

    .header_content .cta_box .sns .x a {
        width: 27px;
    }

    .header_content .logo {
        width: 22%;
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1300px) {
    .topinformation_sec .topinformation_row .topinformation_in ul li .flexdaycate {
        gap: 10px;
    }

    .header_content .menu {
        column-gap: 5px;
    }

    .banner_sec .img_box {
        width: 80%;
        margin: 0 auto;
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1200px) {
    .normalform_row .wpcf7 {
        margin: 0 auto;
        max-width: 850px;
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1100px) {
    .header_content .menu ul li a {
        font-size: 16px;
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1366px) {
    .logotitle_area .logotitle_area_in .img_boix {
        width: 120px;
        min-width: 120px;
    }

    .logotitle_area .logotitle_area_in .texttt .topsubtext {
        font-size: 24px;
    }

    .logotitle_area .logotitle_area_in .texttt .midsubtext {
        font-size: 20px;
    }

    .logotitle_area .logotitle_area_in .texttt .bigtitle {
        font-size: 50px;
    }

    header {
        top: 27px;
    }
}

/* @media only screen and (min-width: 1025px) {
.imglistallTextani_sec .img_box02 span.copyri {
    display: none;
}

} */
/*==========================================================================
*
*tbタブレット
*
============================================================================*/
@media only screen and (max-width: 1300px) {
    .w126 {
        padding: 0 20px;
    }
}

@media only screen and (max-width: 1024px) {
    .about_sec .bigimg_row .bigimg_text {
        right: 24px;
    }

    div#infos {
        margin-top: 33px;
    }

    div#infos {
        margin-top: 33px;
    }

    .tel_box a {
        pointer-events: all;
    }

    .topinformation_sec {
        margin-left: 0px;
    }

    .pagetop a {
        right: 10px;
        bottom: 70px;
        width: 40px;
        height: 40px;
    }

    .pagetop a::after {
        font-size: 12px;
    }

    .header_content .cta_box.sp_tb .btnflex {
        display: flex;
        bottom: 0;
        width: 100%;
        flex-direction: column;
        align-items: center;
        gap: 25px;
    }

    .header_content .cta_box.sp_tb .btnflex .cloud_btn.btn {
        background: #849493;
    }

    .header_content .cta_box.sp_tb .btnflex .btn {
        width: 207px;
    }

    .header_content .cta_box.sp_tb .btnflex .entry_btn.btn {
        background: #FF4444;
    }

    .header_content .cta_box.sp_tb .btnflex .btn a {
        color: #fff;
        display: flex;
        gap: 10px;
        font-size: 16px;
        font-weight: bold;
        line-height: 1.1;
        width: 100%;
        height: 100%;
        justify-content: center;
        align-items: center;
        height: 60px;
    }

    .header_content .cta_box.sp_tb .btnflex .cloud_btn.btn a .icon {
        width: 35px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    #infos .flexmain .maincontent .list_box ul li a .flexdaycate {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    #infos .flexmain .maincontent .list_box ul {
        column-gap: 20px;
        row-gap: 40px;
        grid-template-columns: 1fr 1fr;
    }

    #infos .flexmain .maincontent .cate_btn_list {
        gap: 10px;
    }

    #infos .flexmain .sidecontent .sidearchive .title_box h2 {
        font-size: 40px;
    }

    #infos .flexmain .maincontent .list_box div#news__btn {
        margin: 60px auto 0;
    }

    #infos .flexmain .maincontent .list_box ul li.fadeswhich:nth-child(1n) {
        transition-delay: 0ms;
    }

    #infos .flexmain .maincontent .list_box ul li.fadeswhich:nth-child(2n) {
        transition-delay: 400ms;
    }

    .topinformation_sec .topinformation_row .topinformation_in ul {
        gap: 20px;
    }

    .topinformation_sec .topinformation_row .topinformation_in ul li .flexdaycate {
        flex-direction: column;
        align-items: baseline;
        gap: 10px;
    }

    .topinformation_sec .topinformation_row .topinformation_in ul li a h3 {
        font-size: 16px;
        line-height: 1.7;
    }

    .RecruitmentOfMembers_sec::before {
        width: 100vw;
    }

    .about_sec .about_row .text_col {
        padding-top: 50px;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 50px;
        width: calc(50% - 20px);
    }

    .about_sec .about_row .text_col p.text {
        line-height: 1.7;
        margin-bottom: 20px;
    }

    .about_sec .about_row .text_col p.endtext {
        margin-bottom: 20px;
    }

    .about_sec .about_row .img_col {
        width: 50%;
    }

    .profile_row .flexs {
        column-gap: 40px;
    }

    .profile_row .flexs .text_col table tr {
        column-gap: 20px;
        border-top: 15px solid transparent;
    }

    .grades_sec .grades_row::after {
        height: calc(100% - 0px);
    }

    .imglistallTextani_sec .img_box02 {
        left: 20px;
    }

    footer .flex_content .left_col aside.menu_column {
        margin-top: 0px;
    }

    footer .flex_content {
        gap: 20px;
        width: 97%;
    }

    footer .bigtext_content {
        width: 97%;
    }

    footer .copyright {
        width: 97%;
    }

    .btnentryfixed a {
        font-size: 16px;
        width: 40px;
        height: 210px;
    }

    .mv_area .title_imgarea {
        top: 29%;
        width: 440px;
    }

    .gradesLastImg_row.sasa {
        margin-top: 150%;
    }

    .page_mv {
        height: 400px;
    }

    footer .bigtext_content p span.small {
        margin-right: -10px;
    }

    .about_sec .bigimg_row .bigimg_text {
        bottom: 20px;
    }

    .mv_area {
        padding: 0 20px 80px;
        margin-bottom: 50px;
    }

    .banner_sec {
        padding-top: 50px;
        padding-bottom: 100px;
    }

    .grades_sec {
        padding-bottom: 100px;
    }

    .about_sec {
        padding-bottom: 100px;
    }

    .about_sec .about_row {
        margin-bottom: 100px;
    }

    .RecruitmentOfMembers_underImg {
        padding-bottom: 100px;
        margin-top: 50px;
    }

    .cp_iptxt02 {
        margin-top: 50px;
    }

    .normalform_row .wpcf7 .sub {
        margin-top: 50px;
    }

    .privacy_row .accordion_one .accordion_inner .box_one {
        margin-top: 60px;
    }

    .banner_sec .img_box {
        position: relative;
        width: 80%;
        margin: 0 auto;
    }

    .logotitle_area .logotitle_area_in .texttt .topsubtext {
        color: #fff;
        text-shadow: 0px 1px 2px #000000;
        font-size: 24px;
    }

    .logotitle_area .logotitle_area_in .texttt .midsubtext {
        color: #fff;
        text-shadow: 0px 1px 2px #000000;
        font-size: 22px;
    }

    .logotitle_area .logotitle_area_in .texttt .bigtitle {
        color: #fff;
        text-shadow: 1px 2px 6px #000000;
        font-size: 48px;
        margin-left: -25px;
    }

    .logotitle_area .logotitle_area_in .img_boix {
        width: 103px;
        min-width: 103px;
    }

    .logotitle_area {
        top: 33.3%;
    }

    div#re404 .re404_sec {
        padding-top: 100px;
    }

    div#re404 .re404_sec .back_img404 {
        top: 45%;
        transform: translate(-50%, -50%);
        width: 40%;
    }

    div#re404 .re404_sec>p {
        margin-top: 60px;
        line-height: 2.4;
    }

    div#re404 .re404_sec .bigtext {
        margin-top: 60px;
    }

    div#re404 .re404_sec .topreturnBtn {
        margin-top: 60px;
    }

    .btnentryfixed a {
        top: 24%;
    }

    footer .flex_content .left_col aside.menu_column ul#menu-footer {
        row-gap: 10px;
        column-gap: 15px;
        /* position: absolute; */
    }

    footer .flex_content .left_col aside.menu_column ul#menu-footer li a {
        font-size: 16px;
    }

    footer .flex_content .right_col {
        width: 47%;
        min-width: 320px;
        align-items: flex-start;
        height: fit-content;
        margin-left: auto;
    }

    footer {
        padding: 65px 50px 45px !important;
    }

    .normalform_row .wpcf7 {
        margin: 0 auto;
        width: 90%;
    }

    /* .btnentryfixed.otherspageadd.active a {
    display: none;
} */
    .topinformation_sec {
        padding: 0 40px;
    }

    .btnentryfixed.otherspageadd.active a {
        display: none;
    }

    footer .flex_content .left_col {
        /* position: relative; */
        position: absolute;
    }
}

/* ---------------------------タブレットonlylast ---------------------------*/

@media only screen and (min-width: 783px) and (max-width: 1024px) {
    footer .flex_content .left_col aside.menu_column ul#menu-footer {
        column-gap: 30px;
    }
}

@media only screen and (min-width: 768px) {
    footer .bigtext_content p span.small br {
        display: none;
    }
}

/*==========================================================================
*
*sp
*
============================================================================*/
@media only screen and (max-width: 767px) {
    #infos .flexmain {
        flex-direction: column;
        row-gap: 60px;
    }

    #infos .flexmain .maincontent .list_box ul {
        grid-template-columns: 1fr;
        row-gap: 40px;
    }

    #infos .flexmain .maincontent .cate_btn_list {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    #infos .flexmain .maincontent .cate_btn_list .btn a {
        font-size: 16px;
    }

    #infos .flexmain .sidecontent {
        min-width: initial;
        width: 100%;
        max-width: initial;
    }

    #infos .flexmain .maincontent .list_box div#news__btn {
        margin: 60px auto 0;
    }

    #infos .flexmain .maincontent .list_box ul li.fadeswhich:nth-child(3n+1) {
        transition-delay: 0ms;
    }

    #infos .flexmain .maincontent .list_box ul li.fadeswhich:nth-child(3n+2) {
        transition-delay: 0ms;
    }

    #infos .flexmain .maincontent .list_box ul li.fadeswhich:nth-child(3n+3) {
        transition-delay: 0ms;
    }

    .title_box02 h2 {
        font-size: 40px;
        line-height: 1.125;
    }

    .title_box02 p.p_text {
        font-size: 16px;
        margin-top: 6px;
    }

    .form_sec .formCta_row {
        margin: 0 calc(50% - 50vw);
        width: 100vw;
        border-radius: 0;
        padding: 24px 10px 24px;
    }

    .form_sec .formCta_row .title {
        font-size: 17.5px;
        margin-bottom: 3px;
    }

    .form_sec .formCta_row .text {
        margin-bottom: 9px;
    }

    .tel_box a {
        font-weight: 500;
    }

    .form_sec .formCta_row .tel_box a {
        transform: translate(0px, 0px);
    }

    .normalform_row h3 {
        font-size: 16px;
        margin-bottom: 52px;
    }

    .normalform_row .wpcf7 .cp_iptxt .text {
        font-size: 16px;
    }

    .normalform_row .wpcf7 .cp_iptxt .place span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item span.wpcf7-list-item-label {
        font-size: 16px;
    }

    .normalform_row .wpcf7 .cp_iptxt .place02 .subtext {
        font-size: 16px;
        margin-bottom: 5px;
    }

    .normalform_row .wpcf7 .cp_iptxt .text span.required {
        font-size: 13px;
        margin-left: 15px;
    }

    .normalform_row .wpcf7 .cp_iptxt .place span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item {
        margin-right: 56px;
    }

    .cp_iptxt02 {
        margin-top: 50px;
        text-align: start;
    }

    .cp_iptxt02 {
        margin-top: 50px;
        text-align: start;
    }

    .cp_iptxt02 span.wpcf7-form-control-wrap span.wpcf7-list-item-label {
        font-size: 16px;
    }

    .cp_iptxt02 span.wpcf7-list-item {
        margin-left: 0;
    }

    .normalform_row .wpcf7 .cp_iptxt .place.kutiwid span.kuti {
        font-size: 16px;
    }

    .privacy_row .accordion_one {
        margin-top: 30px;
    }

    .privacy_row .accordion_one .accordion_inner .box_one {
        margin-top: 70px;
    }

    .privacy_row .accordion_one .accordion_inner .box_one h3 {
        padding: 0 0px 8px;
    }

    .topinformation_sec .topinformation_row {
        flex-direction: column;
        row-gap: 60px;
        width: 100%;
    }

    .topinformation_sec .topinformation_row .title_box02.cust {
        margin: 0;
        margin: 0 auto;
    }

    .topinformation_sec .topinformation_row .topinformation_in ul {
        grid-template-columns: 1fr;
        gap: 50px;
        max-width: 400px;
        margin: 0 auto;
    }

    .topinformation_sec .topinformation_row .title_box02.cust h2 {
        font-size: 50px;
    }

    .topinformation_sec .topinformation_row .topinformation_in ul li .flexdaycate {
        margin-top: 35px;
    }

    .topinformation_sec .topinformation_row .topinformation_in ul li a h3 {
        font-size: 16px;
    }

    .topinformation_sec .topinformation_row .title_box02.cust p.p_text {
        margin-top: 6px;
    }

    .topinformation_sec .topinformation_row .topinformation_in .morebtn {
        margin: 0 auto;
        margin-top: 50px;
    }

    .RecruitmentOfMembers_sec::before {
        width: calc(100% + 40px);
        margin: 0 auto;
        left: -20px;
        top: 46px;
        height: calc(100% - 46px);
    }

    .RecruitmentOfMembers_row .content_box>p {
        font-size: 16px;
    }

    .RecruitmentOfMembers_row .content_box {
        padding: 40px 0;
    }

    .RecruitmentOfMembers_row .content_box .table_content table tr th,
    .RecruitmentOfMembers_row .content_box .table_content table tr td {
        padding: 8px 8px;
    }

    .RecruitmentOfMembers_row .content_box .table_content table tr td span.right {
        margin-right: 14px;
        margin-left: 15px;
    }

    .RecruitmentOfMembers_row .content_box .table_content02 table tr th {
        min-width: 70px;
    }

    .RecruitmentOfMembers_row .content_box .table_content02 {
        margin-bottom: 40px;
        margin-top: 40px;
    }

    .RecruitmentOfMembers_row .content_box .info_box {
        margin-top: 40px;
    }

    .RecruitmentOfMembers_row .content_box .info_box .telfax {
        margin-bottom: 40px;
    }

    .RecruitmentOfMembers_row .content_box.origin .application_flex {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 60px;
    }

    .RecruitmentOfMembers_row .content_box.origin .application_flex .application_btnFlex {
        justify-content: center;
        gap: 40px;
    }

    .RecruitmentOfMembers_underImg {
        margin-top: 50px;
        width: calc(100% + 40px);
        transform: translate(-20px, 0px);
        position: relative;
        overflow: hidden;
        padding-bottom: 0px;
    }

    .RecruitmentOfMembers_underImg img {
        width: 100%;
        min-width: 787px;
    }

    .about_sec .about_row .text_col {
        width: 100%;
        padding: 0px 0px 70px;
    }

    .about_sec .about_row .text_col p.text {
        font-size: 16px;
        margin-bottom: 27px;
        line-height: 2;
    }

    .about_sec .about_row .text_col::before {
        left: -20px;
        display: none;
    }

    .about_sec .about_row {
        width: calc(100% + 40px);
        transform: translate(-20px, 0px);
        padding: 90px 20px 80px;
        margin-bottom: 100px;
        flex-direction: column;
        background-image: url(../../images/top_pats04.jpg);
        background-repeat: no-repeat;
        background-size: cover;
    }

    .about_sec .about_row .text_col p.endtext {
        font-size: 16px;
        margin-bottom: 0;
    }

    .about_sec .about_row .img_col {
        width: 100%;
    }

    .about_sec .about_row .img_col .morebtn.sp a {
        margin: 0 auto;
        margin-top: 70px;
    }

    .about_sec .bigimg_row .img_box {
        position: relative;
        overflow: hidden;
        width: 1044px;
    }

    .about_sec .bigimg_row .img_box img {
        object-fit: cover;
        width: 100%;
        height: 100%;
        object-position: -40px;
    }

    .about_sec .bigimg_row .bigimg_text {
        bottom: 20px;
        right: 0px;
    }

    .profile_row .flexs {
        flex-direction: column;
        gap: 60px;
    }

    .profile_row .flexs .img_col {
        width: 100%;
        padding-left: 15.5%;
        padding-top: 23%;
    }

    .profile_row .flexs .text_col {
        margin: 0;
        width: 100%;
    }

    .profile_row .flexs .text_col table {
        margin: 0 auto;
    }

    .profile_row .flexs .text_col table tr {
        border-top: 20px solid transparent;
    }

    .grades_sec .grades_row .grades_flex .img_col {
        display: none;
    }

    .grades_sec .grades_row::after {
        left: 25px;
        transform: translate(0%, 0px);
        height: 100%;
    }

    .grades_sec .grades_row .grades_flex .yearscenter {
        transform: translate(0%, 0px);
        left: -4%;
        width: 109px;
    }

    .grades_sec .grades_row .grades_flex .text_col {
        width: calc(100% - 74px);
        margin-left: 74px;
        margin-top: 70px;
    }

    .grades_sec .grades_row {
        padding-top: 30px;
        margin-bottom: 60px;
        max-width: 500px;
        margin: 0 auto;
    }

    .grades_sec .grades_row .grades_flex .text_col .text_in {
        gap: 12px;
    }

    .grades_flex.reverse {
        margin-top: 50px;
    }

    .grades_sec .grades_row .grades_flex.reverse .text_col {
        margin-top: 70px;
        margin-bottom: 20px;
    }

    .grades_sec .grades_row .grades_flex.reverse .text_col .text {
        transform: translate(50%, 0px);
    }

    .grades_sec .grades_row .grades_flex.reverse.fadeIn .text_col .text {
        transform: translate(0%, 0px);
    }

    .gradeseven_row.sp {
        margin-bottom: 60px;
    }

    .gradesLastImg_row {
        position: relative;
        width: calc(100% + 40px);
        transform: translate(-20px, 0px);
    }

    .imglistallTextani_sec .img_box {
        width: calc(100% + 218px);
        transform: translate(-16%, 0px);
    }

    .imglistallTextani_sec .img_box02 {
        left: -10%;
        width: 58.7%;
        top: 24.2%;
    }

    .imglistallTextani_sec .img_box03 {
        top: 28%;
        right: -16%;
        width: 65.3%;
    }

    .imglistallTextani_sec .img_box04 {
        width: 38.2%;
        left: 20px;
        margin-left: 0;
    }

    .imglistallTextani_sec {
        padding-bottom: 184.3%;
    }

    .imglistallTextani_sec .img_box05 {
        width: 49%;
        right: 0px;
        top: 67%;
    }

    .imglistallTextani_sec .textani_row .text01,
    .imglistallTextani_sec .textani_row .text02 {
        font-size: 24.154589371980677vw;
    }

    .imglistallTextani_sec .textani_row {
        top: 51%;
    }

    footer .flex_content {
        flex-direction: column;
        gap: 50px;
    }

    footer .flex_content .left_col aside.menu_column ul#menu-footer li a {
        font-size: 16px;
    }

    footer .flex_content .left_col {
        width: calc(100% - 40px);
        margin: 0 auto;
        max-width: 499px;
        position: relative;
    }

    footer .flex_content .left_col aside.menu_column ul#menu-footer {
        column-gap: 20px;
        row-gap: 16px;
    }

    footer .flex_content .left_col .sns_box {
        margin-top: 20px;
    }

    footer .flex_content .left_col aside.menu_column {
        margin-top: 0;
    }

    footer {
        padding: 60px 20px 65px !important;
    }

    footer .flex_content .right_col {
        width: 100%;
        max-width: 450px;
        margin: 0 auto;
    }

    footer .bigtext_content {
        text-align: center;
        margin-top: 35px;
    }

    footer .bigtext_content p {
        font-size: 18vw;
        letter-spacing: -0.05em;
    }

    footer .bigtext_content p span.small {
        font-size: 15.5vw;
        letter-spacing: 0.1em;
        display: inline-block;
        margin-top: 10px;
        line-height: 1.1;
    }

    footer .copyright {
        margin-top: 56px;
        font-size: 12px;
        text-align: center;
    }

    .mv_area .img_back {
        width: 100%;
    }

    .mv_area {
        padding: 0 0px 75px;
        overflow: hidden;
    }

    .btnflex.independence {
        display: flex;
        height: 60px;
        position: fixed;
        bottom: 0;
        z-index: 3;
        width: 100%;
        opacity: 0;
    }

    .btnflex.independence.activemv {
        animation: ctanowindependence .6s ease-in-out forwards;
        animation-delay: 8s;
    }

    @keyframes ctanowindependence {
        0% {}

        100% {
            opacity: 1;
        }
    }

    .btnflex.independence.otherspageadd.activemv {
        animation-delay: 0s;
    }


    .btnflex.independence .btn {
        width: 50%;
    }

    .btnflex.independence .cloud_btn.btn {
        background: #849493;
    }

    .btnflex.independence .entry_btn.btn {
        background: #FF4444;
    }

    .btnflex.independence .cloud_btn.btn a {
        color: #fff;
        display: flex;
        gap: 10px;
        font-size: 16px;
        font-weight: bold;
        line-height: 1.1;
        width: 100%;
        height: 100%;
        justify-content: center;
        align-items: center;
    }

    .btnflex.independence .cloud_btn.btn a .icon {
        width: 35px;
    }

    .btnflex.independence .entry_btn.btn a {
        color: #fff;
        display: flex;
        gap: 10px;
        font-weight: bold;
        line-height: 1.1;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
    }

    .mv_area .mv_title span.topte {
        margin-bottom: 0;
        font-size: 18vw;
        letter-spacing: -0.05em;
    }

    .mv_area .mv_title span.topte>span:nth-of-type(5) {
        font-size: 14vw;
    }

    .mv_area .mv_title span.bottomte {
        font-size: 15.5vw;
        letter-spacing: 0.1em;
        display: inline-block;
        margin-top: 10px;
        line-height: 1.1;
    }

    .mv_area .mv_title {
        margin-top: 70px;
    }

    .mv_area .title_imgarea {
        width: 80%;
        margin-left: -10px;
        top: 31%;
    }

    .btnentryfixed {
        display: none;
    }

    div#dd.fixed div#frameTarget {
        transform: translate(-40px, 0px);
    }

    .imgBottom_back02.sp {
        position: absolute;
        bottom: 0;
        width: 130%;
    }

    .gradesLastImg_row {
        clip-path: inset(100px);
    }

    .page_mv {
        height: 250px;
    }

    .page_mv .titles h1 {
        font-size: 40px;
    }

    #infos .flexmain {
        margin-bottom: 60px;
    }

    div#re404 .re404_sec h1 {
        font-size: 26px;
    }

    footer .bigtext_content p span.small {
        margin-right: 0px;
    }

    .grades_sec {
        padding-bottom: 80px;
    }

    .logotitle_area .logotitle_area_in .img_boix {
        width: 70px;
        min-width: 70px;
    }

    .logotitle_area {
        /* top: 31.6%; */
        left: 0.8%;
        top: 47%;
    }

    .logotitle_area .logotitle_area_in .texttt .topsubtext {
        color: #fff;
        text-shadow: 0px 1px 2px #000000;
        font-size: 18px;
    }

    .logotitle_area .logotitle_area_in .texttt .midsubtext {
        color: #fff;
        text-shadow: 0px 1px 2px #000000;
        font-size: 16px;
        margin: 6px 0 6px;
    }

    .logotitle_area .logotitle_area_in .texttt .bigtitle {
        font-size: 32px;
        color: #fff;
        text-shadow: 1px 2px 6px #000000;
        margin-left: -10px;
    }

    div#re404 .re404_sec .img_logos {
        width: 300px;
    }

    div#re404 .re404_sec {
        padding-top: 100px;
    }

    div#re404 .re404_sec .back_img404 {
        top: 210px;
        width: 280px;
    }

    div#re404 .re404_sec>p {
        font-size: 16px;
        line-height: 2;
        margin-top: 60px;
    }

    div#re404 .re404_sec .topreturnBtn {
        margin-top: 60px;
    }

    div#re404 .re404_sec .bigtext {
        margin-top: 57px;
        line-height: 1;
        font-size: 16.208213vw;
        font-size: 18vw;
        letter-spacing: -0.05em;
    }

    div#re404 .re404_sec .bigtext span.wanpic {
        font-size: 14vw;
    }

    div#re404 .re404_sec .bigtext span.bottomttt {
        font-size: 15.5vw;
        letter-spacing: 0.1em;
        display: inline-block;
        margin-top: 10px;
        line-height: 1.1;
    }

    .banner_sec {
        padding-top: 50px;
        padding-bottom: 80px;
    }

    .banner_sec .img_box a {
        width: 64%;
        left: 18%;
        bottom: 8%;
        height: 10.4%;
    }

    .banner_sec .img_box {
        max-width: 370px;
        margin: 0 auto;
        width: 100%;
    }

    .form_sec::before {
        bottom: -35.5%;
    }

    #infos .flexmain .sidecontent .sidearchive .title_box {
        text-align: left;
    }

    .accordion {
        text-align: left;
        margin-right: auto;
        margin-left: 0;
    }

    .single_content>p,
    .single_content>figure {
        margin-bottom: 1.5em;
    }

    .single_content h1 {
        font-size: 20px;
    }

    .grades_sec .grades_row .grades_flex:not(:nth-of-type(1)) {
        margin-top: 50px;
    }

    .gradesLastImg_row .img_box.sp span.copyri {
        font-size: 12px;
        background: #828181;
        padding: 0 12px;
        bottom: 2%;
        right: 0;
    }

    .imglistallTextani_sec .img_box02 span.copyri {
        font-size: 12px;
        right: 5px;
        bottom: 5px;
    }

    .imglistallTextani_sec .img_box03 span.copyri {
        font-size: 12px;
        right: 26%;
        bottom: 5px;
    }

    .loading__logo {
        width: 300px;
        max-width: 300px;
        transform: translate(0px, -50px);
    }

    .imglistallTextani_sec .textani_row .text01,
    .imglistallTextani_sec .textani_row .text02 {
        padding-right: 60vw;
    }

    span.copyri {
        font-size: 12px;
    }

    .about_sec .bigimg_row .bigimg_text p {
        font-size: 12px;
    }

    .mv_area .img_back span.copyri {
        font-size: 12px;
    }

    footer .bigtext_content p span.ifsmall {
        font-size: 14vw;
    }

    #infos .flexmain .sidecontent {
        max-width: 250px;
        margin: 0 auto;
    }

    /* ---------------------------携帯last ---------------------------*/
}


@media only screen and (min-width: 768px) and (max-width: 1024px) and (max-height: 500px) {
    .btnentryfixed a {
        top: 15%;
    }

    .pagetop a {
        bottom: 10px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 767px) {
    #infos .flexmain .maincontent .list_box ul {
        grid-template-columns: 1fr 1fr;
        column-gap: 20px;
    }

    #infos .flexmain .maincontent .list_box ul li.fadeswhich:nth-child(1n) {
        transition-delay: 0ms;
    }

    #infos .flexmain .maincontent .list_box ul li.fadeswhich:nth-child(2n) {
        transition-delay: 400ms;
    }

    .logotitle_area .logotitle_area_in .img_boix {
        width: 110px;
        min-width: 110px;
    }

    .logotitle_area .logotitle_area_in .texttt .topsubtext {
        font-size: 30px;
    }

    .logotitle_area .logotitle_area_in .texttt .midsubtext {
        font-size: 27px;
    }

    .logotitle_area .logotitle_area_in .texttt .bigtitle {
        font-size: 54px;
    }

    .logotitle_area {
        top: 51%;
    }

    #infos .flexmain .sidecontent {
        max-width: 600px;
        margin: 0 auto;
    }

    footer .bigtext_content p {
        font-size: 90px;
    }

    footer .bigtext_content p span.ifsmall {
        font-size: 70px;
    }

    footer .bigtext_content p span.small {
        font-size: 78px;
    }

    .imglistallTextani_sec .img_box05 {
        width: 32.3%;
        right: 70px;
    }

    .RecruitmentOfMembers_row .content_box {
        padding: 50px 40px;
    }

    .about_sec .about_row .text_col {
        max-width: 620px;
        margin: 0 auto;
    }

    .grades_sec .grades_row .grades_flex .text_col {
        margin-left: 94px;
    }
}

/* @media only screen and (min-width: 477px) and (max-width: 576px) {
footer .flex_content .left_col .sns_box {
    position: absolute;
    margin-top: 0;
    left: 380px;
    top: 80px;
}
} */

@media only screen and (max-width: 600px) {
    footer .flex_content .left_col {
        max-width: 398px;
    }
}

@media only screen and (max-width: 499px) {
    .imglistallTextani_sec {
        padding-bottom: 194.3%;
    }

    .imglistallTextani_sec .img_box02 {
        top: 22.2%;
    }

    .imglistallTextani_sec .img_box03 {
        top: 26%;
    }

    .imglistallTextani_sec .img_box05 {
        top: 61%;
    }

    .imglistallTextani_sec .textani_row {
        top: 48%;
    }

    .imglistallTextani_sec .img_box04 {
        bottom: 30px;
    }

    footer .flex_content .left_col {
        max-width: 294px;
    }
}

@media only screen and (min-width: 493px) and (max-width: 767px) {
    .cp_iptxt02 span.wpcf7-form-control-wrap span.wpcf7-list-item-label br.br.sp {
        display: none !important;
    }
}

@media only screen and (min-width: 375px) and (max-width: 500px) {
    .privacy_row .accordion_one .accordion_inner::before {
        bottom: -19.7%;
    }
}

@media only screen and (min-width: 375px) and (max-width: 413px) {
    .RecruitmentOfMembers_row .content_box .table_content table tr td {
        width: 42%;
    }
}

@media only screen and (max-width: 374px) {
    footer .flex_content .left_col {
        max-width: 262px;
    }
}


@media only screen and (max-width: 767px) {
	.banner_sec .img_box {
	max-width: 95%;
	}
}
@media only screen and (min-width: 451px) {
	.cf_banner_pc{
	}
	.cf_banner_sp{
	display:none;
	}
}
@media only screen and (max-width: 450px) {
	.cf_banner_pc{
	display:none;
	}
	.cf_banner_sp{
	}
}
