@charset "UTF-8";
::-webkit-input-placeholder {
    color: inherit
}

:-moz-placeholder {
    color: inherit
}

i {
    font-style: italic;
}

button,
input,
select,
textarea {
    font: inherit
}

button:focus,
input:focus,
select:focus,
textarea:focus {
    outline: 0
}

input[type=button],
input[type=submit] {
    border-radius: 0;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button
}

input[type=button]::-webkit-search-decoration,
input[type=submit]::-webkit-search-decoration {
    display: none
}

input[type=button]::focus,
input[type=submit]::focus {
    outline-offset: -2px
}

sup {
    vertical-align: super;
    font-size: smaller
}

sub {
    vertical-align: sub;
    font-size: smaller
}

*,
 :after,
 :before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

html {
    height: 100%;
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%
}

body {
    background: #b0e1d2;
    min-width: 1280px;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    font-size: 1.6rem;
    line-height: 1.6;
    color: #333
}

@media screen and (max-width:767px) {
    body {
        min-width: 0;
        font-size: 1.3rem;
        line-height: 1.5
    }
}

@media screen and (max-width:767px) {
    img {
        width: 100%;
        height: auto
    }
}

a {
    color: #333;
    text-decoration: none
}

a:hover {
    text-decoration: underline;
    color: #333
}

a[href^="mailto:"] {
    color: inherit
}

a[href^="mailto:"]:hover {
    text-decoration: none
}

a[href^="tel:"] {
    color: inherit
}

a[href^="tel:"]:hover {
    text-decoration: none
}

::selection {
    color: #fff;
    background: #f18d00
}

::-moz-selection {
    color: #fff;
    background: #f18d00
}

.l-article_1 {
    margin-top: 100px;
    padding: 50px
}

@media screen and (max-width:767px) {
    .l-article_1 {
        margin-top: 90px;
        padding: 25px 5px
    }
}

.l-article_2 {
    padding: 70px 100px
}

@media screen and (max-width:767px) {
    .l-article_2 {
        padding: 30px 0;
        margin-top: 100px
    }
}

.l-main_content_inner {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto
}

@media screen and (max-width:767px) {
    .l-main_content_inner {
        min-width: 100%;
        max-width: 100%
    }
}

.l-footer {
    position: relative;
    z-index: 30;
    width: 100%
}

@media screen and (max-width:767px) {
    .l-footer {
        z-index: 29
    }
}

.l-footer_logo {
    text-align: center;
    background-color: #fff;
    padding: 44px 0
}

@media screen and (max-width:767px) {
    .l-footer_logo img {
        width: 25%
    }
}

.l-footer_logo p {
    padding-top: 7px;
    font-size: 10px
}

@media screen and (max-width:767px) {
    .l-footer_logo p {
        padding-top: 24px
    }
}

.l-footer_link {
    background-color: #282828;
    color: #fff
}

.l-footer_link_list {
    text-align: center
}

@media screen and (max-width:767px) {
    .l-footer_link_list {
        padding: 25px 0
    }
}

.l-footer_link_list li {
    display: inline-block;
    margin: 40px 0;
    font-size: 15px;
    padding: 0 30px
}

.l-footer_link_list li a {
    color: #fff
}

@media screen and (max-width:767px) {
    .l-footer_link_list li {
        display: block;
        padding: 0;
        margin: 0
    }
}

.l-footer_link_list li {
    border-left: 1px solid #fff;
    border-right: none;
}

@media screen and (max-width:767px) {
    .l-footer_link_list li {
        border: none;
        padding-bottom: 20px
    }
}

.l-footer_link_list li:last-child {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
}

@media screen and (max-width:767px) {
    .l-footer_link_list li:last-child {
        border: none;
        padding-bottom: 0px;
    }
}

.l-footer_copy {
    font-size: 12px;
    background-color: #000;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    line-height: 1.5
}

.l-header {
    width: 100%;
    top: 0;
    left: 0;
    position: fixed;
    z-index: 30
}

