@charset "UTF-8";

:root {
    --green01: #11665f;
    --green02: #187972;
    --green03: #5da19c;
    --green04: #aed0cd;
    --green05: #d6e7e6;
    --right_khaki: #f5f0eb;
    --inner_p: 40px;   
}
@media only screen and (max-width: 999px) {
    :root {
        --inner_p: 30px;   
    }
}
@media only screen and (max-width: 767px) {
    :root {
        --inner_p: 20px;
    }
}

/*-------------------------
__base_style
-------------------------*/
body.fixed{overflow-y: hidden;}
#wrap{font-family: 'Noto Sans JP', sans-serif;font-weight: 500;overflow: hidden;}
#content{overflow: hidden;}
h1,h2,h3{font-size: 10px;}
a{color: #000;text-decoration: none;display: inline-block;}
a>*{vertical-align: bottom;}
.inner{max-width: 1200px;margin: 0 auto;padding: 0 var(--inner_p);box-sizing: border-box;}
.link_arrow{margin: 0 0.5em;padding: 0 0.5em 0 1em;transition: opacity .3s;display: inline-block;position: relative;}
.link_arrow::before{content: "";width: 0.5em;height: 0.5em;clip-path: polygon(0 0, 100% 50%, 0 100%);transition: left .3s;position: absolute;left: 0;top: 0.5em;}
.link_arrow.blank{padding: 0 1.5em 0 1em;}
.link_arrow.blank::after{content: "";width: 1em;height: 1em;background-image: url(/company/common/images/blank.png);background-size: contain;background-repeat: no-repeat;position: absolute;bottom: 0.25em;right: 0;}
.btn01{font-weight: 700;line-height: 1.5em;padding: 0.5em 1em;border-radius: 0.5em;transition: opacity .3s;}
.btn01>.link_arrow{white-space: nowrap;margin: 0;padding-right: 0;}
.btn01>.link_arrow::before{background-color: #fff;}
.btn02{width: 200px;font-size: 1.6em;text-align: center;font-weight: 700;line-height: 1.5em;padding: 1.25em 1em;border-radius: 0.625em;box-sizing: border-box;transition: all .3s;}
.btn02>.link_arrow{width: 100%;box-sizing: border-box;transition: color .3s;white-space: nowrap;margin: 0;padding-right: 0;}
.btn02>.link_arrow.blank{padding-right: 1.5em;}
.btn02>.link_arrow::before{background-color: #fff;transition: all .3s;}

.en{font-family: 'Poppins', sans-serif;font-weight: 700;}
span.nowrap{display: inline-block;}
.pc_none{display: none;}
.sp_none{display: inline-block;}

@media only screen and (min-width: 768px) {
    .link_arrow:hover{opacity: .5;}
    .link_arrow:hover::before{left: 0.25em;}
    .btn01:hover{opacity: .5;}
    .btn02:hover{opacity: 1;}
    .btn01>.link_arrow:hover,
    .btn02>.link_arrow:hover{opacity: 1;}
    .btn01>.link_arrow:hover::before,
    .btn02>.link_arrow:hover::before{left: 0;}
    .btn01:hover>.link_arrow::before,
    .btn02:hover>.link_arrow::before{left: 0.25em;}
}
@media only screen and (max-width: 767px) {
    .btn02{width: auto;min-width: 140px;font-size: 1.4em;padding: 1em;}
    .pc_none{display: block;}
    .sp_none{display: none;}
}

/*-------------------------
__header
-------------------------*/
#header {z-index: 99;display: block;position: relative;}
#header .common_header{padding: 15px 0;background-color: #fff;}
#header .common_header .inner{display: flex;justify-content: flex-end;align-items: center;}
#header .common_header .inner #navi1 .common_menu{font-size: 1.4em;line-height: 1.5em;text-align: left;padding-right: 1em;display: flex;}
#header .common_header .inner #navi1 .common_menu .menu_link:not(:first-child){border-left: solid 1px #000;}
#header .common_header .inner #navi1 .common_menu .menu_link a{padding: 0 1em;transition: opacity .3s;}
#header .common_header .inner .sns_icon{margin: -7.5px;display: flex;}
#header .common_header .inner .sns_icon .sns a{margin: 7.5px;transition: opacity .3s;}
#header .company_header{padding: 10px 0;background-color: var(--green02);}
#header .company_header .inner{display: flex;justify-content: space-between;align-items: center;}
#header .company_header .inner .header_left{display: flex;justify-content: flex-start;align-items: center;}
#header .company_header .inner .header_left .hdr_logo{transition: opacity .3s;}
#header .company_header .inner .header_left .hdr_txt{font-size: 1.4em;line-height: 1.5em;font-weight: 700;color: #fff;text-align: left;padding-left: calc(var(--inner_p) / 2);}
#header .company_header .inner #navi2 .company_menu{font-size: 1.5em;line-height: 1.5em;font-weight: 700;text-align: left;display: flex;align-items: center;}
#header .company_header .inner #navi2 .company_menu .menu_link .link_arrow{color: #fff;}
#header .company_header .inner #navi2 .company_menu .menu_link:last-child .link_arrow{margin-right: 0;}
#header .company_header .inner #navi2 .company_menu .menu_link .link_arrow::before{background-color: #fff;}
#header .company_header .inner #navi2 .common_menu_sp,
#header .company_header .inner #navi2 .sns_icon_sp,
#header .company_header .inner .smt_menu{display: none;}

@media only screen and (min-width: 768px) {
    #header .common_header .inner #navi1 .common_menu .menu_link a:hover,
    #header .common_header .inner .sns_icon .sns a:hover,
    #header .company_header .inner .header_left .hdr_logo:hover{opacity: .5;}
}
@media only screen and (max-width: 999px) {
    #header .company_header .inner .header_left .hdr_txt,
    #header .company_header .inner #navi2 .company_menu{font-size: 1.5vw;}
}
@media only screen and (max-width: 767px) {
    #header{position: relative;z-index: 99;}
    #header .common_header{display: none;}
    #header .company_header{padding: 7px 0;}
    #header .company_header .inner{padding: 0 7px;}
    #header .company_header .inner .header_left .hdr_logo{width: 36px;height: 36px;}
    #header .company_header .inner .header_left .hdr_logo img{width: 100%;height: auto;}
    #header .company_header .inner .header_left .hdr_txt{font-size: 1.2em;}
    #header .company_header .inner #navi2{width: 100%;height: calc(100vh + 50%);box-sizing: border-box;background-color: rgba(0,0,0,.6);opacity: 0;visibility: hidden;transition: opacity .3s;position: fixed;left: 0;top: 50px;}
    #header .company_header .inner #navi2.open{opacity: 1;visibility: visible;}
    #header .company_header .inner #navi2 .company_menu{font-size: 14px;background-color: var(--green02);flex-wrap: wrap;justify-content: left;}
    #header .company_header .inner #navi2 .company_menu .menu_link:nth-child(2n){border-right: none;}
    #header .company_header .inner #navi2 .company_menu .menu_link .link_arrow{width: 100%;height: 100%;padding: 0;display: flex;justify-content: center;align-items: center;text-align: left;font-weight: 700;margin: 0;padding: 0.5em 1em;box-sizing: border-box;display: flex;justify-content: center;align-items: center;}
    #header .company_header .inner #navi2 .company_menu .menu_link .link_arrow::before{content: none;}
    #header .company_header .inner #navi2 .company_menu .menu_link{width: 50%;height: 57px;display: flex;justify-content: center;align-items: center;border-width: 1px 1px 0 0;border-style: solid;border-color: var(--green03);box-sizing: border-box;position: relative;}
    #header .company_header .inner #navi2 .company_menu .menu_link.bb_1px::before{content: "";width: 100%;height: 1px;background-color: var(--green03);position: absolute;bottom: -1px;left: 0;}
    #header .company_header .inner #navi2 .common_menu_sp,
    #header .company_header .inner #navi2 .sns_icon_sp{display: block;}
    #header .company_header .inner #navi2 .common_menu_sp{background-color: #fff;display: flex;flex-wrap: wrap;}
    #header .company_header .inner #navi2 .common_menu_sp .menu_link{width: 50%;min-height: 57px;border: solid;border-width: 0 1px 1px 0;border-color: var(--green02);box-sizing: border-box;}
    #header .company_header .inner #navi2 .common_menu_sp .menu_link:nth-child(2n){border-right: none;}
    #header .company_header .inner #navi2 .common_menu_sp .menu_link a{width: 100%;height: 100%;font-size: 1.4em;line-height: 1.5em;text-align: center;font-weight: 700;padding: 0.5em 1em;box-sizing: border-box;display: flex;justify-content: center;align-items: center;}
    #header .company_header .inner #navi2 .sns_icon_sp{background-color: #fff;padding: calc(var(--inner_p) * 2) var(--inner_p);display: flex;justify-content: center;}
    #header .company_header .inner #navi2 .sns_icon_sp .sns{padding: 0 calc(var(--inner_p) / 2);}
    #header .company_header .inner #navi2 .sns_icon_sp .sns a img{width: 36px;height: 36px;}
    #header .company_header .inner .smt_menu{width: 26px;height: 26px;margin: 5px;box-sizing: border-box;transition: transform .3s;display: block;position: relative;}
    #header .company_header .inner .smt_menu.open{transform: rotate(360deg);}
    #header .company_header .inner .smt_menu>span{width: 100%;height: 2px;background-color: var(--green04);border-radius: 1px;transition: all .3s;display: block;position: absolute;left: 0;}
    #header .company_header .inner .smt_menu>span:nth-child(1){top: 4px;}
    #header .company_header .inner .smt_menu.open>span:nth-child(1){margin-top: -1px;transform: rotate(45deg);top: 50%;}
    #header .company_header .inner .smt_menu>span:nth-child(2){margin-top: -1px;top: 50%;}
    #header .company_header .inner .smt_menu.open>span:nth-child(2){opacity: 0;}
    #header .company_header .inner .smt_menu>span:nth-child(3){bottom: 4px;}
    #header .company_header .inner .smt_menu.open>span:nth-child(3){margin-bottom: -1px;transform: rotate(135deg);bottom: 50%;}
}

/*-------------------------
__content
-------------------------*/
.topic_path .inner{font-size: 1.4em;padding: 0.5em var(--inner_p);white-space: nowrap;-ms-overflow-style:none;scrollbar-width:none;overflow-x: scroll;display: flex;}
.topic_path .inner::-webkit-scrollbar{display:none;}
.topic_path .inner li{line-height: 1.5em;text-align: left;}
.topic_path .inner li a{text-decoration: underline;padding-right: 1.5em;transition: opacity .3s;display: inline-block;position: relative;}
.topic_path .inner li a::before{content: "";width: 0.5em;height: 0.5em;background-color: var(--green02);clip-path: polygon(0 0, 100% 50%, 0 100%);position: absolute;right: 0.5em;top: 0.5em;}

.block_ttl01{text-align: left;margin-top: -5px;display: flex;flex-direction: column;}
.block_ttl01 .en{font-size: 6em;line-height: 1.25em;color: var(--green02);}
.block_ttl01 .jp{font-size: 1.6em;line-height: 1.5em;font-weight: 700;padding-top: 0.5em;}

.block_ttl02 span {font-size: 2.8em;line-height: 1.5em;text-align: left;font-weight: 700;color: var(--green02);display: block;}

.page_ttl{padding: calc(var(--inner_p) * 2) 0;background-size: cover;background-position: center;background-repeat: no-repeat;}

.page_ttl01{text-align: left;margin-top: -5px;display: flex;flex-direction: column;align-items: center;}
.page_ttl01 .en{font-size: 6em;line-height: 1.25em;color: #fff;text-align: center;}
.page_ttl01 .jp{font-size: 1.6em;line-height: 1.5em;font-weight: 700;color: #fff;padding-top: 0.5em;}

.page_ttl02{width: 100%;font-size: 3.6em;line-height: 1.5em;text-align: center;font-weight: 700;color: var(--green02);padding-bottom: var(--inner_p);}
.page_ttl02 .en{font-size: 0.75em;}

.table_ttl01{font-size: 1.8em;line-height: 1.5em;font-weight: 700;text-align: left;margin: var(--inner_p) 0 calc(var(--inner_p) / 2);position: relative;}
.table_ttl01::before{content: "";width: 0.75em;height: 0.75em;background-color: var(--green02);margin-right: 0.5em;display: inline-block;}

#content #main{display:block;}
.block{padding: calc(var(--inner_p) * 3) 0;}

.block_inner_bg{background-color: #fff;padding: var(--inner_p);border-radius: 10px;position: relative;}
.block_inner_bg::before{content: "";width: var(--inner_p);height: var(--inner_p);clip-path: polygon(0 0, 100% 0, 0 100%);background-color: var(--green02);border-radius: 10px 0 0 0;position: absolute;top: 0;left: 0;}
.block_inner_bg.row{display: flex;}
.block_inner_bg.row .block_left{text-align: left;display: flex;flex-direction: column;justify-content: space-between;}
.block_inner_bg.row .block_right{padding-left: var(--inner_p);}
.block_inner_bg .block_bottom{padding-top: var(--inner_p);}

.block_decorate_wrap .decorate{overflow: hidden;transform: rotate(-45deg);opacity: 0;transition: all .3s;position: absolute;}
.block_decorate_wrap .decorate::after{content: "";width: 110%;height: 110%;background-color: #fff;position: absolute;top: -5%;left: -5%;transition: all .3s;}
.block_decorate_wrap .decorate.play{opacity: 1;}
.block_decorate_wrap .decorate.play::after{transform: translateX(110%);}

@media only screen and (min-width: 768px) {
    .topic_path .inner li a:hover{text-decoration: none;opacity: .5;}
}
@media only screen and (max-width: 999px) {
    .block_ttl01 .en{font-size: 6vw;}
    .block_ttl02 span{font-size: 2.8vw;}
    .page_ttl01 .en{font-size: 6vw;}
    .page_ttl02{font-size: 3.6vw;}
    .block_inner_bg.row{flex-direction: column;}
    .block_inner_bg.row .block_left{flex-direction: row;align-items: flex-start;}
    .table_ttl01{font-size: 1.6em;}
}
@media only screen and (max-width: 767px) {
    .topic_path .inner{font-size: 1.2em;}
    .block_ttl01 .en{font-size: 3.2em;}
    .block_ttl01 .jp{font-size: 1.4em;}
    .block_ttl02 span{font-size: 2em;}
    .page_ttl01 .en{font-size: 3.2em;}
    .page_ttl01 .jp{font-size: 1.4em;}
    .page_ttl02{font-size: 2.4em;flex-direction: column;align-items: center;}
    .block_inner_bg::before{width: 30px;height: 30px;}
}

#top_page_link .inner .page_link_wrap{margin: -5px;display: flex;justify-content: center;flex-wrap: wrap;}
#top_page_link .inner .page_link_wrap .page_link{padding: 5px;}
#top_page_link .inner .page_link_wrap .page_link .btn01{font-size: 1.6em;color: #fff;background-color: var(--green02);box-sizing: border-box;}
#top_page_link .inner .page_link_wrap .page_link .btn01>.link_arrow{padding: 0 0 1em;}
#top_page_link .inner .page_link_wrap .page_link .btn01>.link_arrow::before{clip-path: polygon(0 0, 100% 0, 50% 100%);transition: bottom .3s;left: calc(50% - 0.25em);bottom: 0.25em;top: inherit;}
@media only screen and (min-width: 768px) {
    #top_page_link .inner .page_link_wrap .page_link .btn01:hover>.link_arrow::before{bottom: 0;}
}
@media only screen and (max-width: 767px) {
    #top_page_link .inner .page_link_wrap .page_link{width: calc(50% - 10px);}
    #top_page_link .inner .page_link_wrap .page_link .btn01{font-size: 1.4em;}
}

/*-------------------------
__footer
-------------------------*/
#footer{padding-top: var(--inner_p);background-color: var(--right_khaki);}
#footer>.inner{padding-bottom: var(--inner_p);display: flex;justify-content: center;}
#footer>.inner #navi3 .footer_menu{display: flex;}
#footer>.inner #navi3 .footer_menu .menu_box{text-align: left;padding-right: var(--inner_p);}
#footer>.inner #navi3 .footer_menu .menu_box .menu_box_ttl{font-size: min(1.6em, 1.4vw);font-weight: 700;color: var(--green02);line-height: 1.5em;text-align: left;padding-bottom: 1em;}
#footer>.inner #navi3 .footer_menu .menu_box .menu_box_inner{min-width: 10em;font-size: min(1.4em, 1.2vw);font-weight: 700;line-height: 1.5em;text-align: left;}
#footer>.inner #navi3 .footer_menu .menu_box .menu_box_inner .menu_link:not(:last-of-type){padding-bottom: 0.5em;}
#footer>.inner #navi3 .footer_menu .menu_box .menu_box_inner .menu_link .link_arrow{margin: 0;}
#footer>.inner #navi3 .footer_menu .menu_box .menu_box_inner .menu_link .link_arrow::before{background-color: var(--green02);}
#footer>.inner #navi3 .footer_menu .menu_box .menu_box_inner .menu_link .link_arrow span{white-space: nowrap;}
#footer>.inner #navi3 .footer_menu .menu_box .footer_menu_btn.btn01{font-size: min(1.4em, 1.2vw);color: #fff;background-color: var(--green02);margin-top: 1.5em;}
#footer>.inner #navi3 .footer_menu .menu_box .footer_menu_btn.btn01>.link_arrow::before{background-color: #fff;}
#footer>.inner .banner_wrap{display: inline-flex;flex-direction: column;}
#footer>.inner .banner_wrap .banner{transition: opacity .3s;}
#footer>.inner .banner_wrap .banner:not(:last-child){margin-bottom: calc(var(--inner_p) / 2);}
#footer>.inner .banner_wrap .banner .banner_ttl{font-size: min(1.6em, 1.4vw);font-weight: 700;color: var(--green02);line-height: 1.5em;text-align: center;padding-bottom: 10px;}
#footer>.inner .banner_wrap .banner .banner_img img{max-width: 100%;height: auto;}
#footer .copyright{background-color: var(--green01);}
#footer .copyright .inner {font-size: 1.2em;line-height: 2em;font-weight: 700;color: #fff;text-align: center;}
@media only screen and (min-width: 768px) {
    #footer>.inner .banner_wrap .banner:hover{opacity: .5;}
}
@media only screen and (max-width: 999px){
    #footer>.inner{flex-direction: column;align-items: center;}
    #footer>.inner #navi3 .footer_menu{padding-bottom: var(--inner_p);}
    #footer>.inner #navi3 .footer_menu .menu_box:last-child{padding-right: 0;}
    #footer>.inner #navi3 .footer_menu .menu_box .menu_box_ttl{font-size: 1.4em;}
    #footer>.inner #navi3 .footer_menu .menu_box .menu_box_inner{font-size: 1.2em;}
    #footer>.inner #navi3 .footer_menu .menu_box .footer_menu_btn.btn01{font-size: 1.2em;}
    #footer>.inner .banner_wrap{flex-direction: row;}
    #footer>.inner .banner_wrap .banner:not(:last-child){margin-bottom: 0;margin-right: var(--inner_p);}
    #footer>.inner .banner_wrap .banner .banner_ttl{font-size: 1.4em;}
}
@media only screen and (max-width: 767px){
    #footer>.inner #navi3 .footer_menu{max-width: 335px;flex-wrap: wrap;}
    #footer>.inner #navi3 .footer_menu .menu_box{width: calc((100% - var(--inner_p)) / 2);}
    #footer>.inner #navi3 .footer_menu .menu_box:nth-child(1),
    #footer>.inner #navi3 .footer_menu .menu_box:nth-child(2){padding-bottom: var(--inner_p);}
    #footer>.inner #navi3 .footer_menu .menu_box:nth-child(2){padding-right: 0;}
    #footer>.inner #navi3 .footer_menu .menu_box .menu_box_inner{min-width: auto;}
    #footer>.inner .banner_wrap{max-width: 335px;}
    #footer>.inner .banner_wrap .banner{width: calc((100% - var(--inner_p)) / 2);display: flex;flex-direction: column;align-content: flex-start;flex-wrap: wrap;}
    #footer>.inner .banner_wrap .banner .banner_ttl{text-align: left;}
}
@media only screen and (max-width: 374px){
    #footer>.inner #navi3 .footer_menu .menu_box .menu_box_ttl,
    #footer>.inner .banner_wrap .banner .banner_ttl{font-size: 3.7333vw;}
    #footer>.inner #navi3 .footer_menu .menu_box .menu_box_inner,
    #footer>.inner #navi3 .footer_menu .menu_box .footer_menu_btn.btn01{font-size: 3.2vw;}
}
.re_top{display: none;position: fixed;bottom: var(--inner_p);right: var(--inner_p);}
.re_top a{width: 5em;height: 5em;font-size: 1.4em;font-weight: 700;line-height: 1em;color: #fff;background-color: var(--green01);border-radius: 50%;padding-top: 2.4em;box-sizing: border-box;transition: background-color .3s;display: block;position: relative;}
.re_top a::before{content: "";width: 0.5em;height: 0.5em;border-style: solid;border-color: #fff;border-width: 0.14em 0.14em 0 0;transform: translateX(-50%) rotate(-45deg);transition: top .3s;position: absolute;top: 1em;left: 50%;}
.re_top a::after{content: "";width: 0.14em;height: 0.72em;background-color: #fff;transform: translateX(-50%);transition: top .3s;position: absolute;top: 1em;left: 50%;}
@media only screen and (min-width: 768px) {
    .re_top a:hover{background-color: var(--green03);}
    .re_top a:hover::before,
    .re_top a:hover::after{top: 0.8em;}
}
