:root {
    --accent-color01: #4E617E;
    --accent-color02: #9E6480;
    --main-bg: #E2E2EF;
    --main-gray: #636363;
}

body {
    margin: 0;
    font-family: 'M PLUS 1', sans-serif;
    font-weight: 400;
    background-color: #F7F7F9;
}

main {
    width: 100%;
    overflow-x: hidden !important;
}

p {
    font-size: calc(18 * 0.066vw);
    line-height: calc(35 * 0.066vw);
    margin-top: calc(20 * 0.066vw);
}

h1 {
    font-weight: 800;
    font-size: calc(72 * 0.066vw);
    margin: 0;
}

h6 {
    font-weight: 800;
    font-size: calc(24 * 0.066vw);
    margin: 0;
    display: inline-block;
    position: relative;
    color: var(--main-gray);
}

h6::after {
    content: '';
    position: absolute;
    top: 0;
    right: calc(-94 * 0.066vw);
    width: calc(84 * 0.066vw);
    height: calc(16 * 0.066vw);
    display: block;
    border-bottom: solid 2px var(--main-gray);
}

.n_button {
    color: var(--accent-color01);
    font-size: calc(24 * 0.066vw);
    font-weight: 800;
    text-decoration: none;
    position: relative;
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-start;
    transition-duration: 0.3s;
}

.n_button span {
    font-size: calc(20 * 0.066vw);
    line-height: calc(20 * 0.066vw);
    font-weight: 800;
    color: var(--main-gray);
    display: inline-flex;
    align-items: flex-end;
    position: relative;
    width: fit-content;
}

.n_button span::after {
    content: '';
    width: calc(86 * 0.066vw);
    height: 2px;
    border-radius: 1px;
    margin-left: calc(16 * 0.066vw);
    display: block;
    background-color: var(--main-gray);
    transition-duration: 0.3s;
}

.n_button span::before {
    content: '';
    width: calc(15 * 0.066vw);
    height: 2px;
    border-radius: 1px;
    background-color: var(--main-gray);
    position: absolute;
    transform-origin: right center;
    transform: rotate(45deg);
    bottom: 0;
    right: 0;
    transition-duration: 0.3s;
}

.n_button span:hover::after {
    width: calc(66 * 0.066vw);
}

.n_button:hover {
    color: #6B7F9C;
}

header {
    width: 100%;
    position: fixed;
    top: calc(16 * 0.066vw);
    z-index: 200;
}

.header_inner {
    height: calc(72 * 0.066vw);
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media screen and (min-width:1510px) { 
    .header_inner{
        width: 70%;
    }
}
@media screen and (max-width:1509px) { 
    .header_inner{
        max-width: 1120px;
        width: 90%;
    }
}

.header_logo {
    height: calc(48 * 0.066vw);
}

.header_opener{
    display: none;
}

.header_menu {
    display: flex;
    align-items: center;
}

.h_menu_n {
    display: flex;
    align-items: center;
    margin-right: calc(12 * 0.066vw);
    text-decoration: none;
    color: black;
    font-size: calc(16 * 0.066vw);
    padding: calc(8 * 0.066vw);
    border-radius: 20px;
    transition-duration: 0.3s;
}

.h_menu_n span,
.h_menu_s span {
    margin-right: calc(5 * 0.066vw);
}

.h_menu_n:hover {
    background-color: rgba(245, 245, 245, 0.7);
}

.h_menu_s {
    height: calc(72 * 0.066vw);
    display: flex;
    align-items: center;
    padding: calc(24 * 0.066vw);
    color: white;
    border-radius: calc(36 * 0.066vw);
    font-size: calc(16 * 0.066vw);
    text-decoration: none;
    background-color: var(--accent-color01);
    transition-duration: 0.3s;
    box-sizing: border-box;
}

.h_menu_s:hover {
    background-color: #384B67;
}

.hero {
    width: 100%;
    height: calc(100vh + (200 * 0.066vw));
    max-height: calc(80vw + (200 * 0.066vw));
    position: relative;
    overflow: hidden;
}

.hero_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    height: 80vh;
    max-height: 64vw;
}

.hero_bg_left,
.hero_bg_right {
    width: 50%;
    height: 100%;
}