@media screen and (max-width:767px) {
    .l-header {
        background-color: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

.l-header_inner {
    -webkit-transition: .3s ease;
    -o-transition: .3s ease;
    transition: .3s ease;
    min-width: 1280px;
    max-width: 1920px;
    width: 100%;
    margin: 0 auto
}

.l-header_inner:after {
    content: "";
    clear: both;
    display: block
}

@media screen and (max-width:767px) {
    .l-header_inner {
        height: 62px;
        min-width: 100%;
        max-width: 100%
    }
}

.l-header.is-top {
    background: #fff
}

.l-header .is-top .l-header_inner {
    background: #fff
}

.l-header_white {
    background-color: #fff
}

.l-header_logo {
    float: left;
    margin-left: 22px;
    margin-top: 20px;
    width: 310px
}

.l-header_logo img {
    width: 100%;
}

@media screen and (max-width:767px) {
    .l-header_logo {
        max-width: 300px;
        padding: 0 0 20px 0;
        width: 70%;
    }
}

.l-header_navigation {
    float: right;
    padding-top: 34px
}

.l-header_navigation_list {
    float: right;
}

.global-logo {
    display: block;
    float: right;
    width: 100px;
    margin: -20px 0px 0 0;
}

.global-logo img {
    width: 80px;
    padding-bottom: 10px;
}

@media screen and (min-width:768px) {
    .sp-menu-logo {
        display: none !important;
    }
}

@media screen and (max-width:767px) {
    .global-logo {
        display: none;
        float: none;
    }
    .l-header_navigation_list {
        float: none;
    }
    .l-header_navigation {
        position: absolute;
        display: none;
        width: 100%;
        top: 0;
        left: 0;
        background: #ffffff;
        /*#f18d00;*/
        padding-top: 0;
        float: none;
        z-index: 30
    }
}

@media screen and (max-width:767px) {
    .l-header_navigation_list {
        display: block;
        margin: 0 auto;
        width: 70%
    }
}

.l-header_navigation_list li {
    display: inline;
    font-size: 14px;
    padding-right: 36px;
    font-weight: 700
}

@media screen and (max-width:767px) {
    .l-header_navigation_list li {
        display: block;
        font-size: 16px;
        border-bottom: 2px solid #545556;
        background: #ffffff;
        /*#f18d00;*/
        margin: 0 auto;
        padding: 13px 0
    }
    .l-header_navigation_list li.sp-menu-logo {
        width: 100px;
        display: block;
        padding: 20px 0;
    }
    .l-header_navigation_list li.sp-menu-logo img {
        width: 80px;
    }
}

@media screen and (max-width:767px) {
    .l-header_navigation_list li:first-child {
        padding-top: 50px
    }
}

@media screen and (max-width:767px) {
    .l-header_navigation_list li:last-child {
        border: none
    }
}

.l-header_navigation_list a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    color: #000
}

.l-header_navigation_list a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #006948;
    -webkit-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: center top;
    -ms-transform-origin: center top;
    transform-origin: center top;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    -o-transition: transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s
}

@media screen and (max-width:767px) {
    .l-header_navigation_list a::after {
        display: none
    }
}

.l-header_navigation_list a:hover::after {
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1)
}

@media screen and (max-width:767px) {
    .l-header_navigation_list a {
        font-size: 16px;
        font-weight: 700;
        display: block;
        text-align: center;
        text-decoration: none;
        color: #545556;
    }
}

.l-header_sp_nav_trigger,
.l-header_sp_nav_trigger span {
    display: inline-block;
    -webkit-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer
}

.l-header_sp_nav_trigger {
    float: right;
    position: relative;
    height: 100%;
    width: 60px;
    background: #545556;
    /*#f18d00;*/
    z-index: 31
}

.l-header_sp_nav_trigger span {
    position: absolute;
    background: #fff;
    width: 30px;
    height: 2px;
    left: 0;
    right: 0;
    margin: auto
}

.l-header_sp_nav_trigger span:nth-of-type(1) {
    top: 21px
}

.l-header_sp_nav_trigger span:nth-of-type(2) {
    top: 0;
    bottom: 0
}

.l-header_sp_nav_trigger span:nth-of-type(3) {
    bottom: 21px
}

.l-header_sp_nav_trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    -ms-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg)
}

.l-header_sp_nav_trigger.active span:nth-of-type(2) {
    opacity: 0
}

.l-header_sp_nav_trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    -ms-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg)
}

.l-main_section,
.l-main_section_2 {
    position: relative;
    width: 84%;
    background-color: #f7fdfb;
    border-radius: 18px;
    margin: 0 auto;
    margin-top: 60px;
    margin-bottom: 80px;
    z-index: 11
}

@media screen and (max-width:767px) {
    .l-main_section,
    .l-main_section_2 {
        padding: 0 15px;
        border-radius: 9px;
        margin-bottom: 35px;
        margin-top: 0
    }
}

.l-main_section_2 {
    margin-top: 0
}

.p-our_mission_section {
    margin-top: -25px;
    margin-bottom: 200px;
}

@media screen and (max-width:767px) {
    .p-our_mission_section {
        margin-top: 20px;
        margin-bottom: 0px;
    }
}

.p-location_section {
    margin-top: -33px;
}

@media screen and (max-width:767px) {
    .p-location_section {
        margin-top: -50px
    }
}

.p-top_message_section {
    position: relative;
    margin-top: 145px
}

@media screen and (max-width:767px) {
    .p-top_message_section {
        margin-top: 30px
    }
}

.p-about_us_section {
    margin-top: -46px
}

@media screen and (max-width:767px) {
    .p-about_us_section {
        margin-top: 0
    }
}

.p-contact_section {
    margin-top: -70px
}

@media screen and (max-width:767px) {
    .p-contact_section {
        margin-top: -30px
    }
}

.c-breadcrumb {
    width: 84%;
    margin: 142px auto 24px;
    font-size: 1.4rem
}

@media screen and (max-width:767px) {
    .c-breadcrumb {
        display: none
    }
}

.c-breadcrumb li {
    display: inline-block;
    position: relative
}

.c-breadcrumb li:not(:last-child) {
    padding-right: 13px;
    margin-right: 8px
}

.c-breadcrumb li:not(:last-child):before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-bottom: solid 1px #424947;
    border-right: solid 1px #424947;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    -ms-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg)
}

.c-breadcrumb a {
    font-weight: 700
}

.c-button {
    display: inline-block;
    font-weight: 700;
    color: #fff;
    background-color: #1fa098;
    padding: 9px 20px;
    border-radius: 50px;
    min-width: 160px
}

@media screen and (max-width:767px) {
    .c-button {
        padding: 10px 20px;
        font-size: 10px
    }
}

.c-button:hover {
    background-color: #f18d00;
    text-decoration: none;
    color: #fff
}

.c-title {
    text-align: center;
    padding-top: 40px;
    margin-bottom: 40px
}

