@charset "utf-8";


:root {
    --color-base: #0cafd8;
    --color-white: #FFFFFF;
    --color-orange: #f39149;
    --color-orange2: #b66b34;
    --color-gray: #6f6f6f;
    --color-gray2: #878787;
    --color-about: #2e6077;
    --color-yellow: #ffe773;
    --color-black: #313131;
    --color-footer: #a4c6d0;
    --vw-min: 390;
    
    --font-noto: "Noto Sans JP", sans-serif;
    --font-libre: "Libre Bodoni", serif;
    --font-shippori: "Shippori Mincho", serif;
    --font-notoserif: "Noto Serif JP", serif;
    --font-oswald:"Oswald", sans-serif;
    --font-josefinsans: "Josefin Sans", sans-serif;
    --font-inter: "Inter", sans-serif;
}
html { 
    scroll-behavior: smooth;
    word-break: break-all;
}

body {
    font-family: var(--font-noto);
    background: var(--color-base);
}

picture {
    line-height: 0;
}
img {
    width: 100%;
    height: auto;
}
.hum {
    width: calc(50 / var(--vw-min) * 100vw);
    height: calc(50 / var(--vw-min) * 100vw);
    border-radius: 50%;
    background: #a4c6d0;
    position: fixed;
    right: calc(20 / var(--vw-min) * 100vw);
    top: calc(20 / var(--vw-min) * 100vw);
    z-index: 99;
    cursor: pointer;
}
.hum_wrap {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.hum_bars {
    width: calc(30 / var(--vw-min) * 100vw);
    height: calc(22 / var(--vw-min) * 100vw);
}
.hum_bars div {
    width: calc(30 / var(--vw-min) * 100vw);
    height: calc(3 / var(--vw-min) * 100vw);
    border-radius: 2px;
    background: #fff;
}
.hum_bars div:nth-child(1) {
    transition: .3s;
}
.hum_bars div:nth-child(2) {
    transform: translateY(calc(6 / var(--vw-min) * 100vw));
    transition: .3s;
} 
.hum_bars div:nth-child(3) {
    /* margin-top: 16px; */
    transform: translateY(calc(12 / var(--vw-min) * 100vw));
    transition: .3s;
}
.is_active .hum_bars div:nth-child(1) {
    transform: translateY(calc(10 / var(--vw-min) * 100vw)) rotate(45deg);
}
.is_active .hum_bars div:nth-child(2) {
    transform: translateY(8px);
    opacity: 0;
} 
.is_active .hum_bars div:nth-child(3) {
    transform: translateY(calc(4 / var(--vw-min) * 100vw)) rotate(-45deg);
}
#nav {
    width: 90%;
    padding: calc(100 / var(--vw-min) * 100vw) calc(10 / var(--vw-min) * 100vw)  calc(100 / var(--vw-min) * 100vw) calc(56 / var(--vw-min) * 100vw);
    background: #FFFFFF;
    position: fixed;
    right: 0;
    top: 0;
    height: 100vh;
    z-index: 98;
    transform: translateX(110%);
    transition: .4s;
}
.navbg {
    width: 100vw;
    height: 100vh;
    background: #0e324398;
    transform: translateX(110%);
    transition: .2s;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 97;
}
.is_active #nav, .is_active .navbg {
    transform: translateX(0);
}
.menu_hdr {
    width: 109px;
    margin-bottom: 56px;
}
.menu_list li:not(:last-child) {
    margin-bottom: 36px;
}
.menu_list li a {
    line-height: 1;
    color: var(--color-gray2);
    font-size: calc(20 / var(--vw-min) * 100vw);
    font-weight: 500;
    transition: .2s;
}
.menu_list li a:hover {
    opacity: 0.6;
}

#load {
    display: grid;
    place-items: center;
    inset: 0;
    position: fixed;
    z-index: 9999;
    background: #FFFFFF;
    transition: all 1s;
}
.loaded #load {
    visibility: hidden;
    opacity: 0;
}
.fadeIn {
    transform: translate3d(0, 50px, 0);
    transition: 1s;
    transition-delay: .05s;
    opacity: 0;
}
.fadeIn.animated {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}
.main_block {
    background: var(--color-white);
}

.sec_wrap,.content_wrap {
    padding: 0 calc(16 / var(--vw-min) * 100vw);
}
/* section */
#lead {
    padding-top: calc(40 / var(--vw-min) * 100vw);
}
#phase_01,#aboutus {
    padding-top: calc(40 / var(--vw-min) * 100vw);
}
.contain_bg {
    background: url(../images/png/window_bg.png) center;
    background-size: cover;
}
/* FV */
#fv {
    position: relative;
}
.logo {
    width: calc(117 / var(--vw-min) * 100vw);
    position: absolute;
    left: calc(17 / var(--vw-min) * 100vw);
    top: calc(64 / var(--vw-min) * 100vw);
}
.fv_txt {
    width: 100%;
    font-size: calc(35 / var(--vw-min) * 100vw);
    font-weight: 700;
    color: var(--color-white);
    text-align: center;
    line-height: 1.5;
    position: absolute;
    top: calc(152 / var(--vw-min) * 100vw);
}
/* Catch */

.lead_catch {
    margin-bottom: calc(17 / var(--vw-min) * 100vw);
    color: var(--color-base);
    font-size: calc(16 / var(--vw-min) * 100vw);
}
.lead_hdr {
    margin-bottom: calc(20 / var(--vw-min) * 100vw);
    font-size: calc(48 / var(--vw-min) * 100vw);
    line-height: 1.28;
    color: var(--color-base);
    position: relative;
}
.lead_orange {
    color: var(--color-orange);
    margin-right: calc(4 / var(--vw-min) * 100vw);
}

.target {
    width: calc(88 / var(--vw-min) * 100vw);
    position: absolute;
    right: calc(22 / var(--vw-min) * 100vw);
    bottom: calc(-19 / var(--vw-min) * 100vw);
}
.lead_text {
    font-size: calc(12 / var(--vw-min) * 100vw);
    line-height: 1.8;
    color: var(--color-gray);
    text-align: justify;
}



/* campaing */
.campaign_hdr_wrap {
    padding-top: calc(12 / var(--vw-min) * 100vw);
    padding-bottom: calc(20 / var(--vw-min) * 100vw);
    background:var(--color-base) url(../images/png/campaign_top_bg.png) top no-repeat;
    background-size: contain;
    position: relative;
}
.campaign_hdr {
    font-size: calc(35 / var(--vw-min) * 100vw);
    line-height: 1.2;
    color: var(--color-yellow);
}
.campaign_hdr span {
    margin-bottom: calc(17 / var(--vw-min) * 100vw);
    font-size: calc(17 / var(--vw-min) * 100vw);
    font-weight: 400;
    line-height: 1;
    color: var(--color-white);
}
.campaign_catch {
    display: flex;
    align-items: center;
}
.campaign_catch_left {
    width: calc(140 / var(--vw-min) * 100vw);
    font-size: calc(24 / var(--vw-min) * 100vw);
    font-weight: 600;
    color: var(--color-gray2);
}

