@charset "UTF-8";

body {
    background: #333333;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    color: #fff;
    line-height: 1.8;
}

a {
    text-decoration: none;
    transition: .3s;
}

a span,
a::before,
a::after {
    transition: .3s;
}

img {
    max-width: 100%;
}

.en {
    font-family: "Michroma", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.sp {
    display: none;
}

.posiR {
    position: relative;
}

.posiA {
    position: absolute;
}

.fadeIn {
    opacity: 0;
    transition: .7s;
    transform: translateY(30px);
}

.fadeIn.faded {
    opacity: 1;
    transform: translateY(0px);
}

.flex {
    display: flex;
    flex-wrap: wrap;
}

.inner {
    max-width: 1180px;
    padding: 0 40px;
    margin: auto;
}

.border_sec {
    position: relative
}

.border_sec::before {
    content: "";
    width: 8px;
    height: 1px;
    background-color: #E1017E;
    position: absolute;
    top: 0;
    left: 0;
}

.border_sec::after {
    content: "";
    width: calc(100% - 16px);
    height: 1px;
    background-color: #E6E6E6;
    position: absolute;
    top: 0;
    right: 0;
}

section .border_sec::before {
    left: 40px;
}

section .border_sec::after {
    width: calc(100% - 96px);
    height: 1px;
    right: 40px;
}

/*ヘッダー*/
header {
    /* max-width: 1500px; */
    width: 100%;
    padding: 0 30px;
    position: fixed;
    top: 48px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
    transition: .3s cubic-bezier(0.16, 1, 0.3, 1);
}

header.is-fixed {
    /* top: 24px; */
    top: 0;
    background: #202023;
    padding-top: 30px;
}

header.is-fixed .flex {
    border-bottom: none;
}

header .flex {
    justify-content: space-between;
    align-items: end;
    padding-bottom: 24px;
    border-bottom: 1px solid #fff;
    max-width: 1500px;
    margin: auto;
}

header .flex>* {
    width: 33.333%;
    display: flex;
    align-items: end;
}

header .flex a {
    display: inline-block;
    line-height: 1;
}

.GAlogo img {
    width: 61px;
}

.sitelogo {
    justify-content: center;
}

.contact_btn {
    justify-content: right;
}

.contact_btn a {
    color: #fff;
    padding: 11px 24px;
    line-height: 1;
    display: inline-block;
    border-radius: 30px;
}

.contact_btn a::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background-color: #333;
}

.grad {
    position: relative;
    overflow: hidden;
}

.grad::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background: rgb(225, 1, 126);
    background: linear-gradient(90deg, rgba(225, 1, 126, 1) 0%, rgba(30, 32, 136, 1) 100%);
    transition: .3s;
}

.grad>* {
    position: relative;
    z-index: 2;
}