@media screen and (max-width:767px) {
    .c-title {
        padding-top: 30px;
        margin-bottom: 22px
    }
}

.c-title .c-title_wrap {
    font-size: 52px;
    color: #006948;
    font-weight: 700;
    display: inline-block;
    line-height: 1.2;
    border-bottom: 4px dotted #f18d00
}

@media screen and (max-width:767px) {
    .c-title .c-title_wrap {
        border-bottom: 2px dotted #f18d00
    }
}

.c-title .c-title_wrap span {
    display: inline-block
}

@media screen and (max-width:767px) {
    .c-title .c-title_wrap {
        padding-top: 15px;
        font-size: 25px
    }
}

.wave {
    /* -webkit-animation: wave-text .6s ease-in-out;
    animation: wave-text .6s ease-in-out */
}

@media screen and (max-width:767px) {
    .wave {
        /* -webkit-animation: wave-text-sp .6s ease-in-out;
    animation: wave-text-sp .6s ease-in-out */
    }
}

.c-title_wrap span:nth-of-type(1) {
    -webkit-animation-delay: 0ms;
    animation-delay: 0ms
}

.c-title_wrap span:nth-of-type(2) {
    -webkit-animation-delay: .1s;
    animation-delay: .1s
}

.c-title_wrap span:nth-of-type(3) {
    -webkit-animation-delay: .2s;
    animation-delay: .2s
}

.c-title_wrap span:nth-of-type(4) {
    -webkit-animation-delay: .3s;
    animation-delay: .3s
}

.c-title_wrap span:nth-of-type(5) {
    -webkit-animation-delay: .4s;
    animation-delay: .4s
}