.campaign_catch_right {
    width: calc(206 / var(--vw-min) * 100vw);
    font-size: calc(41 / var(--vw-min) * 100vw);
    font-weight: 600;
    color: var(--color-orange);
}
.campaign_txt {
    margin-bottom: calc(22 / var(--vw-min) * 100vw);
    font-size: calc(12 / var(--vw-min) * 100vw);
    line-height: 1.8;
    color: var(--color-gray2);
}
.cmpgn_1 {
    padding-top: calc(132 / var(--vw-min) * 100vw);
    padding-bottom: calc(103 / var(--vw-min) * 100vw);
}
.cmpgn_2 {
    padding-top: calc(110 / var(--vw-min) * 100vw);
    padding-bottom: calc(90 / var(--vw-min) * 100vw);
}
.cmpgn_3 {
    padding-top: calc(132 / var(--vw-min) * 100vw);
    padding-bottom: calc(32 / var(--vw-min) * 100vw);
}
.cmpgn_1 .campaign_illust {
    width: calc(185 / var(--vw-min) * 100vw);
    position: absolute;
    right: 0;
    bottom: calc(40 / var(--vw-min) * 100vw);
}
.cmpgn_2 .campaign_illust {
    width: calc(150 / var(--vw-min) * 100vw);
    position: absolute;
    right: calc(10 / var(--vw-min) * 100vw);
    bottom: calc(20 / var(--vw-min) * 100vw);
}
.cmpgn_3 .campaign_illust {
    width: calc(195 / var(--vw-min) * 100vw);
    position: absolute;
    right: 0;
    bottom: calc(24 / var(--vw-min) * 100vw);
}
/* Phase */
.phase_box {
    width: calc(362 / var(--vw-min) * 100vw);
    margin-left: auto;
    margin-right: 0;
    padding-left: calc(23 / var(--vw-min) * 100vw);
    padding-bottom: calc(86 / var(--vw-min) * 100vw);
    border-left: 1px solid #adcbd5;
    border-bottom: 1px solid #adcbd5;
    border-bottom-left-radius: calc(15 / var(--vw-min) * 100vw);
    position: relative;
}
.phasenum {
    width: calc(136 / var(--vw-min) * 100vw);
    margin-left: calc(-36 / var(--vw-min) * 100vw);
    margin-bottom: calc(8 / var(--vw-min) * 100vw);
}
.phase_hdr {
    margin-bottom: calc(12 / var(--vw-min) * 100vw);
    font-size: calc(45 / var(--vw-min) * 100vw);
    font-weight: 500;
    color: var(--color-base);
}
.phase_box_txt {
    font-size: calc(12 / var(--vw-min) * 100vw);
    line-height: 1.75;
    color: var(--color-gray);
}
.phase_1,.phase_2,.phase_3 {
    position: relative;
} 
#phase_01 .phase_1 {
    margin-bottom: calc(92 / var(--vw-min) * 100vw);
}
#phase_01 .phase_2 {
    margin-bottom: calc(60 / var(--vw-min) * 100vw);
}
#phase_01 .phase_3 {
    letter-spacing: -0.02em;
}
#phase_02 .phase_1 .phase_box_txt {
    width: calc(162 / var(--vw-min) * 100vw);
}
#phase_02 .phase_2 .phase_box_txt {
    width: calc(162 / var(--vw-min) * 100vw);
}
#phase_02 .phase_3 .phase_box_txt {
    width: calc(290 / var(--vw-min) * 100vw);
}
#phase_01 .phase_1 .phase_box_txt {
    width: calc(256 / var(--vw-min) * 100vw);
}
#phase_01 .phase_2 .phase_box_txt {
    width: calc(322 / var(--vw-min) * 100vw);
    position: relative;
    z-index: 1;
}
#phase_01 .phase_3 .phase_box_txt {
    width: calc(204 / var(--vw-min) * 100vw);
}
#phase_01 {
    padding-bottom: calc(100 / var(--vw-min) * 100vw);
}
#phase_01 .phase_1 .phase_bg_img {
    width: calc(160 / var(--vw-min) * 100vw);
    position: absolute;
    right: calc(10 / var(--vw-min) * 100vw);
    top: calc(-56 / var(--vw-min) * 100vw);
    z-index: -1;
}
#phase_01 .phase_2 .phase_bg_img {
    width: calc(192 / var(--vw-min) * 100vw);
    position: absolute;
    right: 0;
    top: calc(-90 / var(--vw-min) * 100vw);
}
#phase_01 .phase_3 .phase_bg_img {
    width: calc(126 / var(--vw-min) * 100vw);
    position: absolute;
    right: calc(4 / var(--vw-min) * 100vw);
    top: calc(-40 / var(--vw-min) * 100vw);
    z-index: -1;
}
.phase_msg {
    display: inline-block;
    padding: calc(16 / var(--vw-min) * 100vw) calc(28 / var(--vw-min) * 100vw);
    border: 1px solid #adcbd5;
    font-size: calc(17 / var(--vw-min) * 100vw);
    font-weight: 600;
    color: var(--color-base);
    line-height: 1.6;
    background: #FFFFFF;
    position: absolute;
    right: calc(16 / var(--vw-min) * 100vw);
    bottom: calc(-57 / var(--vw-min) * 100vw);
    z-index: 2;
}
.phase_circle {
    width: calc(100 / var(--vw-min) * 100vw);
    height: calc(200 / var(--vw-min) * 100vw);
    border-radius: calc(100 / var(--vw-min) * 100vw) 0 0 calc(100 / var(--vw-min) * 100vw);
    background:#fee773;
    position: absolute;
    right: 0;
    bottom: calc(-100 / var(--vw-min) * 100vw);
    z-index: 1;
}


.mid_contact {
    margin-top: calc(76 / var(--vw-min) * 100vw);
    margin-bottom: calc(80 / var(--vw-min) * 100vw);
}
#aboutus .aboutus_wrap {
    padding: calc(130 / var(--vw-min) * 100vw) calc(64 / var(--vw-min) * 100vw) calc(56 / var(--vw-min) * 100vw);
    background:var(--color-about) url(../images/png/wave.png) top no-repeat;
    background-size: contain;
    position: relative;
}
.az_logo {
    width: calc(86 / var(--vw-min) * 100vw);
    position: absolute;
    right: calc(70 / var(--vw-min) * 100vw);
    top: calc(34 / var(--vw-min) * 100vw);
}
.aboutus_hdr {
    width: calc(103 / var(--vw-min) * 100vw);
    margin-bottom: calc(14 / var(--vw-min) * 100vw);
    font-size: calc(22 / var(--vw-min) * 100vw);
    color: var(--color-white);
}
#aboutus .aboutus_txt {
    font-size: calc(17 / var(--vw-min) * 100vw);
    color: var(--color-white);
    font-weight: 600;
    line-height: 2;
}
#phase_02 {
    padding-top: calc(70 / var(--vw-min) * 100vw);
}

/* Flow */
#flow {
    padding-top: calc(40 / var(--vw-min) * 100vw);
}
.flow_catch {
    margin-bottom: calc(68 / var(--vw-min) * 100vw);
    font-size: calc(24 / var(--vw-min) * 100vw);
    font-weight: 700;
    color: var(--color-base);
    text-align: center;
}
.flow_catch span {
    color: var(--color-orange);
}
.flow_chart_list_child {
    position: relative;
}
.flow_chart_list_hdr {
    margin-bottom: calc(12 / var(--vw-min) * 100vw);
    padding-left: calc(44 / var(--vw-min) * 100vw);
    font-size: calc(31 / var(--vw-min) * 100vw);
    color: var(--color-base);
    font-weight: 600;
    line-height: 1.4;
    position: relative;
}
.flow_chart_list_hdr::before {
    content: "";
    display: inline-block;
    width: calc(35 / var(--vw-min) * 100vw);
    height: calc(35 / var(--vw-min) * 100vw);
    position: absolute;
}
.fclc_01 .flow_chart_list_hdr::before {
    background: url(../images/svg/flow_num_01.svg);
    vertical-align: calc(-6 / var(--vw-min) * 100vw);
    left: 0;
    top: calc(6 / var(--vw-min) * 100vw);
}
.fclc_02 .flow_chart_list_hdr::before {
    background: url(../images/svg/flow_num_02.svg);
    left: 0;
    top: calc(6 / var(--vw-min) * 100vw);
}
.fclc_03 .flow_chart_list_hdr::before {
    background: url(../images/svg/flow_num_03.svg);
    vertical-align: calc(-6 / var(--vw-min) * 100vw);
    left: 0;
    top: calc(6 / var(--vw-min) * 100vw);
}
.flow_chart_list_txtBox {
    display: flex;
}
.fclc_01 {
    margin-bottom: calc(98 / var(--vw-min) * 100vw);
}
.fclc_02 {
    margin-bottom: calc(82 / var(--vw-min) * 100vw);
}
.flow_chart_list_illust {
    position: absolute;
}
.fclc_01 .flow_chart_list_illust {
    width: calc(141 / var(--vw-min) * 100vw);
    right: calc(24 / var(--vw-min) * 100vw);
    bottom: calc(-50 / var(--vw-min) * 100vw);
    z-index: -1;
}
.fclc_02 .flow_chart_list_illust {
    width: calc(218 / var(--vw-min) * 100vw);
    left: calc(12 / var(--vw-min) * 100vw);
    bottom: calc(-50 / var(--vw-min) * 100vw);
    z-index: -1;
}
.fclc_03 .flow_chart_list_illust {
    width: calc(146 / var(--vw-min) * 100vw);
    right: 0;
    top: calc(20 / var(--vw-min) * 100vw);
    z-index: -1;
}
.fclc_02 .flow_chart_list_txtBox {
    justify-content: flex-end;
}
.fclc_01 .flow_chart_list_txtBox_txt {
    width: calc(180 / var(--vw-min) * 100vw);
}
.fclc_02 .flow_chart_list_txtBox_txt {
    width: calc(180 / var(--vw-min) * 100vw);
}
.fclc_03 .flow_chart_list_txtBox_txt {
    width: calc(205 / var(--vw-min) * 100vw);
}
.flow_chart_list_txtBox_txt {
    font-size: calc(12 / var(--vw-min) * 100vw);
    color: var(--color-gray);
    line-height: 1.8;
}