.hero_bg_center {
    width: 100%;
    height: 100vh;
    max-height: 80vw;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.hero_bg_l_bg {
    width: 100%;
    height: 100%;
    padding: 0 calc(30 * 0.066vw) calc(30 * 0.066vw) 0;
    background-color: var(--main-bg);
    transform: skewY(-20deg) translateY(-9.08vw);
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    box-sizing: border-box;
}

.hero_bg_r_bg {
    width: 100%;
    height: 100%;
    background-color: #EEEEF4;
    transform: skewY(20deg) translateY(-9.08vw);
    padding: 0 calc(70 * 0.066vw) 0 calc(30 * 0.066vw);
    box-sizing: border-box;
    display: flex;
    align-items: flex-end;
}

.hero_bg_l_bg_inner {
    width: 48%;
}

.hero_bg_l_bg_inner img {
    width: 100%;
    margin-top: calc(30 * 0.066vw);
    filter: drop-shadow(-10px -10px 60px rgba(0, 0, 0, 0.3));
}

.hero_bg span {
    font-size: calc(24 * 0.066vw);
    font-weight: 800;
    color: var(--main-gray);
}

.hero_bg_r_bg_inner {
    text-align: right;
    transform: translateY(calc(25vw - (170 * 0.066vw)));
}

.hero_bg_r_i_flatter {
    width: 100%;
    display: flex;
}

.hero_bg_r_i_flatter img {
    width: calc(50% - calc(15 * 0.066vw));
    margin-top: calc(30 * 0.066vw);
    filter: drop-shadow(10px -10px 60px rgba(0, 0, 0, 0.3));
}

.hero_bg_r_i_flatter img:first-of-type {
    margin-right: calc(30 * 0.066vw);
}

.hero_bg_ctr_inner {
    width: 28%;
    transform: skewY(20deg) translateY(-5.45vw);
    text-align: right;
}

.hero_bg_ctr_inner img {
    width: 100%;
    filter: drop-shadow(10px -10px 60px rgba(0, 0, 0, 0.3));
    margin-bottom: calc(15 * 0.066vw);
}

.hero_over {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    max-height: 80vw;
    display: flex;
    align-items: flex-end;
}

.hero_over_inner {
    margin: 0 auto calc(20 * 0.066vw) auto;
}
@media screen and (min-width:1510px) { 
    .hero_over_inner{
        width: 70%;
    }
}
@media screen and (max-width:1509px) { 
    .hero_over_inner{
        max-width: 1120px;
        width: 90%;
    }
}

.hero_o_i_inner {
    display: inline-block;
    padding-bottom: calc(72 * 0.066vw);
}

.hero_o_scr_area {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: calc(35 * 0.066vw);
}

.hero_o_scr_area span {
    font-size: calc(24 * 0.066vw);
    font-weight: 800;
    margin-left: calc(12 * 0.066vw);
    color: var(--main-gray);
    cursor: pointer;
}

/*
.hero_o_scroll {
    width: 56px;
    height: 76px;
    border: solid 3px var(--main-gray);
    box-sizing: border-box;
    border-radius: 28px;
    display: flex;
    justify-content: center;
    cursor: pointer;
}

.hero_o_scr_arrow {
    width: 3px;
    height: 48px;
    border: solid 1.5px var(--main-gray);
    background-color: var(--main-gray);
    border-radius: 1.5px;
    box-sizing: border-box;
    position: relative;
    margin-top: 14px;
    transition-duration: 0.3s;
    animation: ScrollNavigate 2s infinite;
}

.hero_o_scr_arrow::after {
    content: '';
    width: 24px;
    height: 1px;
    background-color: var(--main-gray);
    border-radius: 1.5px;
    border: solid 1.5px var(--main-gray);
    box-sizing: border-box;
    transform-origin: left center;
    transform: rotate(-45deg);
    position: absolute;
    bottom: -1.5px;
    right: -23px;
}

@keyframes ScrollNavigate {
    0% {
        height: 48px;
    }

    50% {
        height: 24px;
    }

    100% {
        height: 48px;
    }
}
*/

.whatwedo {
    width: 100%;
    /*margin-top: 200px;*/
    position: relative;
    padding-bottom: calc(80 * 0.066vw);
}

.whatwedo_inner {
    display: flex;
    margin: 0 auto;
}
@media screen and (min-width:1510px) { 
    .whatwedo_inner{
        width: 70%;
    }
}
@media screen and (max-width:1509px) { 
    .whatwedo_inner{
        max-width: 1120px;
        width: 90%;
    }
}

.whatwedo_i_left {
    width: 50%;
}

.whatwedo_bg {
    width: 80%;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
}

.whatwedo_i_left h5 {
    font-size: calc(24 * 0.066vw);
    line-height: calc(35 * 0.066vw);
    font-weight: 700;
    margin-top: calc(21 * 0.066vw);
    color: var(--main-gray);
}

.whatwedo_bg img {
    width: 100%;
}

.whatwedo_right {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 50vw;
    display: flex;
    align-items: center;
}

.whatwedo_r_left,
.whatwedo_r_right {
    width: calc((100% - (220 * 0.066vw)) / 2);
    filter: drop-shadow(10px -10px 60px rgba(0, 0, 0, 0.3));
}

.whatwedo_right img {
    width: 100%;
}

.whatwedo_r_left {
    margin-left: calc(100 * 0.066vw);
    transform: skewY(20deg) translateY(-30px);
}

.whatwedo_r_right {
    margin: 0 calc(100 * 0.066vw) 0 calc(20 * 0.066vw);
    transform: skewY(20deg) translateY(-80px);
}

.target {
    width: 100%;
    margin-top: calc(200 * 0.066vw);
    position: relative;
}

.target_bg {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.target_bg_inner {
    margin: 0 auto;
}
@media screen and (min-width:1510px) { 
    .target_bg_inner{
        width: 70%;
    }
}
@media screen and (max-width:1509px) { 
    .target_bg_inner{
        max-width: 1120px;
        width: 90%;
    }
}

.target_bg_linear {
    height: calc(543 * 0.066vw);
    transform: skewY(30deg) translateY(calc(100 * 0.066vw));
    position: relative;
    width: 90%;
}

.target_bg_linear img:nth-of-type(1) {
    width: 50%;
    transform: skewY(-30deg);
    position: absolute;
    left: 0;
    bottom: 0;
}

.target_bg_linear img:nth-of-type(2) {
    width: 25%;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: skewY(-30deg);
}

.target_bg_linear img:nth-of-type(3) {
    width: 25%;
    position: absolute;
    left: 150%;
    bottom: 0;
    transform: skewY(-30deg);
    animation: swipe-in 1s forwards ease-out;
}

.target_bg_linear_motivated img:nth-of-type(1) {
    animation: move 1s forwards ease-in;
}

.target_bg_linear_motivated img:nth-of-type(2) {
    animation: bound-anim 1s forwards ease-in;
}

.target_bg_linear_motivated img:nth-of-type(3) {
    animation: third-move 1s forwards ease-in;
}

@keyframes move {
    0% {
        left: 0;
    }

    100% {
        left: -50vw;
    }
}

@keyframes bound-anim {
    0% {
        width: 25%;
        left: 50%;
    }

    100% {
        width: 50%;
        left: 0%;
    }
}

@keyframes third-move {
    0% {
        left: 75%;
    }

    100% {
        left: 50%;
    }
}

@keyframes swipe-in {
    0% {
        left: 150%;
    }

    100% {
        left: 75%;
    }
}



.target_bg_caption {
    font-size: calc(96 * 0.066vw);
    font-weight: 800;
    color: #E2E2EF;
    transform: translateX(calc(-70 * 0.066vw)) translateY(calc(150 * 0.066vw)) rotate(30deg) skewX(-30deg);
    transform-origin: 64% top;
    display: inline-block;
    width: 100%;
}

.target_inner {
    margin: 0 auto;
    padding-top: calc(50 * 0.066vw);
}
@media screen and (min-width:1510px) { 
    .target_inner{
        width: 70%;
    }
}
@media screen and (max-width:1509px) { 
    .target_inner{
        max-width: 1120px;
        width: 90%;
    }
}

.target_i_top {
    display: flex;
    justify-content: flex-end;
}

.target_i_t_inner {
    width: calc(50% - (72 * 0.066vw));
    min-height: 32vw;
}

.target_i_b_inner {
    width: 40%;
}

.target_focus-caption {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.target_fc_title {
    font-weight: 800;
    font-size: calc(24 * 0.066vw);
    margin: 0;
    display: inline-flex;
    color: var(--main-gray);
    width: calc(300 * 0.066vw);
}

.target_fc_title::after {
    content: '';
    width: calc(51 * 0.066vw);
    height: calc(16 * 0.066vw);
    margin-left: calc(16 * 0.066vw);
    display: block;
    border-bottom: solid 2px var(--main-gray);
}

.target_fc_n {
    padding: 0 calc(16 * 0.066vw);
    font-size: calc(24 * 0.066vw);
    font-weight: 800;
    color: var(--main-gray);
    display: block;
    height: calc(40 * 0.066vw);
}

.target_go-next {
    width: calc(40 * 0.066vw);
    height: calc(40 * 0.066vw);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: calc(20 * 0.066vw);
    color: var(--main-gray);
    transition-duration: 0.3s;
    cursor: pointer;
}

.target_go-next:hover {
    background-color: rgba(245, 245, 245, 0.7);
}


.target_fc_n_line {
    border-right: solid 1px var(--main-gray);
}

.product {
    position: relative;
    margin-top: calc(200 * 0.066vw);
}

.product_inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin: calc(400 * 0.066vw) auto 0 auto;
}
@media screen and (min-width:1510px) { 
    .product_inner{
        width: 70%;
    }
}
@media screen and (max-width:1509px) { 
    .product_inner{
        max-width: 1120px;
        width: 90%;
    }
}

.product_i_left {
    width: 45%;
}

.product_i_left img {
    width: 90%;
    transform: skewY(-20deg);
    filter: drop-shadow(-10px -10px 60px rgba(0, 0, 0, 0.3));
}

.product_i_right {
    width: 45%;
}

.product_bg {
    width: 100%;
    position: absolute;
    top: calc(125 * 0.066vw);
    left: 0;
    bottom: 0;
    z-index: -1;
}

.product_bg_inner {
    width: 50%;
    height: 100%;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
}

.product_bg_bg {
    width: 100%;
    height: 100%;
    background-color: #E2E2EF;
    transform: skewY(-20deg) translateY(-9.099vw);
    align-items: flex-end;
}

.target_promotion-area {
    width: 100%;
    display: flex;
    justify-content: center;
}

.target_promoter {
    margin: 0 auto;
    padding: calc(30 * 0.066vw) calc(20 * 0.066vw);
    background-image: linear-gradient(45deg, white, rgba(255, 255, 255, 0.3));
    filter: drop-shadow(10px 10px 60px rgba(0, 0, 0, 0.3));
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    margin-bottom: 30vh;
}

.target_promoter img {
    height: calc(174 * 0.066vw);
    margin-right: calc(30 * 0.066vw);
}

.target_promoter a {
    margin-top: calc(16 * 0.066vw);
}

.target_pr_a_layour {
    display: flex;
    justify-content: flex-end;
}

.target_promotion-area-app {
    margin-top: calc(80 * 0.066vw);
}

.target_promotion-area-app .target_promoter {
    margin-bottom: 0;
}

.news {
    margin-top: calc(200 * 0.066vw);
}

.news_inner {
    margin: 0 auto;
}
@media screen and (min-width:1510px) { 
    .news_inner{
        width: 70%;
    }
}
@media screen and (max-width:1509px) { 
    .news_inner{
        max-width: 1120px;
        width: 90%;
    }
}

.news_feeder {
    margin-top: calc(32 * 0.066vw);
    display: flex;
    flex-wrap: wrap;
}
.news_cell{
    width: calc((100% - 40px)/3);
    padding: 10px;
    box-sizing: border-box;
    text-decoration: none;
    color: black;
    background-color: #e2e2eb;
    margin: 0 20px 20px 0;
    border-radius: 10px;
    transition-duration: 0.3s;
}
.news_cell:hover{
    box-shadow: rgba(17, 17, 26, 0.1) 0px 4px 16px, rgba(17, 17, 26, 0.05) 0px 8px 32px;
}
.news_cell:nth-of-type(3n){
    margin-right: 0;
}
.news_c_detail{
    display: flex;
    align-items: center;
}
.news_c_date{
    margin: 0 16px 0 8px;  
}
.news_cell h3{
    font-size: 20px;
    line-height: 28px;
}

.news_cell a, .main_c_n_category, .c_hero_category{
    display: inline-block;
    padding: calc(8 * 0.066vw);
    font-size: calc(16 * 0.066vw);
    line-height: calc(16 * 0.066vw);
    border-radius: calc(24 * 0.066vw);
    border: solid 2px var(--accent-color01);
    color: var(--accent-color01);
    text-decoration: none;
    box-sizing: border-box;
}
/*
.news_cell {
    width: 100%;
    height: calc(87 * 0.066vw);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border-bottom: solid 1px #BABABA;
    color: black;
    text-decoration: none;
    font-weight: 800;
}

.news_cell p {
    font-size: calc(16 * 0.066vw);
    color: var(--main-gray);
    margin-right: calc(24 * 0.066vw);
}

.news_cell object {
    width: calc(250 * 0.066vw);
}

.news_cell a, .main_c_n_category {
    display: inline-block;
    padding: calc(8 * 0.066vw) calc(16 * 0.066vw);
    font-size: calc(16 * 0.066vw);
    line-height: calc(16 * 0.066vw);
    border-radius: calc(16 * 0.066vw);
    background-color: var(--accent-color01);
    color: white;
    text-decoration: none;
}

.news_cell h3 {
    font-weight: 800;
    font-size: calc(20 * 0.066vw);
}

.news_c_more {
    color: var(--main-gray);
    margin-left: calc(16 * 0.066vw);
    line-height: calc(16 * 0.066vw);
    font-size: calc(16 * 0.066vw);
    display: inline-flex;
    align-items: flex-end;
    position: relative;
    width: fit-content;
}

.news_c_more::after {
    content: '';
    width: calc(86 * 0.066vw);
    height: 2px;
    border-radius: 1px;
    margin-left: calc(8 * 0.066vw);
    display: block;
    background-color: var(--main-gray);
    transition-duration: 0.3s;
}

.news_c_more::before {
    content: '';
    width: calc(15 * 0.066vw);
    height: 2px;
    border-radius: 1px;
    background-color: var(--main-gray);
    position: absolute;
    transform-origin: right center;
    transform: rotate(45deg);
    bottom: 0;
    right: 0;
    transition-duration: 0.3s;
}

.news_cell:hover .news_c_more::after {
    width: calc(66 * 0.066vw);
}*/

.news_more {
    display: flex;
    justify-content: center;
    margin-top: calc(51 * 0.066vw);
}

.inquiry {
    width: 100%;
    margin-top: calc(16 * 0.066vw);
}

.inquiry_strap {
    width: 100%;
    overflow: hidden;
}

.inquiry_strap_inner {
    width: 1000vw;
    color: #E2E2EF;
    font-size: calc(160 * 0.066vw);
    font-weight: 800;
    line-height: calc(160 * 0.066vw);
}

.contact {
    margin-top: calc(80 * 0.066vw);
}

.contact_inner {
    margin: 0 auto;
    position: relative;
}
@media screen and (min-width:1510px) { 
    .contact_inner{
        width: 70%;
    }
}
@media screen and (max-width:1509px) { 
    .contact_inner{
        max-width: 1120px;
        width: 90%;
    }
}

.contact_i_bg {
    width: 100%;
    z-index: -1;
}

.contact_i_bg img {
    width: 100%;
}

.contact_i_over {
    width: 40%;
    position: absolute;
    top: calc(20 * 0.066vw);
    left: 0;
}

.contact_i_over p {
    margin: calc(32 * 0.066vw) 0;
}

/*
.content{
    margin-top: calc(100 * 0.066vw);
}
.content_inner{
    width: 90%;
    max-width: 1120px;
    margin: 0 auto;
}
.content_i_layour{
    display: flex;
    margin-top: calc(16 * 0.066vw);
}
.content_i_lay_cell{
    width: calc((100% - 32px)/2);
    height: 230px;
    display: flex;
    align-items: center;
    background-color: white;
    border-radius: 20px;    
    filter: drop-shadow(10px 10px 60px rgba(0, 0, 0, 0.3));
}
.content_i_lay_cell:last-child{
    margin-left: 32px;
}
.content_illc_left{
    width: 60%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.content_illc_left img{
    max-width: 80%;
    max-height: 200px;
}
.content_illc_right{
    width: 40%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
.content_illc_right img{
    width: 40%;
}
.content_illc_right h3{
    font-size: 24px;
    font-weight: 800;
    line-height: 28px;
    margin: 0;
}
.content_illc_right a{
    margin-top: 32px;
}
*/
footer {
    margin-top: calc(135 * 0.066vw);
}

.footer_upper {
    width: 100%;
    background-color: #6B7F9C;
    padding-bottom: calc(64 * 0.066vw);
}

.footer_go-top {
    width: calc(80 * 0.066vw);
    height: calc(80 * 0.066vw);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    background-color: #8296B5;
    color: white;
    text-decoration: none;
    transition-duration: 0.3s;
}

.footer_go-top:hover {
    background-color: #768CAD;
}

.footer_go-top span {
    font-size: calc(40 * 0.066vw);
}

.footer_upper_below {
    display: flex;
    align-items: center;
    margin: calc(48 * 0.066vw) auto 0 auto;
}
@media screen and (min-width:1510px) { 
    .footer_upper_below{
        width: 70%;
    }
}
@media screen and (max-width:1509px) { 
    .footer_upper_below{
        max-width: 1120px;
        width: 90%;
    }
}

.footer_ulogo {
    width: calc(80 * 0.066vw);
    height: calc(80 * 0.066vw);
}

.footer_ub_left {
    width: calc((100% - (80 * 0.066vw))/2);
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.footer_ub_left a {
    text-decoration: none;
    color: white;
    width: calc(48 * 0.066vw);
    margin-right: calc(48 * 0.066vw);
}

.footer_ub_left a img {
    width: 100%;
}

.footer_ub_right {
    width: calc((100% - (80 * 0.066vw))/2);
    display: flex;
    justify-content: flex-end;
}

.footer_ub_right a {
    font-size: calc(16 * 0.066vw);
    text-decoration: none;
    color: white;
    margin-left: calc(20 * 0.066vw);
    display: flex;
    align-items: center;
    transition-duration: 0.3s;
}

.footer_ub_right a:hover {
    color: silver;
}

.footer_ub_right a span {
    margin-right: calc(5 * 0.066vw);
}

.footer_bottom {
    width: 100%;
    background-color: #4E617E;
    padding: calc(80 * 0.066vw) 0;
}

.footer_bottom_inner {
    display: flex;
    margin: 0 auto;
}
@media screen and (min-width:1510px) { 
    .footer_bottom_inner{
        width: 70%;
    }
}
@media screen and (max-width:1509px) { 
    .footer_bottom_inner{
        max-width: 1120px;
        width: 90%;
    }
}

.footer_bi_left {
    width: calc((100% - (169 * 0.066vw))/2);
    margin-right: calc(96 * 0.066vw);
}

.footer_bi_left img {
    width: 100%;
    max-width: 293px;
}

.footer_bi_left h3 {
    font-weight: 800;
    font-size: calc(32 * 0.066vw);
    color: #C3CCDA;
    margin: calc(32 * 0.066vw) 0 0 0;
}

.footer_bi_left small {
    display: block;
    font-size: calc(16 * 0.066vw);
    color: white;
    margin: calc(16 * 0.066vw) 0 0 0;
}

.footer_bi_center {
    margin-right: calc(64 * 0.066vw);
}

.footer_bi_center,
.footer_bi_right {
    width: calc((100% - 160px)/4);
    color: white;
}

.footer_bi_center h6,
.footer_bi_right h6 {
    color: white;
}

.footer_bi_center h6::after,
.footer_bi_right h6::after {
    border-color: white;
}

.footer_bi_center a,
.footer_bi_right a {
    text-decoration: none;
    font-size: calc(16 * 0.066vw);
    color: white;
    display: block;
    margin: calc(8 * 0.066vw) 0 0 0;
    transition-duration: 0.3s;
}

.footer_bi_center a:hover,
.footer_bi_right a:hover {
    color: silver;
}

.c_hero{
    width: 100%;
}
@media screen and (min-width:1510px) { 
    .c_hero_inner{
        width: 70%;
    }
}
@media screen and (max-width:1509px) { 
    .c_hero_inner{
        max-width: 1120px;
        width: 90%;
    }
}
.c_hero_inner{
    margin: calc(200 * 0.066vw) auto calc(160 * 0.066vw) auto;
}
.c_hero_detail{
    padding-top: calc(32 * 0.066vw);
    display: flex;
    align-items: center;
    font-size: calc(16 * 0.066vw);
}
.c_hero_detail span{
    margin: 0 calc(8 * 0.066vw) 0 calc(24 * 0.066vw);
}
.c_content{
    width: 100%;
}
.c_content p{
    font-size: calc(16 * 0.066vw);
    line-height: calc(24 * 0.066vw);
    margin: calc(10 * 0.066vw) 0;
}
@media screen and (min-width:1510px) { 
    .c_content_flatter{
        width: 70%;
    }
}
@media screen and (max-width:1509px) { 
    .c_content_flatter{
        max-width: 1120px;
        width: 90%;
    }
}
.c_content_flatter{
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
}
.c_content_menu {
    width: 30%;
    border-radius: 15px;
    background-color: #e2e2eb;
}

.c_content_menu h2 {
    font-size: calc(20 * 0.066vw);
    line-height: calc(30 * 0.066vw);
    text-align: center;
}

.c_content_menu a {
    text-decoration: none;
    color: black;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: calc(10 * 0.066vw);
    box-sizing: border-box;
    border-radius: 15px;
    margin: 10px;
    background-color: #e2e2eb;
    transition-duration: 0.3s;
}

.c_content_menu a:hover {
    box-shadow: rgba(17, 17, 26, 0.1) 0px 4px 16px, rgba(17, 17, 26, 0.05) 0px 8px 32px;
}

.main_content {
    width: calc(70% - (30 * 0.066vw));
    margin-right: calc(29 * 0.066vw);
    position: relative;
    padding-bottom: calc(30 * 0.066vw);
}
.multi_content{
    width: calc(70% - (30 * 0.066vw));
    margin-right: calc(29 * 0.066vw);
    position: relative;
    padding-bottom: calc(30 * 0.066vw);
}

.main_content img {
    width: 100%;
}
.main_content h2{
    font-size: calc(50 * 0.066vw);
    margin: calc(24 * 0.066vw) 0 calc(12 * 0.066vw) 0;
}
.main_content h3{
    font-size: calc(35 * 0.066vw);
    margin: calc(18 * 0.066vw) 0 calc(9 * 0.066vw) 0;
}
.main_content h4{
    font-size: calc(30 * 0.066vw);
    margin: calc(14 * 0.066vw) 0 calc(7 * 0.066vw) 0;
}
.main_content h5{
    font-size: calc(24 * 0.066vw);
    margin: calc(12 * 0.066vw) 0 calc(6 * 0.066vw) 0;
}

.main_content a{
    color: var(--accent-color01);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    padding-bottom: 2px;
    border-bottom: solid 1px var(--accent-color01);
    transition-duration: 0.3s;
    margin-bottom: 4px;
}
.main_content a:hover{
    color: #333333;
    border-bottom: solid 1px #333333;
}
.main_content a::after{
    content: 'attachment';
    font-family: 'Material Symbols Outlined';
    font-size: 16px;
    margin: 0 4px;
}
/*
.main_content h2 {
    margin-top: 0;
    font-size: 50px;
}

.main_content h2::before {
    color: var(--accent-color01);
}

.main_content h3 {
    font-size: 35px;
    display: inline-flex;
    padding: 0 20px;
    margin: 0;
    background-color: var(--accent-color01);
    line-height: 70px;
    border-radius: 35px;
    color: white;
}

.main_content h4 {
    font-size: 30px;
    position: relative;
}

.main_content h4::after {
    content: '';
    height: 7px;
    width: 50px;
    display: block;
    background-color: var(--accent-color01);
    position: absolute;
    bottom: -20px;
    left: 0;
}

.main_content h5 {
    font-size: 28px;
}*/


.main_c_navi{
    width: 100%;
    display: flex;
    gap: 10px;
    margin-top: calc(50 * 0.066vw);
}
.main_c_navi_a{
    width: calc(50% - 5px);
    border-radius: 15px;
    background-color: #e2e2eb;
    transition-duration: 0.3s;
    text-decoration: none;
    color: black;
    padding: 10px;
    box-sizing: border-box;
}
.main_c_navi_a h6{
    font-size: calc(20 * 0.066vw);
    margin: calc(10 * 0.066vw) 0;
    line-height: calc(30 * 0.066vw);
}
.main_c_navi_a p{
    display: flex;
    align-items: center;
    margin: 0;
}
.main_c_navi_left p{
    justify-content: flex-start;
}
.main_c_navi_right p{
    justify-content: flex-end;
}
.main_c_navi_a p span{
    font-size: calc(40 * 0.066vw);
}
.main_c_navi_a:hover{
    box-shadow: rgba(17, 17, 26, 0.1) 0px 4px 16px, rgba(17, 17, 26, 0.05) 0px 8px 32px;
}
.main_c_n_detail{
    display: flex;
    align-items: center;
}
.main_c_n_da {
    line-height: calc(25 * 0.066vw);
    font-size: calc(14 * 0.066vw);
    display: inline-flex;
    align-items: center;
}

.main_c_n_da span {
    margin-right: calc(5 * 0.066vw);
}
.main_c_n_category{
    margin-left: calc(15 * 0.066vw);
}


.multi_flutter_inner{
    display: flex;
    flex-wrap: wrap;
}
.multi_flutter .news_cell{
    width: calc((100% - 20px)/2);
}
.multi_flutter .news_cell h3{
    font-size: calc(22 * 0.066vw);
    margin: calc(16 * 0.066vw) 0;
}
.multi_flutter .news_cell span{
    font-size: calc(16 * 0.066vw);
}
.multi_flutter .news_cell:nth-of-type(2n){
    margin: 0 0 calc(20 * 0.066vw) 0;
}
.multi_flutter .news_cell:nth-of-type(2n-1){
    margin: 0 calc(20 * 0.066vw) calc(20 * 0.066vw) 0;
}

.main_l_pagenavi{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(10 * 0.066vw);
    margin-top: calc(50 * 0.066vw);
}
.main_l_pagenavi a{
    width: calc(50 * 0.066vw);
    height: calc(50 * 0.066vw);
    border-radius: calc(25 * 0.066vw);
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    transition-duration: 0.3s;
    font-size: calc(16 * 0.066vw);
}
.main_l_pagenavi .numb{
    color: black;
}
.main_l_pagenavi .to_arrow1{
    background-color: #333333;
    color: white;
}
.main_l_pagenavi .to_arrow2{
    color: black;
    border: solid 3px #333333;
    box-sizing: border-box;
}
.main_l_pagenavi .now{
    background-color: #e2e2eb;
}
.main_l_pagenavi a:hover{
    box-shadow: rgba(17, 17, 26, 0.1) 0px 4px 16px, rgba(17, 17, 26, 0.05) 0px 8px 32px;
}

form{
    width: 100%;
}
.form_element{
    margin-top: 36px;
}
.form_element label{
    display: block;
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 12px;
}
.form_element input{
    font-size: 16px;
    font-weight: 800;
    width: 100%;
    padding: 16px;
    box-sizing: border-box;
    background-color: transparent;
    border: solid 1px var(--main-gray);
    border-radius: 4px;
    outline: none;
    transition-duration: 0.3s;
}
.form_element input:focus{
    background-color: #e2e2eb;
}
.form_element textarea{
    font-size: 14px;
    font-weight: 800;
    resize: none;
    width: 100%;
    height: 200px;
    padding: 16px;
    box-sizing: border-box;
    background-color: transparent;
    border: solid 1px var(--main-gray);
    border-radius: 4px;
    outline: none;
    transition-duration: 0.3s;
    font-family: 'M PLUS 1', sans-serif;
}
.form_element textarea:focus{
    background-color: #e2e2eb;
}
.form_privacy-check{
    width: 100%;
    padding: 36px 16px;
    background-color: #e2e2eb;
    box-sizing: border-box;
    border-radius: 4px;
    margin: 36px 0 24px 0;
}
.form_privacy-check a{
    color: var(--accent-color01);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    padding-bottom: 2px;
    border-bottom: solid 1px var(--accent-color01);
    transition-duration: 0.3s;
}
.form_privacy-check a:hover{
    color: #333333;
    border-bottom: solid 1px #333333;
}
.form_privacy-check a::after{
    content: 'attachment';
    font-family: 'Material Symbols Outlined';
    font-size: 16px;
    margin: 0 4px;
}
.form_privacy-check input{
    display: none;
}
.form_privacy-check label{
    display: flex;
    align-items: center;
    height: 30px;
    width: 100%;
    padding: 0 0 0 25px;
    position: relative;
}
.form_privacy-check label::before{
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 4px;
    background-color: white;
    position: absolute;
    top: 5px;
    left: 0;
    box-sizing: border-box;
    transition-duration: 0.3s;
}
.form_privacy-check label::after{
    content: 'done';
    font-family: 'Material Symbols Outlined';
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 5px;
    left: 0;
    color: white;
    opacity: 0;
    transition-duration: 0.3s;
}
#form_privacy:checked + .form_privacy_label::before{
    background-color: #384B67;
}
#form_privacy:checked + .form_privacy_label::after{
    opacity: 1;
}
.form_submit{
    margin-top: 36px;
    border-top: solid 1px var(--main-gray);
    padding: 24px 0 0 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
#form_submit-direct{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    border-radius: 30px;
    margin-left: 12px;
    font-family: 'Material Symbols Outlined';
    font-size: 24px;
    border: none;
    background-color: #e2e2eb;
    transition-duration: 0.3s;
    cursor: pointer;
    position: relative;
}
#form_submit-direct:hover{
    background-color: var(--accent-color01);
    color: white;
}
.form_submit-done{
    pointer-events: none;
    animation: rotate-inplace 1s infinite;
}
.form_submit-deny{
    pointer-events: none;
}
@keyframes rotate-inplace{
    0%{
        transform: rotate(0);
    }
    100%{
        transform: rotate(360deg);
    }
}
.yield{
    width: 100%;
    padding: 20px;
    display: block;
    box-sizing: border-box;
    background-color: lightgray;
    color: #333333;
    font-size: 12px;
    border-radius: 4px;
    margin: 24px 0 !important;
}
.form_error-display{
    background-color: rgba(255,69,0,0.1) !important;
    border-color: orangered !important;
}
.c_single .c_content_menu{
    display: none;
}.c_single .main_content{
    width: 100%;
}
.pr_setter{
    font-size: 24px;
    font-weight: 800;
    line-height: 48px;
    color: var(--main-gray);
}
.s_step{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.s_step_cell{
    width: calc((100% - 30px)/2);
    margin-top: 40px;
    border-radius: 12px;
    background-color: white;
    padding: 0 16px 16px 16px;
    box-sizing: border-box;
}
.s_step_cell:nth-of-type(2n-1){
    margin-right: 30px;
}
.s_step_cell span{
    font-size: 36px;
    font-weight: 800;
    line-height: 36px;
    margin: 0;
    color: var(--accent-color01);
    position: relative;
    top: -18px;
    font-family: 'Poppins', sans-serif;
}
.s_step_cell h3{
    font-size: 28px;
    line-height: 28px;
    margin: 0 0 16px 0;
}
.s_step_cell img{
    display: block;
    width: 80%;
    margin: 0 auto;
}
.main_flatter{
    display: flex;
    gap: 30px;
}
.mf_cell{
    width: calc((100% - 30px)/2);
}
.s_grade-cell{
    margin-top: 30px;
    background-color: white;
    border-radius: 10px;
    display: flex;
    padding: 0 16px;
}
.s_gc_left{
    width: 40%;
}
.s_gc_right{
    width: 60%;
    padding: 16px 0;
}
.s_gc_left span{
    font-size: 36px;
    font-weight: 800;
    line-height: 36px;
    margin: 0;
    color: var(--accent-color01);
    position: relative;
    top: -18px;
    font-family: 'Poppins', sans-serif;
}
.s_gc_left h3{
    font-size: 28px;
    line-height: 28px;
    margin: 0 0 16px 0;
}
.m_404{
    margin: 72px auto 0 auto;
    width: min-content !important;
}
.for404{
    font-size: 33vw;
    line-height: 33vw;
    font-family: 'Roboto Mono', monospace;
    color: #e2e2eb;
    text-align: center;
    display: inline-block;
    margin: 0;
}
.m_404 h2{
    display: inline-block;
    font-size: 4vw;
    letter-spacing: 0.3vw;
    margin: 0;
    color: #e2e2eb;
    font-family: 'DotGothic16', sans-serif;
}