.c-title_wrap span:nth-of-type(6) {
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.c-title_wrap span:nth-of-type(7) {
    -webkit-animation-delay: .6s;
    animation-delay: .6s
}

.c-title_wrap span:nth-of-type(8) {
    -webkit-animation-delay: .7s;
    animation-delay: .7s
}

.c-title_wrap span:nth-of-type(9) {
    -webkit-animation-delay: .8s;
    animation-delay: .8s
}

.c-title_wrap span:nth-of-type(10) {
    -webkit-animation-delay: .9s;
    animation-delay: .9s
}

@-webkit-keyframes wave-text {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    60% {
        -webkit-transform: translateY(-26px);
        transform: translateY(-26px);
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes wave-text {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    60% {
        -webkit-transform: translateY(-26px);
        transform: translateY(-26px);
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes wave-text-sp {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    60% {
        -webkit-transform: translateY(-13px);
        transform: translateY(-13px);
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes wave-text-sp {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    60% {
        -webkit-transform: translateY(-13px);
        transform: translateY(-13px);
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

.c-article_h2_title {
    font-size: 230%;
    padding-bottom: 16px;
    font-weight: 500;
    margin-bottom: 50px;
    line-height: 1;
    color: #006948
}

@media screen and (max-width:767px) {
    .c-article_h2_title {
        font-size: 170%;
        margin-bottom: 20px;
        line-height: 1.4
    }
}

.c-article_h3_title {
    font-size: 138%;
    background: #e5e5e5;
    font-weight: 500;
    padding: 10px 1.5%;
    margin-bottom: 40px
}

@media screen and (max-width:767px) {
    .c-article_h3_title {
        font-size: 128%;
        margin-bottom: 30px
    }
}

.c-article_h4_title {
    font-size: 128%;
    border-left: solid 5px #006a4b;
    padding-left: 20px;
    font-weight: 700;
    margin-bottom: 20px
}

.c-article_h5_title {
    font-size: 118%;
    font-weight: 700;
    margin-bottom: 20px
}

.c-mb_10 {
    margin-bottom: 10px
}

.c-mb_15 {
    margin-bottom: 15px
}

.c-mb_20 {
    margin-bottom: 20px
}

.c-mb_25 {
    margin-bottom: 25px
}

.c-mb_30 {
    margin-bottom: 30px
}

.c-mb_35 {
    margin-bottom: 35px
}

.c-mb_40 {
    margin-bottom: 40px
}

.c-pl_20 {
    padding-left: 20px
}

@media screen and (max-width:767px) {
    .c-pl_20 {
        padding-left: 10
    }
}

.c-pb_60 {
    padding-bottom: 60px
}

.c-txt_r {
    text-align: right
}

.c-txt_l {
    text-align: left
}

.c-txt_c {
    text-align: center
}

.p-about_us_text {
    margin-bottom: 42px;
    text-align: center
}

@media screen and (max-width:767px) {
    .p-about_us_text {
        margin-bottom: 23px;
        text-align: left
    }
}

.p-about_us_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (max-width:767px) {
    .p-about_us_wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: block
    }
}

.p-card {
    width: 460px;
    display: flex;
    flex-direction: column;
    border: 1px solid #d4d4d4;
    border-radius: 15px
}

.p-card-tech {
    width: 950px;
    margin-top: 50px;
    display: block;
    border: 1px solid #d4d4d4;
    border-radius: 15px;
    position: relative;
}

.p-tech_area {
    padding: 0;
}

.p-tech_area img {
    width: 100%;
}

@media screen and (max-width:767px) {
    .p-card,
    .p-card-tech {
        width: 100%;
        display: block;
        border-radius: 8px
    }
}

.p-card:first-child {
    margin-right: 30px
}

@media screen and (max-width:767px) {
    .p-card:first-child {
        margin-right: 0;
        margin-bottom: 20px
    }
}

.p-card_text_area {
    width: 100%;
    color: #fff;
    text-align: center;
    background-color: #3b7c60;
    border-radius: 15px 15px 0 0
}

.p-card_text_area--en {
    height: auto;
    min-height: 225px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media screen and (max-width:767px) {
    .p-card_text_area {
        border-radius: 8px 8px 0 0
    }
    .p-card_text_area--en {
        min-height: auto;
    }
}

.p-card_title {
    font-weight: 500;
    font-size: 23px;
    padding: 30px 0 12px
}

.p-card_text_area--en .p-card_title {
    height: auto;
    max-height: 114px;
    min-height: 114px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1 1 auto;
}

@media screen and (max-width:767px) {
    .p-card_title {
        font-size: 15px;
        padding: 20px 35px 10px 35px
    }
    .p-card_text_area--en .p-card_title {
        height: auto;
        max-height: none;
        min-height: auto;
    }
}

.p-card_text {
    padding: 0 21px 27px 21px;
    line-height: 1.8
}

.p-card_text_area--en .p-card_text {
    flex: 1 1 auto;
}

@media screen and (max-width:767px) {
    .p-card_text {
        font-size: 12px;
        padding: 0 15px 13px 15px
    }
}

.p-circle_area {
    text-align: center;
    padding-top: 20px
}

@media screen and (max-width:767px) {
    .p-circle_area {
        padding: 25px
    }
}

.p-circle_area .p-inovation {
    font-size: 22px;
    color: #004e8f;
    font-weight: 700;
    padding: 40px 0 45px
}

@media screen and (max-width:767px) {
    .p-circle_area .p-inovation {
        padding: 15px 0 0 0;
        font-size: 14px
    }
}

.p-tech_link {
    text-align: center;
    margin: 30px 0 60px;
}

@media screen and (max-width:767px) {
    .p-tech_link {
        text-align: center;
        margin: 30px 0 30px;
    }
}

.p-biome_area {
    padding-top: 20px;
    text-align: center
}

@media screen and (max-width:767px) {
    .p-biome_area {
        padding: 0
    }
}

@media screen and (max-width:767px) {
    .p-biome_area img {
        padding: 30px 55px 10px 55px;
        margin-bottom: 20px
    }
}

.p-biome_area .p-biome_link {
    margin-bottom: 35px
}

@media screen and (max-width:767px) {
    .p-biome_area .p-biome_link {
        margin: 20px 0 25px 0
    }
}

.p-biome_text_area {
    font-weight: 700;
    font-size: 18px;
    color: #004e8f;
    padding: 15px 50px 18px 50px
}

@media screen and (max-width:767px) {
    .p-biome_text_area {
        font-size: 12px;
        padding: 0
    }
}

.p-biome_info i {
    padding-left: 10px
}

.p-good_gif {
    margin: 0px 50px 0 0
}

@media screen and (max-width:767px) {
    .p-good_gif {
        margin: 0;
        text-align: center
    }
}

.p-article_text {
    margin-bottom: 40px;
    line-height: 1.7
}

.p-privacy_list li {
    position: relative;
    padding-left: 25px
}

.cushara_text {
    margin-top: 40px;
}

.cushara_text_end {
    margin-top: 40px;
    margin-bottom: 40px;
}

.cushara_text_right {
    text-align: right;
    margin-top: 40px;
    margin-bottom: 40px;
}

.list-disk li:before {
    content: "●";
    position: absolute;
    left: 0;
    top: 0;
    font-size: 20px;
    font-weight: 700;
}

@media screen and (max-width:767px) {
    .p-privacy_list li {
        padding-left: 10px
    }
}

.p-privacy_list li a {
    color: #006a4b;
    font-size: 100%
}

.p-tel {
    color: #000 !important;
    cursor: text !important
}

@media screen and (max-width:767px) {
    .p-tel {
        color: #006a4b !important;
        cursor: pointer !important
    }
}

.p-contact_address {
    text-align: center;
    font-weight: 700;
    padding-top: 0
}
.p-contact_compefund {
    text-align: center;
}
@media screen and (max-width:767px) {
    .p-contact_address {
        padding-top: 0
    }
}

.p-contact_address_title {
    font-size: 22px
}

@media screen and (max-width:767px) {
    .p-contact_address_title {
        font-size: 14px
    }
}

.p-contact_address img {
    margin: 50px auto;
}

@media screen and (max-width:767px) {
    .p-contact_address img {
        margin: 10px 0 25px;
        text-align: center
    }
}

.p-address_info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 22px;
    padding-top: 22px
}

.p-address_info p:first-child {
    padding-right: 70px
}

@media screen and (max-width:767px) {
    .p-address_info p:first-child {
        padding-right: 0
    }
}

@media screen and (max-width:767px) {
    .p-address_info {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        font-size: 14px
    }
}

@media screen and (max-width:767px) {
    .p-contact_mail {
        padding-top: 5px
    }
}

.p-location_section {
    padding-bottom: 200px
}

@media screen and (max-width:767px) {
    .p-location_section {
        padding-bottom: 0
    }
}

.p-location_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 20px;
    padding: 0 30px
}

@media screen and (max-width:767px) {
    .p-location_wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0
    }
}

.p-profile_table {
    width: 50%
}

@media screen and (max-width:767px) {
    .p-profile_table {
        width: 100%
    }
}

.p-profile_tbody th {
    font-weight: 700;
    text-align: left
}

@media screen and (max-width:767px) {
    .p-profile_tbody th {
        padding: 0 0 5px 0
    }
}

.p-profile_tbody td {
    padding-right: 40px;
    padding-left: 40px;
    padding-bottom: 27px
}

@media screen and (max-width:767px) {
    .p-profile_tbody td {
        padding-bottom: 23px;
        padding-right: 0;
        padding-left: 0
    }
}

@media screen and (max-width:767px) {
    .p-profile_tbody td,
    .p-profile_tbody th {
        display: block;
        width: 100%
    }
}

.p-company_map {
    overflow: hidden;
    border-radius: 25px;
    position: relative;
    width: 420x;
    height: 280px
}

@media screen and (max-width:767px) {
    .p-company_map {
        padding-left: 0;
        padding-right: 0;
        width: calc(100% + 30px);
        margin: 0 -15px;
        border-radius: 0;
        margin-bottom: 20px;
        top: 0
    }
}

@media screen and (max-width:767px) {
    .p-company_map iframe {
        border-radius: 0;
        width: 100%
    }
}

main {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #b0e1d2), color-stop(60%, #f1eacc), to(#b0e1d2));
    background: -webkit-linear-gradient(top, #b0e1d2 20%, #f1eacc 60%, #b0e1d2 100%);
    background: -o-linear-gradient(top, #b0e1d2 20%, #f1eacc 60%, #b0e1d2 100%);
    background: linear-gradient(to bottom, #b0e1d2 20%, #f1eacc 60%, #b0e1d2 100%);
    -webkit-animation: gradation 10s ease infinite;
    animation: gradation 10s ease infinite;
    background-size: 100% 100%
}

@-webkit-keyframes gradation {
    0% {
        background-position: center 0
    }
    25% {
        background-position: center 70%
    }
    50% {
        background-position: center -70%
    }
    100% {
        background-position: center 0
    }
}

@keyframes gradation {
    0% {
        background-position: center 0
    }
    25% {
        background-position: center 70%
    }
    50% {
        background-position: center -70%
    }
    100% {
        background-position: center 0
    }
}

.ojigi {
    position: absolute;
    right: 10%;
    top: 0px;
    display: none;
    z-index: 13
}

.ojigi.ojigi--en {
    top: 1770px;
}

@media screen and (max-width:970px) {
    .ojigi {
        right: 0%;
    }
}

.shikennkann {
    display: inline-block;
}

.yubin {
    margin: 50px auto;
}

@media screen and (max-width:767px) {
    .ojigi {
        top: 10px;
        right: 5%;
        width: 15%;
        z-index: 100;
    }
    .shikennkann {
        bottom: 0px;
        width: 25%;
    }
    .yubin {
        width: 50%
    }
    ;
}

.p-bg_wrap {
    position: relative;
    overflow: hidden;
    height: 95vh
}

@media screen and (max-width:767px) {
    .p-bg_wrap {
        height: auto
    }
}

.p-top_bg {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 11;
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-animation: zoom 8s forwards;
    animation: zoom 8s forwards
}

@media screen and (max-width:767px) {
    .p-top_bg {
        margin-top: 50px
    }
}

@-webkit-keyframes zoom {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    100% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
}

@keyframes zoom {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    100% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
}

.p-top_section {
    position: relative
}

.p-top_text {
    position: absolute;
    z-index: 12;
    top: 30%;
    left: 10%;
    line-height: 1.1
}

@media screen and (max-width:767px) {
    .p-top_text {
        width: 400px;
        text-align: left;
        top: 50%;
        left: 16%
    }
}

.p-top_text .p-top_capy {
    font-family: "Between 2 W05 Medium Italic";
    font-weight: 100;
    font-size: 64px;
    color: #0E64B0;
}

@media screen and (max-width:767px) {
    .p-top_text .p-top_capy {
        font-size: 34px
    }
}

.p-top_text .p-top_sub_capy {
    font-size: 24px;
    font-weight: 100;
    color: #000000;
    margin-top: 20px
}

@media screen and (max-width:767px) {
    .p-top_text .p-top_sub_capy {
        font-size: 17px;
        margin-top: 14px
    }
}

.p-top_text .p-top_mv {
    font-family: "MV Boli W05 Regular";
    font-weight: 100;
    font-size: 44px;
    color: #000000;
}

@media screen and (max-width:767px) {
    .p-top_text .p-top_mv {
        font-size: 26px
    }
}

.w {
    display: inline-block;
    vertical-align: top;
    /*overflow: hidden;*/
    padding-top: 6px
}

.c {
    display: block;
    -webkit-animation: fadein .5s forwards;
    animation: fadein .5s forwards;
    opacity: 0;
    padding-bottom: 6px
}

.c_a {
    -webkit-animation-delay: 0ms;
    animation-delay: 0ms
}

.c_b {
    -webkit-animation-delay: 25ms;
    animation-delay: 25ms
}

.c_c {
    -webkit-animation-delay: 50ms;
    animation-delay: 50ms
}

.c_d {
    -webkit-animation-delay: 75ms;
    animation-delay: 75ms
}

.c_e {
    -webkit-animation-delay: .1s;
    animation-delay: .1s
}

.c_f {
    -webkit-animation-delay: 125ms;
    animation-delay: 125ms
}

.c_g {
    -webkit-animation-delay: .15s;
    animation-delay: .15s
}

.c_h {
    -webkit-animation-delay: 175ms;
    animation-delay: 175ms
}

.c_i {
    -webkit-animation-delay: .2s;
    animation-delay: .2s
}

.c_j {
    -webkit-animation-delay: 225ms;
    animation-delay: 225ms
}

.c_k {
    -webkit-animation-delay: .25s;
    animation-delay: .25s
}

.c_l {
    -webkit-animation-delay: 275ms;
    animation-delay: 275ms
}

.c_m {
    -webkit-animation-delay: .3s;
    animation-delay: .3s
}

.c_n {
    -webkit-animation-delay: 325ms;
    animation-delay: 325ms
}

.c_o {
    -webkit-animation-delay: .35s;
    animation-delay: .35s
}

.c_p {
    -webkit-animation-delay: 375ms;
    animation-delay: 375ms
}

.c_q {
    -webkit-animation-delay: .4s;
    animation-delay: .4s
}

.c_r {
    -webkit-animation-delay: 425ms;
    animation-delay: 425ms
}

.c_s {
    -webkit-animation-delay: .45s;
    animation-delay: .45s
}

.c_t {
    -webkit-animation-delay: 475ms;
    animation-delay: 475ms
}

.c_u {
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.c_v {
    -webkit-animation-delay: 525ms;
    animation-delay: 525ms
}

.c_w {
    -webkit-animation-delay: .55s;
    animation-delay: .55s
}

.c_x {
    -webkit-animation-delay: 575ms;
    animation-delay: 575ms
}

.c_y {
    -webkit-animation-delay: .6s;
    animation-delay: .6s
}

.c_z {
    -webkit-animation-delay: 625ms;
    animation-delay: 625ms
}

.c_aa {
    -webkit-animation-delay: .65s;
    animation-delay: .65s
}

.c_ab {
    -webkit-animation-delay: 675ms;
    animation-delay: 675ms
}

.c_ac {
    -webkit-animation-delay: .7s;
    animation-delay: .7s
}

.c_ad {
    -webkit-animation-delay: 725ms;
    animation-delay: 725ms
}

.c_ae {
    -webkit-animation-delay: .75s;
    animation-delay: .75s
}

.c_af {
    -webkit-animation-delay: 775ms;
    animation-delay: 775ms
}

.c_ag {
    -webkit-animation-delay: .8ms;
    animation-delay: .8s
}

@-webkit-keyframes fadein {
    0% {
        -webkit-transform: translate(0, 100%);
        transform: translate(0, 100%);
        opacity: 0
    }
    100% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 1
    }
}

@keyframes fadein {
    0% {
        -webkit-transform: translate(0, 100%);
        transform: translate(0, 100%);
        opacity: 0
    }
    100% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 1
    }
}

.p-top_img {
    position: absolute;
    z-index: 12;
    overflow: hidden;
    border: 3px solid #fff;
    border-radius: 50%;
    background: rgba(255, 255, 255, .3);
    top: 20%;
    right: 9.5%
}

@media screen and (max-width:767px) {
    .p-top_img {
        width: 60%;
        height: auto;
        top: 30%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }
}

.p-top_bnr {
    position: absolute;
    z-index: 12;
    top: 79%;
    left: 9.5%
}

@media screen and (max-width:767px) {
    .p-top_bnr {
        width: 100%;
        height: auto;
        top: 81%;
        left: 0%;
        padding: 0 15%;
    }
}

.p-slick_wrap {
    width: 440px;
    height: auto
}

@media screen and (max-width:767px) {
    .p-slick_wrap {
        width: 100%
    }
}

.p-wave_canvas_stop {
    position: relative;
    z-index: 13;
    margin-top: -80px;
    height: 80px;
    width: 100%;
    display: block;
}

.p-wave_canvas_stop img {
    position: absolute;
    bottom: 0;
    width: 100%;
}

.p-wave_canvas {
    position: relative;
    z-index: 13;
    margin-top: -80px
}

@media screen and (max-width:767px) {
    .p-wave_canvas {
        /* margin-top: 0px */
    }
}

.p-wave_canvas canvas {
    height: 100px;
    width: 100%
}

.p-scroll_down {
    margin: 0 auto;
    text-align: center;
    margin-top: -50px;
    position: relative;
    z-index: 14
}

.p-scroll_down_wrap {
    display: inline;
    text-align: center
}

.p-scroll_down_bg {
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%);
    -ms-transform: translate(-50%);
    transform: translate(-50%);
    height: 61px;
    width: 61px;
    border-radius: 50%;
    background-color: #fff
}

.p-scroll_down_wrap {
    margin-top: -60px
}

.p-scroll {
    font-weight: 500;
    text-decoration: none;
    font-size: 12px;
    color: #f18d00;
    padding-top: 30px;
    position: relative;
    bottom: -33px
}

.p-scroll:hover {
    text-decoration: none;
    border-style: none;
    color: #f18d00
}

.p-scroll span {
    position: absolute;
    top: 0;
    left: 53%;
    width: 19px;
    height: 30px;
    margin-left: -10px;
    border: 2px solid #f18d00;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 50px
}

.p-scroll span::before {
    position: absolute;
    bottom: 3px;
    left: 50%;
    content: '';
    width: 4px;
    height: 4px;
    margin-left: -2px;
    background-color: #f18d00;
    border-radius: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.p-page_top {
    position: fixed;
    right: 70px;
    bottom: 20px;
    z-index: 100
}

@media screen and (max-width:767px) {
    .p-page_top {
        position: static;
        text-align: center
    }
    .p-page_top img {
        margin-top: -15px;
        padding-bottom: 30px;
        width: 15%
    }
}

.p-maru,
.p-maru_small,
.p-rokaku,
.p-rokaku_small,
.p-sankaku,
.p-sankaku_small {
    position: fixed;
    z-index: 9;
    /* -webkit-animation: tate 10s infinite;
    animation: tate 10s infinite */
}

@media screen and (max-width:767px) {
    .p-maru,
    .p-maru_small,
    .p-rokaku,
    .p-rokaku_small,
    .p-sankaku,
    .p-sankaku_small {
        width: 10%
    }
}

.p-maru {
    top: 15%;
    left: 3%
}

.p-maru_small {
    right: 1%;
    bottom: 20%
}

@media screen and (max-width:767px) {
    .p-maru_small {
        bottom: 5%
    }
}

.p-sankaku {
    bottom: 15%;
    left: 1%
}

.p-rokaku {
    top: 25%;
    right: 4%
}

@media screen and (max-width:767px) {
    .p-rokaku {
        right: 0
    }
}

.p-rokaku_small {
    bottom: 50%;
    left: 0
}

.p-sankaku_small {
    right: 1%;
    bottom: 45%
}

@-webkit-keyframes tate {
    0% {
        -webkit-transform: translate3d(0, 2.5vw, 0);
        transform: translate3d(0, 2.5vw, 0)
    }
    50% {
        -webkit-transform: translate3d(0, -2.5vw, 0);
        transform: translate3d(0, -2.5vw, 0)
    }
    100% {
        -webkit-transform: translate3d(0, 2.5vw, 0);
        transform: translate3d(0, 2.5vw, 0)
    }
}

@keyframes tate {
    0% {
        -webkit-transform: translate3d(0, 2.5vw, 0);
        transform: translate3d(0, 2.5vw, 0)
    }
    50% {
        -webkit-transform: translate3d(0, -2.5vw, 0);
        transform: translate3d(0, -2.5vw, 0)
    }
    100% {
        -webkit-transform: translate3d(0, 2.5vw, 0);
        transform: translate3d(0, 2.5vw, 0)
    }
}

.p-news_section {
    padding: 0 100px
}

@media screen and (max-width:767px) {
    .p-news_section {
        padding: 0
    }
}

.p-news_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: 700;
    margin-bottom: 45px;
    margin-top: 15px
}

@media screen and (max-width:767px) {
    .p-news_nav {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        font-size: 1.4rem;
        margin-bottom: 0
    }
}

.p-news_nav_item {
    margin: 0 19px;
    line-height: 1;
    cursor: pointer
}

@media screen and (max-width:767px) {
    .p-news_nav_item {
        width: 50%;
        margin: 0 0 23px;
        text-align: center
    }
}

.p-news_nav_item span {
    padding-bottom: 5px
}

@media screen and (max-width:767px) {
    .p-news_nav_item span {
        padding-bottom: 3px
    }
}

.p-news_nav_item.is-current span {
    border-bottom: 2px solid #3b7c60
}

.p-news_article {
    width: 100%;
    margin: 0 auto
}

@media screen and (min-width:768px) {
    .p-news_article {
        min-width: 880px;
        max-width: 1056px
    }
}

.p-news_article_item {
    border-bottom: 2px #d8d8d8 dotted;
    margin-bottom: 20px;
    padding: 4px 10px 6px
}

@media screen and (max-width:767px) {
    .p-news_article_item {
        padding-left: 0;
        padding-right: 0;
        border-width: 1px
    }
}

@media screen and (min-width:768px) {
    .p-news_article_data {
        width: 250px;
        float: left
    }
}

@media screen and (min-width:768px) {
    .p-news_article_text {
        margin-left: 250px
    }
}

@media screen and (max-width:767px) {
    .p-news_article_text {
        padding: 7px 0
    }
}

.p-news_article_category {
    display: inline-block;
    background-color: #686868;
    border: none;
    border-radius: 30px;
    padding: 1px 10px;
    color: #fff;
    margin-left: 20px;
    min-width: 85px;
    text-align: center;
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px)
}

@media screen and (max-width:767px) {
    .p-news_article_category {
        font-size: 1rem;
        font-weight: 400;
        min-width: 56px;
        -webkit-transform: translateY(-2px);
        -ms-transform: translateY(-2px);
        transform: translateY(-2px);
        margin-left: 10px
    }
}

.p-news_date_time {
    display: inline-block;
    width: 120px
}

@media screen and (max-width:767px) {
    .p-news_date_time {
        width: 110px
    }
}

.p-news_article_item:nth-of-type(n+4) {
    display: none
}

.p-is_close {
    display: none
}

.p-news_link {
    text-align: center;
    margin: 45px 0 60px 0
}

.p-news_link i {
    padding-left: 10px
}

@media screen and (max-width:767px) {
    .p-news_link {
        margin: 25px 0;
        font-size: 12px
    }
}

.p-news_bnr {
    margin-top: 40px;
    text-align: center
}

.p-news_bnr img {
    margin: 0 auto
}

@media screen and (max-width:767px) {
    .p-news_bnr img {
        width: 100%;
        height: auto
    }
}

@media screen and (max-width:767px) {
    .p-news_bnr {
        margin-top: 20px;
        margin-bottom: 20px
    }
}

.p-our_mission_txt {
    text-align: center
}

@media screen and (max-width:767px) {
    .p-our_mission_txt {
        text-align: left
    }
}

.p-our_mission_wrap {
    padding-top: 45px;
    text-align: center
}

@media screen and (max-width:767px) {
    .p-our_mission_wrap {
        padding-top: 24px
    }
}

.p-our_mission_wrap img:first-child {
    margin-right: 25px
}

@media screen and (max-width:767px) {
    .p-our_mission_wrap img:first-child {
        padding-right: 0;
        margin-bottom: 15px
    }
}

.p-hirameki_gif {
    margin-left: -50px;
    margin-top: -60px
}

@media screen and (max-width:767px) {
    .p-hirameki_gif {
        margin: 0;
        text-align: center;
        padding-bottom: 50px
    }
}

.p-our_mission_section_text {
    text-align: center
}

.p-boss_wrap {
    text-align: center
}

.p-boss_wrap img {
    margin-bottom: 25px;
    margin-left: 90px
}

.p-boss_wrap--en img {
    margin-left: 226px;
}

@media screen and (max-width:767px) {
    .p-boss_wrap img {
        margin-bottom: 12px;
        width: 45%;
        margin-left: 45px
    }
    .p-boss_wrap.p-boss_wrap--en img {
        margin-left: 90px;
        width: 67%;
    }
}

.p-message {
    text-align: justify;
    width: 82%;
    margin: auto;
    margin-bottom: 200px;
    padding: 35px 0 0 0
}

@media screen and (max-width:767px) {
    .p-message {
        width: 85%;
        padding: 25px 0 10px 0;
        margin-bottom: 0;
        text-align: left
    }
}

.p-boss_name,
.p-campany_name {
    font-size: 18px
}

@media screen and (max-width:767px) {
    .p-boss_name,
    .p-campany_name {
        font-size: 16px
    }
}

@media screen and (min-width:768px) {
    .u-sp {
        display: none
    }
}

@media screen and (max-width:767px) {
    .u-pc {
        display: none
    }
}


/* 個人情報ページのリスト */

.list_nun,
.list_kana {
    line-height: 1.7em;
}

.parent {
    margin-left: 1em;
    margin-top: -20px;
    margin-bottom: 40px;
}

.child {
    margin-left: 2em;
}


/* Past Resultsのアコーディオン */

.p-results_section {
    padding: 0 100px 200px;
}

@media screen and (max-width:767px) {
    .p-results_section {
        padding: 0
    }
    .result_wrap {
        margin-bottom: 5em;
    }
}

h3.open_h3 {
    font-weight: 700;
    position: relative;
    padding: 4px 0 4px 20px;
    margin: 4px 0;
    font-size: 1.2em;
    display: block;
    border-bottom: 2px solid #999;
}

h3.open_h3:hover {
    cursor: pointer;
}

h3.open_h3:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    border: 8px solid transparent;
    border-left: 12px solid #f18d00;
}

h3.open_h3.accordion-btn.active:before {
    content: "";
    position: absolute;
    top: 24px;
    left: 0;
    border: 8px solid transparent;
    border-top: 13px solid #f18d00;
}

.accordion table {
    width: 90%;
    margin-left: 10%;
}

.accordion table th {
    text-align: left;
    border-bottom: 2px dotted #CCC;
    word-break: break-all;
}

.accordion table td {
    border-bottom: 2px dotted #CCC;
    word-break: break-all;
}

.accordion table th.title,
.accordion table td.title {
    width: 48%;
}

.accordion table th.place,
.accordion table td.place {
    width: 30%;
    padding-left: 2%;
}

.accordion table th.url,
.accordion table td.url {
    width: 18%;
    padding-left: 2%;
}


/* H.U.グループ中央研究所の技術 */

.p-tech_circle_area {
    padding: 80px 30px;
    display: flex;
}

.p-tech_circle_area .circles {
    margin: 0 2% 0 0;
}

.p-tech_circle_area .circles .circle_blue {}

.p-tech_circle_area .circle_orange {
    margin: 180px 0 100px;
}

.p-tech_circle_area .circle {
    width: 170px;
    height: 170px;
    position: relative;
    border-radius: 50%;
    text-align: center;
}

.p-tech_circle_area .circle a {
    color: #fff;
    text-decoration: none;
    width: 100%;
    height: 100%;
    display: block;
}

.p-tech_circle_area .circle h4,
.p-tech_circle_area .circle a h4 {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #fff;
    font-size: 1.2em;
    font-weight: 700;
}

.p-tech_circle_area .circle p {
    text-align: center;
    font-weight: 700;
    position: absolute;
    top: 180px;
}

.p-tech_circle_area .circle_blue .circle {
    background-color: #3D95BF;
}

.p-tech_circle_area .circle_blue .circle a:hover {
    background-color: rgba(255, 255, 255, .4)
}

.p-tech_circle_area .circle_orange .circle {
    background-color: #EC731F;
}

.p-tech_circle_area .circle_orange .circle a:hover {
    background-color: rgba(255, 255, 255, .4)
}

@media screen and (max-width:767px) {
    .p-tech_circle_area {
        padding: 50px 10px;
        display: block;
    }
    .p-tech_circle_area .circle {
        margin: 0 auto;
    }
    .p-tech_circle_area .circles {
        margin: 0 0 10px 0
    }
    .p-tech_circle_area .circles:after {
        content: "";
        display: block;
        padding-top: 50%;
    }
}