/* achievement */
#achievement {
    padding-top: calc(40 / var(--vw-min) * 100vw);
    position: relative;
}
.achievement_wrap {
    padding: calc(64 / var(--vw-min) * 100vw) calc(16 / var(--vw-min) * 100vw) calc(106 / var(--vw-min) * 100vw);
    background: url(../images/png/achievement_wave_01.png) top no-repeat, url(../images/png/achievement_wave_02.png) bottom no-repeat, var(--color-about);
    background-size: contain;
    position: relative;
}
.achievement_illust {
    width: calc(172 / var(--vw-min) * 100vw);
    position: absolute;
    right: 0;
    top: calc(49 / var(--vw-min) * 100vw);
    z-index: 1;
}
.achievement_hdr {
    width: calc(190 / var(--vw-min) * 100vw);
    margin-bottom: calc(70 / var(--vw-min) * 100vw);
}
.achievement_catch {
    margin-bottom: calc(10 / var(--vw-min) * 100vw);
    font-size: calc(24 / var(--vw-min) * 100vw);
    font-weight: 600;
    color: var(--color-white);
    text-align: center;
}
.achievement_txt {
    font-size: calc(17 / var(--vw-min) * 100vw);
    line-height: 1.8;
    font-weight: 500;
    color: var(--color-white);
    text-align: center;
    letter-spacing: -0.04em;
}
.achievement_txt span {
    color: var(--color-yellow);
    font-weight: 600;
}
.achievement_chart {
    margin-bottom: calc(25 / var(--vw-min) * 100vw);
}

/* analysis */
#analysis {
    margin-bottom: calc(120 / var(--vw-min) * 100vw);
    padding-top: calc(40 / var(--vw-min) * 100vw);
}
.analysis_hdr {
    margin-bottom: calc(22 / var(--vw-min) * 100vw);
    font-size: calc(24 / var(--vw-min) * 100vw);
    font-weight: 600;
    color: var(--color-about);
}
.analysis_box {
    display: flex;
    justify-content: space-between;
}
.analysis_box:not(:last-child) {
    margin-bottom: calc(32 / var(--vw-min) * 100vw);
}
.analysis_img {
    width: calc(145 / var(--vw-min) * 100vw);
}
.analysis_txt {
    width: calc(178 / var(--vw-min) * 100vw);
}
.analysis_txt_hdr {
    margin-bottom: calc(10 / var(--vw-min) * 100vw);
    font-size: calc(17 / var(--vw-min) * 100vw);
    font-weight: 600;
    color: var(--color-about);
}
.analysis_txt_p {
    font-size: calc(12 / var(--vw-min) * 100vw);
    color: var(--color-gray);
    line-height: 1.8;
}