.kv {
    min-height: 100vh;
    background-image: url(../img/kv.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    opacity: 0;
    transition: .5s;
    -webkit-animation: kv_anm 1s forwards;
            animation: kv_anm 1s forwards;
}

@-webkit-keyframes kv_anm {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

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

    100% {
        opacity: 1;
    }
}

.kv::after {
    content: "";
    width: 100%;
    height: 30vh;
    background: rgb(32, 32, 32);
    background: linear-gradient(0deg, rgba(32, 32, 32, 1) 10%, rgba(32, 32, 32, 0.7049194677871149) 40%, rgba(32, 32, 32, 0) 100%);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.kv_inner {
    width: 100%;
    max-width: 1600px;
    padding: 0 80px;
    display: flex;
    justify-content: space-between;
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

.kv h1 {
    max-width: 712px;
}

.kv_event p {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
}

.kv_event dl {
    display: flex;
    align-items: start;
    margin-bottom: 5px;
}

.kv_event dt {
    font-size: 17px;
    color: #fff;
    background-color: #000;
    min-width: 100px;
    line-height: 1;
    text-align: center;
    border-radius: 3px;
    padding: 7px 0 9px 0px;
    margin-right: 20px;
}

.kv_event dd {
    font-size: 22px;
}

.kv_event dd small {
    display: block;
    font-size: 16px;
}

.wedo {
    background-color: #202020;
    padding: 240px 0 240px;
    position: relative;
    overflow: hidden;
}

.loop {
    overflow: hidden;
    display: flex;
    width: 100vw;
    margin-inline: calc(50% - 50vw);
}

.loop>* {
    flex-shrink: 0;
    white-space: nowrap;
    line-height: 1;
}

.c-text {
    position: absolute;
    top: 140px;
    z-index: 1;
}

.c-text__item {
    opacity: .05;
    font-size: 14vw;
}

.wedo_inner {
    max-width: 700px;
    margin: auto;
    position: relative;
}

.wedo_inner .flex {
    justify-content: space-between;
    position: relative;
    z-index: 2;
}

.wedo_inner h2 {
    font-size: 40px;
}

.wedo_inner h2 span {
    color: #e60312;
    font-weight: 900;
}

.wedo_txt {
    max-width: 400px;
    padding-top: 50px;
    margin-top: 50px;
}

.wedo_txt p {
    margin-bottom: 30px;
    line-height: 2.5;
}

.wedo_img01 {
    top: 0;
    right: calc(-200px - 20%);
    width: 200px;
    z-index: 2;
}

.wedo_img02 {
    bottom: 0;
    left: calc(-200px - 20%);
    width: 200px;
    z-index: 2;
}

.btn01 a {
    background-color: #333333;
    max-width: 340px;
    display: block;
    padding: 20px;
    text-align: center;
    border-radius: 50px;
}

.btn01 a span {
    font-size: 18px;
    color: #fff;
    line-height: 1.3;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn01 a span::after {
    content: "";
    width: 20px;
    height: 20px;
    background-image: url(../img/icon_arw02.svg);
    background-size: 99%;
    background-position: center;
    background-repeat: no-repeat;
    display: inline-block;
    margin-left: 16px;
}

.btn01 a span small {
    background-color: #fff;
    color: #E1017E;
    font-size: 16px;
    border-radius: 4px;
    padding: 0 8px;
    margin-right: 10px;
}

section {
    position: relative;
}

.bg_clo {
    border-radius: 80px;
    padding: 160px 0;
    position: relative;
    z-index: 2;
}

.bg_clo.bRadius_btm0 {
    border-radius: 80px 80px 0 0;
}

.bg_clo.bRadius_0 {
    border-radius: 0;
}

.bg_clo01 {
    background-color: #D9DEDC;
}

.bg_clo02 {
    background-color: #202023;
}

.bg_clo03 {
    background-color: #111111;
}

.bg_clo04 {
    background-color: #202020;
}

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

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

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

.border_sec .ttl_part01 {
    padding: 80px 0;
}

.ttl_part01 {
    padding: 0 0 80px;
}

.ttl_part01 p.en {
    color: #E1017E;
    margin-bottom: 50px;
}

.ttl_part01 h2 {
    font-size: 64px;
    font-weight: 700;
    color: #000;
    line-height: 1.3;
}

.ttl_part01 h2 small {
    font-size: 28px;
    display: block;
    margin-bottom: 10px;
}

.ttl_part02 {
    padding: 80px 0;
}

.pt0 {
    padding-top: 0;
}

.ttl_part02 p.en {
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    color: #E1017E;
}

.ttl_part02 p.en::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: #E1017E;
    border-radius: 50%;
    display: inline-block;
    margin-right: 12px;
}

.ttl_part02 h2 {
    font-size: 48px;
    line-height: 1.4;
    font-weight: 700;
}


.introduction .border_sec::after {
    background-color: #C1C6C5;
}

.introduction h6 {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    color: #fff;
    background-color: #E1017E;
    border-radius: 999px;
    padding: 10px 30px;
    line-height: 1.3;
}

.introduction h6+p {
    font-size: 18px;
    color: #333;
    text-align: center;
    margin: 48px auto;
}

.introduction_salesTxt {
    margin-top: 48px;
    position: relative;
}

.introduction_salesTxt::before {
    content: "";
    width: 40px;
    height: 40px;
    border-top: 1px solid #E1017E;
    border-left: 1px solid #E1017E;
    position: absolute;
    top: 0;
    left: 0;
}

.introduction_salesTxt::after {
    content: "";
    width: 40px;
    height: 40px;
    border-top: 1px solid #E1017E;
    border-right: 1px solid #E1017E;
    position: absolute;
    top: 0;
    right: 0;
}

.introduction_salesTxt p {
    font-size: 40px;
    color: #000;
    text-align: center;
    line-height: 1.5;
    padding: 30px;
    position: relative;
}

.introduction_salesTxt p::before {
    content: "";
    width: 40px;
    height: 40px;
    border-bottom: 1px solid #E1017E;
    border-left: 1px solid #E1017E;
    position: absolute;
    bottom: 0;
    left: 0;
}

.introduction_salesTxt p::after {
    content: "";
    width: 40px;
    height: 40px;
    border-bottom: 1px solid #E1017E;
    border-right: 1px solid #E1017E;
    position: absolute;
    bottom: 0;
    right: 0;
}

.introduction_salesTxt strong {
    font-weight: 900;
}

.feature_flex {
    align-items: end;
    margin-bottom: 80px;
}

.feature_flex img {
    width: 65.45%;
    border-radius: 10px;
}

.feature_flex_txt {
    width: 34.55%;
    padding-left: 80px;
}

.feature_flex_txt.pcOrder1 {
    padding: 0 80px 0 0;
}

.feature_flex_txt .en {
    font-size: 10px;
    letter-spacing: 0.2em;
    display: inline-block;
    padding: 10px 20px;
    line-height: 1;
    border: 1px solid;
    border-radius: 50px;
}

.feature_flex_txt h3 {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.4;
    margin: 22px 0 32px;
}

.feature_flex_txt .nml {
    color: #999999;
    line-height: 2;
}

.message {
    padding: 200px 0;
}

.message p {
    font-size: 48px;
    line-height: 2;
    text-align: justify;
}

.message p img {
    max-width: 80px;
    display: inline-block;
    vertical-align: middle;
    padding: 0 0 0 10px;
}

.message p strong {
    font-weight: 900;
}

.booth p {
    color: #000;
    line-height: 2;
}

.booth_loop {
    margin: 120px 0 0;
}

.service .ttl_part01 h2 {
    color: #fff !important;
}

.service_list {
    overflow: hidden;
    margin-top: 40px;
}

.service_list ul {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 40px);
}

.service_list li {
    width: calc(33.333% - 40px);
    margin-right: 40px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 20px 0;
    border-bottom: 1px solid #4D4D4E;
}

.service_list li:nth-child(-n+3) {
    border-top: 1px solid #4D4D4E;
}

.service_list .icon {
    width: 80px;
    margin-right: 30px;
    line-height: 1;
}

.service_list .icon.icon11 {
    padding: 8px;
}

.service_list p {
    font-size: 18px;
    width: calc(100% - 110px);
    line-height: 1.4;
}

.service_list p small {
    font-size: 10px;
    font-family: "Michroma", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
    display: block;
    margin-top: 5px;
}

.voice {
    padding-bottom: 160px;
}

.voice_wrap {
    position: relative;
}

.voice_wrap::before {
    content: "";
    max-width: 1100px;
    width: 100%;
    height: 100%;
    background-color: #333;
    border-radius: 80px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.voice .inner {
    position: relative;
    z-index: 2;
    padding: 0 120px;
}

.voice_list {
    overflow: hidden;
    position: relative;
    z-index: 2;
    padding-bottom: 120px;
}

.voice_list ul {
    display: flex;
    padding-top: 15px;
}

.voice_list li {
    font-size: 20px;
    color: #333;
    margin-right: 48px;
    background-color: #fff;
    line-height: 1.5;
    padding: 40px;
    width: 268px;
    border-radius: 8px;
    position: relative;
    white-space: normal;
}

.voice_list li::after {
    content: "";
    width: 44px;
    height: 44px;
    position: absolute;
    top: -10px;
    left: 20px;
    background-image: url(../img/icon_blockquote.svg);
    background-size: 99%;
    background-repeat: no-repeat;
}

.worries_list {
    margin-bottom: 80px;
}

.worries_list>* {
    width: 50%;
}

.worries_list p {
    font-size: 24px;
    padding-right: 80px;
}

.worries_list ul {
    border-radius: 8px;
    overflow: hidden;
}

.worries_list li {
    font-size: 18px;
    line-height: 1.4;
    color: #fff;
    background-color: #333333;
    margin-bottom: 1px;
    padding: 32px 40px 32px 80px;
    position: relative;
}

.worries_list li::before {
    content: "";
    width: 24px;
    height: 24px;
    background-image: url(../img/icon_check.svg);
    background-size: 99%;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 50%;
    left: 40px;
    transform: translateY(-50%);
}

.visitor_btn {
    border-radius: 999px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.visitor_btn p {
    padding-left: 108px;
}

.visitor_btn a {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    border: 1px solid #111111;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.visitor_btn a span::after {
    content: "";
    width: 28px;
    height: 40px;
    background-image: url(../img/icon_arw03.svg);
    background-position: center;
    background-size: 99%;
    background-repeat: no-repeat;
    display: block;
    margin: 25px auto 0;
}

.visitor_btn+p {
    text-align: center;
}

.gmap {
    font-size: 0;
}

.gmap iframe {
    width: 100%;
}

.outline .ttl_part02 {
    padding: 0 0 50px;
}

.outline_list {
    border-top: 1px solid #333333;
}

.outline_list dl {
    border-bottom: 1px solid #333333;
    padding: 25px 0;
    display: flex;
}

.outline_list dt {
    width: 220px;
}

.floor .flex {
    justify-content: space-between;
    align-items: start;
}

.floor .flex>* {
    width: calc(50% - 40px);
}

.floor .flex>img {
    border-radius: 10px;
}

.floor .flex .btn01 {
    margin-top: 40px;
}


footer {
    background-color: #111111;
    padding: 80px;
}

footer div.flex {
    justify-content: space-between;
}

footer li a {
    font-size: 14px;
    color: #fff;
    margin-right: 28px;
    display: flex;
    align-items: center;
}

footer li.official a::after {
    content: "";
    width: 14px;
    height: 14px;
    background-image: url(../img/icon_arw02.svg);
    background-size: 90%;
    background-position: center;
    background-repeat: no-repeat;
    display: inline-block;
    margin-left: 6px;
}

footer .copy {
    font-size: 10px;
}

@media screen and (min-width: 769px) {
    .pcOrder1 {
        order: 1;
    }

    .pcOrder2 {
        order: 2;
    }

    .wedo_inner h2 {
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode: vertical-rl;
                writing-mode: vertical-rl;
        -webkit-text-orientation: upright;
                text-orientation: upright;
    }

    .btn01 a:hover::after {
        opacity: .5;
    }

    .visitor_btn a:hover {
        background-color: rgba(0, 0, 0, 0.5);
    }

    footer li a:hover {
        opacity: .7;
    }

    .contact_btn a:hover::after {
        opacity: .5;
    }
}

/* min 769px */

@media screen and (max-width: 1500px) {
    .kv_inner {
        padding: 0 40px;
    }

    .kv_inner h1 {
        width: 50%;
    }

    .wedo_img01 {
        top: -3vw;
        right: -18vw;
        width: 13vw;
    }

    .wedo_img02 {
        left: -15vw;
        width: 13vw;
    }

    .wedo_inner {
        max-width: 650px;
    }

    .message p {
        max-width: 90%;
        margin: auto;
        font-size: 40px;
    }

    .message p img {
        max-width: 70px;
    }

    .booth_loop img {
        width: 140vw;
    }
}

/* max 1500px */

@media screen and (max-width: 1200px) {
    .wedo_inner {
        max-width: 600px;
    }

    .feature_flex img {
        width: 60%;
    }

    .feature_flex_txt {
        width: 40%;
    }

    .feature_flex_txt {
        padding-left: 5%;
    }

    .feature_flex_txt.pcOrder1 {
        padding-right: 5%;
    }

    .booth_loop img {
        width: 180vw;
    }

    .visitor_btn p {
        padding-left: 70px;
    }

    .gmap iframe {
        height: 400px;
    }

    .kv_event p {
        font-size: calc(28px / 1.2);
    }

    .kv_event dt {
        font-size: calc(17px / 1.2);
    }

    .kv_event dd {
        font-size: calc(22px / 1.2);
    }

    .kv_event dd small {
        font-size: calc(16px / 1.2);
    }

    .wedo_inner h2 {
        font-size: calc(40px / 1.2);
    }

    /* .btn01 a span {font-size: calc(18px / 1.2);} */
    .ttl_part01 h2 {
        font-size: calc(64px / 1.2);
    }

    .ttl_part01 h2 small {
        font-size: calc(28px / 1.2);
    }

    .ttl_part02 h2 {
        font-size: calc(48px / 1.2);
    }

    .introduction h6 {
        font-size: calc(24px / 1.2);
    }

    .introduction h6+p {
        font-size: calc(18px / 1.2);
    }

    .introduction_salesTxt p {
        font-size: calc(40px / 1.2);
    }

    .feature_flex_txt .en {
        font-size: calc(10px / 1.2);
    }

    .feature_flex_txt h3 {
        font-size: calc(32px / 1.2);
    }

    .message p {
        font-size: calc(48px / 1.2);
    }

    .service_list p {
        font-size: calc(18px / 1.2);
    }

    .service_list p small {
        font-size: calc(10px / 1.2);
    }

    .voice_list li {
        font-size: calc(20px / 1.2);
    }

    .worries_list p {
        font-size: calc(24px / 1.2);
    }

    .worries_list li {
        font-size: calc(18px / 1.2);
    }

    .visitor_btn a {
        font-size: calc(24px / 1.2);
    }

    .visitor_btn a {
        width: 280px;
        height: 280px;
    }
}

/* max 1200px */

@media screen and (max-width: 1000px) {
    .kv_parent {
        padding-bottom: 20vw;
        background-color: #202020;
    }

    .kv_inner {
        flex-wrap: wrap;
        justify-content: center;
        bottom: -20vw;
    }

    .kv_inner h1 {
        width: 90%;
        margin-bottom: 5vw;
    }

    .wedo_img01,
    .wedo_img02 {
        display: none;
    }

    .feature_flex {
        align-items: start;
    }

    .booth_loop img {
        width: 200vw;
    }

    .visitor_btn p {
        padding: 0 20px 0 50px;
        width: calc(100% - 280px);
    }

    .outline_list dt {
        width: 130px;
    }

    .kv_event p {
        font-size: 4.5vw;
    }

    .kv_event dt {
        font-size: 2.1vw;
        min-width: 13vw;
        margin-top: 1vw;
    }

    .kv_event dd {
        font-size: 3vw;
    }

    .kv_event dd small {
        font-size: 2vw;
    }
}

/* max 1000px */




@media only screen and (max-width: 768px) {
    header {
        top: 24px;
    }

    header.is-fixed {
        /* top: 10px; */
    }

    header.is-fixed .flex {
        padding-bottom: 10px;
    }

    header .flex {
        align-items: center;
    }

    .contact_btn a {
        min-width: 80px
    }

    .contact_btn a .pc {
        display: none;
    }

    .contact_btn a .sp {
        display: block;
        width: 22px;
        margin: auto;
    }

    .bg_clo {
        border-radius: 40px;
        padding: 15vw 0;
    }

    .bg_clo.bRadius_btm0 {
        border-radius: 40px 40px 0 0;
    }

    .ttl_part01 p.en {
        margin-bottom: 8vw;
    }

    .ttl_part01 {
        padding: 0 0 9vw;
    }

    .ttl_part01 h2 br {
        display: none;
    }

    .ttl_part02 {
        padding: 0 0 9vw;
    }

    .border_sec .ttl_part01 {
        padding: 10.7vw 0;
    }

    .inner {
        padding: 0 25px;
    }

    .c-text {
        top: 10vw;
    }

    .c-text__item {
        font-size: 34vw;
    }

    .wedo {
        padding: 10vw 0 20vw;
    }

    .wedo_inner {
        padding: 8vw 25px 0;
        border-top: 1px solid #333;
    }

    .wedo_txt.border_sec::before,
    .wedo_txt.border_sec::after {
        content: none;
    }

    .wedo_txt {
        max-width: 100%;
        margin-top: 30px;
        padding-top: 0;
    }

    .wedo_txt p {
        line-height: 2;
    }

    .wedo_inner .btn01 a {
        margin: auto;
    }

    section .border_sec::before {
        left: 25px;
    }

    section .border_sec::after {
        width: calc(100% - 66px);
        right: 25px;
    }

    .introduction h6 {
        border-radius: 8px;
        line-height: 1.5;
        padding: 30px;
        text-align: left;
    }

    .introduction h6+p {
        text-align: left;
    }

    .introduction_salesTxt p {
        text-align: left;
        padding: 40px 20px;
        position: relative;
    }

    .introduction_salesTxt p br.pc {
        display: none;
    }

    .feature_flex:last-child {
        margin-bottom: 0;
    }

    .feature_flex img {
        width: 100%;
    }

    .feature_flex_txt {
        width: 100%;
    }

    .feature_flex_txt,
    .feature_flex_txt.pcOrder1 {
        padding: 30px 0 0;
    }

    .feature_flex_txt h3 {
        margin: 16px 0 30px;
    }

    .message {
        padding: 18vw 0;
    }

    .booth_loop {
        margin: 15vw 0 0;
    }

    .service_list ul {
        width: 100%;
        justify-content: space-between;
    }

    .service_list li {
        width: calc(50% - 20px);
        margin-right: 0;
        padding: 24px 0;
    }

    .service_list li:nth-child(3) {
        border-top: none;
    }

    .service_list .icon {
        margin-right: 15px;
    }

    .service_list p {
        width: calc(100% - 95px);
    }

    .voice {
        padding-bottom: 20vw;
    }

    .voice .inner {
        padding: 15vw 50px 0;
    }

    .voice_wrap::before {
        width: calc(100% - 50px);
        border-radius: 40px;
    }

    .voice_wrap .ttl_part02 h2 br {
        display: none;
    }

    .voice_list {
        padding-bottom: 20vw;
    }

    .worries_list>* {
        width: 100%;
    }

    .worries_list p {
        margin-bottom: 20px;
    }

    .worries_list p br {
        display: none;
    }

    .worries_list li {
        padding: 20px 20px 20px 55px;
    }

    .worries_list li::before {
        left: 15px;
    }

    .contact .ttl_part02 h2 br {
        display: none;
    }

    .visitor_btn+p {
        text-align: left;
    }

    .visitor_btn+p br {
        display: none;
    }

    .gmap iframe {
        height: 300px;
    }

    .outline {
        margin-bottom: 21vw;
    }

    .outline .ttl_part02 {
        padding: 0 0 9vw;
    }

    .floor .flex>* {
        width: 100%;
    }

    .floor .flex>img {
        order: 1;
    }

    .floor .flex>div {
        order: 2;
        margin-top: 30px;
    }

    .floor .flex .btn01 a {
        margin: auto;
    }

    footer {
        padding: 80px 20px;
    }

    footer div.flex {
        text-align: center;
    }

    footer div.flex>* {
        width: 100%;
        justify-content: center;
    }

    footer ul {
        margin-bottom: 40px;
    }

    footer li a {
        margin: 0 20px 10px;
    }

    .btn01 a span::after {
        margin-left: 12px;
    }

    .kv_event p {
        font-size: 5vw;
    }

    .kv_event dt {
        font-size: 2.3vw;
        margin-top: 1.5vw;
    }

    .kv_event dd {
        font-size: 3.5vw;
    }

    .kv_event dd small {
        font-size: 2.2vw;
    }

    .wedo_inner h2 {
        font-size: clamp(1.5rem, 0.429rem + 5.36vw, 3rem);
    }

    .ttl_part01 h2 {
        font-size: clamp(2.5rem, 1.307rem + 5.09vw, 3.75rem);
    }

    .ttl_part01 h2 small {
        font-size: clamp(1.375rem, 0.719rem + 2.8vw, 2.063rem);
    }

    .ttl_part02 h2 {
        font-size: clamp(2rem, 0.628rem + 5.85vw, 3.438rem);
    }

    .introduction h6 {
        font-size: clamp(1.5rem, 0.904rem + 2.54vw, 2.125rem);
    }

    .introduction h6+p {
        font-size: clamp(1.125rem, 0.648rem + 2.04vw, 1.625rem);
    }

    .introduction_salesTxt p {
        font-size: clamp(1.5rem, 0.546rem + 4.07vw, 2.5rem);
    }

    .feature_flex_txt h3 {
        font-size: clamp(1.5rem, 1.321rem + 0.89vw, 1.75rem);
    }

    .message p {
        font-size: clamp(2rem, 0.807rem + 5.09vw, 3.25rem);
    }

    .service_list p {
        font-size: calc(18px / 1.2);
    }

    .service_list p small {
        font-size: calc(10px / 1.2);
    }

    .voice_list li {
        font-size: calc(20px / 1.2);
    }

    .worries_list p {
        font-size: clamp(1.5rem, 1.023rem + 2.04vw, 2rem);
        padding: 0;
    }

    .worries_list li {
        font-size: clamp(1.125rem, 0.827rem + 1.27vw, 1.438rem);
    }

    .visitor_btn a {
        font-size: clamp(1.25rem, 1.027rem + 1.12vw, 1.563rem);
    }
}

@media only screen and (max-width: 600px) {
    .GAlogo img {
        max-width: 50px;
    }

    .introduction .inner img {
        max-width: calc(100% + 50px);
        margin-left: -25px;
    }

    .visitor_btn {
        flex-wrap: wrap;
        width: 65vw;
        margin: 0 auto 30px;
    }

    .visitor_btn p {
        width: 100%;
        padding: 30vw 25px 7vw;
    }

    .visitor_btn a {
        width: 65vw;
        height: 65vw;
    }

    .outline_list dl {
        flex-wrap: wrap;
    }

    .outline_list dt {
        width: 100%;
    }
}

/* max 600px */

@media only screen and (max-width: 500px) {
    header {
        padding: 0 20px;
    }

    .contact_btn a {
        min-width: 70px;
    }

    .kv_inner {
        padding: 0 25px;
    }

    .kv_inner h1 {
        width: 100%;
    }

    .kv_event p {
        font-size: 6vw;
    }

    .kv_event dt {
        font-size: 3.2vw;
        margin-top: 1.5vw;
        min-width: 16vw;
    }

    .kv_event dd {
        font-size: 4.4vw;
    }

    .kv_event dd small {
        font-size: 3.1vw;
    }

    .service_list li {
        width: calc(50% - 5px);
    }

    .service_list .icon {
        margin: 0 auto 10px;
        width: 39%;
        min-width: 65px;
    }

    .service_list p {
        width: 100%;
    }

    .visitor_btn {
        width: 80vw;
    }

    .visitor_btn a {
        width: 80vw;
        height: 80vw;
    }

    .message p {
        font-size: 7vw;
    }

    .message p img {
        max-width: 13vw;
    }

}

/* max 500px */