@charset "UTF-8";/************************************************** @ RESET verHTML5 - ALL**************************************************/abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {    margin: 0;    padding: 0;    border: 0;    outline: 0;    font-size: 100%;    vertical-align: baseline;    background: 0 0    }ul { list-style: none;}blockquote, q { quotes: none;}blockquote:after, blockquote:before, q:after, q:before { content: none;}a {    color: #544f4f;    margin: 0;    padding: 0;    font-size: 100%;    vertical-align: baseline;    background: 0 0;    }table {    border-collapse: collapse;    border-spacing: 0;    }input, select { vertical-align: middle;}img {    vertical-align: bottom;    width: 100%;    height: auto;    }/************************************************** @ BASE - ALL**************************************************/body {    background-color: #fff;    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif;    font-size: 1rem;    font-weight: 500;    color: #080404;    line-height: 2;    -webkit-font-smoothing: antialiased;    text-rendering: optimizeLegibility;    -webkit-text-size-adjust: 100%;    -moz-text-size-adjust: 100%;    -ms-text-size-adjust: 100%;    text-size-adjust: 100%;    font-feature-settings: "palt"1;    -moz-osx-font-smoothing: grayscale;    overflow-x: hidden;    }article, aside, dialog, figure, footer, header, menu, nav, object, section, span {    -webkit-transition: .4s ease-in-out;    -moz-transition: .4s ease-in-out;    transition: .4s ease-in-out;    }*, :after, :before {    -webkit-box-sizing: border-box;    -moz-box-sizing: border-box;    -o-box-sizing: border-box;    -ms-box-sizing: border-box;    box-sizing: border-box;    }/*---------------------------	----------------- LINK */a {    color: #403f3f;    text-decoration: none;	}a:hover {    text-decoration: none;    -webkit-transition: 0.4s ease-in-out;    -moz-transition: 0.4s ease-in-out;    transition: 0.4s ease-in-out;    opacity: 0.8;    }/*---------------------------	----------------- CLEARFIX */.clearfix:after, .clearfix:before {    content: " ";    display: block;    clear: both;    }.clearfix:after { clear: both;}/*---------------------------	----------------- FONT */.jp { font-family: 'Noto Sans JP', sans-serif}/*---------------------------	----------------- ANIMATION */.animation:after {    position: absolute;    left: 0;    top: 0;    height: 100%;    background-color: #02acdd;    animation: secondaryImageOverlayIn .6s 0s cubic-bezier(.77, 0, .175, 1), secondaryImageOverlayOut .6s .6s cubic-bezier(.77, 0, .175, 1);    animation-fill-mode: both;    }.animation img {    line-height: 1;    animation: fadeIn .1s .5s;    animation-fill-mode: both;    }@keyframes fadeIn {    0% { opacity: 0;}    100% { opacity: 1;}}@keyframes secondaryImageOverlayIn {    0% { width: 0;}    100% { width: 100%;}}@keyframes secondaryImageOverlayOut {    0% { transform: translateX(0);}    100% { transform: translateX(102%);}}.fadein-rise {    opacity: 0;    transform: translate(0, 150px);    -webkit-transform: translate(0, 150px);    -moz-transition-delay: 250ms;    -webkit-transition-delay: 250ms;    -o-transition-delay: 250ms;    -ms-transition-delay: 250ms;    transition: all 1s ease;    }.rise {    opacity: 1;    transform: translate(0, 0);    -webkit-transform: translate(0, 0);    }/*---------------------------	----------------- USER AGENT */@media (min-width:767px) {  .sp { display: none !important;}}@media (max-width:767px) and (min-width:320px) {        #wrap { width: 100%;}    #wrap { min-width: 320px;}        body {        width: 100%;        font-size: 0.9rem;        -webkit-text-size-adjust: 100%;        overflow-x: hidden;        }        .pc { display: none !important;}}/*---------------------------	----------------- BUTTON LAYOUT */.btn a.square {    position: relative;    display: block;    padding: 25px 0;    background-color: #0068b7;    width: 100%;    font-size: 0.85rem;    font-weight: 500;    letter-spacing: 0.08rem;    line-height: 1;    color: #fff;    text-align: center;    text-decoration: none;    outline: 0;    transition: all .2s;    }.btn a.square::after,.btn a.square::before {    position: absolute;    z-index: 2;    content: '';    width: 0;    height: 0;    border: 1px solid transparent;    }.btn a.square::before {    top: 0;    left: 0;    }.btn a.square::after {    bottom: 0;    right: 0;    }.btn a.square:hover {    opacity: 1;    background-color: transparent;    font-weight: 500;    color: #0068b7;    letter-spacing: 0.15em;    }.btn a.square:hover::after,.btn a.square:hover::before {    width: 100%;    height: 100%;    }.btn a.square:hover::before {    border-bottom-color: #0068b7;    border-left-color: #0068b7;    transition: height .3s,width .3s .3s;    }.btn a.square:hover::after {    border-top-color: #0068b7;    border-right-color: #0068b7;    transition: height .3s,width .3s .3s;    }@media (max-width:767px) and (min-width:320px) {        .btn a.square {        padding: 20px 0;        font-size: 0.8rem;        }}/*---------------------------	----------------- TITLE LAYOUT */.h2_title {    position: relative;    font-size: 1.65rem;    font-weight: 400;    line-height: 1;    letter-spacing: 0.08rem;    text-align: center;    margin-bottom: 40px;    margin-left: 12.07588%;    margin-right: 12.07588%;    padding-bottom: 20px;    min-width: 1100px;    }.h2_title::before {    position: absolute;    bottom: 1px;    left: -1px;    right: 0;    margin: 0 auto;    content: "";    width: 30px;    height: 2px;    background-color: #0068b7;    z-index: 5;    transform:rotate(45deg);    -moz-transform: rotate(-45deg);    -webkit-transform: rotate(-45deg);    -o-transform: rotate(-45deg);    -ms-transform: rotate(-45deg);    }.h2_title::after {    position: absolute;    bottom: 0;    left: 0;    right: 0;    margin: 0 auto;    content: "";    width: 30px;    height: 2px;    background-color: #2087f0;    z-index: 5;    transform:rotate(45deg);    -moz-transform: rotate(-45deg);    -webkit-transform: rotate(-45deg);    -o-transform: rotate(-45deg);    -ms-transform: rotate(-45deg);    }.h2_title .en { display: block;}.h2_title .jp { font-size: 0.8rem;}.p-scroll {    cursor: pointer;    position: fixed;    left: 3.125vw;    padding-left: .625vw;    margin-left: -.625vw;    }.p-scroll .text {    font-weight: 400;    overflow: hidden;    }@media (max-width:767px) and (min-width:320px) {        /*---------------------------	----------------- TITLE LAYOUT */        .h2_title {        position: relative;        font-size: 1.45rem;        font-weight: 400;        line-height: 1;        letter-spacing: 0.08rem;        margin-bottom: 50px;        margin-left: 0;        margin-right: 0;        padding-left: 7.5%;        padding-right: 7.5%;        padding-bottom: 20px;        min-width: 320px;        width: 100%;        }    .h2_title::before {        position: absolute;        bottom: 1px;        left: -1px;        right: 0;        margin: 0 auto;        content: "";        width: 25px;        height: 2px;        background-color: #0068b7;        z-index: 5;        transform:rotate(45deg);        -moz-transform: rotate(-45deg);        -webkit-transform: rotate(-45deg);        -o-transform: rotate(-45deg);        -ms-transform: rotate(-45deg);        }    .h2_title::after {        position: absolute;        bottom: 0;        left: 0;        right: 0;        margin: 0 auto;        content: "";        width: 25px;        height: 2px;        background-color: #2087f0;        z-index: 5;        transform:rotate(45deg);        -moz-transform: rotate(-45deg);        -webkit-transform: rotate(-45deg);        -o-transform: rotate(-45deg);        -ms-transform: rotate(-45deg);        }    .h2_title .en { display: block;}    .h2_title .jp { font-size: 0.75rem;}        .section_inner {        position: relative;        min-width: 320px;        padding-left: 5%;        padding-right: 5%;        width: 100%;        }}/************************************************** @ header layout**************************************************/header {    position: fixed;    z-index: 9999;    width: 100%;    -webkit-transition: .5s ease-in-out;    -moz-transition: .5s ease-in-out;    transition: .5s ease-in-out    }#header .header_inner {    position: relative;    min-width: 1200px;    width: 100%;    margin: auto;    display: flex;    align-items: center;    /*justify-content: space-between;*/    flex-wrap: wrap    }#header .header_inner h1.logo_wrap {    color: #fff;    letter-spacing: .03em;    width: 18.8888888%;    max-width: 340px;    -webkit-transition: .5s ease-in-out;    -moz-transition: .5s ease-in-out;    transition: .5s ease-in-out    }#header .header_inner h1.logo_wrap a {    display: block;    line-height: 1;    text-align: center;    padding: 5.25% 5.8235%;    background-color: #080404;    }#header .header_inner h1.logo_wrap a div {    display: flex;    align-items: center;    justify-content: space-between;    margin-bottom: 10px;    padding: 0 6.25%;    }#header .header_inner h1.logo_wrap a div .logo {    display: block;    width: 36.411%;    max-width: 104px;    }#header .header_inner h1.logo_wrap a div .text {    display: block;    font-size: 0.945vw;    color: #fff;    line-height: 1.6;    letter-spacing: 0.03rem;    width: 52.411%;    max-width: 134px;    margin-top: 5px;    }#header .header_inner h1.logo_wrap a p {    font-size: 0.67vw;    font-weight: 600;    color: #fff;    letter-spacing: 0.03rem;    padding: 0;    -webkit-transition: .5s ease-in-out;    -moz-transition: .5s ease-in-out;    transition: .5s ease-in-out    }#header .header_inner .head_text {    background-color: #e39206;    padding: 10px 30px 5px;    }#header .header_inner .head_text p {    position: relative;    display: inline-block;    font-size: 1.85vw;    font-weight: 600;    color: #f6f6f6;    line-height: 1;    letter-spacing: 0.08rem;    }#header .header_inner .head_text p::before {    position: absolute;    top: 0;    left: -15px;    content: "";    width: 2px;    height: 100%;    background-color: #f6f6f6;    transform: rotate(-15deg);    }#header .header_inner .head_text p::after {    position: absolute;    top: 0;    right: -15px;    content: "";    width: 2px;    height: 100%;    background-color: #f6f6f6;    transform: rotate(15deg);    }#header .header_inner .head_text p span { font-size: 1.25vw;}#header .header_inner .btn_wrap {    display: flex;    flex-wrap: nowrap;    /*margin-top: 2vw;*/    margin-left: auto;    margin-right: 2.55555%;    }#header .header_inner .btn_wrap .btn {    width: 250px;    text-align: center;    margin-right: 2.55555%;    }#header .header_inner .btn_wrap .btn a {    display: block;    font-size: 0.95rem;    font-weight: 600;    text-align: center;    letter-spacing: 0.25rem;    padding: 10px;    border: 1px solid #080404;    }#header .header_inner .btn_wrap p:nth-child(2) {    width: 200px;    text-align: center;    }#header .header_inner .btn_wrap p:nth-child(2) a {    position: relative;    display: block;    font-size: 0.95rem;    font-weight: 600;    color: #fff;    letter-spacing: 0.1rem;    padding: 10px 10px 10px 0;    background-color: #080404;    }#header .header_inner .btn_wrap p:nth-child(2) a::before {    position: absolute;    top: 47.5%;    right: 21px;    content: "";    width: 12px;    height: 8px;    background-color: #080404;    border: 1px solid #fff;    z-index: 2;    }#header .header_inner .btn_wrap p:nth-child(2) a::after {    position: absolute;    top: 40%;    right: 18px;    content: "";    width: 12px;    height: 8px;    background-color: #080404;    border: 1px solid #fff;    }.fixde_btn_wrap {    position: fixed;    right: 2.5%;    bottom: 1.5%;    width: 95%;    height: 50px;    display: flex;    justify-content: center;    align-items: center;    text-decoration: none;    opacity: 0;    ransition: all 0.65s;    }.fixde_btn_wrap.active {    opacity: 1;    transition: all 0.65s;    }.fixde_btn_wrap .btn {    width: 250px;    text-align: center;    margin-right: 2.55555%;    }.fixde_btn_wrap .btn a {    display: block;    font-size: 0.9rem;    font-weight: 600;    text-align: center;    letter-spacing: 0.25rem;    padding: 10px;    border: 1px solid #080404;    }.fixde_btn_wrap p:nth-child(2) {    width: 200px;    text-align: center;    }.fixde_btn_wrap p:nth-child(2) a {    position: relative;    display: block;    font-size: 0.875rem;    font-weight: 600;    color: #fff;    letter-spacing: 0.1rem;    padding: 11px 12px 11px 2px;    background-color: #080404;    }.fixde_btn_wrap p:nth-child(2) a::before {    position: absolute;    top: 47.5%;    right: 13px;    content: "";    width: 12px;    height: 8px;    background-color: #080404;    border: 1px solid #fff;    z-index: 2;    }.fixde_btn_wrap p:nth-child(2) a::after {    position: absolute;    top: 40%;    right: 10px;    content: "";    width: 12px;    height: 8px;    background-color: #080404;    border: 1px solid #fff;    }@media (max-width:767px) and (min-width:320px) {        #header .header_inner {        position: relative;        min-width: 320px;        width: 100%;        margin: auto;        display: flex;        /*justify-content: space-between;*/        flex-wrap: wrap        }    #header .header_inner h1.logo_wrap {        color: #fff;        letter-spacing: .03em;        width: 42.77777%;        max-width: 250px;        -webkit-transition: .5s ease-in-out;        -moz-transition: .5s ease-in-out;        transition: .5s ease-in-out        }    #header .header_inner h1.logo_wrap a {        display: block;        line-height: 1;        text-align: center;        padding: 5.25% 1.4235% 0.85%;        background-color: #080404;        }    #header .header_inner h1.logo_wrap a div {        display: flex;        align-items: center;        justify-content: flex-start;        margin-bottom: 10px;        padding: 0 0.25% 0 5.25%;        }    #header .header_inner h1.logo_wrap a div .logo {        display: block;        width: 41.411%;        max-width: 100px;        }        #header .header_inner h1.logo_wrap a div .text {        display: block;        font-size: 2.195vw;        color: #fff;        line-height: 1.6;        letter-spacing: 0.03rem;        width: 52.411%;        max-width: 134px;        margin-top: 5px;        }    #header .header_inner h1.logo_wrap a p {        display: none;        -webkit-transition: .5s ease-in-out;        -moz-transition: .5s ease-in-out;        transition: .5s ease-in-out        }    #header .header_inner .btn_wrap {        margin-top: 2.95vw;        margin-right: 1.55555%;        width: 57.5%;        }    #header .header_inner .btn_wrap .btn {        max-width: 100px;        text-align: center;        margin-right: 2.25555%;        }    #header .header_inner .btn_wrap .btn a {        display: block;        font-size: 0.725rem;        font-weight: 600;        text-align: center;        letter-spacing: 0.2rem;        padding: 8px 2px;        border: 1px solid #080404;        }    #header .header_inner .btn_wrap p:nth-child(2) {        max-width: 140px;        text-align: center;        }    #header .header_inner .btn_wrap p:nth-child(2) a {        position: relative;        display: block;        font-size: 0.725rem;        font-weight: 600;        color: #fff;        letter-spacing: 0.05rem;        padding: 8px 2px;        background-color: #080404;        border: 1px solid #080404;        }    #header .header_inner .btn_wrap p:nth-child(2) a::before {        position: absolute;        top: 47.5%;        right: 21px;        content: "";        width: 0;        height: 0;        background-color: #080404;        border: none;        z-index: 2;        }    #header .header_inner .btn_wrap p:nth-child(2) a::after {        position: absolute;        top: 40%;        right: 18px;        content: "";        width: 0;        height: 0;        background-color: #080404;        border: none;        }        #header .header_inner .head_text {        background-color: #e39206;        padding: 14px 30px 6px;        text-align: center;         }    #header .header_inner .head_text p {        position: relative;        display: inline-block;        font-size: 4.25vw;        font-weight: 600;        color: #f6f6f6;        line-height: 1;        letter-spacing: 0.05rem;        }    #header .header_inner .head_text p::before {        position: absolute;        top: 0;        left: -17px;        content: "";        width: 1px;        height: 100%;        background-color: #f6f6f6;        transform: rotate(-15deg);        }    #header .header_inner .head_text p::after {        position: absolute;        top: 0;        right: -15px;        content: "";        width: 1px;        height: 100%;        background-color: #f6f6f6;        transform: rotate(15deg);        }    #header .header_inner .head_text p span { font-size: 3.25vw;}}/************************************************** @ main visual layout**************************************************/#main_visual {    position: relative;    width: 100%;    height: 100vh;    overflow-y: hidden;    margin-bottom: 175px;    }#main_visual::before {    position: absolute;    top: 0;    left: 0;    z-index: 9998;    content: "";    width: 0;    height: 0;    border-left: 0px solid transparent;    border-right: 320px solid transparent;    border-top: 420px solid #dfcd00;    }#main_visual::after {    position: absolute;    bottom: 0;    right: 0;    z-index: 1000;    content: "";    width: 0;    height: 0;    border-left: 320px solid transparent;    border-right: 0px solid transparent;    border-bottom: 420px solid #dfcd00;    }#main_visual .slide-photo {    background-repeat: no-repeat;    background-size: cover;    background-position: center;    height: 100vh;    margin: 0;    }#main_visual .slide-photo01 { background-image: url("../images/slide-photo/pc_keyvisual01.jpg");}#main_visual .slide-photo02 { background-image: url("../images/slide-photo/pc_keyvisual02.jpg");}#main_visual .slide-photo03 { background-image: url("../images/slide-photo/pc_keyvisual03.jpg");}#main_visual .slide-photo04 { background-image: url("../images/slide-photo/pc_keyvisual04.jpg");}#main_visual .main_copy {    position: absolute;    bottom: 30%;    left: 0;    right: 0;    font-size: 2.45rem;    font-stretch: condensed;    color: #fff;    text-align: center;    letter-spacing: 0.125em;    line-height: 1;    z-index: 1600;    width: 100%;    }#main_visual .main_copy p {    display: inline-block;    background-color: #080404;    padding: 10px 20px 10px 25px;    }.loop_text_wrap {    width: 100%;    height: 110px;    position: absolute;    bottom: 27.5%;    overflow-x: hidden;    }.loop_text_wrap .loop_text {    display: block;    background: url("../images/loop-text.svg") center no-repeat;    background-size: 88.5%;    width: 380%;    height: 110px;    z-index: 1500;    } .loop_text_wrap .loop_text { animation: loop01 180s 0s linear infinite;}@keyframes loop01 {    0% { transform: translateX(0%);}    to { transform: translateX(-100%);}}/*---------------------------	----------------- SCROLL BAR */.scroll_wrap {    font-size: 0.65rem;    line-height: 1;    letter-spacing: 0.06rem;    position: absolute;    left: 50%;    bottom: 0;    padding: 0 0 70px;    transform: translate(-50%,0);    -webkit-transform: translate(-50%,0);    -moz-transform: translate(-50%,0);    transition: all .3s ease;    z-index: 10;    }.scroll-base {    position: absolute;    bottom: 0;    left: 50%;    height: 70px;    width: 1px;    background: #080404;    }.scroll-txt {    display: block;    background-color: #080404;    color: #fff;    padding: 6px 15px 6px;    border-radius: 30px;    -webkit-border-radius: 30px;    -moz-border-radius: 30px;     }.scroll-bar {    position: absolute;    top: 0;    left: 0;    height: 15px;    width: 1px;    background: #dfcd00;    animation: scroll-bar-anime 2.8s ease-in-out infinite;    }@keyframes scroll-bar-anime {    0% {        top: 0;        opacity: 0;        }    10% {        top: 0;        opacity: 1;        }    50% {        top: 77%;        opacity: 1;        }    70% {        top: 77%;        opacity: 0;        }    100% {        top: 77%;        opacity: 0;        }}.underlayer_main_visual {    position: relative;    top: 0;    width: auto;    margin-left: 7.5%;    margin-right: 7.5%;    margin-bottom: 50px;    z-index: -1;    }.underlayer_main_visual .h2_page_title {    position: absolute;    top: 43.5%;    left: 8.0294%;    font-size: 1.85rem;    color: #fff;    line-height: 1;    letter-spacing: 0.15rem;    z-index: 5;    }.underlayer_main_visual .h2_page_title::before {    position: absolute;    left: 0;    bottom: -20px;    content: "";    height: 1px;    width: 30px;    background-color: #fff;    }.underlayer_main_visual .h2_page_title span {    display: block;    font-size: 0.75rem;    font-weight: 600;    letter-spacing: 0.08rem;    margin-top: 3px;    }.h2_title05 {    position: relative;    font-size: 1.75rem;    text-align: center;    line-height: 1;    letter-spacing: 0.2rem;    margin-bottom: 75px;    }.h2_title05::before {    position: absolute;    bottom: -25px;    left: 0;    right: 0;    content: "";    height: 2px;    width: 25px;    background-color: #080404;    margin: auto;    }.h2_title05 span {    display: block;    font-size: 0.7rem;    font-weight: 600;    margin-top: 8px;    }.contact_box02 {    max-width: 1080px;    width: 100%;    margin: 0 auto 100px;    text-align: center;    }.contact_box02 dl {    margin-bottom: 15px;    }.contact_box02 dl dt {    font-size: 0.9rem;    font-weight: 600;    letter-spacing: 0.08rem;    }.contact_box02 dl dd {    display: inline-block;    font-size: 2.15rem;    color: #080404;    line-height: 1;    }@media (max-width:767px) and (min-width:320px) {        #main_visual {        position: relative;        top: 0;        width: 100%;        margin-bottom: 75px;        }    #main_visual::before {        position: absolute;        top: 0;        left: 0;        z-index: 9998;        content: "";        width: 0;        height: 0;        border-left: 0px solid transparent;        border-right: 190px solid transparent;        border-top: 180px solid #dfcd00;        }    #main_visual::after {        position: absolute;        bottom: 0;        right: 0;        z-index: 1000;        content: "";        width: 0;        height: 0;        border-left: 160px solid transparent;        border-right: 0px solid transparent;        border-bottom: 150px solid #dfcd00;        }        #main_visual .slide-photo01 { background-image: url("../images/slide-photo/sp_keyvisual01.jpg");}    #main_visual .slide-photo02 { background-image: url("../images/slide-photo/sp_keyvisual02.jpg");}    #main_visual .slide-photo03 { background-image: url("../images/slide-photo/sp_keyvisual03.jpg");}    #main_visual .slide-photo04 { background-image: url("../images/slide-photo/sp_keyvisual04.jpg");}        #main_visual .main_copy {        position: absolute;        bottom: 19.5%;        left: 0;        right: 0;        font-size: 4.75vw;        font-stretch: condensed;        color: #fff;        text-align: center;        letter-spacing: 0.1em;        line-height: 1;        z-index: 1600;        width: 100%;        }    #main_visual .main_copy p {        display: inline-block;        background-color: #080404;        padding: 10px 15px;        }        .loop_text_wrap {        position: absolute;        bottom: 20.5%;        height: 90px;        }        .loop_text_wrap .loop_text {        display: block;        background: url("../images/loop-text.svg") center no-repeat;        background-size: 120%;        width: 500%;        height: 90px;        z-index: 1500;        }     .loop_text_wrap .loop_text { animation: loop01 180s 0s linear infinite;}        @keyframes loop01 {        0% { transform: translateX(0%);}        to { transform: translateX(-100%);}        }        /*---------------------------	    ----------------- SCROLL BAR */    .scroll_wrap {        font-size: 0.625rem;        line-height: 1;        letter-spacing: 0.06rem;        position: absolute;        left: 50%;        bottom: 0;        padding: 0 0 60px;        transform: translate(-50%,0);        -webkit-transform: translate(-50%,0);        -moz-transform: translate(-50%,0);        transition: all .3s ease;        z-index: 10;        }    .scroll-base {        position: absolute;        bottom: 0;        left: 50%;        height: 60px;        width: 1px;        background: #080404;        }    .scroll-txt {        display: block;        background-color: #080404;        color: #fff;        padding: 7px 15px 6px;        border-radius: 35px;        -webkit-border-radius: 35px;        -moz-border-radius: 35px;         }    .scroll-bar {        position: absolute;        top: 0;        left: 0;        height: 12px;        width: 1px;        background: #dfcd00;        animation: scroll-bar-anime 2.8s ease-in-out infinite;        }    @keyframes scroll-bar-anime {        0% {            top: 0;            opacity: 0;            }        10% {            top: 0;            opacity: 1;            }        50% {            top: 77%;            opacity: 1;            }        70% {            top: 77%;            opacity: 0;            }        100% {            top: 77%;            opacity: 0;            }    }        .underlayer {        margin-bottom: 60px;        }    .underlayer_main_visual {        position: relative;        top: 0;        width: auto;        margin-left: 0;        margin-right: 0;        margin-bottom: 50px;        z-index: -1;        }    .underlayer_main_visual .h2_page_title {        position: absolute;        top: 150px;        left: 8.0294%;        font-size: 1.4rem;        color: #fff;        line-height: 1;        letter-spacing: 0.15rem;        z-index: 5;        }}/************************************************** @ contents layout**************************************************/#philosophy { margin-bottom: 150px;}#philosophy .section_inner {    display: flex;    flex-direction: row-reverse;    justify-content: space-around;    padding: 0 11.666666%;    }#philosophy .section_inner .left_box {     position: relative;    width: 44.9275%;    max-width: 640px;    min-width: 540px;    margin-right: 2.5%;    }#philosophy .section_inner .left_box .photo01 {    position: relative;    top: 0;    left: 0;    max-width: 600px;    }#philosophy .section_inner .left_box .photo02 {     position: relative;    top: 0;    left: 50%;    max-width: 300px;    }#philosophy .section_inner .right_box {    width: 44.9275%;    max-width: 640px;    min-width: 540px;    margin-left: 2.5%;    }#philosophy .section_inner .right_box .sub_en {    position: relative;    font-size: 0.8rem;    font-weight: 600;    line-height: 1;    letter-spacing: 0.05rem;    padding-left: 60px;    margin-bottom: 75px;    }#philosophy .section_inner .right_box .sub_en::before {    position: absolute;    top: 46%;    left: 0;    content: "";    width: 50px;    height: 1px;    background-color: #080404;    }#philosophy .section_inner .right_box .cursive_text { margin-bottom: 70px;}#philosophy .section_inner .right_box h2 {    font-size: 1.825vw;    font-weight: 600;    line-height: 1.6;    letter-spacing: 0.195rem;    margin-bottom: 25px;    }#philosophy .section_inner .right_box .philosophy_text {     letter-spacing: 0.05rem;    line-height: 2.1;    }#philosophy .section_inner .right_box .philosophy_text span {    font-weight: 600;    background:linear-gradient(transparent 70%, #dfcd00 70%);    }#application_requirements01 { position: relative; margin-bottom: 85px;}#application_requirements01 .section_inner {    width: 1080px;    margin: auto;     }#application_requirements01 h2 {    text-transform: uppercase;    }#application_requirements01 .section_inner .photo01 {    margin-right: calc((-100vw + 1080px) / 2);    margin-left: auto;    }#application_requirements01 .section_inner .photo01 img {    width: 100%;    }.sub_title01 {    position: absolute;    top: -50px;    font-size: 0.625rem;    line-height: 1;    letter-spacing: 0.1rem;    text-transform: uppercase;    transform: rotate(90deg);    -moz-transformx: rotate(90deg);    -webkit-transform: rotate(90deg);    -o-transform: rotate(90deg);    -ms-transform: rotate(90deg);    }.sub_title01 span {    display: inline-block;    border: 1px solid #080404;    border-radius: 100px;    padding: 15px 14px 15px 15px;    font-size: 0.825rem;    letter-spacing: 0;    width: 45px;    height: 45px;    margin-right: 15px;    }.sub_title01.left {    top: -50px;    left: -3.5%;    }.sub_title01.right {    top: -50px;    right: -2.7%;    }.title_box {    position: relative;    top: -100px;    display: flex;    align-items: center;    background-color: #fff;    padding: 50px 11.11111% 0;    }.title_box .logo { margin-right: 5%;}.title_box .logo span {    display: block;    background-color: #080404;    border-radius: 100px;    height: 100px;    width: 100px;    padding: 16px 12px 0;    }.title_box .text_box_inner h2 {    display: flex;    align-items: center;    font-size: 1.75vw;    letter-spacing: 0.185rem;    line-height: 1;    margin-bottom: 10px;    }.title_box .text_box_inner h2 span {    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif;    font-size: 0.875rem;    letter-spacing: 0.095rem;    padding-left: 10px;    }.title_box .text_box_inner p {    letter-spacing: 0.05rem;    }#application_requirements01 .section_inner > p { line-height: 2.1; letter-spacing: 0.08rem;}#application_requirements02 { position: relative; margin-bottom: 150px;}#application_requirements02 .section_inner {    width: 1080px;    margin: auto;     }#application_requirements02 .section_inner .photo_area {    position: relative;    margin: 0 calc((-100vw + 1080px) / 6);    z-index: -1;    }#application_requirements02 .section_inner .photo_area h2 {    position: absolute;    top: 30%;    font-size: 1.65vw;    text-align: center;    line-height: 1.4;    letter-spacing: 0.08rem;    width: 100%;    }#application_requirements02 .section_inner .photo_area h2 span {    display: block;    font-size: 0.8vw;    letter-spacing: 0.05rem;    }#application_requirements02 .section_inner ul {    position: relative;    background-color: #fff;    margin-top: -180px;    padding: 100px 0;    display: flex;    flex-wrap: wrap;    width: 100%;    }#application_requirements02 .section_inner ul::before {    position: absolute;    top: 45%;    left: 4.16%;    content: "";    width: 91.68%;    height: 1px;    background-color: #f3f3f3;    }#application_requirements02 .section_inner ul::after {    position: absolute;    top: 80px;    left: 0;    right: 0;    margin: auto;    content: "";    width: 1px;    height: 58.68%;    background-color: #f3f3f3;    }#application_requirements02 .section_inner ul li {    width: 41.66666%;    min-width: 450px;    margin: 0 4.16%;    padding-left: 60px;    padding-bottom: 50px;    }#application_requirements02 .section_inner ul li:nth-child(1) {    background: url("../images/number01.svg") left top no-repeat;    background-size: 42px 78px;    margin-bottom: 50px    }#application_requirements02 .section_inner ul li:nth-child(2) {    background: url("../images/number02.svg") left top no-repeat;    background-size: 47px 78px;    margin-bottom: 50px    }#application_requirements02 .section_inner ul li:nth-child(3) {    background: url("../images/number03.svg") left top no-repeat;    background-size: 47px 78px;    }#application_requirements02 .section_inner ul li:nth-child(4) {    background: url("../images/number04.svg") left top no-repeat;    background-size: 47px 78px;    }#application_requirements02 .section_inner ul li p:nth-child(1) {    font-size: 0.8vw;    letter-spacing: 0.08rem;    line-height: 1;    margin-bottom: 10px;    }#application_requirements02 .section_inner ul li p:nth-child(2) {    font-size: 1.35vw;    line-height: 1.35;    letter-spacing: 0.08rem;    }#application_requirements02 .section_inner .application_box_row {    display: flex;    display: -webkit-box;    display: -ms-flexbox;    -webkit-box-pack: justify;    -ms-flex-pack: justify;    justify-content: space-between;    line-height: 1.6;    letter-spacing: 0.03rem;    margin-bottom: 30px;    }#application_requirements02 .section_inner .application_box_row dt {    font-weight: 600;    width: 160px;    border-bottom: 1px solid #dfcd00;    padding-bottom: 15px;    }#application_requirements02 .section_inner .application_box_row dd {    width: calc(100% - 190px);    border-bottom: 1px solid #080404;    padding-bottom: 15px;    }#application_requirements03 { position: relative; margin-bottom: 85px;}#application_requirements03 .section_inner {    width: 1080px;    margin: auto;     }#application_requirements03 h2 {    text-transform: uppercase;    }#application_requirements03 .section_inner .photo01 {    margin-left: calc((-100vw + 1080px) / 2);    margin-right: auto;    }#application_requirements03 .section_inner .photo01 img {    width: 100%;    }#application_requirements03 .section_inner p {    margin-bottom: 30px;    }#application_requirements03 .section_inner p:nth-child(6) {    margin-bottom: 125px;    }@media only screen and (max-width: 1281px) {    .pc_l { display: none;}}@media (max-width:767px) and (min-width:320px) {    #philosophy { margin-bottom: 75px;}    #philosophy .section_inner {        display: flex;        flex-wrap: wrap;        flex-direction: row-reverse;        justify-content: space-around;        padding: 0;        width: 95%;        margin: auto;        }    #philosophy .section_inner .left_box {         position: relative;        width: 95%;        max-width: 640px;        min-width: 300px;        margin-left: auto;        margin-right: auto;        }    #philosophy .section_inner .left_box .photo01 {        position: relative;        top: 0;        left: 0;        width: 100%;        max-width: 600px;         }    #philosophy .section_inner .left_box .photo02 {        position: relative;        top: -145px;        left: 50%;        width: 55%;        max-width: 300px;        }    #philosophy .section_inner .right_box {        width: 95%;        max-width: 640px;        min-width: 300px;        margin-left: auto;        margin-right: auto;        margin-bottom: 25px;        }    #philosophy .section_inner .right_box .sub_en {        position: relative;        font-size: 0.8rem;        font-weight: 600;        line-height: 1;        letter-spacing: 0.05rem;        padding-left: 60px;        margin-bottom: 35px;        }    #philosophy .section_inner .right_box .sub_en::before {        position: absolute;        top: 46%;        left: 0;        content: "";        width: 50px;        height: 1px;        background-color: #080404;        }    #philosophy .section_inner .right_box .cursive_text { margin-bottom: 35px;}    #philosophy .section_inner .right_box h2 {        font-size: 6.525vw;        font-weight: 600;        line-height: 1.6;        letter-spacing: 0.08rem;        margin-bottom: 25px;        }#philosophy .section_inner .right_box .philosophy_text {     letter-spacing: 0.05rem;    line-height: 2.1;    }#philosophy .section_inner .right_box .philosophy_text span {    font-weight: 600;    background:linear-gradient(transparent 70%, #dfcd00 70%);    }    #application_requirements01 { position: relative; margin-bottom: 85px;}    #application_requirements01 .section_inner {        width: 95%;        margin: auto;         }    #application_requirements01 h2 {        text-transform: uppercase;        }    #application_requirements01 .section_inner .photo01 {        margin: 0 calc(50% - 50vw);        width: 100vw;        }    #application_requirements01 .section_inner .photo01 img {        width: 100%;        }.sub_title01 {    position: absolute;    top: -50px;    font-size: 0.625rem;    line-height: 1;    letter-spacing: 0.1rem;    text-transform: uppercase;    transform: rotate(90deg);    -moz-transformx: rotate(90deg);    -webkit-transform: rotate(90deg);    -o-transform: rotate(90deg);    -ms-transform: rotate(90deg);    }.sub_title01 span {    display: inline-block;    border: 1px solid #080404;    border-radius: 100px;    padding: 15px 14px 15px 15px;    font-size: 0.825rem;    letter-spacing: 0;    width: 45px;    height: 45px;    margin-right: 15px;    }.sub_title01.left {    top: -50px;    left: -1.5%;    }.sub_title01.right {    top: -50px;    right: -2.7%;    }    .title_box {        position: relative;        top: -50px;        display: block;        background-color: #fff;        padding: 25px 6.6666% 0;        }    .title_box .logo { margin: 0;}    .title_box .logo span {        display: block;        background-color: #080404;        border-radius: 100px;        height: 80px;        width: 80px;        padding: 16px 12px 0;        margin: 0 auto 15px;        }    .title_box .text_box_inner h2 {        display: block;        align-items: center;        font-size: 5.75vw;        letter-spacing: 0.185rem;        line-height: 1;        text-align: center;        margin-bottom: 15px;        }    .title_box .text_box_inner h2 span {        display: block;        font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif;        font-size: 0.75rem;        letter-spacing: 0.095rem;        padding-left: 0;        margin-top: 5px;        }    .title_box .text_box_inner p {        letter-spacing: 0.05rem;        }    #application_requirements01 .section_inner > p { line-height: 2.1; letter-spacing: 0.08rem;}    #application_requirements02 { position: relative; margin-bottom: 75px;}    #application_requirements02 .section_inner {        width: 95%;        margin: auto;         }    #application_requirements02 .section_inner .photo_area {        position: relative;        margin: 0 calc(50% - 50vw);        width: 100vw;        z-index: -1;        }    #application_requirements02 .section_inner .photo_area h2 {        position: absolute;        top: 30%;        font-size: 5.25vw;        text-align: center;        line-height: 1.4;        letter-spacing: 0.08rem;        width: 100%;        }    #application_requirements02 .section_inner .photo_area h2 span {        display: block;        font-size: 2.45vw;        letter-spacing: 0.05rem;        }    #application_requirements02 .section_inner ul {        position: relative;        background-color: #fff;        margin-top: -35px;        padding: 50px 0;        display: flex;        flex-wrap: wrap;        width: 100%;        }    #application_requirements02 .section_inner ul::before {        position: absolute;        top: 45%;        left: 4.16%;        content: "";        width: 91.68%;        height: 0px;        background-color: #f3f3f3;        }    #application_requirements02 .section_inner ul::after {        position: absolute;        top: 80px;        left: 0;        right: 0;        margin: auto;        content: "";        width: 0;        height: 58.68%;        background-color: #f3f3f3;        }    #application_requirements02 .section_inner ul li {        width: 100%;        min-width: 300px;        margin: 0;        padding-left: 60px;        padding-bottom: 25px;        margin-bottom: 25px;        border-bottom: 1px solid #ddd;        }#application_requirements02 .section_inner ul li:nth-child(1) {    background: url("../images/number01.svg") left top no-repeat;    background-size: 40px 76px;    margin-bottom: 25px    }#application_requirements02 .section_inner ul li:nth-child(2) {    background: url("../images/number02.svg") left top no-repeat;    background-size: 45px 76px;    margin-bottom: 25px    }#application_requirements02 .section_inner ul li:nth-child(3) {    background: url("../images/number03.svg") left top no-repeat;    background-size: 45px 76px;    }#application_requirements02 .section_inner ul li:nth-child(4) {    background: url("../images/number04.svg") left top no-repeat;    background-size: 45px 76px;    }    #application_requirements02 .section_inner ul li p:nth-child(1) {        font-size: 2.45vw;        letter-spacing: 0.08rem;        line-height: 1;        margin-bottom: 5px;        }    #application_requirements02 .section_inner ul li p:nth-child(2) {        font-size: 4.85vw;        line-height: 1.3;        letter-spacing: 0.1rem;        }    #application_requirements02 .section_inner .application_box_row {        display: block;        line-height: 1.6;        letter-spacing: 0.03rem;        margin-bottom: 25px;        }    #application_requirements02 .section_inner .application_box_row dt {        position: relative;        font-weight: 600;        width: 100%;        border-bottom: 1px solid #ddd;        padding-left: 15px;        padding-bottom: 10px;        margin-bottom: 10px;        }    #application_requirements02 .section_inner .application_box_row dt::before {        position: absolute;        top: 32.5%;        left: 0;        content: "";        height: 2px;        width: 10px;        background-color: #dfcd00;        }    #application_requirements02 .section_inner .application_box_row dd {        width: 100%;        border-bottom: 1px solid #fff;        padding-bottom: 0;        }    #application_requirements03 { position: relative; margin-bottom: 25px;}    #application_requirements03 .section_inner {        width: 95%;        margin: auto;         }    #application_requirements03 h2 {        text-transform: uppercase;        }    #application_requirements03 .section_inner .photo01 {        margin: 0 calc(50% - 50vw);        width: 100vw;        }    #application_requirements03 .section_inner .photo01 img {        width: 100%;        }    #application_requirements03 .section_inner p {        margin-bottom: 25px;        }    }/************************************************** @ form layout**************************************************/#entry-form {    margin-top: -125px;    padding-top: 125px;    }#entry-form .tel dl dt {	font-size: min(2.25vw,1rem);	font-weight: 600;	margin-bottom: 5px;}#entry-form .tel dl dd {	font-family: poppins,sans-serif;	font-size: min(4.75vw,2.075rem);	font-weight: 600;	line-height: 1;	letter-spacing: 0.05vw;}#entry-form .tel p {	font-size: min(1vw,0.925rem);	font-weight: 600;}.form_title_wrap {    text-align: center;    margin-top: 150px;    }.form_title_wrap h2 {    position: relative;    font-size: 1.75rem;    text-align: center;    line-height: 1;    letter-spacing: 0.2rem;    margin-bottom: 75px;    }.form_title_wrap h2::before {    position: absolute;    bottom: -25px;    left: 0;    right: 0;    content: "";    height: 2px;    width: 25px;    background-color: #080404;    margin: auto;    }.form_title_wrap h2 span {    display: block;    font-size: 0.7rem;    font-weight: 600;    margin-top: 8px;    }.caution_text {    background-color: #080404;    max-width: 1080px;    font-size: 0.85rem;    color: #fff;    padding: 35px;    margin: 75px auto;    }.flow_wrap {    position: relative;    display: -webkit-flex;    display: flex;    -webkit-justify-content: space-around;    justify-content: space-around;    margin-bottom: 70px;    margin-left: auto;    margin-right: auto;    max-width: 1080px;    }.flow_wrap::after {    content: "";    position: absolute;    top: 56px;    left: 0;    right: 0;    background-color: #ccc;    height: 1px;    max-width: 770px;    width: 67%;    margin: auto;    }.flow_wrap li {    position: relative;    font-size: 0.85rem;    font-weight: 500;    padding: 10px;    }.flow_wrap li::after {    content: "■";    position: absolute;    top: 43.5px;    left: 40%;    right: 0;    color: #e0dfdf;    z-index: 5;    }.flow_wrap .flow_active::after { color: #dfcd01;}.flow_wrap li span {    font-family: futura-pt, sans-serif;    font-weight: 500;    color: #080404;    letter-spacing: 0.05em;    padding-right: 5px;    }.contact_table {    text-align: left;    width: 1080px;    margin: 0 auto 30px;    }.contact_table tr td .select,.contact_table tr td p { margin-bottom: 10px;}.contact_table tr th {    font-size: 0.875rem;    font-weight: 600;    width: 25%;    padding: 20px 0 20px 20px;    border-top: 1px solid #ccc;    border-right: 1px solid #ccc;    vertical-align: middle;    }.contact_table tr td {    width: 70%;    padding: 20px 20px 20px 25px;    border-top: 1px solid #ccc;    }.contact_table tr:last-child td,.contact_table tr:last-child th {    border-bottom: 1px solid #ccc;    padding: 20px;    }.contact_table tr:last-child td {    padding: 20px 20px 15px 25px;    }.contact_table select::-ms-expand {    display: none;    }.contact_table select {    font-size: 0.85rem;    width: 50%;    padding: 10px;    background: url("../img/icon/select_arrow.png") right 50% no-repeat;    background-size: 30px, 100%;    -webkit-appearance: none;    -moz-appearance: none;    appearance: none;    border: 1px solid #ccc;    }.contact_table tr td textarea {    font-size: 0.85rem;    width: 95%;    height: 200px;    padding: 10px;    border: 1px solid #ccc;    -webkit-appearance: none;    }.contact_table tr td input {    font-size: 0.85rem;    height: 45px;    border: 1px solid #ccc;    padding-left: 10px    }.contact_content input {    display: none;    }.contact_content label {    display: inline-block;    position: relative;    cursor: pointer;    margin-left: 20px;    padding: 10px 20px;    border-radius: 2px;    font-size: 0.85rem;    text-align: center;    line-height: 1    }.contact_content label:before {    position: absolute;    content: "";    top: 50%;    left: -10px;    width: 20px;    height: 20px;    margin-top: -10px;    background: #eee;    border: 1px solid #ccc;    border-radius: 50%    }.contact_content input[type=radio]:checked+label:after {    position: absolute;    content: "";    top: 50%;    left: -4px;    width: 8px;    height: 8px;    margin-top: -4px;    border-radius: 50%;    background: #dfcd01;    }.contact_content input[type=checkbox] {    display: none    }.contact_content .check_css {    -webkit-transition: background-color .2s linear;    transition: background-color .2s linear;    position: relative;    display: inline-block;    padding: 0 0 0 15px;    vertical-align: middle;    cursor: pointer    }.contact_content .check_css:after,.contact_content .check_css:before {    position: absolute;    top: 50%;    display: block;    content: ''    }.contact_content .check_css:hover:after {    border-color: #dfcd01;    }.contact_content .check_css:after {    -webkit-transition: border-color .2s linear;    transition: border-color .2s linear;    left: -8px;    margin-top: -10px;    width: 18px;    height: 18px;    border: 2px solid #ccc;    border-radius: 2px    }.contact_content .check_css:before {    -webkit-transition: opacity .2s linear;    transition: opacity .2s linear;    left: -2px;    margin-top: -7px;    width: 6px;    height: 10px;    border-right: 3px solid #33ace3;    border-bottom: 3px solid #33ace3;    border-top: 1px solid #fff;    border-left: 1px solid #fff;    background-color: #fff;    border-radius: 0;    opacity: 0;    -webkit-transform: rotate(45deg);    -ms-transform: rotate(45deg);    transform: rotate(45deg)    }.contact_content input[type=checkbox]:checked+.check_css:before {    opacity: 1    }.contact_table select {    font-size: 0.85rem;    height: 45px;    width: 50%;    padding: 10px;    background: url("../images/select_arrow.png") right 50% no-repeat;    background-size: auto;    background-size: 33px, 100%;    -webkit-appearance: none;    -moz-appearance: none;    appearance: none;    border: 1px solid #ccc;    }.contact_table .green {    display: inline-block;    font-size: 0.65rem;    font-weight: 600;    color: #080404;    line-height: 1;    background-color: #dfcd01;    padding: 4px 5px 5px;    margin-left: 2px    }.contact_table tr td input.small01 {    width: 20%;    -webkit-appearance: none;    }.contact_table tr td input.small02 {    width: 10%;    -webkit-appearance: none;    }.contact_table tr td input.long01 {    width: 65%;    -webkit-appearance: none;    }.contact_table tr td input.long02 {    width: 80%;    -webkit-appearance: none;    }.contact_table tr .border_none {    border-right: none;    }.caution_text02 {    font-weight: 600;    max-width: 1000px;    margin: 0 auto 10px;    }.caution_text03 {    font-weight: 600;    max-width: 1000px;    margin: 0 auto 30px;    text-align: center;    }.caution_text04 {    font-size: 0.85rem;    font-weight: 600;    line-height: 2;    letter-spacing: 0.08rem;    text-align: center;    max-width: 1000px;    margin: 0 auto 40px;    }.buttons {    margin-top: 40px;    text-align: center;    }.buttons input {    background-color: #080404;    font-size: 0.9rem;    font-weight: 600;    letter-spacing: 0.08em;    color: #fff;    width: 35%;    margin: auto;    border: none;    -webkit-border-radius : 0;    -webkit-appearance : none;    -webkit-tap-highlight-color : rgba(0,0,0,0);    padding: 25px 0;    }.buttons input:hover {    opacity: .6;    cursor: pointer;    -webkit-transition: .4s ease-in-out;    -moz-transition: .4s ease-in-out;    transition: .4s ease-in-out;    }#footer .offical_bnr {    max-width: 540px;    width: 40%;    margin: 175px auto 0;    }#footer .footer_inner p {    font-size: 0.615rem;    letter-spacing: 0.05rem;    text-align: center;    padding: 75px 0;    }@media (max-width:767px) and (min-width:320px) {    #entry-form {        margin-top: -75px;        padding-top: 75px;        }	#entry-form .tel dl dt {		font-size: min(3.75vw,2.75rem);		font-weight: 600;		margin-bottom: 5px;	}	#entry-form .tel dl dd {		font-family: poppins,sans-serif;		font-size: min(7.25vw,3.75rem);		font-weight: 600;		line-height: 1;		letter-spacing: 0.05vw;	}	#entry-form .tel p {		font-size: min(3vw,1.75rem);		font-weight: 600;	}        .form_title_wrap {        text-align: center;        margin-top: 75px;        }    .form_title_wrap h2 {        position: relative;        font-size: 1.5rem;        text-align: center;        line-height: 1;        letter-spacing: 0.2rem;        margin-bottom: 50px;        }    .form_title_wrap h2::before {        position: absolute;        bottom: -25px;        left: 0;        right: 0;        content: "";        height: 2px;        width: 25px;        background-color: #080404;        margin: auto;        }.form_title_wrap h2 span {    display: block;    font-size: 0.7rem;    font-weight: 600;    margin-top: 8px;    }         .contact_box02 {         max-width: 737px;         width: 100%;         margin: 0 auto 50px;         font-weight: 600;         text-align: center;        }    .contact_box02 dl { margin-bottom: 15px;}    .contact_box02 dl dt {        font-size: 0.925rem;        color: #080404;        margin-bottom: 5px;        }    .contact_box02 dl dd {        display: inline-block;        font-size: 2rem;        font-weight: 500;        color: #080404;        line-height: 1;        }    .contact_head_text {        font-size: 0.875rem;        line-height: 1.7;        margin-bottom: 10px;        }    .caution_text {        max-width: 737px;        width: 100%;        font-size: 0.775rem;	    font-weight: 500;        line-height: 1.8;        padding: 10px;        margin: 25px auto 50px !important        }    .contact_text01 {        margin-bottom: 25px;        }    .flow_wrap  {        position: relative;        display: -webkit-flex;        display: flex;        -webkit-justify-content: space-around;        justify-content: space-around;        margin-bottom: 25px;            width: 100%;         }    .flow_wrap::after {        content: "";        position: absolute;        top: 55px;        left: 0;        right: 0;        background-color: #ccc;        height: 1px;        max-width: 737px;        width: 100%;        margin: auto        } .flow_wrap li {  position: relative;  font-size: 0.75rem;  font-weight: 700;  line-height: 1.4;  padding: 10px 0;  width: 33.333333% } .flow_wrap li:nth-child(2) {  text-align: center; } .flow_wrap li:nth-child(3) {  text-align: right; } .flow_wrap li::after {  content: "■";  position: absolute;  top: 47px;  left: -1px;  right: 0;  z-index: 5; } .flow_wrap li:nth-child(2)::after {  content: "■";  position: absolute;  top: 47px;  left: 0;  z-index: 5; } .flow_wrap li:nth-child(3)::after {  content: "■";  position: absolute;  top: 47px;  left: 92%;  z-index: 5; } .flow_wrap .flow_active::after {  color: #ffe362 !important } .flow_wrap li span {  display: block;  letter-spacing: 0.08em;  padding-right: 0; } .contact_table {  text-align: left;  max-width: 736px;  width: 100%;  margin: 0 auto 15px; } .contact_table tr th {  display: block;  font-size: 0.8rem;  font-weight: 500;  width: 100%;  padding: 15px 0 2px;  border-top: none;  border-right: none;  vertical-align: top; } .contact_table tr td {  display: block;  width: 100%;  padding: 10px 0;  border-top: 1px solid #ccc;  border-bottom: 1px solid #ccc; } .contact_table tr:last-child th {  border-bottom: none;  padding: 15px 0 2px; } .contact_table tr:last-child td {  padding: 10px 0; } .contact_table tr td .select {  margin-bottom: 10px; } .contact_table select::-ms-expand {  display: none; } .contact_table select {  position: relative;  font-size: 0.75rem;     color: #080404;   width: 80%;  padding: 10px;  background: url("../images/select_arrow.png") right 50% no-repeat;  background-size: 33px, 100%;  -webkit-appearance: none;  -moz-appearance: none;  -ms-appearance: none;  appearance: none;  border: 1px solid #ccc; } .contact_table tr td textarea {  font-size: 0.75rem;  width: 100%;  height: 150px;  padding: 10px;  border: 1px solid #ccc;  border-radius: 0px;  -webkit-border-radius: 0px;  -moz-border-radius: 0px		 } .contact_table tr td input {  font-size: 0.75rem;  height: 40px;  border: 1px solid #ccc;  border-radius: 0px;  -webkit-border-radius: 0px;  -moz-border-radius: 0px;  padding-left: 10px		 } .contact_content label {  display: inline-block;  position: relative;  cursor: pointer;  margin-left: 20px;  padding: 10px 20px;  border-radius: 2px;  font-size: 0.75rem;  text-align: left;  line-height: 1; } .contact_table tr td input.long01, .contact_table tr td input.long02, .contact_table tr td input.small01, .contact_table tr td input.small02 {  width: 100%; }.contact_table tr td input.small02.age {    width: 50%;    } .contact_table:nth-child(5) tr td {  border-bottom: none;  padding: 10px 0 0; } .contact_table:nth-child(5) tr:last-child td {  border-bottom: 1px solid #ccc;  padding: 10px 0 25px; } .caution_text02 {  line-height: 1.6;  margin: 0; } .caution_text03 {  line-height: 1.6;  margin: 0 auto 30px;  text-align: left; } .caution_text04 {  font-size: 0.75rem;  font-weight: 500;  line-height: 1.8;  text-align: center;  margin: 0 auto 40px; } .buttons {  margin-top: 20px;  text-align: center		 } .buttons input {  font-size: 0.78rem;  font-weight: 600;  letter-spacing: 0.08em;  color: #fff;  width: 85%;  margin: 0 auto 10px;  -webkit-appearance: none;  -moz-appearance: none;  appearance: none;  border: none;  padding: 15px; } .contact_box02 dl dt {  font-size: 0.75rem;  margin-bottom: 2px; } .contact_box02 dl dd {  margin-bottom: 10px; } .contact_box02 dl dd a {  color: #080404; } .contact_box02 p {  font-size: 0.72rem; }        .h2_title05 {        position: relative;        font-size: 1.25rem;        text-align: center;        line-height: 1;        letter-spacing: 0.15rem;        margin-bottom: 55px;        }    #footer .offical_bnr {        max-width: 540px;        width: 85%;        margin: 100px auto -25px;        }    }/************************************************** @ footer layout**************************************************/@media (max-width:767px) and (min-width:320px) {  }