.mid_contact_txt {
    margin-bottom: calc(12 / var(--vw-min) * 100vw);
    font-size: calc(16 / var(--vw-min) * 100vw);
    color: var(--color-orange);
    text-align: center;
    font-weight: 600;
    line-height: 2;
    position: relative;
}
.mid_contact_txt::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 4em;
    background: var(--color-orange);
    position: absolute;
    left: calc(90 / var(--vw-min) * 100vw);
    bottom: 0;
    transform: rotate(-25deg);
}
.mid_contact_txt::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 4em;
    background: var(--color-orange);
    position: absolute;
    right: 90px;
    bottom: 0;
    transform: rotate(25deg);
}
a.mid_contact_link {
    display: block;
    width:  calc(295 / var(--vw-min) * 100vw);
    margin: 0 auto;
    padding: calc(20 / var(--vw-min) * 100vw) 0;
    font-size: calc(20 / var(--vw-min) * 100vw);
    font-weight: 600;
    color: var(--color-white);
    text-align: center;
    background: var(--color-orange);
    border-radius: 8px;
    filter: drop-shadow(calc(5 / var(--vw-min) * 100vw) calc(5 / var(--vw-min) * 100vw) 0 #a3c6d0);
    transition: .2s;
}
a.mid_contact_link:hover {
    filter: drop-shadow(0px 0px 0 #a3c6d0);
}
#plus{
    position: relative;
}
.plus_wrap {
    padding: calc(186 / var(--vw-min) * 100vw) calc(64 / var(--vw-min) * 100vw) calc(56 / var(--vw-min) * 100vw);
    /* padding: 6px 64px 30px; */
    background: var(--color-about) url(../images/png/wave.png) top no-repeat;
    background-size: contain;
    position: relative;
}
.plus_illust {
    width: calc(222 / var(--vw-min) * 100vw);
    position: absolute;
    top: calc(-4 / var(--vw-min) * 100vw);
    right: calc(18 / var(--vw-min) * 100vw);
    z-index: 1;
}
.plus_hdr {
    width: calc(77 / var(--vw-min) * 100vw);
    margin-bottom: calc(16 / var(--vw-min) * 100vw);
}
.plus_txt {
    font-size: calc(17 / var(--vw-min) * 100vw);
    font-weight: 600;
    color: var(--color-white);
    line-height: 2;
}
#trouble {
    margin-bottom: calc(145 / var(--vw-min) * 100vw);
    padding-top: calc(40 / var(--vw-min) * 100vw);
    position: relative;
}
.trouble_blcks {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.trouble_hdr {
    margin-bottom:calc(24 / var(--vw-min) * 100vw);
    font-size: calc(23 / var(--vw-min) * 100vw);
    font-weight: 600;
    text-align: center;
    color: var(--color-gray);
    line-height: 1.5;
    position: relative;
    z-index: 2;
}
.trouble_blcks_child {
    width: calc(165 / var(--vw-min) * 100vw);
    height: calc(165 / var(--vw-min) * 100vw);
    padding: calc(12 / var(--vw-min) * 100vw);
    font-size: calc(14 / var(--vw-min) * 100vw);
    color: var(--color-white);
    font-weight: 600;
    line-height: 1.8;
    position: relative;
}
.trouble_blcks_child:nth-child(1),.trouble_blcks_child:nth-child(2) {
    margin-bottom:calc(16 / var(--vw-min) * 100vw);
}
.trouble_blcks_child:nth-child(2n) {
    margin-left: calc(16 / var(--vw-min) * 100vw);
}
.trouble_blcks_child:nth-child(1) {
    background: #2e6077;
    text-align: right;
}
.trouble_blcks_child:nth-child(2) {
    background: var(--color-footer);
}
.trouble_blcks_child:nth-child(3) {
    background: var(--color-base);
    text-align: left;
}
.trouble_blcks_child:nth-child(4) {
    background: var(--color-gray2);
    text-align: right;
}
.trouble_illust {
    position: absolute;
}
.trouble_circle_01 {
    width: calc(100 / var(--vw-min) * 100vw);
    height: calc(200 / var(--vw-min) * 100vw);
    border-radius: calc(100 / var(--vw-min) * 100vw) 0 0 calc(100 / var(--vw-min) * 100vw);
    background: #ffe77350;
    position: absolute;
    right: 0;
    top: -50px;
    z-index: 0;
}
.trouble_circle_02 {
    width: calc(75 / var(--vw-min) * 100vw);
    height: calc(150 / var(--vw-min) * 100vw);
    border-radius: 0 calc(75 / var(--vw-min) * 100vw) calc(75 / var(--vw-min) * 100vw) 0;
    background: #ffe77350;
    position: absolute;
    left: 0;
    bottom: calc(-85 / var(--vw-min) * 100vw);
    z-index: 0;
}
.ti_01 {
    width: calc(50 / var(--vw-min) * 100vw);
    left: calc(-3 / var(--vw-min) * 100vw);
    bottom: 0px;
}
.ti_02 {
    width: calc(62 / var(--vw-min) * 100vw);
    right: calc(4 / var(--vw-min) * 100vw);
    bottom: calc(-13 / var(--vw-min) * 100vw);
}
.ti_03 {
    width: calc(107 / var(--vw-min) * 100vw);
    right: calc(-3 / var(--vw-min) * 100vw);
    bottom: calc(-6 / var(--vw-min) * 100vw);
}
.ti_04 {
    width: calc(81 / var(--vw-min) * 100vw);
    left: calc(14 / var(--vw-min) * 100vw);
    bottom: calc(-3 / var(--vw-min) * 100vw);
}



/* Footer */
footer {
    padding: calc(30 / var(--vw-min) * 100vw) calc(46 / var(--vw-min) * 100vw) calc(75 / var(--vw-min) * 100vw);
    background: var(--color-footer);
}
.footer_info_list {
    margin-bottom: calc(22 / var(--vw-min) * 100vw);
    font-size: calc(12 / var(--vw-min) * 100vw);
    line-height: 2.25;
    color: var(--color-white);
}
.footer_logo {
    width: calc(168 / var(--vw-min) * 100vw);
}
@media screen and (max-width:767px){
    .sp_none {
        display: none;
    }
    #flow {
        margin-top: calc(35 / var(--vw-min) * 100vw);
        margin-bottom: calc(60 / var(--vw-min) * 100vw);
    }
    /* privacy policy */
    .pp_window {
        display: none;
        width: 90%;
        max-width: 500px;
        height: 80vh;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-color: var(--color-white);
        border-radius: calc(8 / var(--vw-min) * 100vw);
        z-index: 11;
        overflow-y: scroll;
        max-height: calc(100vh - 2em);
    }
    .pp_close {
        width: calc(18 / var(--vw-min) * 100vw);
        cursor: pointer;
        position: absolute;
        top: calc(18 / var(--vw-min) * 100vw);
        right: calc(18 / var(--vw-min) * 100vw);
    }
    .pp_close_bottom {
        text-align: right;
        display: block;
        cursor: pointer;
        margin-top: calc(20 / var(--vw-min)* 100vw);
        font-size: calc(13 / var(--vw-min) * 100vw);
    }
    .pp_open {
        cursor: pointer;
    }
    .overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.5);
        width: 100%;
        height: 100%;
        z-index: 10;
    }
    .pp_wrap {
        padding: calc(20 / var(--vw-min) * 100vw) calc(18 / var(--vw-min) * 100vw);
        position: relative;
    }
    .pp_hdr {
        font-size: calc(16 / var(--vw-min) * 100vw);
        text-align: center;
        margin-bottom: calc(18 / var(--vw-min) * 100vw);
    }
    .pp_hdr_02 {
        font-size: calc(14 / var(--vw-min) * 100vw);
        margin-bottom: calc(8 / var(--vw-min) * 100vw);
    }
    .pp_hdr::after {
        content: "";
        display: block;
        width: 3em;
        height: 2px;
        background: var(--color-base);
        margin-top: calc(14 / var(--vw-min) * 100vw);;;
        margin-right: auto;
        margin-left: auto;
    }
    .pp_txt {
        margin-bottom: calc(20 / var(--vw-min) * 100vw);
        font-size: calc(12 / var(--vw-min) * 100vw);
        line-height: 1.5;
    }
    .pp_txt_02 {
        margin-bottom: 20px;
        font-size: calc(12 / var(--vw-min) * 100vw);
        line-height: 1.5;
    }
    .pp_list_child {
        font-size: calc(13 / var(--vw-min) * 100vw);
        font-weight: 300;
        line-height: 1.6;
    }
    .pp_list_child:not(:last-child) {
        margin-bottom: calc(18 / var(--vw-min) * 100vw);
    }
    .pp_list_child strong {
        display: block;
        margin-bottom: calc(3 / var(--vw-min) * 100vw);
    }
    .pp_contact {
        margin-top: calc(30 / var(--vw-min) * 100vw);
        font-size: calc(13 / var(--vw-min) * 100vw);
        line-height: 1.88;
        text-align: right;
    }
    /* form */
    #form {
        padding-top: calc(40 / var(--vw-min) * 100vw);
        padding-bottom: calc(120 / var(--vw-min) * 100vw);
    }
    #form .form_hdr {
        margin-bottom: calc(22 / var(--vw-min)* 100vw);
        font-size: calc(24 / var(--vw-min) * 100vw);
        font-weight: 600;
        color: var(--color-black);
        text-align: center;
    }
    .must {
        display: inline-block;
        padding: calc(6 / var(--vw-min) * 100vw) calc(8 / var(--vw-min) * 100vw);;
        line-height: 1;
        font-size: calc(10 / var(--vw-min) * 100vw);
        color: #FFFFFF;
        background: #d01717;
        border-radius: 4px;
        vertical-align: calc(2 / var(--vw-min) * 100vw);
    }
    .form_tabel {
        width: 100%;
    }
    #form th, #form td {
        display: block;
        width: 100%;
        color: var(--color-black);
    }
    #form th {
        padding: calc(24 / var(--vw-min) * 100vw) 0 calc(10 / var(--vw-min) * 100vw) 0;
        font-weight: 500;
        font-size: calc(17 / var(--vw-min) * 100vw);
        letter-spacing: -0.02em;
        font-weight: 600;
        text-align: left;
    }
    #form td {
        font-size: calc(16 / var(--vw-min) * 100vw);
    }
    .submit {
        margin-top: calc(56 / var(--vw-min) * 100vw);
    }
    
    .submit button:hover {
        background: #979797;
    } 
    #form input, #form textarea {
        width: 100%;
        padding: calc(4 / var(--vw-min) * 100vw) calc(6 / var(--vw-min) * 100vw);
    }
    #form input, #form textarea, #form .mfp_element_all {
        width: 100% !important;
        max-width: none;
    }
    #form .submit button {
        border: none;
        display: block;
        width: 80%;
        max-width: calc(220 / var(--vw-min) * 100vw);
        margin: auto;
        font-size: mcalc(17 / var(--vw-min) * 100vw);
        background: #333;
        padding:  calc(12 / var(--vw-min) * 100vw);
        color: #fff;
        border-radius: 4px;
        text-align: center;
        text-decoration: none;
        transition: all 0.2s;
        cursor: pointer;
    }
    #form .mfp_element_text, #form .mfp_element_number, #form .mfp_element_select-one, #form .mfp_element_email, #form .mfp_element_tel, #form .mfp_element_textarea, #form .mfp_element_date, #form .mfp_element_password {
        border: solid 1px var(--color-gray2);
        border-radius: 3px;
        box-shadow: none;
        margin: 0;
    }
    #form .mfp_element_submit, #form .mfp_element_reset, #form .mfp_element_button, #form button.mfp_next, #form button.mfp_prev {
        text-shadow: none;
    }
    #thanks {
        text-align: center;
        padding: calc(68 / var(--vw-min) * 100vw) 0;
    }
    #thanks h3 {
        margin-bottom: calc(32 / var(--vw-min) * 100vw);
        font-weight: 700;
        font-size: calc(22 / var(--vw-min) * 100vw);
    }
    #thanks p {
        font-size: calc(16 / var(--vw-min) * 100vw);
        line-height: 2;
    }
    .back {
        width: 100%;
        margin-top: calc(32 / var(--vw-min) * 100vw);
    }
    .back a {
        text-decoration: none;
    }
}
@media screen and (min-width:768px){
    .sp_none {
        display: block;
    }
    .hum {
        width: 65px;
        height: 65px;
        border-radius: 50%;
        background: #a4c6d0;
        position: fixed;
        right: 58px;
        top: 43px;
        z-index: 99;
        cursor: pointer;
    }
    .hum_wrap {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .hum_bars {
        width: 40px;
        height: 28px;
    }
    .hum_bars div {
        width: 40px;
        height: 4px;
        border-radius: 2px;
        background: #fff;
    }
    .hum_bars div:nth-child(1) {
        transition: .3s;
    }
    .hum_bars div:nth-child(2) {
        transform: translateY(8px);
        transition: .3s;
    } 
    .hum_bars div:nth-child(3) {
        transform: translateY(16px);
        transition: .3s;
    }
    .is_active .hum_bars div:nth-child(1) {
        transform: translateY(12px) rotate(45deg);
    }
    .is_active .hum_bars div:nth-child(2) {
        transform: translateY(8px);
        opacity: 0;
    } 
    .is_active .hum_bars div:nth-child(3) {
        transform: translateY(4px) rotate(-45deg);
    }
    #nav {
        width: 500px;
        padding: 80px;
        background: #FFFFFF;
        position: fixed;
        right: 0;
        top: 0;
        height: 100vh;
        z-index: 98;
        transform: translateX(110%);
        transition: .4s;
    }
    .navbg {
        width: 100vw;
        height: 100vh;
        background: #0e324398;
        transform: translateX(110%);
        transition: .2s;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 97;
    }
    .is_active #nav, .is_active .navbg {
        transform: translateX(0);
    }
    .menu_hdr {
        width: 109px;
        margin-bottom: 56px;
    }
    .menu_list {
    
    }
    .menu_list li:not(:last-child) {
        margin-bottom: 36px;
    }
    .menu_list li a {
        line-height: 1;
        color: var(--color-gray2);
        font-size: 30px;
        font-weight: 500;
    }
    .menu_list li a::before {
        content: "";
        display: inline-block;
        width: 0;
        height: 3px;
        border-radius: 3px;
        background: var(--color-base);
        transition: .2s;
    }
    .menu_list li a:hover::before {
        width: 0.8em;
    }
    .main_block {
        max-width: 500px;
        margin-right: auto;
        margin-left: auto;
        background: var(--color-white);
        filter: drop-shadow(0px 0px 16px rgba(0,0,0,0.2));
    }
    .contain_bg {
        width: 100vw;
        height: 100vh;
        background: url(../images/png/window_bg.png) center bottom no-repeat;
        background-size: cover;
        position: fixed;
        top: 0;
        z-index: -1;
    }
    :root {
        --vw-min: 500;
    }
    .sec_wrap,.content_wrap {
        padding: 0 min(calc(22 / var(--vw-min) * 100vw),22px);
    }
    /* section */
    #lead {
        padding-top: min(calc(52 / var(--vw-min) * 100vw),52px);
    }
    #phase_01,#aboutus {
        padding-top: min(calc(68 / var(--vw-min) * 100vw),68px);
    }
    
    /* FV */
    .logo {
        width: min(calc(150 / var(--vw-min) * 100vw),150px);
        position: absolute;
        left: min(calc(22 / var(--vw-min) * 100vw),22px);
        top: min(calc(82 / var(--vw-min) * 100vw),82px);
    }
    .fv_txt {
        width: 100%;
        font-size: min(calc(44 / var(--vw-min) * 100vw),44px);
        font-weight: 700;
        color: var(--color-white);
        text-align: center;
        line-height: 1.5;
        position: absolute;
        top: min(calc(192 / var(--vw-min) * 100vw),192px);
    }
    /* Catch */
    
    .lead_catch {
        margin-bottom: min(calc(23 / var(--vw-min) * 100vw),23px);
        font-size: min(calc(22 / var(--vw-min) * 100vw),22px);
    }
    .lead_hdr {
        margin-bottom: min(calc(20 / var(--vw-min) * 100vw),20px);
        font-size: min(calc(62 / var(--vw-min) * 100vw),62px);
    }
    .lead_orange {
        margin-right: min(calc(6 / var(--vw-min) * 100vw),6px);
    }
    
    .target {
        width: min(calc(113 / var(--vw-min) * 100vw),113px);
        right: min(calc(4 / var(--vw-min) * 100vw),4px);
        bottom: max(calc(-19 / var(--vw-min) * 100vw),-19px);
    }
    .lead_text {
        font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
    }
    
    
    
    /* campaing */
    .campaign_hdr_wrap {
        padding-top: min(calc(18 / var(--vw-min) * 100vw),18px);
        padding-bottom: min(calc(25 / var(--vw-min) * 100vw),25px);
    }
    .campaign_hdr {
        font-size: min(calc(44 / var(--vw-min) * 100vw),44px);
        letter-spacing: -0.06em;
    }
    .campaign_hdr span {
        font-size: min(calc(22 / var(--vw-min) * 100vw),22px);
        letter-spacing: 0;
    }
    .campaign_catch_left {
        font-size: min(calc(31 / var(--vw-min) * 100vw),31px);
    }
    
    .campaign_catch_right {
        font-size: min(calc(53 / var(--vw-min) * 100vw),53px);
    }
    .campaign_txt {
        margin-bottom: min(calc(26 / var(--vw-min) * 100vw),26px);
        font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
        letter-spacing: -0.02em;
    }
    .cmpgn_1 {
        padding-top: min(calc(105 / var(--vw-min) * 100vw),105px);
        padding-bottom: min(calc(118 / var(--vw-min) * 100vw),118px);
    }
    .cmpgn_2 {
        padding-top: min(calc(132 / var(--vw-min) * 100vw),132px);
        padding-bottom: min(calc(48 / var(--vw-min) * 100vw),48px);
    }
    .cmpgn_3 {
        padding-top: min(calc(171 / var(--vw-min) * 100vw),171px);
        padding-bottom: min(calc(56 / var(--vw-min) * 100vw),56px);
    }
    .cmpgn_1 .campaign_illust {
        width: min(calc(237 / var(--vw-min) * 100vw),237px);
        bottom: min(calc(20 / var(--vw-min) * 100vw),20px);
    }
    .cmpgn_2 .campaign_illust {
        width: min(calc(206 / var(--vw-min) * 100vw),206px);
        right: min(calc(14 / var(--vw-min) * 100vw),14px);
        bottom: min(calc(20 / var(--vw-min) * 100vw),20px);
    }
    .cmpgn_3 .campaign_illust {
        width: min(calc(248 / var(--vw-min) * 100vw),248px);
        bottom: 0;
    }
    /* Phase */
    .phase_box {
        width: min(calc(462 / var(--vw-min) * 100vw),462px);
        padding-left: min(calc(25 / var(--vw-min) * 100vw),25px);
        padding-bottom: min(calc(110 / var(--vw-min) * 100vw),110px);
        border-left: 1px solid #adcbd5;
        border-bottom: 1px solid #adcbd5;
        border-bottom-left-radius: min(calc(20 / var(--vw-min) * 100vw),20px);
        position: relative;
    }
    .phasenum {
        width: min(calc(166 / var(--vw-min) * 100vw),166px);
        margin-left: max(calc(-41 / var(--vw-min) * 100vw),-41px);
        margin-bottom: min(calc(10 / var(--vw-min) * 100vw),10px);
    }
    .phase_hdr {
        margin-bottom: min(calc(20 / var(--vw-min) * 100vw),20px);
        font-size: min(calc(62 / var(--vw-min) * 100vw),62px);
        font-weight: 500;
        color: var(--color-base);
    }
    .phase_box_txt {
        font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
        line-height: 1.8;
        color: var(--color-gray);
    }
    .phase_1,.phase_2,.phase_3 {
        position: relative;
    } 
    #phase_01 .phase_1 {
        margin-bottom: min(calc(138 / var(--vw-min) * 100vw),138px);
    }
    #phase_01 .phase_2 {
        margin-bottom: min(calc(95 / var(--vw-min) * 100vw),95px);
    }
    #phase_01 .phase_3 {
        letter-spacing: -0.02em;
    }
    #phase_01 .phase_box_txt {
        letter-spacing: -0.02em;
    }
    #phase_01 .phase_1 .phase_box_txt {
        width: min(calc(330 / var(--vw-min) * 100vw),330px);
    }
    #phase_01 .phase_2 .phase_box_txt {
        width: min(calc(416 / var(--vw-min) * 100vw),416px);
        position: relative;
        z-index: 2;
    }
    #phase_01 .phase_3 .phase_box_txt {
        width: min(calc(260 / var(--vw-min) * 100vw),260px);
    }
    #phase_01 {
        padding-bottom: min(calc(129 / var(--vw-min) * 100vw),129px);
    }
    #phase_01 .phase_1 .phase_bg_img {
        width: min(calc(207 / var(--vw-min) * 100vw),207px);
        position: absolute;
        right: min(calc(12 / var(--vw-min) * 100vw),12px);
        top: min(calc(-26 / var(--vw-min) * 100vw),-62px);
        z-index: -1;
    }
    #phase_01 .phase_2 .phase_bg_img {
        width: min(calc(260 / var(--vw-min) * 100vw),260px);
        position: absolute;
        right: 0;
        top: max(calc(-112 / var(--vw-min) * 100vw),-112px);
    }
    #phase_01 .phase_3 .phase_bg_img {
        width: min(calc(150 / var(--vw-min) * 100vw),150px);
        right: min(calc(4 / var(--vw-min) * 100vw),4px);
        top: min(calc(-17 / var(--vw-min) * 100vw),-17px);
        z-index: -1;
    }
    .phase_msg {
        display: inline-block;
        padding: min(calc(24 / var(--vw-min) * 100vw),24px) min(calc(35 / var(--vw-min) * 100vw),35px);
        font-size: min(calc(22 / var(--vw-min) * 100vw),22px);
        right: min(calc(23 / var(--vw-min) * 100vw),23px);
        bottom: max(calc(-78 / var(--vw-min) * 100vw),-78px);
    }
    .phase_circle {
        width: min(calc(129 / var(--vw-min) * 100vw),129px);
        height: min(calc(258 / var(--vw-min) * 100vw),258px);
        border-radius: min(calc(129 / var(--vw-min) * 100vw),129px) 0 0 min(calc(129 / var(--vw-min) * 100vw),129px);
        background:#fee773;
        position: absolute;
        right: 0;
        bottom: max(calc(-129 / var(--vw-min) * 100vw),-129px);
        z-index: 1;
    }
    
    
    .mid_contact {
        margin-top: calc(76 / var(--vw-min) * 100vw);
        margin-bottom: calc(80 / var(--vw-min) * 100vw);
    }
    #aboutus .aboutus_wrap {
        padding: min(calc(160 / var(--vw-min) * 100vw),160px) min(calc(82 / var(--vw-min) * 100vw),82px) min(calc(68 / var(--vw-min) * 100vw),68px);
        background:var(--color-about) url(../images/png/wave.png) top no-repeat;
        background-size: contain;
        position: relative;
    }
    .az_logo {
        width: min(calc(108 / var(--vw-min) * 100vw),108px);
        position: absolute;
        right: min(calc(84 / var(--vw-min) * 100vw),84px);
        top: min(calc(40 / var(--vw-min) * 100vw),40px);
    }
    .aboutus_hdr {
        width: min(calc(132 / var(--vw-min) * 100vw),132px);
        margin-bottom: min(calc(22 / var(--vw-min) * 100vw),22px);
    }
    #aboutus .aboutus_txt {
        font-size: min(calc(22 / var(--vw-min) * 100vw),22px);
        color: var(--color-white);
        font-weight: 600;
        line-height: 2;
    }
    #phase_02 {
        padding-top: calc(70 / var(--vw-min) * 100vw);
    }
    
    /* Flow */
    #flow,#achievement {
        padding-top: min(calc(68 / var(--vw-min)* 100vw), 68px);
    }
    #flow{
        margin-bottom: min(calc(57 / var(--vw-min) * 100vw),57px);
    }
    .flow_catch {
        margin-bottom: min(calc(70 / var(--vw-min) * 100vw),70px);
        font-size: min(calc(31 / var(--vw-min) * 100vw),31px);
    }
    .flow_catch span {
        color: var(--color-orange);
    }
    
    .flow_chart {
    
    }
    .flow_chart_list {
    
    }
    .flow_chart_list_child {
        position: relative;
    }
    .flow_chart_list_hdr {
        margin-bottom:  min(calc(18 / var(--vw-min) * 100vw),18px);
        padding-left: min(calc(52 / var(--vw-min) * 100vw),52px);
        font-size: min(calc(40 / var(--vw-min) * 100vw),40px);
    }
    .flow_chart_list_hdr::before {
        content: "";
        display: inline-block;
        width: min(calc(44 / var(--vw-min) * 100vw),44px);
        height: min(calc(44 / var(--vw-min) * 100vw),44px);
        position: absolute;
        left: 0;
        top:  min(calc(7 / var(--vw-min) * 100vw),7px);
    }
    .fclc_01 .flow_chart_list_hdr::before {
        background: url(../images/svg/flow_num_01.svg);
        vertical-align: calc(-6 / var(--vw-min) * 100vw);
        left: 0;
        top:  min(calc(7 / var(--vw-min) * 100vw),7px);
    }
    .fclc_02 .flow_chart_list_hdr::before {
        background: url(../images/svg/flow_num_02.svg);
        left: 0;
        top:  min(calc(7 / var(--vw-min) * 100vw),7px);
    }
    .fclc_03 .flow_chart_list_hdr::before {
        background: url(../images/svg/flow_num_03.svg);
        vertical-align: calc(-6 / var(--vw-min) * 100vw);
        left: 0;
        top:  min(calc(7 / var(--vw-min) * 100vw),7px);
    }
    .flow_chart_list_txtBox {
        display: flex;
    }
    .fclc_01 {
        margin-bottom: min(calc(120 / var(--vw-min) * 100vw),120px);
    }
    .fclc_02 {
        margin-bottom: min(calc(100 / var(--vw-min) * 100vw),100px);
    }
    .flow_chart_list_illust {
        position: absolute;
    }
    .fclc_01 .flow_chart_list_illust {
        width: min(calc(181 / var(--vw-min) * 100vw),181px);
        right: 38px;
        bottom: -60px;
        z-index: -1;
    }
    .fclc_02 .flow_chart_list_illust {
        width: min(calc(280 / var(--vw-min) * 100vw),280px);
        left: min(calc(18 / var(--vw-min) * 100vw),18px);
        bottom: max(calc(-22 / var(--vw-min) * 100vw),-22px);
        z-index: -1;
    }
    .fclc_03 .flow_chart_list_illust {
        width: min(calc(180 / var(--vw-min) * 100vw),180px);
        right: 0;
        top: calc(20 / var(--vw-min) * 100vw);
        z-index: -1;
    }
    .fclc_02 .flow_chart_list_txtBox {
        justify-content: flex-end;
    }
    .fclc_01 .flow_chart_list_txtBox_txt {
        width: min(calc(228 / var(--vw-min) * 100vw),228px);
    }
    .fclc_02 .flow_chart_list_txtBox_txt {
        width: min(calc(228 / var(--vw-min) * 100vw),228px);
    }
    .fclc_03 .flow_chart_list_txtBox_txt {
        width: min(calc(270 / var(--vw-min) * 100vw),270px);
    }
    .flow_chart_list_txtBox_txt {
        font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
        color: var(--color-gray);
        line-height: 1.8;
    }
    
    
    /* achievement */
    .achievement_wrap {
        padding: min(calc(86 / var(--vw-min) * 100vw),86px) min(calc(20 / var(--vw-min) * 100vw),20px) min(calc(135 / var(--vw-min) * 100vw),135px);
        background: url(../images/png/achievement_wave_01.png) top no-repeat, url(../images/png/achievement_wave_02.png) bottom no-repeat, var(--color-about);
        background-size: contain;
        position: relative;
    }
    .achievement_illust {
        width: min(calc(222 / var(--vw-min) * 100vw),222px);
        position: absolute;
        right: 0;
        top: min(calc(82 / var(--vw-min) * 100vw),82px);
        z-index: 1;
    }
    .achievement_hdr {
        width: min(calc(238 / var(--vw-min) * 100vw),238px);
        margin-bottom: min(calc(80 / var(--vw-min) * 100vw),80px);
    }
    .achievement_catch {
        margin-bottom: calc(10 / var(--vw-min) * 100vw);
        font-size: min(calc(31 / var(--vw-min) * 100vw),31px);
        font-weight: 600;
        color: var(--color-white);
        text-align: center;
    }
    .achievement_txt {
        font-size: min(calc(21 / var(--vw-min) * 100vw),21px);
        line-height: 1.8;
        font-weight: 500;
        color: var(--color-white);
        text-align: center;
        letter-spacing: -0.02em;
    }
    .achievement_txt span {
        color: var(--color-yellow);
        font-weight: 600;
    }
    .achievement_chart {
        margin-bottom: min(calc(28 / var(--vw-min) * 100vw),28px);
    }
    
    /* analysis */
    #analysis {
        margin-bottom: min(calc(110 / var(--vw-min) * 100vw),110px);
        padding-top: min(calc(48 / var(--vw-min) * 100vw),48px); 
    }
    .analysis_hdr {
        margin-bottom: min(calc(36 / var(--vw-min) * 100vw),36px);
        font-size: min(calc(31 / var(--vw-min) * 100vw),31px);
        font-weight: 600;
        color: var(--color-about);
    }
    .analysis_box {
        display: flex;
        justify-content: space-between;
    }
    .analysis_box:not(:last-child) {
        margin-bottom: min(calc(40 / var(--vw-min) * 100vw),40px);
    }
    .analysis_img {
        width: min(calc(187 / var(--vw-min) * 100vw),187px);
    }
    .analysis_txt {
        width: min(calc(228 / var(--vw-min) * 100vw),228px);
    }
    .analysis_txt_hdr {
        margin-bottom: min(calc(12 / var(--vw-min) * 100vw),12px);
        font-size: min(calc(22 / var(--vw-min) * 100vw),22px);
        font-weight: 600;
        color: var(--color-about);
    }
    .analysis_txt_p {
        font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
        color: var(--color-gray);
        line-height: 1.8;
    }
    
    
    
    
    
    .mid_contact_txt {
        margin-bottom: calc(12 / var(--vw-min) * 100vw);
        font-size: calc(16 / var(--vw-min) * 100vw);
        color: var(--color-orange);
        text-align: center;
        font-weight: 600;
        line-height: 2;
        position: relative;
    }
    .mid_contact_txt::before {
        content: "";
        display: inline-block;
        width: 1px;
        height: 4em;
        background: var(--color-orange);
        position: absolute;
        left: calc(90 / var(--vw-min) * 100vw);
        bottom: 0;
        transform: rotate(-25deg);
    }
    .mid_contact_txt::after {
        content: "";
        display: inline-block;
        width: 1px;
        height: 4em;
        background: var(--color-orange);
        position: absolute;
        right: 90px;
        bottom: 0;
        transform: rotate(25deg);
    }
    a.mid_contact_link {
        display: block;
        width:  min(calc(378 / var(--vw-min) * 100vw),378px);
        margin: 0 auto;
        padding: min(calc(20 / var(--vw-min) * 100vw),20px) 0;
        font-size: min(calc(22 / var(--vw-min) * 100vw),22px);
        font-weight: 600;
        color: var(--color-white);
        text-align: center;
        background: var(--color-orange);
        border-radius: min(calc(9 / var(--vw-min) * 100vw),9px);
        filter: drop-shadow(min(calc(6 / var(--vw-min) * 100vw),6px) min(calc(6 / var(--vw-min) * 100vw),6px) 0 #a3c6d0);
        transition: .2s;
    }
    a.mid_contact_link:hover {
        filter: drop-shadow(0px 0px 0 #a3c6d0);
        background: var(--color-orange2);
    }
    #plus{
        padding-top: min(calc(68 / var(--vw-min) * 100vw),68px);
        background-size: contain;
        position: relative;
    }
    .plus_wrap {
        padding: min(calc(235 / var(--vw-min) * 100vw),235px) min(calc(80 / var(--vw-min) * 100vw),80px) min(calc(62 / var(--vw-min) * 100vw),62px);
        /* padding: 6px 64px 30px; */
        position: relative;
    }
    .plus_illust {
        width: min(calc(317 / var(--vw-min) * 100vw),317px);
        position: absolute;
        top: min(calc(36 / var(--vw-min) * 100vw),36px);
        right: min(calc(20 / var(--vw-min) * 100vw),20px);
        z-index: 1;
    }
    .plus_hdr {
        width: min(calc(99 / var(--vw-min) * 100vw),99px);
        margin-bottom: min(calc(16 / var(--vw-min) * 100vw),16px);
    }
    .plus_txt {
        font-size: min(calc(22 / var(--vw-min) * 100vw),22px);
        line-height: 1.8;
    }
    #trouble {
        margin-bottom: min(calc(122 / var(--vw-min) * 100vw),122px);
        padding-top:  min(calc(68 / var(--vw-min) * 100vw),68px);
        position: relative;
    }
    .trouble_blcks {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .trouble_wrap {
        position: relative;
        z-index: 2;
    }
    .trouble_hdr {
        margin-bottom: min(calc(32 / var(--vw-min) * 100vw),32px);
        font-size: min(calc(31 / var(--vw-min) * 100vw),31px);
        font-weight: 600;
        text-align: center;
        color: var(--color-gray);
        line-height: 1.5;
    }
    .trouble_blcks_child {
        width: min(calc(200 / var(--vw-min) * 100vw),200px);
        height: min(calc(200 / var(--vw-min) * 100vw),200px);
        padding: min(calc(15 / var(--vw-min) * 100vw),15px);
        font-size: min(calc(14 / var(--vw-min) * 100vw),14px) min(calc(17 / var(--vw-min) * 100vw),17px);
    }
    .trouble_blcks_child:nth-child(1),.trouble_blcks_child:nth-child(2) {
        margin-bottom: min(calc(11 / var(--vw-min) * 100vw),11px);
    }
    .trouble_blcks_child:nth-child(2n) {
        margin-left: min(calc(18 / var(--vw-min) * 100vw),18px);
    }
    .trouble_blcks_child:nth-child(1) {
        background: #2e6077;
        text-align: right;
    }
    .trouble_blcks_child:nth-child(2) {
        background: var(--color-footer);
    }
    .trouble_blcks_child:nth-child(3) {
        background: var(--color-base);
        text-align: left;
    }
    .trouble_blcks_child:nth-child(4) {
        background: var(--color-gray2);
        text-align: right;
    }
    .trouble_illust {
        position: absolute;
    }
    .trouble_circle_01 {
        width: min(calc(129 / var(--vw-min) * 100vw),129px);
        height: min(calc(258 / var(--vw-min) * 100vw),258px);
        border-radius: min(calc(129 / var(--vw-min) * 100vw),129px) 0 0 min(calc(129 / var(--vw-min) * 100vw),129px);
        background:#fee77350;
        position: absolute;
        right: 0;
        top: max(calc(-26 / var(--vw-min) * 100vw),-26px);
        z-index: 1;
    }
    .trouble_circle_02 {
        width: min(calc(95 / var(--vw-min) * 100vw),95px);
        height: min(calc(190 / var(--vw-min) * 100vw),190px);
        border-radius: 0 min(calc(95 / var(--vw-min) * 100vw),95px) min(calc(95 / var(--vw-min) * 100vw),95px) 0;
        background: #ffe77350;
        position: absolute;
        left: 0;
        bottom: max(calc(-100 / var(--vw-min) * 100vw),-100px);
        z-index: 1;
    }
    .ti_01 {
        width: min(calc(64 / var(--vw-min) * 100vw),64px);
        left: max(calc(-5 / var(--vw-min) * 100vw),-5px);
        bottom: 0px;
    }
    .ti_02 {
        width: min(calc(80 / var(--vw-min) * 100vw),80px);
        right: min(calc(5 / var(--vw-min) * 100vw),5px);
        bottom: max(calc(-18 / var(--vw-min) * 100vw),-18px);
    }
    .ti_03 {
        width: min(calc(137 / var(--vw-min) * 100vw),137px);
        right: min(calc(6 / var(--vw-min) * 100vw),6px);
        bottom: max(calc(-9 / var(--vw-min) * 100vw),-9px);
    }
    .ti_04 {
        width: min(calc(104 / var(--vw-min) * 100vw),104px);
        left: min(calc(15 / var(--vw-min) * 100vw),15px);
        bottom: max(calc(-4 / var(--vw-min) * 100vw),-4px);
    }
    
    
    
    /* Footer */
    footer {
        padding: min(calc(60 / var(--vw-min) * 100vw),60px) min(calc(46 / var(--vw-min) * 100vw),46px) min(calc(96 / var(--vw-min) * 100vw),96px);
        background: var(--color-footer);
    }
    .footer_info_list {
        margin-bottom: min(calc(28 / var(--vw-min) * 100vw),28px);
        font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
        line-height: 2.25;
        color: var(--color-white);
    }
    .footer_logo {
        width: min(calc(216 / var(--vw-min) * 100vw),216px);
    }


    /* privacy policy */
    .pp_window {
        display: none;
        width: 80%;
        max-width: 700px;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-color: var(--color-white);
        border-radius: 5px;
        z-index: 11;
        overflow-y: scroll;
        max-height: calc(100vh - 2em);
    }
    .pp_close {
        width: 24px;
        cursor: pointer;
        position: absolute;
        top: 24px;
        right: 24px;
    }
    .pp_close_bottom {
        display: block;margin-top: 24px;
        font-size: 15px;
    }
    .pp_open {
        cursor: pointer;
    }
    .overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.5);
        width: 100%;
        height: 100%;
        z-index: 10;
    }
    .pp_wrap {
        padding: 32px;
        position: relative;
    }
    .pp_hdr {
        text-align: center;
        margin-bottom: 20px;
    }
    .pp_hdr_02 {
        margin-bottom: 10px;
    }
    .pp_hdr::after {
        content: "";
        display: block;
        width: 3em;
        height: 2px;
        background: var(--color-base);
        margin-top: 14px;
        margin-right: auto;
        margin-left: auto;
    }
    .pp_txt {
        margin-bottom: 20px;
        font-size: 14px;
        line-height: 1.5;
    }
    .pp_txt_02 {
        margin-bottom: 20px;
        font-size: 14px;
        line-height: 1.5;
    }
    .pp_list_child {
        font-size: 15px;
        font-weight: 300;
        line-height: 1.6;
    }
    .pp_list_child:not(:last-child) {
        margin-bottom: 16px;
    }
    .pp_list_child strong {
        display: block;
        margin-bottom: 2px;
    }
    .pp_contact {
        margin-top: 32px;
        font-size: 15px;
        line-height: 1.88;
        text-align: right;
    }
    /* form */
    #form {
        padding-top: min(calc(68 / var(--vw-min) * 100vw),68px);
        padding-bottom: min(calc(120 / var(--vw-min) * 100vw),120px);
    }
    #form .form_hdr {
        margin-bottom: min(calc(36 / var(--vw-min)* 100vw), 36px);
        font-size: min(calc(31 / var(--vw-min) * 100vw),31px);
        font-weight: 600;
        color: var(--color-black);
        text-align: center;
    }
    .must {
        display: inline-block;
        padding: min(calc(4 / var(--vw-min)* 100vw), 4px) min(calc(6 / var(--vw-min)* 100vw), 6px);
        line-height: 1;
        font-size: 10px;
        color: #FFFFFF;
        background: #d01717;
        border-radius: 4px;
        vertical-align: min(calc(2 / var(--vw-min)* 100vw), 2px);
    }
    .form_tabel {
        width: 100%;
    }
    #form th, #form td {
        display: block;
        width: 100%;
        color: var(--color-black);
    }
    #form th {
        padding: min(calc(20 / var(--vw-min) * 100vw),20px) min(calc(20 / var(--vw-min) * 100vw),20px) min(calc(10 / var(--vw-min) * 100vw),10px) 0;
        font-weight: 500;
        font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
        letter-spacing: -0.02em;
        font-weight: 600;
        text-align: left;
    }
    #form td {
        font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
    }
    .submit {
        margin-top:  min(calc(56 / var(--vw-min)* 100vw), 56px);
    }
    
    .submit button:hover {
        background: #979797;
    } 
    #form input, #form textarea, #form .mfp_element_all {
        width: 100% !important;
        max-width: none;
        padding: min(calc(6 / var(--vw-min) * 100vw),6px) min(calc(8 / var(--vw-min) * 100vw),8px);
    }
    #form .submit button {
        border: none;
        display: block;
        width: 80%;
        max-width: 220px;
        margin: auto;
        font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
        background: #333;
        padding:  min(calc(12 / var(--vw-min)* 100vw), 12px);
        color: #fff;
        border-radius: 4px;
        text-align: center;
        text-decoration: none;
        transition: all 0.2s;
        cursor: pointer;
    }
    #form .mfp_element_text, #form .mfp_element_number, #form .mfp_element_select-one, #form .mfp_element_email, #form .mfp_element_tel, #form .mfp_element_textarea, #form .mfp_element_date, #form .mfp_element_password {
        border: solid 1px var(--color-gray2);
        border-radius: 3px;
        box-shadow: none;
        margin: 0;
    }
    #form .mfp_element_submit, #form .mfp_element_reset, #form .mfp_element_button, #form button.mfp_next, #form button.mfp_prev {
        text-shadow: none;
    }
    #thanks {
        text-align: center;
        padding: min(calc(68 / var(--vw-min) * 100vw),68px) 0;
    }
    #thanks h3 {
        margin-bottom: min(calc(32 / var(--vw-min) * 100vw),32px);
        font-weight: 700;
        font-size: min(calc(22 / var(--vw-min) * 100vw),22px);
    }
    #thanks p {
        font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
        line-height: 2;
    }
    .back {
        width: 100%;
        margin-top: min(calc(32 / var(--vw-min) * 100vw),32px);
    }
    .back a {
        text-decoration: none;
    }
    .backtree {
        width: min(calc(54 / var(--vw-min) * 100vw),54px);
        position: absolute;
        left: min(calc(405 / var(--vw-min) * 100vw),405px);
        bottom: min(calc(30 / var(--vw-min) * 100vw),30px);
        z-index: 4;
        transform-origin: 50% 100%;
        animation: treeRight 24s ease infinite alternate;
    }
    .tree_left {
        width: min(calc(105 / var(--vw-min) * 100vw),105px);
        position: absolute;
        left: min(calc(510 / var(--vw-min) * 100vw),510px);
        bottom: min(calc(25 / var(--vw-min) * 100vw),25px);
        z-index: 4;
        transform-origin: 50% 100%;
        animation: treeLeft 20s ease infinite alternate;
    }
    .tree_right {
        width: min(calc(120 / var(--vw-min) * 100vw),120px);
        position: absolute;
        right: min(calc(340 / var(--vw-min) * 100vw),340px);
        bottom: 0;
        z-index: 4;
        opacity: 0;
        transition: .2s;
        transform-origin: 50% 100%;
        animation: treeRight 18s ease infinite alternate;
    }
    .grass_1 {
        width: min(calc(214 / var(--vw-min) * 100vw),214px);
        position: absolute;
        left: min(calc(390 / var(--vw-min) * 100vw),390px);
        bottom: 0;
        z-index: 5;
        opacity: 0;
        transition: .2s;
    }
    .grass_2 {
        width: min(calc(163 / var(--vw-min) * 100vw),163px);
        position: absolute;
        right: min(calc(360 / var(--vw-min) * 100vw),360px);
        bottom: 0;
        z-index: 5;
        opacity: 0;
        transition: .2s;
    }
    .loaded .tree_left, .loaded .tree_right, .loaded .grass_1, .loaded .grass_2, .loaded .backtree {
        opacity: 1;
    }
    .clouds {
        position: absolute;
    }
    .cloud_w_01 {
        width: min(calc(130 / var(--vw-min) * 100vw),130px);
        bottom: min(calc(380 / var(--vw-min) * 100vw),380px);
        right: min(calc(443 / var(--vw-min) * 100vw),443px);
        animation: Wcloud1 26s ease infinite alternate;
        transform: translateX(0%);
        z-index: 3;
    }
    .cloud_w_02 {
        width: min(calc(120 / var(--vw-min) * 100vw),120px);
        top: min(calc(485 / var(--vw-min) * 100vw),485px);
        right: min(calc(42 / var(--vw-min) * 100vw),42px);
        animation: Wcloud2 21s ease infinite alternate;
        transform: translateX(0%);
    }
    .cloud_w_03 {
        width: min(calc(120 / var(--vw-min) * 100vw),120px);
        bottom: min(calc(504 / var(--vw-min) * 100vw),504px);x;
        left:  min(calc(183 / var(--vw-min) * 100vw),183px);
        z-index: 3;
        animation: Wcloud2 14s ease infinite alternate;
        transform: translateX(0%);
    }
    .cloud_w_04 {
        width: min(calc(216 / var(--vw-min) * 100vw),216px);
        top: min(calc(340 / var(--vw-min) * 100vw),340px);
        left: min(calc(360 / var(--vw-min) * 100vw),360px);
    }
    .cloud_g_01 {
        width: min(calc(178 / var(--vw-min) * 100vw),178px);
        bottom: min(calc(411 / var(--vw-min) * 100vw),411px);
        right: min(calc(322 / var(--vw-min) * 100vw),322px);
        animation: Wcloud1 20s ease infinite alternate;
        transform: translateX(0%);
        z-index: 2;
    }
    .cloud_g_02 {
        width: min(calc(192 / var(--vw-min) * 100vw),192px);
        top: min(calc(362 / var(--vw-min) * 100vw),362px);
        right: min(calc(170 / var(--vw-min) * 100vw),170px);
        animation: Wcloud1 24s infinite alternate;
        transform: translateX(0%);
    }
    .cloud_g_03 {
        width: min(calc(160 / var(--vw-min) * 100vw),160px);
        bottom: min(calc(317 / var(--vw-min) * 100vw),317px);
        left: min(calc(474 / var(--vw-min) * 100vw),474px);
        animation: Wcloud1 27s infinite alternate;
        transform: translateX(0%);
        z-index: 2;
    }
    .cloud_g_04 {
        width: min(calc(216 / var(--vw-min) * 100vw),216px);
        top: min(calc(475 / var(--vw-min) * 100vw),475px);
        left: min(calc(207 / var(--vw-min) * 100vw),207px);
        animation: Wcloud3 27s infinite alternate;
        transform: translateX(0%);
        z-index: 2;
    }
    @keyframes treeLeft {
        0% {
            transform: rotate(0deg);
        }
        15% {
            transform: rotate(-3deg);
        }
        30% {
            transform: rotate(2deg);
        }
        45% {
            transform: rotate(-3deg);
        }
        60% {
            transform: rotate(2deg);
        }
        75% {
            transform: rotate(-3deg);
        }
        90% {
            transform: rotate(2deg);
        }
        100% {
            transform: rotate(0deg);
        }
    }
    @keyframes treeRight {
        0% {
            transform: rotate(0deg);
        }
        15% {
            transform: rotate(3deg);
        }
        30% {
            transform: rotate(-2deg);
        }
        45% {
            transform: rotate(3deg);
        }
        60% {
            transform: rotate(-2deg);
        }
        75% {
            transform: rotate(3deg);
        }
        90% {
            transform: rotate(-2deg);
        }
        100% {
            transform: rotate(0deg);
        }
    }
    @keyframes Wcloud1 {
        0% {
            transform: translateX(0%);
        }
        
        100% {
            transform: translateX(80%);
        }
    }
    @keyframes Wcloud2 {
        0% {
            transform: translateX(0%);
        }
        
        100% {
            transform: translateX(-80%);
        }
    }
    @keyframes Wcloud3 {
        0% {
            transform: translateX(0%);
        }
        
        100% {
            transform: translateX(-60%);
        }
    }
}
