@media screen and (min-width:1024px) {

/* commmon */

*,
*:before,
*:after {
    box-sizing: border-box;
}

body {
	font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', Helvetica, 'メイリオ', 'ＭＳ Ｐゴシック', sans-serif, sans-serif;
    font-size: 16px;
	line-height: 180%;
	color: #454545;
	background: #ffffff;
    font-weight: 400;
    letter-spacing: 1px;
    position: relative;
}

body {
    overflow-x: hidden !important;
}

.forsp {
    display: none;
}
.alpha a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=50);
    -ms-filter: "alpha(opacity=70)";
}
a {
display: block;
width: 100%;
height: 100%;
color: unset;
text-decoration: none;
}

/* footer  */
footer {
    max-width:1300px;
    margin: 100px auto;
    padding: 40px;
}
footer section {
    text-align: center;
    border: solid 6px #18B5B5;
    padding: 40px;
    font-size: 90%;
    border-radius: 32px;
}
.footer_blk {
    display: flex;
    text-align: left;
    margin-top: 0px;
    margin-bottom: 22px;
    justify-content: space-between;
}
.footer_blk .footer_logo {
    display: none;
    width: 444px;
    height: 95px;
    background-image: url(../images/logo_full.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    text-indent: -9999px;
    font-size: 0px;
}
.footer_blk .footer_txt {
    font-size: 14px;
    line-height: 160%;
    margin: 10px 0;
}
.footer_bottom {
    text-align: center;
    border-top: 1px solid #707070;
    padding: 12px 0 0 0;
}

.pagetop {
    width: 83px;
    height: 83px;
    position: fixed;
    right: 0;
    bottom: 0;
    opacity: 0;
    transition: all  0.6s ease;
}
.pagetop.scroll {
    opacity: 1;
}

.gray_btn {
    position: relative;
    display: inline-block;
}
.gray_btn a {
    background-color: #E8E8E8;
    display: block;
    padding: 18px 100px 18px 25px;
    font-size: 18px;
    border-radius: 100px;
}
.gray_btn a:hover {
    background-color: #D5D5D5;
}
.gray_btn a::after {
    content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    background-image: url(../images/arrow_type01.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 20px;
}

/* header */

header {
    width: 100%;
    height: 88px;
    position: fixed;
    z-index: 100;
    background-color: rgba(255,255,255,0);
    display: flex;
    font-size: 18px;
    transition: 0.5s;
    justify-content: space-between;
    margin: 0;
}
header#second {
    background-color: rgba(255,255,255,0.7);
}
header.scroll-nav {
    background-color: rgba(255,255,255,0.8);
}
header.scroll-nav .company_logo {
}
.company_logo2 {
    display: none;
}
header .company_logo {
    width: 32%;
    max-width: 380px;
    height: 52px;
    margin: 1.2vw 0px 0px 2vw;
    transition: 0.5s;
    display: flex;
}
header .company_logo a {
    width: 70%;
    font-size: 0px;
    text-indent: -9999px;
    background-image: url(../images/logo_full.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center left;
}
header#second .company_logo {
}
header .rec_header_txt {
    font-family: 'Roboto', sans-serif;
    color: #18B5B5;
    font-size: 16px;
    font-weight: 500;
    line-height: 140%;
    margin-top: 4%;
}

header .gmenu {
    margin: 0px;
    display: flex;
    justify-content: flex-end;
}
header .gmenu ul {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}
header .gmenu ul li {
    margin-top: 11px;
    position: relative;
}
header .gmenu ul li ul {
    display: block;
    position: absolute;
    left:0;
    top: 57px;
    z-index: 4;
    /*はじめは非表示*/
    visibility: hidden;
    opacity: 0;
    /*アニメーション設定*/
    transition: all .3s;
}
header#second .gmenu ul li ul {
    top: 67px;
}
header .gmenu ul li ul.hm_business {
    width: 200px;
}
header .gmenu ul li ul.hm_home {
    width: 260px;
}
header .gmenu ul li ul.hm_company {
    width: 160px;
}
header .gmenu ul li ul li {
    margin-top: 1px;
    display: block;
    font-size: 90%;
}

/*hoverしたら表示*/
header .gmenu ul li:hover > ul {
    visibility: visible;
    opacity: 1;
}
header .gmenu ul li a {
    font-size: 14px;
    width: 100%;
    height: auto;
    padding: 20px 1vw 22px 0.6vw;
    display: block;
    color: #fff;
    font-weight: 400;
    line-height: 140%;
    text-decoration: none;
    -webkit-transition: all 0.6s ease;
    -moz-transition: all 0.6s ease;
    -o-transition: all 0.6s ease;
    transition: all  0.6s ease;
}
header .gmenu ul li ul li a,header#second .gmenu ul li a {
    color: #434343;
}
header.scroll-nav .gmenu ul li a {
    color: #434343;
}
header .gmenu ul li ul li a {
    background-color: rgba(255,255,255,0.8);
}
header .gmenu ul li a:hover,header#second .gmenu ul li a:hover {
    background-color: #C3DEFF;
}
header .haeder_contact {
        color: #fff;
        text-align: center;
        margin: 0px 0px 0px 2px;
}
header .haeder_contact a {
        width: 100%;
        height: 100%;
        padding: 20px 18px 43px 22px;
        background-color: #ED4082;
        display: block;
        color: unset;
        font-weight: 600;
        line-height: 120%;
        text-decoration: none;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all  0.3s ease;
        
}
header .haeder_contact a:hover {
        background-color: #FF86B4;
}

/* top page  */
.kv_blk {
    width: 100%;
    height: 880px;
    position: relative;
    background-image: url(../images/kv_bg_line.svg);
    background-size: auto 675px;
    background-repeat: no-repeat;
    background-position: top center;
    margin-bottom: 120px;
}
.kv_blk .kv_inner {
    max-width: 1440px;
    height: 100%;
    margin: 0 auto;
    position: relative;
}
.kv_blk .kv_inner .kv_ph_circle {
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.kv_blk .kv_inner .kv_ph01 {
    width: 323px;
    height: 323px;
    top: 561px;
    left: -21px;
    background-image: url(../images/kv_circle_img01.png);
}
.kv_blk .kv_inner .kv_ph02 {
    width: 323px;
    height: 323px;
    top: 100px;
    left: 302px;
    background-image: url(../images/kv_circle_img02.png);
}
.kv_blk .kv_inner .kv_ph03 {
    width: 272px;
    height: 272px;
    top: 535px;
    left: 520px;
    background-image: url(../images/kv_circle_img03.png);
}
.kv_blk .kv_inner .kv_ph04 {
    width: 312px;
    height: 312px;
    top: 100px;
    left: 673px;
    background-image: url(../images/kv_circle_img04.png);
}
.kv_blk .kv_inner .kv_ph05 {
    width: 216px;
    height: 216px;
    top: 437px;
    left: 870px;
    background-image: url(../images/kv_circle_img05.png);
}
.kv_blk .kv_inner .kv_ph06 {
    width: 377px;
    height: 377px;
    top: 100px;
    right: 0px;
    background-image: url(../images/kv_circle_img06.png);
}
.kv_blk .kv_inner .kv_ph07 {
    width: 323px;
    height: 323px;
    top: 545px;
    right: 40px;
    background-image: url(../images/kv_circle_img07.png);
}
.kv_blk .kv_inner .kv_copy {
    position: relative;
    padding: 370px 20px 20px 20px;
    z-index: 10;
}
.kv_blk .kv_inner .kv_copy h2 {
    width: 400px;
    height: 160px;
    background-image: url(../images/kv_rec_copy.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    text-indent: -9999px;
    font-size: 0px;
}
.kv_blk .kv_inner .kv_copy h3 {
    width: 400px;
    height: 30px;
    background-image: url(../images/kv_rec_sub_copy.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    text-indent: -9999px;
    font-size: 0px;
    margin-top: 10px;
}

.top_message {
    height: 800px;
    position: relative;
    margin-bottom: 120px;
    background-image: url(../images/top_line_01.svg);
    background-size: auto 600px;
    background-repeat: no-repeat;
    background-position: top center;
}
.top_message .inner {
    max-width: 1200px;
    height: 100%;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: space-between;
}
.top_message .inner .box_left {
    width: 40%;
}
.top_message .inner .box_left h2 {
    font-family: 'Roboto', sans-serif;
    color: #18B5B5;
    font-size: 70px;
    margin-top: 60px;
}
.top_message .inner .box_left p {
    margin-top: 30px;
    color: #18B5B5;
    font-size: 24px;
    line-height: 160%;
    font-weight: 600;
}
.top_message .inner .box_left .message_photo {
    width: 100%;
    margin-top: 100px;
    padding-left: 120px;
}
.top_message .inner .box_right {
    width: 48%;
    padding-top: 100px;
}
.top_message .inner .box_right p {
    margin-bottom: 2em;
}


.top_numbers {
    height: 532px;
    position: relative;
    margin-bottom: 200px;
}
.top_numbers .inner {
    width: 1200px;
    height: 100%;
    margin: 0 auto;
    position: relative;
    display: flex;
}
.top_numbers .inner .box_left {
    width: 44%;
    z-index: 10;
}
.top_numbers .inner .box_right {
    width: 55%;
    text-align: center;
    z-index: 9;
}
.top_numbers .inner .box_right h2 {
    font-size: 66px;
    margin-top: 120px;
}
.top_numbers .inner .box_right h2 span {
    font-size: 36px;
    display: block;
}
.top_numbers .inner .box_right hr {
    width: 2000px;
    height: 6px;
    display: block;
    background-color: #18B5B5;
    position: absolute;
    border: 0;
}
.top_numbers .inner .box_right .gray_btn {
    margin-top: 30px;
}

.top_person {
    height: 800px;
    position: relative;
    margin-bottom: 120px;
    background-image: url(../images/top_line_03.svg);
    background-size: auto 530px;
    background-repeat: no-repeat;
    background-position: top 120px center;
}
.top_person .inner {
    width: 1200px;
    height: 100%;
    margin: 0 auto;
    position: relative;
}
.top_person .inner .top_person_title {
    width: 100%;
    display: flex;
}
.top_person .inner .top_person_title h2 {
    font-size: 66px;
    color: #003F93;
    font-weight: 900;
    margin-right: 60px;
}
.top_person .inner .top_person_title p {
    margin-top: 10px;
}
.top_person .inner .top_person_blk {
    max-width: 1100px;
    height: 540px;
    margin: 100px 0 0 70px;
    display: flex;
    justify-content: space-between;
}
.top_person .inner .top_person_blk .top_person01_box {
    width: 385px;
    border-radius: 23px;
    background-image: url(../images/top_person_01.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top center;
    position: relative;
}
.top_person .inner .top_person_blk .top_person02_box {
    width: 640px;
    border-radius: 23px;
    background-image: url(../images/top_person_02.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top center;
    position: relative;
}
.top_person_prfole_box {
    width: 100%;
    height: 164px;
    border-radius: 23px;
    color: #fff;
    padding: 20px 30px;
    background-color: #4090ED;
    position: absolute;
    left: 0;
    bottom: 0;
    background-image: url(../images/arrow_type04.svg);
    background-size: 50px;
    background-repeat: no-repeat;
    background-position: bottom 20px right 20px;
    font-weight: 600;
}
.top_person_prfole_box:hover {
    background-color: #71B0F8;
}
.top_person_prfole_box .person02_name {
    display: flex;
}
.top_person_prfole_box p {
    margin-top: 2em;
}
.top_person_prfole_box .person02_name div{
    width: 50%;
}


.top_youkou {
    height: 405px;
    position: relative;
    margin-bottom: 120px;
}
.top_youkou .inner {
    width: 1200px;
    padding: 60px 0;
    height: 100%;
    margin: 0 auto;
    position: relative;
}
.top_youkou .inner .border_frame {
    width: 2200px;
    height: 100%;
    border: solid 6px #18B5B5;
    border-radius: 29px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0;
}
.top_youkou .inner h2 {
    width: 100%;
    text-align: center;
    font-size: 50px;
    color: #18B5B5;
}
.top_youkou .inner .link_blk {
    max-width: 1000px;
    margin: 40px auto;
    display: flex;
    justify-content: space-between;
}

.youkou_btn {
    width: 46%;
    position: relative;
    display: inline-block;
}
.youkou_btn a {
    width: 100%;
    height: 100%;
    background-color: #18B5B5;
    display: block;
    padding: 60px 100px 60px 45px;
    font-size: 30px;
    border-radius: 22px;
    color: #fff;
}
.youkou_btn a:hover {
    background-color: #38D0D0;
}
.youkou_btn a::after {
    content: '';
    display: inline-block;
    width: 40px;
    height: 40px;
    background-image: url(../images/arrow_type04.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 30px;
}

.top_faq {
    height: 225px;
    position: relative;
    margin-bottom: 120px;
}
.top_faq .inner {
    width: 1200px;
    height: 100%;
    margin: 0 auto;
    position: relative;
}
.top_faq .inner .border_frame {
    width: 2200px;
    height: 225px;
    background-color: #18B5B5;
    border-radius: 29px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.top_faq .inner .top_faq_box {
    width: 1000px;
    margin: 0 auto;
    padding-top: 50px;
    position: relative;
    display: flex;
    justify-content: space-between;
}
.top_faq .inner .top_faq_box h2 {
    font-family: 'Roboto', sans-serif;
    color: #fff;
    font-size: 70px;
    margin-top: 20px;
}
.top_faq .inner .top_faq_box p {
    color: #fff;
}
.top_faq .inner .top_faq_box .gray_btn {
    margin-top: 30px;
}

.top_topics {
    height: 380px;
    position: relative;
    background-image: url(../images/top_line_05.svg);
    background-size: auto 380px;
    background-repeat: no-repeat;
    background-position: top center;
}
.top_topics .inner {
    width: 1200px;
    height: 100%;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: space-between;
}
.top_topics .inner .box_left {
    width: 290px;
}
.top_topics .inner .box_left h2 {
    font-family: 'Roboto', sans-serif;
    color: #18B5B5;
    font-size: 70px;
    margin-top: 140px;
}
.top_topics .inner .box_right {
    width: 850px;
    padding: 50px 0;
}
.top_topics .inner .box_right dl {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.top_topics .inner .box_right dl dt {
    width: 20%;
    color: #18B5B5;
    font-weight: 600;
    border-bottom: 1px dotted #8E8E8E;
    padding: 33px 0;
}
.top_topics .inner .box_right dl dd {
    width: 80%;
    border-bottom: 1px dotted #8E8E8E;
    padding: 33px 0;
}
/* top page end  */

/* second  */
.ttl_blk {
    width: 100%;
    padding-top: 160px;
    position: relative;
}
.ttl_blk .inner {
    max-width: 1200px;
    position: relative;
    margin: 0 auto 100px auto;
}


/* interview  */
.person01 .ttl_blk {
    background-image: url(../images/person01_ttl_line.svg);
    background-size: auto 250px;
    background-repeat: no-repeat;
    background-position: top 270px center;
}
.person01 .ttl_blk .inner {
    display: flex;
    justify-content: space-between;
}
.person01 .ttl_blk .inner h2 {
    font-size: 44px;
    font-weight: 800;
    line-height: 140%;
}
.person01 .ttl_blk .inner .photo_image {
    width: 350px;
    height: 448px;
    background-image: url(../images/person01_ttl_ph.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.person01 .ttl_blk .inner .person_shoulder h3 {
    color: #003F93;
    font-size: 30px;
    text-align: right;
    margin-bottom: 80px;
}
.person01 .ttl_blk .inner .person_shoulder h3 span {
    color: #C1C1C1;
    font-size: 20px;
    display: block;
    margin-right: 6px;
}
.person01 .ttl_blk .inner .person_profile_box {
    width: 660px;
}
.person01 .ttl_blk .inner .person_profile_name {
    width: 330px;
    background-color: #4090ED;
    padding: 30px;
    border-radius: 22px;
    color: #fff;
    margin: 60px 0 0 330px;
}
.person01 .ttl_blk .inner .person_profile_name span {
    font-weight: 600;
    font-size: 160%;
}
.person_content {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}
.person_content .interview_left {
    width: 100%;
    padding-right: 30%;
    margin-bottom: 100px;
    position: relative;
}
.person_content .interview_left2 {
    width: 100%;
    padding-right: 12%;
    margin-bottom: 100px;
    position: relative;
}
.person_content .interview_right {
    width: 100%;
    padding-left: 30%;
    margin-bottom: 100px;
    position: relative;
}
.person_content .interview_center {
    width: 100%;
    padding: 0px 13%;
    margin-bottom: 100px;
    position: relative;
}
.person_content .interview_center2 {
    width: 100%;
    padding: 0px 6%;
    margin-bottom: 100px;
    position: relative;
}
.person_content .interview_box {
    width: 100%;
    border: solid 6px #4090ED;
    border-radius: 20px;
    padding: 60px 80px;
    position: relative;
    z-index: 2;
    background-color: #fff;
}
.person_content .interview_box2 {
    width: 100%;
    border: solid 6px #C1C1C1;
    border-radius: 20px;
    padding: 60px 80px;
    position: relative;
    z-index: 2;
    background-color: #fff;
    height: 646px;
    background-image: url(../images/person01_schedule.png);
    background-size: 90%;
    background-repeat: no-repeat;
    background-position: center;
}
.person_content .interview_box h3  {
    color: #4090ED;
    font-size: 20px;
    border-bottom: solid 6px #E8E8E8;
    padding-bottom: 30px;
    margin-bottom: 30px;
}
.person_content .interview_box p  {
    line-height: 240%;
}
.person_content .interview_line_right {
    border-top: solid 6px #E8E8E8;
    border-right: solid 6px #E8E8E8;
    z-index: 2;
    width: 700px;
    height: 600px;
    border-radius: 30px;
    position: absolute;
    right: 180px;
    top: 200px;
    z-index: 1;
}
.person_content .interview_line_right2 {
    border-top: solid 6px #E8E8E8;
    border-right: solid 6px #E8E8E8;
    border-bottom: solid 6px #E8E8E8;
    z-index: 2;
    width: 700px;
    height: 600px;
    border-radius: 30px;
    position: absolute;
    right: 0px;
    top: 360px;
    z-index: 1;
}
.person_content .interview_line_left {
    border-top: solid 6px #E8E8E8;
    border-left: solid 6px #E8E8E8;
    z-index: 2;
    width: 700px;
    height: 600px;
    border-radius: 30px;
    position: absolute;
    left: 180px;
    top: 200px;
    z-index: 1;
}
.person_content .interview_line_left2 {
    border-top: solid 6px #E8E8E8;
    border-left: solid 6px #E8E8E8;
    border-bottom: solid 6px #E8E8E8;
    z-index: 2;
    width: 700px;
    height: 800px;
    border-radius: 30px;
    position: absolute;
    left: 0px;
    top: 300px;
    z-index: 1;
}
.person_content .interview_line_left3 {
    border-left: solid 6px #E8E8E8;
    border-bottom: solid 6px #E8E8E8;
    z-index: 2;
    width: 500px;
    height: 550px;
    border-radius: 30px;
    position: absolute;
    left: 200px;
    top: 300px;
    z-index: 1;
}
.person_content .interview_line_bottom {
    border-left: solid 6px #E8E8E8;
    z-index: 2;
    width: 20px;
    height: 300px;
    position: absolute;
    left: 750px;
    top: 300px;
    z-index: 1;
}
.person_content .intervew_photo01 {
    width: 280px;
    height: 280px;
    background-image: url(../images/person01_ph01.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 50px;
    top: 160px;
    z-index: 2;
}
.person_content .intervew_photo02 {
    width: 280px;
    height: 280px;
    background-image: url(../images/person01_ph02.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 40px;
    top: 80px;
    z-index: 2;
}
.person_content .intervew_photo03 {
    width: 280px;
    height: 280px;
    background-image: url(../images/person01_ph03.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 50px;
    top: 50px;
    z-index: 2;
}
.person02 .ttl_blk {
    height: 680px;
    background-image: url(../images/person02_ttl_line.svg);
    background-size: auto 250px;
    background-repeat: no-repeat;
    background-position: top 140px center;
    margin-bottom: 140px;
}
.person02 .ttl_blk .inner {
    height: 100%;
    position: relative;
}
.person02 .ttl_blk .inner h2 {
    font-size: 44px;
    font-weight: 800;
    line-height: 140%;
    position: absolute;
    right: 0;
    top: -20px;
}
.person02 .ttl_blk .inner .photo_image {
    width: 730px;
    height: 440px;
    background-image: url(../images/person02_ttl_ph.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 0px;
    bottom: 0px;
    z-index: 1;
}
.person02 .ttl_blk .inner .person_shoulder h3 {
    color: #003F93;
    font-size: 30px;
    margin-bottom: 80px;
}
.person02 .ttl_blk .inner .person_shoulder h3 span {
    color: #C1C1C1;
    font-size: 20px;
    display: block;
    margin-right: 6px;
}
.person02 .ttl_blk .inner .person_profile_box {
    position: relative;
    z-index: 2;
}
.person02 .ttl_blk .inner .person_profile_name {
    width: 500px;
    background-color: #4090ED;
    padding: 30px;
    border-radius: 22px;
    color: #fff;
    margin: 330px 0 0 50px;
    display: flex;
    justify-content: space-between;
}
.person02 .ttl_blk .inner .person_profile_name span {
    font-weight: 600;
    font-size: 160%;
}
.person02 .ttl_blk .inner .person_profile_name div:nth-of-type(2) {
    width: 45%;
}
.person02_ttl_blk_left {
    width: 100%;
    background-image: url(../images/person02_body_line01.svg);
    background-size: auto 228px;
    background-repeat: no-repeat;
    background-position: center bottom;
    padding-bottom: 190px;
}
.person02 .person02_ttl_blk_left .inner,.person02 .person02_ttl_blk_right .inner {
    max-width: 1200px;
    margin: 0 auto;
}
.person02 .person02_ttl_blk_left .inner h2,.person02 .person02_ttl_blk_right .inner h2 {
    color: #18B5B5;
    border: solid 6px #E8E8E8;
    display: inline-block;
    background-color: #fff;
    padding: 14px 34px;
    border-radius: 100px;
    min-width: 520px;
    text-align: center;
}
.person02_ttl_blk_right {
    width: 100%;
    background-image: url(../images/person02_body_line02.svg);
    background-size: auto 228px;
    background-repeat: no-repeat;
    background-position: center bottom;
    padding-bottom: 190px;
    text-align: right;
}
.person02_set {
    max-width: 1200px;
    margin: -150px auto 150px auto;
    font-size: 16px;
    line-height: 36px;
}
.person02_set .talk_box_left {
    display: flex;
    position: relative;
    margin-bottom: 40px;
}
.person02_set .talk_box_right {
    display: flex;
    justify-content: flex-end;
    position: relative;
    margin-bottom: 40px;
}
.person02_set .person02_name {
    width: 100px;
    padding-top: 20px;
    position: relative;
    z-index: 1;
}

.person02_set .fukidashi {
    position: relative;
}
.person02_set .fukidashi .fukidashi-body p {
    position: relative;
    z-index: 5;
}
.person02_set .talk_box_left .fukidashi-body {
    position: relative;
    display: inline-block;
    width: 600px;
    background: #FFF;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
    padding: 30px 50px;
    box-sizing: border-box;
    z-index: 3;
    margin: 0 0 0 30px;
    border-radius: 20px;
}
.person02_set .talk_box_left .diamond-1 {
    width: 60px;
    height: 60px;
    background: #fff;
    transform: rotate(-30deg) skew(30deg,30deg);
    box-shadow: 0px 5px 15px 10px rgba(0, 0, 0, 0.2);
    position: absolute;
    left: 5px;
    top: 60px;
    z-index: 2;
}
.person02_set .talk_box_left .diamond-2 {
    width: 60px;
    height: 60px;
    background: #fff;
    transform: rotate(-30deg) skew(30deg,30deg);
    position: absolute;
    left: -25px;
    top: 60px;
    z-index: 4;
}
.person02_set .talk_box_right .fukidashi-body {
    position: relative;
    display: inline-block;
    width: 650px;
    background: #FFF;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
    padding: 30px 50px;
    box-sizing: border-box;
    z-index: 3;
    margin: 0 30px 0 0;
    border-radius: 20px;
}
.person02_set .talk_box_right .diamond-1 {
    width: 60px;
    height: 60px;
    background: #fff;
    transform: rotate(-65deg) skew(30deg,30deg);
    box-shadow: 0px 5px 15px 10px rgba(0, 0, 0, 0.2);
    position: absolute;
    right: 5px;
    top: 60px;
    z-index: 2;
}
.person02_set .talk_box_right .diamond-2 {
    width: 60px;
    height: 60px;
    background: #fff;
    transform: rotate(-65deg) skew(30deg,30deg);
    position: absolute;
    right: 5px;
    top: 60px;
    z-index: 4;
}
.person02_set .person02_ph01 {
    width: 280px;
    height: 319px;
    background-image: url(../images/person02_ph01.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 160px;
    bottom: -180px;
}
.person02_set .person02_ph02 {
    width: 260px;
    height: 332px;
    background-image: url(../images/person02_ph02.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 100px;
    bottom: -240px;
}
.person02_set .person02_ph03 {
    width: 280px;
    height: 319px;
    background-image: url(../images/person02_ph03.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 160px;
    bottom: -180px;
}
.person02_set .person02_ph04 {
    width: 280px;
    height: 332px;
    background-image: url(../images/person02_ph04.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 0px;
    bottom: -180px;
}
.person02_set .person02_ph05 {
    width: 280px;
    height: 319px;
    background-image: url(../images/person02_ph05.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 60px;
    bottom: -180px;
}
.person02_set .person02_ph06 {
    width: 280px;
    height: 306px;
    background-image: url(../images/person02_ph06.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 80px;
    bottom: -180px;
}
.person02_set .person02_ph07 {
    width: 280px;
    height: 302px;
    background-image: url(../images/person02_ph07.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 0px;
    bottom: -180px;
}

/* youkou  */
.cat_youkou .ttl_blk {
    margin-bottom: 60px;
}
.cat_youkou .ttl_blk .inner {
    text-align: center;
    padding: 40px 60px;
    margin-bottom: 60px;
}
.cat_youkou .ttl_blk .inner .border_frame {
    width: 2200px;
    height: 100%;
    border: solid 6px #18B5B5;
    border-radius: 29px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0;
}
.cat_youkou .ttl_blk .inner h2 {
    font-size: 50px;
    color:  #18B5B5;
}
.cat_youkou .ttl_blk .inner h3 {
    font-size: 34px;
    color:  #C1C1C1;
    margin-top: 20px;
}
.cat_youkou .youkou_menu {
    max-width: 1200px;
    margin: 0 auto;
    text-align: right;
}
.cat_youkou .youkou_btn {
    width: 30%;
    margin-left: 20px;
}
.cat_youkou .youkou_btn.inactive {
    width: 30%;
    margin-left: 20px;
    padding: 20px 100px 20px 40px;
    background-color: #C1C1C1;
    font-size: 20px;
    font-weight: 600;
    border-radius: 18px;
    color: #fff;
    text-align: left;
}
.cat_youkou .youkou_btn a {
    width: 100%;
    height: 100%;
    background-color: #18B5B5;
    display: block;
    padding: 20px 100px 20px 40px;
    font-size: 20px;
    font-weight: 600;
    border-radius: 18px;
    color: #fff;
    text-align: left;
}
.cat_youkou .youkou_btn a:hover {
    background-color: #38D0D0;
}
.cat_youkou .youkou_btn a::after,.youkou_btn::after {
    content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    background-image: url(../images/arrow_type04.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 30px;
}
.cat_youkou .youkou_ug {
    max-width: 1200px;
    margin: 60px auto 100px auto;
    background-color: #F0F0F0;
    padding: 40px 90px 100px 90px;
}
.youkou_ug .contents_body_blk {
    width: 100%;
    background-color: #fff;
    padding: 40px 60px;
}
.youkou_ug h3 {
    font-size: 30px;
    margin: 50px 0 20px 0;
}
.cat_youkou dl {
    margin: 0px;
    display: flex;
    flex-wrap: wrap;
}
.cat_youkou dl dt {
    font-size: 20px;
    color: #1B9F9F;
    width: 5%;
    margin-bottom: 20px;
    text-align: center;
}
.cat_youkou dl dd {
    width: 95%;
    margin-bottom: 30px;
}
.cat_youkou dl.abput_table {
    margin: 40px auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.cat_youkou dl.abput_table dt {
    border-bottom: 2px solid #18B5B5;
    font-size: 16px;
    width: 14%;
    padding: 10px;
    margin-bottom: 10px;
}
.cat_youkou dl.abput_table dd {
    border-bottom: 2px solid #C1C1C1;
    font-size: 16px;
    width: 85%;
    padding: 10px;
    margin-bottom: 10px;
}
.cat_youkou dl.abput_table dd li {
    list-style-type: disc;
    margin-left: 1.5em;
}

/* faq  */
.cat_faq .ttl_blk {
    margin-bottom: 60px;
}
.cat_faq .ttl_blk .inner {
    text-align: center;
    padding: 40px 60px;
    margin-bottom: 60px;
    display: flex;
}
.cat_faq .ttl_blk .inner .border_frame {
    width: 2200px;
    height: 100%;
    background-color: #18B5B5;
    border-radius: 29px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.cat_faq .ttl_blk .inner h2 {
    font-size: 50px;
    color: #fff;
    position: relative;
    z-index: 1;
    padding-top: 20px;
}
.cat_faq .ttl_blk .inner p {
    color: #fff;
    position: relative;
    z-index: 1;
    text-align: left;
    margin-left: 100px;
}
.faq_content {
    max-width: 1100px;
    margin: 0 auto;
}
.faq_content h3 {
    font-size: 30px;
    color: #18B5B5;
    margin: 100px 0 10px 0;
}
.cat_faq .faq_box {
    width: 100%;
    margin: 0 auto 10px auto;
    font-size: 16px;
    line-height: 180%;
}
.cat_faq .faq_box .accordion {
    cursor: pointer;
    background-color: #fff;
    border: solid 6px #18B5B5;
    border-radius: 20px;
    margin-bottom: 20px;
}
.cat_faq .faq_box .qtext {
    background-image: url(../images/faq_arrow_down.svg);
    background-size: 32px;
    background-repeat: no-repeat;
    background-position: right 40px center;
    padding: 30px;
    display: flex;
}
.cat_faq .faq_box .qtext p {
    margin: 0;
}
.cat_faq .faq_box .qtext.active{
    background-image: url(../images/faq_arrow_up.svg);
}
.cat_faq .faq_box .qtext img {
    width: 25px;
    margin-right: 24px;
}
.cat_faq .faq_box .answer {
    background-image: url(../images/faq_answer.svg);
    background-size: 25px;
    background-repeat: no-repeat;
    background-position: left 30px center;
    padding-left: 50px;
    padding: 30px 30px 30px 80px;
    display: none;
    background-color: #E8E8E8;
    border-radius: 0 0 14px 14px;
}
.cat_faq .faq_box .answer ul {
    margin-left: 1em;
}
.cat_faq .faq_box .answer ul li {
    list-style-type: disc;
    margin:  1em;
}
.entry_btn_set {
    display: flex;
    justify-content: center;
}
.answer_entry {
    width: 220px;
    margin: 20px 20px 0px 0px;
}

/* numbers  */
.cat_numbers .ttl_blk {
    background-image: url(../images/number_ttl_line.svg);
    background-size: auto 75px;
    background-repeat: no-repeat;
    background-position: top 190px center;
}
.cat_numbers .ttl_blk .inner {
    display: flex;
    justify-content: space-between;
}
.cat_numbers .ttl_blk .inner h2 {
    font-size: 66px;
    font-weight: 800;
    line-height: 140%;
}
.cat_numbers .ttl_blk .inner h2 span {
    font-size: 46px;
    display: block;
}
.cat_numbers .ttl_blk .inner .numbers_image {
    width: 600px;
    height: 210px;
    background-image: url(../images/number_title_image.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: -65px;
}
.cat_numbers .numbers_content {
    max-width: 1200px;
    margin: 100px auto;
    text-align: center;
}
.cat_numbers .numbers_content .data_date {
    max-width: 1200px;
    margin: 10px auto;
    text-align: left;
}
.cat_numbers .numbers_content h3 {
    font-size: 34px;
    color: #18B5B5;
    border: solid 6px #E8E8E8;
    display: inline-block;
    background-color: #fff;
    padding: 14px 34px;
    border-radius: 100px;
    min-width: 520px;
    text-align: center;
    margin: 60px auto 30px;
}
.cat_numbers .numbers_content .numbers_set {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.cat_numbers .numbers_content .numbers_set .numbers_box {
    width: 31%;
    height: auto;
    border: solid 6px #18B5B5;
    border-radius: 40px;
    margin-bottom: 40px;
    padding: 30px;
    position: relative;
}
.cat_numbers .numbers_box .numbers_bg1 {
    width: 100%;
    height: 80px;
    background-color: #F0F0F0;
    transform: skewY(-6deg);
    position: absolute;
    top: 48%;
    left: 0;
    z-index: 0;
}
.cat_numbers .numbers_box .numbers_bg2 {
    width: 100%;
    height: 44%;
    background-color: #F0F0F0;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
    border-radius: 0 0 33px 33px;
}
.cat_numbers .numbers_box.box04 .numbers_bg1,.cat_numbers .numbers_box.box05 .numbers_bg1,.cat_numbers .numbers_box.box06 .numbers_bg1 {
    top: 42%;
}
.cat_numbers .numbers_box.box04 .numbers_bg2,.cat_numbers .numbers_box.box05 .numbers_bg2,.cat_numbers .numbers_box.box06 .numbers_bg2 {
    height: 46%;
}
.cat_numbers .numbers_box .box_upper,.cat_numbers .numbers_box .box_bottom {
    width: 100%;
    position: relative;
    z-index: 1;
    text-align: left;
}
.cat_numbers .numbers_box .box_upper {
    position: relative;
    z-index: 2;
    display: flex;
    margin-bottom: 30px;
}
.cat_numbers .box02 .box_upper {
    background-image: url(../images/number_box_image_1-2.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center right;
}
.cat_numbers .box03 .box_upper {
    background-image: url(../images/number_box_image_1-3.svg);
    background-size: 80px;
    background-repeat: no-repeat;
    background-position: center right;
    margin-bottom: 70px;
}
.cat_numbers .box04 .box_upper {
    background-image: url(../images/number_box_image_1-4.svg);
    background-size: 110px;
    background-repeat: no-repeat;
    background-position: center right;
}
.cat_numbers .box05 .box_upper {
    background-image: url(../images/number_box_image_1-5.svg);
    background-size: 100px;
    background-repeat: no-repeat;
    background-position: center right;
    margin-bottom: 40px;
}
.cat_numbers .box06 .box_upper {
    background-image: url(../images/number_box_image_1-6.svg);
    background-size: 90px;
    background-repeat: no-repeat;
    background-position: center right;
    margin-bottom: 40px;
}
.cat_numbers .numbers_box .box_upper .numbers_count_box {
    position: relative;
    text-align: center;
    color: #18B5B5;
    padding: 0 20px 0 0;
}
.cat_numbers .numbers_box .numbers_count {
    font-size: 120px;
    letter-spacing: -6px;
    font-family: 'Roboto', sans-serif;
    font-weight: 900;
    display: block;
    line-height: 90%;
}
.cat_numbers .box03 .numbers_count {
    font-size: 90px;
    letter-spacing: 1px;
}
.cat_numbers .numbers_box.box05 .numbers_count,.cat_numbers .numbers_box.box06 .numbers_count {
    font-size: 50px;
    letter-spacing: -3px;
}
.cat_numbers .numbers_box.box05 .numbers_count span,.cat_numbers .numbers_box.box06 .numbers_count span {
    font-size: 80px;
    letter-spacing: 1px;
    line-height: 100%;
    display: block;
}
.cat_numbers .numbers_box .numbers_count_box p {
    font-weight: 600;
    line-height: 90%;
    margin-bottom: 10px;
}
.cat_numbers .numbers_box .sub_text {
    font-size: 14px;
    line-height: 160%;
    margin-left: 20px;
}
.cat_numbers .numbers_box .box_bottom {
    font-size: 16px;
}
.cat_numbers .numbers_box .box_bottom h4 {
    font-size: 17px;
    color: #18B5B5;
}

.cat_numbers .numbers_content .numbers_set .numbers_box2 {
    width: 49%;
    height: auto;
    border: solid 6px #18B5B5;
    border-radius: 40px;
    margin-bottom: 20px;
    padding: 30px 20px;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items:center ;
}
.cat_numbers .numbers_box2 .numbers_bg1 {
    width: 20%;
    height: 100%;
    background-color: #F0F0F0;
    transform: skewX(-14deg);
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 0;
}
.cat_numbers .numbers_box2 .numbers_bg2 {
    width: 40%;
    height: 100%;
    background-color: #F0F0F0;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 0;
    border-radius: 0 33px 33px 0;
}
.cat_numbers .numbers_box2 .box_left,.cat_numbers .numbers_box2 .box_right {
    position: relative;
    text-align: left;
}
.cat_numbers .numbers_box2 .box_left {
    z-index: 1;
    width: 50%;
}
.cat_numbers .numbers_box2 .box_right {
    width: 40%;
    z-index: 2;
    font-size: 16px;
}
.cat_numbers .numbers_box2 .box_left .numbers_count_box {
    position: relative;
    text-align: center;
    color: #18B5B5;
    padding: 0 25px 0 0;
    line-height: 100%;
}
.cat_numbers .numbers_box2 .numbers_count {
    font-size: 46px;
    letter-spacing: -5px;
    font-family: 'Roboto', sans-serif;
    font-weight: 900;
    display: block;
    line-height: 90%;
    margin: 10px 0;
    padding: 10px 0;
}
.cat_numbers .numbers_box2.box02 .numbers_count {
    padding: 20px 0;
}
.cat_numbers .numbers_box2.box08 .numbers_count {
    padding: 20px 0;
}
.cat_numbers .numbers_box2 .numbers_count span {
    font-size: 80px;
    margin-right: 10px;
}
.cat_numbers .numbers_box2.box09 .numbers_count {
    line-height: 110%;
    font-size: 32px;
    letter-spacing: 0;
}
.cat_numbers .numbers_box2.box01 .numbers_count {
    font-size: 120px;
}
.cat_numbers .numbers_box2.box02 .numbers_count {
    font-size: 60px;
    padding-left: 70px;
}
.cat_numbers .numbers_box2.box08 .numbers_count {
    font-size: 60px;
    padding-left: 70px;
}
.cat_numbers .numbers_box2.box02 .numbers_count_box:nth-of-type(1) {
    background-image: url(../images/number_box_image_2-2a.svg);
    background-size: 60px;
    background-repeat: no-repeat;
    background-position: left center;
}
.cat_numbers .numbers_box2.box02 .numbers_count_box:nth-of-type(2) {
    margin: 20px 0 0 0;
    background-image: url(../images/number_box_image_2-2b.svg);
    background-size: 50px;
    background-repeat: no-repeat;
    background-position: left 10px center;
}
.cat_numbers .numbers_box2.box08 .numbers_count_box:nth-of-type(1) {
    background-image: url(../images/number_box_image_2-8a.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left 10px center;
}
.cat_numbers .numbers_box2.box08 .numbers_count_box:nth-of-type(2) {
    margin: 20px 0 0 0;
    background-image: url(../images/number_box_image_2-8b.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left 10px center;
}
.cat_numbers .numbers_box2.box03 .box_right {
    background-image: url(../images/number_box_image_2-3.svg);
    background-size: 90px;
    background-repeat: no-repeat;
    background-position: center top;
    padding-top: 100px;
}
.cat_numbers .numbers_box2.box04 .box_right {
    background-image: url(../images/number_box_image_2-4.svg);
    background-size: 90px;
    background-repeat: no-repeat;
    background-position: center top;
    padding-top: 100px;
}
.cat_numbers .numbers_box2.box06 .box_right {
    background-image: url(../images/number_box_image_2-6.svg);
    background-size: 90px;
    background-repeat: no-repeat;
    background-position: center top;
    padding-top: 100px;
}
.cat_numbers .numbers_box2 .numbers_count_box p {
    font-size: 14px;
    color: #333;
    line-height: 120%;
    margin-bottom: 5px;
    text-align: left;
}
.cat_numbers .numbers_box2 .sub_text {
    font-size: 14px;
    line-height: 160%;
    margin-left: 20px;
}
.cat_numbers .numbers_box2 .box_right h4 {
    font-size: 17px;
    color: #18B5B5;
}
.cat_numbers .numbers_box2 .box_left {
    position: relative;
    z-index: 2;
}
.cat_numbers .numbers_box2.box01 .box_left {
    background-image: url(../images/number_box_image_2-1.svg);
    background-size: 80px;
    background-repeat: no-repeat;
    background-position: left 80px bottom;
    padding-bottom: 100px;
}
.cat_numbers .numbers_box2.box09 .box_left {
    background-image: url(../images/number_box_image_2-9.svg);
    background-size: 100px;
    background-repeat: no-repeat;
    background-position: left 70px bottom;
    padding-bottom: 100px;
}

.cat_numbers .numbers_content .numbers_box3 {
    width: 100%;
    height: auto;
    border: solid 6px #18B5B5;
    border-radius: 40px;
    margin-bottom: 20px;
    padding: 30px;
    position: relative;
    display: flex;
    justify-content: space-between;
}
.cat_numbers .numbers_box3 .numbers_bg1 {
    width: 15%;
    height: 100%;
    background-color: #F0F0F0;
    transform: skewX(-14deg);
    position: absolute;
    top: 0;
    left: 74%;
    z-index: 0;
}
.cat_numbers .numbers_box3 .numbers_bg2 {
    width: 20%;
    height: 100%;
    background-color: #F0F0F0;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 0;
    border-radius: 0 33px 33px 0;
}
.cat_numbers .numbers_box3 .box_left,.cat_numbers .numbers_box3 .box_right {
    position: relative;
    text-align: left;
}
.cat_numbers .numbers_box3 .box_left {
    z-index: 1;
    height: 390px;
    width: 76%;
    background-image: url(../images/number_box_image_2-7.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    color: #18B5B5;
    font-size: 40px;
    letter-spacing: -3px;
    font-family: 'Roboto', sans-serif;
    font-weight: 900;
    display: block;
    line-height: 90%;
    position: relative;
}
.cat_numbers .numbers_box3 .box_left span {
    font-size: 80px;
}
.cat_numbers .numbers_box3 .box_left .box07_count01 {
    position: absolute;
    top: 95px;
    left: 250px;
    text-align: right;
}
.cat_numbers .numbers_box3 .box_left .box07_count02 {
    position: absolute;
    top: 95px;
    left: 660px;
    text-align: right;
}
.cat_numbers .numbers_box3 .box_left .box07_count03 {
    position: absolute;
    top: 280px;
    left: 200px;
    letter-spacing: -3px;
    text-align: right;
}
.cat_numbers .numbers_box3 .box_left .box07_count04 {
    position: absolute;
    top: 280px;
    left: 660px;
    letter-spacing: -3px;
    text-align: right;
}
.cat_numbers .numbers_box3 .box_right {
    width: 20%;
    z-index: 2;
    font-size: 16px;
    position: relative;
}
.cat_numbers .numbers_box3 .box_right div {
    transform: translateY(110%);
}
.cat_numbers .numbers_box3 .box_right h4 {
    font-size: 17px;
    color: #18B5B5;
}


}
/* pc end  */

@media screen and (max-width:1400px) {
    .kv_blk .kv_inner .kv_ph01 {
        width: 22.431vw;
        height: 22.431vw;
        left: -1.458vw;
    }
    .kv_blk .kv_inner .kv_ph02 {
        width: 22.431vw;
        height: 22.431vw;
        left: 20.972vw;
    }
    .kv_blk .kv_inner .kv_ph03 {
        width: 18.889vw;
        height: 18.889vw;
        left: 36.111vw;
    }
    .kv_blk .kv_inner .kv_ph04 {
        width: 21.667vw;
        height: 21.667vw;
        left: 46.736vw;
    }
    .kv_blk .kv_inner .kv_ph05 {
        width: 15vw;
        height: 15vw;
        left: 60.417vw;
    }
    .kv_blk .kv_inner .kv_ph06 {
        width: 26.181vw;
        height: 26.181vw;
        right: 0px;
    }
    .kv_blk .kv_inner .kv_ph07 {
        width: 22.431vw;
        height: 22.431vw;
        right: 2.778vw;
    }
}


@media screen and (max-width:1023px) {

/* commmon */

*,
*:before,
*:after {
    box-sizing: border-box;
}

body {
	font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', Helvetica, 'メイリオ', 'ＭＳ Ｐゴシック', sans-serif, sans-serif;
    font-size: 3.4vw;
	line-height: 180%;
	color: #454545;
	background: #ffffff;
    font-weight: 400;
    letter-spacing: 1px;
    position: relative;
}

body {
    overflow-x: hidden !important;
}

.forpc {
    display: none;
}
.alpha a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=50);
    -ms-filter: "alpha(opacity=70)";
}
a {
display: block;
width: 100%;
height: 100%;
color: unset;
text-decoration: none;
}
img {
    width: 100%;
}

/* footer  */
footer {
    width: 100%;
    margin: 12vw auto;
    padding: 5.333vw;
}
footer section {
    text-align: center;
    border: solid 5px #18B5B5;
    padding: 5.333vw;
    font-size: 90%;
    border-radius: 4.267vw;
}
.footer_blk {
    display: flex;
    text-align: left;
    margin-top: 0px;
    margin-bottom: 2.933vw;
    justify-content: space-between;
}
.footer_blk .footer_logo {
    display: none;
    width: 59.2vw;
    height: 12.667vw;
    background-image: url(../images/logo_full.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    text-indent: -1333.2vw;
    font-size: 0px;
}
.footer_blk .footer_txt {
    font-size: 3vw;
    line-height: 160%;
    margin: 1.333vw 0;
}
.footer_bottom {
    text-align: center;
    border-top: 1px solid #707070;
    padding: 1.6vw 0 0 0;
}

.pagetop {
    width: 17vw;
    height: 17vw;
    position: fixed;
    right: 0;
    bottom: 0;
    opacity: 0;
    transition: all  0.6s ease;
    z-index: 100;
}

.pagetop.scroll {
    opacity: 1;
}
.set_center {
    width: 100%;
    text-align: center;
}

.gray_btn {
    position: relative;
    display: inline-block;
}
.gray_btn a {
    background-color: #E8E8E8;
    display: block;
    padding: 4vw 35vw 4vw 8vw;
    font-size: 3.4vw;
    border-radius: 13.333vw;
}
.gray_btn a:hover {
    background-color: #D5D5D5;
}
.gray_btn a::after {
    content: '';
    display: inline-block;
    width: 5vw;
    height: 5vw;
    background-image: url(../images/arrow_type01.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 5vw;
}


/* header */

header {
    width: 100%;
    height: 12vw;
    position: fixed;
    z-index: 100;
    background-color: rgba(255,255,255,0);
    display: flex;
    font-size: 4vw;
    transition: 0.5s;
}
header#second {
    background-color: rgba(255,255,255,0.7);
}
header.scroll-nav {
    background-color: rgba(255,255,255,0.8);
}
.company_logo2 {
    width: 49%;
    max-width: 50.533vw;
    height: 10vw;
    background-image: url(../images/logo_full.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    font-size: 0px;
    text-indent: -9999px;
    margin: 1vw 3vw;
    transition: 0.5s;
}
header .company_logo {
    width: 49%;
    max-width: 50.533vw;
    height: 10vw;
    background-image: url(../images/logo_full.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    font-size: 0px;
    text-indent: -9999px;
    margin: 1vw 3vw;
    transition: 0.5s;
}
header .company_logo a {
    font-size: 0px;
    text-indent: -9999px;
}
header .rec_header_txt {
    display: none;
}

header .gmenu {
    margin: 0;
    justify-content: flex-end;
}
header .gmenu ul {
    margin: 10vw 0;
    padding: 0;
    border-bottom: 1px solid #999;
}
header .gmenu ul li {
    list-style: none;
    margin: 0 1.6vw;
    border-top: 1px solid #999;
}
header .gmenu ul li ul {
    display: block;
    margin: 0;
    border: none;
}
header .gmenu ul li ul li {
    border-top: none;
    background-color: #e0e0e0;
    margin-bottom: 2vw;
}
header .gmenu ul li a {
    width: 100%;
    height: auto;
    padding: 5vw;
    display: block;
    font-weight: 300;
    line-height: 80%;
    text-decoration: none;
    -webkit-transition: all 0.6s ease;
    -moz-transition: all 0.6s ease;
    -o-transition: all 0.6s ease;
    transition: all  0.6s ease;
}
header#second .gmenu ul li a {
    color: #434343;
}
header.scroll-nav .gmenu ul li a {
        color: #434343;
}
header .gmenu ul li a:hover {
        background-color: #C3DEFF;
}
header .haeder_contact {
        color: #fff;
        text-align: center;
        margin: 1.6vw;
}
header .haeder_contact a {
        width: 100%;
        height: auto;
        padding: 6vw 2vw;
        background-color: #ED4082;
        display: block;
        color: unset;
        line-height: 100%;
        text-decoration: none;
        border-radius: 10vw;
        border-right: solid 1px #999;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all  0.3s ease;
        
}
header .haeder_contact a:hover {
        background-color: #FF79AC;
}


/* top page  */
.kv_blk {
    width: 100%;
    height: 206.933vw;
    position: relative;
    background-image: url(../images/sp_kv_bg_line.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top center;
    margin-bottom: 16vw;
}
.kv_blk .kv_inner {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}
.kv_blk .kv_inner .kv_ph_circle {
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.kv_blk .kv_inner .kv_ph01 {
    width: 43.067vw;
    height: 43.067vw;
    bottom: 10vw;
    left: -4vw;
    background-image: url(../images/kv_circle_img01.png);
}
.kv_blk .kv_inner .kv_ph02 {
    width: 40.267vw;
    height: 40.267vw;
    top: 13.333vw;
    left: 6vw;
    background-image: url(../images/kv_circle_img02.png);
}
.kv_blk .kv_inner .kv_ph03 {
    width: 36.267vw;
    height: 36.267vw;
    left: 59.733vw;
    top: 83.2vw;
    background-image: url(../images/kv_circle_img03.png);
}
.kv_blk .kv_inner .kv_ph04 {
    width: 41.6vw;
    height: 41.6vw;
    left: 61.467vw;
    top: 19.733vw;
    background-image: url(../images/kv_circle_img04.png);
}
.kv_blk .kv_inner .kv_ph05 {
    width: 28.8vw;
    height: 28.8vw;
    left: 47.067vw;
    top: 124.267vw;
    background-image: url(../images/kv_circle_img05.png);
}
.kv_blk .kv_inner .kv_ph06 {
    width: 50.267vw;
    height: 50.267vw;
    left: -6vw;
    top: 96.8vw;
    background-image: url(../images/kv_circle_img06.png);
}
.kv_blk .kv_inner .kv_ph07 {
    width: 43.067vw;
    height: 43.067vw;
    left: 54.267vw;
    top: 163.733vw;
    background-image: url(../images/kv_circle_img07.png);
}
.kv_blk .kv_inner .kv_copy {
    position: relative;
    padding: 58vw 0 0 3vw;
    z-index: 10;
}
.kv_blk .kv_inner .kv_copy h2 {
    width: 63.2vw;
    height: 24.533vw;
    background-image: url(../images/kv_rec_copy.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    text-indent: -1333.2vw;
    font-size: 0px;
}
.kv_blk .kv_inner .kv_copy h3 {
    width: 60vw;
    height: 5vw;
    background-image: url(../images/kv_rec_sub_copy.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    text-indent: -1333.2vw;
    font-size: 0px;
    margin-top: 3vw;
}

.top_message {
    height: 100%;
    position: relative;
    margin-bottom: 16vw;
    background-image: url(../images/sp_top_line_01.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top center;
    overflow: hidden;
}
.top_message .inner {
    width: 92vw;
    height: 100%;
    margin: 0 auto;
    position: relative;
}
.top_message .inner .box_left {
    width: 80%;
    position: relative;
}
.top_message .inner .box_left h2 {
    font-family: 'Roboto', sans-serif;
    color: #18B5B5;
    font-size: 11vw;
    margin-top: 8vw;
}
.top_message .inner .box_left h3 {
    font-size: 3.4vw;
}
.top_message .inner .box_left p {
    margin-top: 4vw;
    color: #18B5B5;
    font-size: 3.6vw;
    line-height: 180%;
    font-weight: 600;
}
.top_message .inner .box_left .message_photo {
    width: 44.8vw;
    height: 37.2vw;
    position: absolute;
    right: -25vw;
    top: 10vw;
}
.top_message .inner .box_right {
    width: 80%;
    padding-top: 4vw;
}
.top_message .inner .box_right p {
    margin-bottom: 2em;
    font-size: 3.2vw;
    line-height: 170%;
}


.top_numbers {
    position: relative;
    margin-bottom: 26.667vw;
}
.top_numbers .inner {
    width: 92vw;
    height: 100%;
    margin: 0 auto;
    position: relative;
}
.top_numbers .inner .box_left {
    width: 76vw;
    z-index: 10;
    margin: 0 auto;
}
.top_numbers .inner .box_right {
    width: 100%;
    text-align: center;
    z-index: 9;
}
.top_numbers .inner .box_right h2 {
    font-size: 8.8vw;
    margin-top: 6vw;
}
.top_numbers .inner .box_right h2 span {
    font-size: 4.8vw;
    display: block;
}
.top_numbers .inner .box_right hr {
    display: none;
}
.top_numbers .inner .box_right .gray_btn {
    margin-top: 4vw;
}

.top_person {
    width: 100%;
    position: relative;
    margin-bottom: 16vw;
    background-image: url(../images/sp_top_line_03.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top 36vw center;
}
.top_person .inner {
    width: 92vw;
    height: 100%;
    margin: 0 auto;
    position: relative;
    padding-bottom: 20vw;
}
.top_person .inner .top_person_title {
    width: 100%;
}
.top_person .inner .top_person_title h2 {
    font-size: 8.8vw;
    color: #003F93;
    font-weight: 900;
    margin-right: 8vw;
}
.top_person .inner .top_person_title p {
    margin-top: 1.333vw;
}
.top_person .inner .top_person_blk {
    width: 90%;
}
.top_person .inner .top_person_blk .top_person01_box {
    width: 100%;
    height: 84vw;
    border-radius: 3.067vw;
    background-image: url(../images/top_person_01.png);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: top center;
    position: relative;
    margin-top: 15vw;
}
.top_person .inner .top_person_blk .top_person02_box {
    width: 100%;
    height: 84vw;
    border-radius: 3.067vw;
    background-image: url(../images/top_person_02.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top center;
    position: relative;
    margin-top: 10vw;
}
.top_person_prfole_box {
    width: 100%;
    border-radius: 3.067vw;
    color: #fff;
    padding: 2.667vw 4vw;
    background-color: #4090ED;
    position: absolute;
    left: 0;
    bottom: 0;
    background-image: url(../images/arrow_type04.svg);
    background-size: 6.667vw;
    background-repeat: no-repeat;
    background-position: bottom 20px right 20px;
    font-weight: 600;
}
.top_person_prfole_box:hover {
    background-color: #71B0F8;
}
.top_person_prfole_box .person02_name {
    font-size: 90%;
    display: flex;
}
.top_person_prfole_box p {
    margin-top: 2em;
}
.top_person_prfole_box .person02_name span {
    font-size: 120%;
}
.top_person_prfole_box .person02_name div{
    width: 50%;
}


.top_youkou {
    position: relative;
    margin-bottom: 16vw;
}
.top_youkou .inner {
    width: 92vw;
    padding: 8vw 0;
    height: 100%;
    margin: 0 auto;
    position: relative;
}
.top_youkou .inner .border_frame {
    width: 100%;
    height: 100%;
    border: solid 5px #18B5B5;
    border-radius: 3.867vw;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0;
}
.top_youkou .inner h2 {
    width: 100%;
    text-align: center;
    font-size: 6.667vw;
    color: #18B5B5;
}
.top_youkou .inner .link_blk {
    max-width: 100%;
    margin: 10vw auto;
    text-align: center;
}

.youkou_btn {
    width: 80%;
    position: relative;
    display: inline-block;
    margin: 1em auto;
}
.youkou_btn a {
    width: 100%;
    height: 100%;
    background-color: #18B5B5;
    display: block;
    padding: 8vw 13.333vw 8vw 6vw;
    font-size: 4.4vw;
    border-radius: 2.933vw;
    color: #fff;
    text-align: left;
}
.youkou_btn a:hover {
    background-color: #38D0D0;
}
.youkou_btn a::after {
    content: '';
    display: inline-block;
    width: 5.333vw;
    height: 5.333vw;
    background-image: url(../images/arrow_type04.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 4vw;
}

.top_faq {
    width: 100%;
    position: relative;
    margin-bottom: 16vw;
    overflow: hidden;
}
.top_faq .inner {
    width: 92vw;
    margin: 0 auto;
    position: relative;
    text-align: center;
    padding-bottom: 10vw;
}
.top_faq .inner .border_frame {
    width: 100vw;
    height: 100%;
    background-color: #18B5B5;
    border-radius: 3.867vw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.top_faq .inner .top_faq_box {
    width: 100%;
    margin: 0 auto;
    padding-top: 6.667vw;
    position: relative;
}
.top_faq .inner .top_faq_box h2 {
    font-family: 'Roboto', sans-serif;
    color: #fff;
    font-size: 9.333vw;
    margin-top: 2.667vw;
}
.top_faq .inner .top_faq_box p {
    margin-top: 2.667vw;
    color: #fff;
}
.top_faq .inner .top_faq_box .gray_btn {
    margin-top: 4vw;
}

.top_topics {
    width: 100%;
    position: relative;
    background-image: url(../images/sp_top_line_05.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top center;
}
.top_topics .inner {
    width: 92vw;
    height: 100%;
    margin: 0 auto;
    position: relative;
}
.top_topics .inner .box_left {
    width: 100%;
}
.top_topics .inner .box_left h2 {
    font-family: 'Roboto', sans-serif;
    color: #18B5B5;
    font-size: 9.333vw;
    padding-top: 7vw;
}
.top_topics .inner .box_right {
    width: 100%;
    padding: 6.667vw 0;
}
.top_topics .inner .box_right dl {
    width: 100%;
}
.top_topics .inner .box_right dl dt {
    width: 100%;
    color: #18B5B5;
    font-weight: 600;
    padding: 3vw 0 0 0;
}
.top_topics .inner .box_right dl dd {
    width: 100%;
    border-bottom: 1px dotted #8E8E8E;
    padding: 2vw 0 3vw 0;
}
/* top page end  */

/* second  */
.ttl_blk {
    width: 100%;
    padding-top: 21.333vw;
    position: relative;
    overflow: hidden;
}
.ttl_blk .inner {
    max-width: 160vw;
    position: relative;
    margin: 0 auto 6vw auto;
}


/* interview  */
.person01 .ttl_blk {
    background-image: url(../images/sp_person01_ttl_line.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top 33vw center;
}
.person01 .ttl_blk .inner {
    width: 92vw;
    display: flex;
    justify-content: space-between;
}
.person01 .ttl_blk .inner h2 {
    padding: 5vw 0 0 0;
    font-size: 4.6vw;
    font-weight: 800;
    line-height: 140%;
}
.person01 .ttl_blk .inner .photo_image {
    width: 34.267vw;
    height: 45.6vw;
    background-image: url(../images/person01_ttl_ph.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: 6vw;
    margin-left: -8vw;
}
.person01 .ttl_blk .inner .person_shoulder h3 {
    color: #003F93;
    font-size: 4.3vw;
    text-align: right;
    margin-bottom: 3vw;
}
.person01 .ttl_blk .inner .person_shoulder h3 span {
    color: #C1C1C1;
    font-size: 2.667vw;
    display: block;
    line-height: 90%;
    margin-right: 0.8vw;
}
.person01 .ttl_blk .inner .person_profile_box {
    width: 60%;
}
.person01 .ttl_blk .inner .person_profile_name {
    width: 53.333vw;
    background-color: #4090ED;
    padding: 4vw;
    border-radius: 2.933vw;
    color: #fff;
    margin: 4vw 0 0 0;
}
.person01 .ttl_blk .inner .person_profile_name span {
    font-weight: 600;
    font-size: 160%;
}
.person_content {
    width: 92vw;
    margin: 0 auto;
    position: relative;
}
.person_content .interview_left {
    width: 100%;
    padding-right: 8vw;
    margin-bottom: 8vw;
    position: relative;
}
.person_content .interview_left2 {
    width: 100%;
    padding-right: 12%;
    margin-bottom: 8vw;
    position: relative;
}
.person_content .interview_right {
    width: 100%;
    padding-left: 8vw;
    margin-bottom: 8vw;
    position: relative;
}
.person_content .interview_center {
    width: 100%;
    padding: 0px 4vw;
    margin-bottom: 8vw;
    position: relative;
}
.person_content .interview_center2 {
    width: 100%;
    padding: 0px 6%;
    margin-bottom: 8vw;
    position: relative;
}
.person_content .interview_box {
    width: 100%;
    border: solid 4px #4090ED;
    border-radius: 2.667vw;
    padding: 6vw 8vw;
    position: relative;
    z-index: 2;
    background-color: #fff;
}
.person_content .interview_box2 {
    width: 100%;
    border: solid 4px #C1C1C1;
    border-radius: 2.667vw;
    padding: 6vw 12vw;
    position: relative;
    z-index: 2;
    background-color: #fff;
    height: 110.733vw;
    background-image: url(../images/sp_person01_schedule.png);
    background-size: 90%;
    background-repeat: no-repeat;
    background-position: center;
}
.person_content .interview_box h3  {
    color: #4090ED;
    font-size: 4vw;
    border-bottom: solid 6px #E8E8E8;
    padding-bottom: 4vw;
    margin-bottom: 4vw;
}
.person_content .interview_box p  {
    line-height: 240%;
}
.person_content .interview_line_right {
    display: none;
}
.person_content .interview_line_right2 {
    display: none;
}
.person_content .interview_line_left {
    display: none;
}
.person_content .interview_line_left2 {
    display: none;
}
.person_content .interview_line_left3 {
    display: none;
}
.person_content .interview_line_bottom {
    display: none;
}
.person_content .intervew_photo01 {
    width: 100%;
    height: 53.333vw;
    background-image: url(../images/person01_ph01.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    margin-top: 10vw;
    z-index: 2;
}
.person_content .intervew_photo02 {
    width: 100%;
    height: 53.333vw;
    background-image: url(../images/person01_ph02.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    margin-top: 10vw;
    z-index: 2;
}
.person_content .intervew_photo03 {
    width: 100%;
    height: 53.333vw;
    background-image: url(../images/person01_ph03.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    margin-top: 10vw;
    z-index: 2;
}
.person02 .ttl_blk {
    background-image: url(../images/sp_person02_ttl_line.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top 20vw center;
    margin-bottom: 10vw;
}
.person02 .ttl_blk .inner {
    width: 92vw;
    position: relative;
}
.person02 .ttl_blk .inner h2 {
    font-size: 4.8vw;
    font-weight: 800;
    line-height: 140%;
    text-align: right;
    position: absolute;
    right: 0;
    top: 0;
}
.person02 .ttl_blk .inner .photo_image {
    width: 78.4vw;
    height: 42.667vw;
    background-image: url(../images/person02_ttl_ph.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 0px;
    top: 18vw;
    z-index: 1;
}
.person02 .ttl_blk .inner .person_shoulder {
    padding-left: 8vw;
}
.person02 .ttl_blk .inner .person_shoulder h3 {
    color: #003F93;
    font-size: 4vw;
    margin-bottom: 10.667vw;
}
.person02 .ttl_blk .inner .person_shoulder h3 span {
    color: #C1C1C1;
    font-size: 2.667vw;
    display: block;
    margin-right: 0.8vw;
}
.person02 .ttl_blk .inner .person_profile_box {
    position: relative;
    z-index: 2;
}
.person02 .ttl_blk .inner .person_profile_name {
    width: 87.733vw;
    background-color: #4090ED;
    padding: 4vw;
    border-radius: 2.933vw;
    color: #fff;
    margin: 45vw 0 0 0;
    display: flex;
    font-size: 3vw;
}
.person02 .ttl_blk .inner .person_profile_name span {
    font-weight: 600;
    font-size: 140%;
}
.person02 .ttl_blk .inner .person_profile_name div:nth-of-type(1) {
    width: 55%;
}
.person02_ttl_blk_left {
    width: 100%;
    background-image: url(../images/sp_person02_body_line01.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center bottom;
    padding-bottom: 22vw;
    padding-left: 3vw;
}
.person02 .person02_ttl_blk_left .inner,.person02 .person02_ttl_blk_right .inner {
    max-width: 160vw;
    margin: 0 auto;
}
.person02 .person02_ttl_blk_left .inner h2,.person02 .person02_ttl_blk_right .inner h2 {
    color: #18B5B5;
    border: solid 4px #E8E8E8;
    display: inline-block;
    background-color: #fff;
    padding: 3vw 5vw;
    border-radius: 100px;
    text-align: center;
    font-size: 4.533vw;;
}
.person02_ttl_blk_right {
    width: 100%;
    background-image: url(../images/sp_person02_body_line02.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center bottom;
    padding-bottom: 22vw;
    padding-right: 3vw;
    text-align: right;
}
.person02_set {
    width: 92vw;
    margin: -10vw auto 10vw auto;
    font-size: 3.2vw;
    line-height: 6.6vw;
}
.person02_set .talk_box_left {
    display: flex;
    position: relative;
    margin-bottom: 5.333vw;
}
.person02_set .talk_box_right {
    display: flex;
    justify-content: flex-end;
    position: relative;
    margin-bottom: 5.333vw;
}
.person02_set .person02_name {
    width: 17.067vw;
    position: relative;
    z-index: 1;
    padding-top: 2vw;
}
.bottom-space01 {
    padding-bottom: 50vw;
}
.person02_set .fukidashi {
    width: 78.667vw;
    position: relative;
}
.person02_set .fukidashi .fukidashi-body p {
    position: relative;
    z-index: 5;
}
.person02_set .talk_box_left .fukidashi-body {
    position: relative;
    display: inline-block;
    background: #FFF;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
    padding: 4vw 6.667vw;
    box-sizing: border-box;
    z-index: 3;
    margin: 0 0 0 4vw;
    border-radius: 2.667vw;
}
.person02_set .talk_box_left .diamond-1 {
    width: 8vw;
    height: 8vw;
    background: #fff;
    transform: rotate(-30deg) skew(30deg,30deg);
    box-shadow: 0px 5px 15px 10px rgba(0, 0, 0, 0.2);
    position: absolute;
    left: 0.667vw;
    top: 8vw;
    z-index: 2;
}
.person02_set .talk_box_left .diamond-2 {
    width: 8vw;
    height: 8vw;
    background: #fff;
    transform: rotate(-30deg) skew(30deg,30deg);
    position: absolute;
    left: -3.333vw;
    top: 8vw;
    z-index: 4;
}
.person02_set .talk_box_right .fukidashi-body {
    position: relative;
    display: inline-block;
    background: #FFF;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
    padding: 4vw 6.667vw;
    box-sizing: border-box;
    z-index: 3;
    margin: 0 4vw 0 0;
    border-radius: 2.667vw;
}
.person02_set .talk_box_right .diamond-1 {
    width: 8vw;
    height: 8vw;
    background: #fff;
    transform: rotate(-65deg) skew(30deg,30deg);
    box-shadow: 0px 5px 15px 10px rgba(0, 0, 0, 0.2);
    position: absolute;
    right: 0.667vw;
    top: 8vw;
    z-index: 2;
}
.person02_set .talk_box_right .diamond-2 {
    width: 8vw;
    height: 8vw;
    background: #fff;
    transform: rotate(-65deg) skew(30deg,30deg);
    position: absolute;
    right: 0.667vw;
    top: 8vw;
    z-index: 4;
}
.person02_set .person02_ph01 {
    width: 49.867vw;
    height: 42.533vw;
    background-image: url(../images/person02_ph01.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 28vw;
    bottom: 0;
}
.person02_set .person02_ph02 {
    width: 44.267vw;
    height: 44.267vw;
    background-image: url(../images/person02_ph02.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 28vw;
    bottom: 0;
}
.person02_set .person02_ph03 {
    width: 49.867vw;
    height: 42.533vw;
    background-image: url(../images/person02_ph03.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 28vw;
    bottom: 0;
}
.person02_set .person02_ph04 {
    width: 44.267vw;
    height: 44.267vw;
    background-image: url(../images/person02_ph04.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 28vw;
    bottom: 0;
}
.person02_set .person02_ph05 {
    width: 49.867vw;
    height: 42.533vw;
    background-image: url(../images/person02_ph05.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 28vw;
    bottom: 0;
}
.person02_set .person02_ph06 {
    width: 47.467vw;
    height: 40.8vw;
    background-image: url(../images/person02_ph06.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 28vw;
    bottom: 0;
}
.person02_set .person02_ph07 {
    width: 40.267vw;
    height: 40.267vw;
    background-image: url(../images/person02_ph07.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 28vw;
    bottom: 0;
}

/* youkou  */
.cat_youkou .ttl_blk {
    margin-bottom: 2vw;
}
.cat_youkou .ttl_blk .inner {
    height: auto;
    text-align: center;
    padding: 5.333vw 8vw;
}
.cat_youkou .ttl_blk .inner .border_frame {
    width: 293.333vw;
    height: 100%;
    border: solid 4px #18B5B5;
    border-radius: 3.867vw;
    position: absolute;
    top: 0;
    right: 4vw;
    z-index: 0;
}
.cat_youkou .ttl_blk .inner h2 {
    font-size: 6.667vw;
    color:  #18B5B5;
}
.cat_youkou .ttl_blk .inner h3 {
    font-size: 4.533vw;
    color:  #C1C1C1;
    margin-top: 2.667vw;
}
.cat_youkou .youkou_menu {
    width: 92vw;
    margin: 0 auto;
}
.cat_youkou .youkou_btn {
    width: 45%;
}
.cat_youkou .youkou_btn.inactive {
    width: 48%;
    margin-left: 2.667vw;
    padding: 2.667vw 8vw 2.667vw 5.333vw;
    background-color: #C1C1C1;
    font-size: 3.2vw;
    font-weight: 600;
    border-radius: 2.4vw;
    color: #fff;
    text-align: left;
}
.cat_youkou .youkou_btn a {
    width: 100%;
    height: 100%;
    background-color: #18B5B5;
    display: block;
    padding: 2.667vw 8vw 2.667vw 5.333vw;
    font-size: 3.2vw;
    font-weight: 600;
    border-radius: 2.4vw;
    color: #fff;
    text-align: left;
}
.cat_youkou .youkou_btn a:hover {
    background-color: #38D0D0;
}
.cat_youkou .youkou_btn a::after,.youkou_btn::after {
    content: '';
    display: inline-block;
    width: 4vw;
    height: 4vw;
    background-image: url(../images/arrow_type04.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 4vw;
}
.cat_youkou .youkou_ug {
    width: 100%;
    margin: 4vw auto 12vw auto;
    background-color: #F0F0F0;
    padding: 2vw 8vw;
}
.youkou_ug .contents_body_blk {
    width: 100%;
    background-color: #fff;
    padding: 5.333vw 4vw;
}
.youkou_ug h3 {
    font-size: 4.4vw;
    margin: 6.667vw 0 2.667vw 0;
}
.cat_youkou dl {
    margin: 0px;
    display: flex;
    flex-wrap: wrap;
}
.cat_youkou dl dt {
    font-size: 2.667vw;
    color: #1B9F9F;
    width: 5%;
    margin-bottom: 2.667vw;
    text-align: center;
}
.cat_youkou dl dd {
    width: 95%;
    margin-bottom: 4vw;
}
.cat_youkou dl.abput_table {
    margin: 4vw auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.cat_youkou dl.abput_table dt {
    border-bottom: 2px solid #18B5B5;
    font-size: 3.2vw;
    width: 24%;
    padding: 1.333vw;
    margin-bottom: 1.333vw;
}
.cat_youkou dl.abput_table dd {
    border-bottom: 2px solid #C1C1C1;
    font-size: 3.2vw;
    width: 75%;
    padding: 1.333vw;
    margin-bottom: 1.333vw;
}
.cat_youkou dl.abput_table dd li {
    list-style-type: disc;
    margin-left: 1.5em;
}

/* faq  */
.cat_faq .ttl_blk {
    margin-bottom: 8vw;
}
.cat_faq .ttl_blk .inner {
    width: 92vw;
    text-align: center;
    padding: 5.333vw 8vw;
    margin-bottom: 8vw;
    display: flex;
}
.cat_faq .ttl_blk .inner .border_frame {
    width: 120vw;
    height: 100%;
    background-color: #18B5B5;
    border-radius: 3.867vw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.cat_faq .ttl_blk .inner h2 {
    font-size: 8vw;
    color: #fff;
    position: relative;
    z-index: 1;
    padding-top: 12vw;
}
.cat_faq .ttl_blk .inner p {
    color: #fff;
    position: relative;
    z-index: 1;
    text-align: left;
    margin-left: 8vw;
}
.faq_content {
    width: 92vw;
    margin: 0 auto;
}
.faq_content h3 {
    font-size: 4.4vw;
    color: #18B5B5;
    margin: 8vw 0 1.333vw 0;
}
.cat_faq .faq_box {
    width: 100%;
    margin: 0 auto 10px auto;
    font-size: 3.2vw;
    line-height: 180%;
}
.cat_faq .faq_box .accordion {
    cursor: pointer;
    background-color: #fff;
    border: solid 4px #18B5B5;
    border-radius: 2.667vw;
    margin-bottom: 2.667vw;
}
.cat_faq .faq_box .qtext {
    background-image: url(../images/faq_arrow_down.svg);
    background-size: 4.267vw;
    background-repeat: no-repeat;
    background-position: right 5vw center;
    padding: 4vw 13vw 4vw 4vw;
    display: flex;
}
.cat_faq .faq_box .qtext p {
    margin: 0;
}
.cat_faq .faq_box .qtext.active{
    background-image: url(../images/faq_arrow_up.svg);
}
.cat_faq .faq_box .qtext img {
    width: 3.333vw;
    margin-right: 3.2vw;
}
.cat_faq .faq_box .answer {
    background-image: url(../images/faq_answer.svg);
    background-size: 3.333vw;
    background-repeat: no-repeat;
    background-position: left 5vw top 5vw;
    padding-left: 6.667vw;
    padding: 4vw 4vw 4vw 10.667vw;
    display: none;
    background-color: #E8E8E8;
    border-radius: 0 0 1.867vw 1.867vw;
}
.cat_faq .faq_box .answer ul {
    margin-left: 1em;
}
.cat_faq .faq_box .answer ul li {
    list-style-type: disc;
    margin:  1em;
}
.entry_btn_set {
    display: block;
    text-align: center;
}
.answer_entry {
    width: 60vw;
    margin: 4vw auto;
}

/* numbers  */
.cat_numbers .ttl_blk {
    background-image: url(../images/number_ttl_line.svg);
    background-size: auto 10vw;
    background-repeat: no-repeat;
    background-position: center top 22vw;
}
.cat_numbers .ttl_blk .inner {
    width: 92vw;
    display: flex;
    justify-content: space-between;
}
.cat_numbers .ttl_blk .inner h2 {
    font-size: 6.6vw;
    font-weight: 800;
    line-height: 140%;
}
.cat_numbers .ttl_blk .inner h2 span {
    font-size: 4vw;
    display: block;
}
.cat_numbers .ttl_blk .inner .numbers_image {
    width: 60vw;
    height: 28vw;
    background-image: url(../images/number_title_image.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: -12vw;
    margin-right: -6vw;
}
.cat_numbers .numbers_content {
    width: 92vw;
    margin: 0 auto;
    text-align: center;
}
.cat_numbers .numbers_content .data_date{
    width: 92vw;
    margin: 0 auto 1em auto;
    text-align: left;
}
.cat_numbers .numbers_content h3 {
    width: 90%;
    font-size: 4.533vw;
    color: #18B5B5;
    border: solid 4px #E8E8E8;
    display: inline-block;
    background-color: #fff;
    padding: 3vw;
    border-radius: 13.333vw;
    min-width: 69.333vw;
    text-align: center;
    margin: 60px auto 30px;
}
.cat_numbers .numbers_content .numbers_set {
    position: relative;
}
.cat_numbers .numbers_content .numbers_set .numbers_box {
    width: 100%;
    height: auto;
    border: solid 4px #18B5B5;
    border-radius: 5.333vw;
    margin-bottom: 5.333vw;
    padding: 6vw;
    position: relative;
}
.cat_numbers .numbers_box .numbers_bg1 {
    width: 100%;
    height: 14vw;
    background-color: #F0F0F0;
    transform: skewY(-6deg);
    position: absolute;
    top: 48%;
    left: 0;
    z-index: 0;
}
.cat_numbers .numbers_box .numbers_bg2 {
    width: 100%;
    height: 44%;
    background-color: #F0F0F0;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
    border-radius: 0 0 4.4vw 4.4vw;
}
.cat_numbers .numbers_box.box04 .numbers_bg1,.cat_numbers .numbers_box.box05 .numbers_bg1,.cat_numbers .numbers_box.box06 .numbers_bg1 {
    top: 42%;
}
.cat_numbers .numbers_box.box04 .numbers_bg2,.cat_numbers .numbers_box.box05 .numbers_bg2,.cat_numbers .numbers_box.box06 .numbers_bg2 {
    height: 46%;
}
.cat_numbers .numbers_box .box_upper,.cat_numbers .numbers_box .box_bottom {
    width: 100%;
    position: relative;
    z-index: 1;
    text-align: left;
}
.cat_numbers .numbers_box .box_upper {
    position: relative;
    z-index: 2;
    display: flex;
    margin-bottom: 4vw;
}
.cat_numbers .box02 .box_upper {
    background-image: url(../images/number_box_image_1-2.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center right;
}
.cat_numbers .box03 .box_upper {
    background-image: url(../images/number_box_image_1-3.svg);
    background-size: 25.867vw;
    background-repeat: no-repeat;
    background-position: center right;
    margin-bottom: 9.333vw;
}
.cat_numbers .box04 .box_upper {
    background-image: url(../images/number_box_image_1-4.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center right;
}
.cat_numbers .box05 .box_upper {
    background-image: url(../images/number_box_image_1-5.svg);
    background-size: 26.533vw;
    background-repeat: no-repeat;
    background-position: center right;
    margin-bottom: 5.333vw;
}
.cat_numbers .box06 .box_upper {
    background-image: url(../images/number_box_image_1-6.svg);
    background-size: 22.8vw;
    background-repeat: no-repeat;
    background-position: center right;
    margin-bottom: 5.333vw;
}
.cat_numbers .numbers_box .box_upper .numbers_count_box {
    position: relative;
    text-align: center;
    color: #18B5B5;
    padding: 0 2.667vw 0 0;
    width: 45%;
}
.cat_numbers .numbers_box .numbers_count {
    font-size: 25.867vw;
    letter-spacing: -0.8vw;
    font-family: 'Roboto', sans-serif;
    font-weight: 900;
    display: block;
    line-height: 90%;
}
.cat_numbers .box03 .numbers_count {
    font-size: 18.4vw;
    letter-spacing: 0.133vw;
}
.cat_numbers .numbers_box.box05 .numbers_count,.cat_numbers .numbers_box.box06 .numbers_count {
    font-size: 11.067vw;
    letter-spacing: -0.4vw;
}
.cat_numbers .numbers_box.box05 .numbers_count span,.cat_numbers .numbers_box.box06 .numbers_count span {
    font-size: 16.533vw;
    letter-spacing: 0.133vw;
    line-height: 100%;
    display: block;
}
.cat_numbers .numbers_box .numbers_count_box p {
    font-weight: 600;
    line-height: 90%;
    margin-bottom: 1.333vw;
}
.cat_numbers .numbers_box .sub_text {
    font-size: 3.2vw;
    line-height: 160%;
    margin-left: 2.667vw;
}
.cat_numbers .numbers_box .box_bottom {
    font-size: 3.2vw;
}
.cat_numbers .numbers_box .box_bottom h4 {
    font-size: 3.6vw;
    color: #18B5B5;
}

.cat_numbers .numbers_content .numbers_set .numbers_box2 {
    width: 100%;
    height: auto;
    border: solid 4px #18B5B5;
    border-radius: 5.333vw;
    margin-bottom: 2.667vw;
    padding: 4vw 4vw 4vw 2vw;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.cat_numbers .numbers_box2 .numbers_bg1 {
    width: 20%;
    height: 100%;
    background-color: #F0F0F0;
    transform: skewX(-14deg);
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 0;
}
.cat_numbers .numbers_box2 .numbers_bg2 {
    width: 40%;
    height: 100%;
    background-color: #F0F0F0;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 0;
    border-radius: 0 4.4vw 4.4vw 0;
}
.cat_numbers .numbers_box2 .box_left,.cat_numbers .numbers_box2 .box_right {
    position: relative;
    text-align: left;
}
.cat_numbers .numbers_box2 .box_left {
    z-index: 2;
    width: 53%;
    position: relative;
}
.cat_numbers .numbers_box2 .box_right {
    width: 40%;
    z-index: 2;
    font-size: 3.2vw;
}
.cat_numbers .numbers_box2 .box_left .numbers_count_box {
    position: relative;
    text-align: center;
    color: #18B5B5;
    padding: 0 2.667vw 0 0;
    line-height: 100%;
}
.cat_numbers .numbers_box2 .numbers_count {
    font-size: 8vw;
    letter-spacing: -0.667vw;
    font-family: 'Roboto', sans-serif;
    font-weight: 900;
    display: block;
    line-height: 120%;
    margin: 4vw 0;
}
.cat_numbers .numbers_box2 .numbers_count span {
    font-size: 15vw;
}
.cat_numbers .numbers_box2.box01 .numbers_count {
    font-size: 20vw;
    margin: 0;
}
.cat_numbers .numbers_box2.box02 .numbers_count {
    font-size: 10vw;
    padding-left: 9.333vw;
}
.cat_numbers .numbers_box2.box02 .numbers_count_box:nth-of-type(1) {
    background-image: url(../images/number_box_image_2-2a.svg);
    background-size: 8vw;
    background-repeat: no-repeat;
    background-position: left top 10px;
}
.cat_numbers .numbers_box2.box02 .numbers_count_box:nth-of-type(2) {
    margin: 8vw 0 0 0;
    background-image: url(../images/number_box_image_2-2b.svg);
    background-size: 6.667vw;
    background-repeat: no-repeat;
    background-position: left 10px top;
}
.cat_numbers .numbers_box2.box03 .box_right {
    background-image: url(../images/number_box_image_2-3.svg);
    background-size: 12vw;
    background-repeat: no-repeat;
    background-position: center top;
    padding-top: 13.333vw;
}
.cat_numbers .numbers_box2.box04 .box_right {
    background-image: url(../images/number_box_image_2-4.svg);
    background-size: 12vw;
    background-repeat: no-repeat;
    background-position: center top;
    padding-top: 13.333vw;
}
.cat_numbers .numbers_box2.box06 .box_right {
    background-image: url(../images/number_box_image_2-6.svg);
    background-size: 12vw;
    background-repeat: no-repeat;
    background-position: center top;
    padding-top: 13.333vw;
}
.cat_numbers .numbers_box2.box06 .box_left {
    padding-top: 6.667vw;
}
.cat_numbers .numbers_box2 .numbers_count_box p {
    font-size: 3vw;
    color: #333;
    line-height: 120%;
    margin-bottom: 0.667vw;
    text-align: left;
}
.cat_numbers .numbers_box2 .sub_text {
    font-size: 1.867vw;
    line-height: 160%;
    margin-left: 2.667vw;
}
.cat_numbers .numbers_box2 .box_right h4 {
    font-size: 3.4vw;
    color: #18B5B5;
}
.cat_numbers .numbers_box2 .box_left {
    position: relative;
    z-index: 2;
}
.cat_numbers .numbers_box2.box01 .box_left {
    background-image: url(../images/number_box_image_2-1.svg);
    background-size: 13.333vw;
    background-repeat: no-repeat;
    background-position: left 10vw bottom;
    padding-bottom: 13.333vw;
}

.cat_numbers .numbers_content .numbers_box3 {
    width: 100%;
    height: auto;
    border: solid 4px #18B5B5;
    border-radius: 5.333vw;
    margin-bottom: 2.667vw;
    padding: 4vw;
    position: relative;
    margin-bottom: 15vw;
}
.cat_numbers .numbers_box3 .numbers_bg1 {
    width: 100%;
    height: 20%;
    background-color: #F0F0F0;
    transform: skewY(-6deg);
    position: absolute;
    top: 60%;
    left: 0;
    z-index: 0;
}
.cat_numbers .numbers_box3 .numbers_bg2 {
    width: 100%;
    height: 32%;
    background-color: #F0F0F0;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 0;
    border-radius: 0 0 4.4vw 4.4vw;
}
.cat_numbers .numbers_box3 .box_left,.cat_numbers .numbers_box3 .box_right {
    position: relative;
    text-align: left;
}
.cat_numbers .numbers_box3 .box_left {
    z-index: 1;
    height: 72vw;
    width: 100%;
    background-image: url(../images/sp_number_box_image_2-7.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    color: #18B5B5;
    font-size: 5.333vw;
    letter-spacing: -0.4vw;
    font-family: 'Roboto', sans-serif;
    font-weight: 900;
    display: block;
    line-height: 90%;
    position: relative;
}
.cat_numbers .numbers_box3 .box_left span {
    font-size: 10.667vw;
}
.cat_numbers .numbers_box3 .box_left .box07_count01 {
    position: absolute;
    top: 30vw;
    left: 9vw;
    text-align: right;
}
.cat_numbers .numbers_box3 .box_left .box07_count02 {
    position: absolute;
    top: 23vw;
    left: 59vw;
    text-align: right;
}
.cat_numbers .numbers_box3 .box_left .box07_count03 {
    position: absolute;
    top: 53vw;
    left: 4vw;
    letter-spacing: -0.4vw;
    text-align: right;
}
.cat_numbers .numbers_box3 .box_left .box07_count04 {
    position: absolute;
    top: 53vw;
    left: 61vw;
    letter-spacing: -0.4vw;
    text-align: right;
}

.cat_numbers .numbers_box2.box08 .numbers_count {
    font-size: 10vw;
    padding-left: 9.333vw;
}

.cat_numbers .numbers_box2.box08 .numbers_count_box:nth-of-type(1) {
    background-image: url(../images/number_box_image_2-8a.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left top;
}
.cat_numbers .numbers_box2.box08 .numbers_count_box:nth-of-type(2) {
    margin: 8vw 0 0 0;
    background-image: url(../images/number_box_image_2-8b.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left top;
}

.cat_numbers .numbers_box3 .box_right {
    width: 100%;
    z-index: 2;
    font-size: 3.2vw;
    position: relative;
}
.cat_numbers .numbers_box3 .box_right div {
}
.cat_numbers .numbers_box3 .box_right h4 {
    font-size: 3.2vw;
    color: #18B5B5;
}

/* 位置を右上に固定 */
#toggle {
    position: fixed;
    top:  0;
    right:  0;
}
/* ハンバーガーメニューの大きさ指定 */
#toggle-box {
    position: relative;
    width:  12vw;
    height: 12vw;
    cursor: pointer;
    background: #18B5B5;
}
#toggle-box > span {
    width: 5vw;
    height: 0.5vw;
    left: 0;
    right: 0;
    top: 5vw;
    bottom: 5vw;
    margin: auto;
    display: block;
    background: #fff;
    position: absolute;
    transition: transform .6s ease-in-out;
}
#toggle-box > span:nth-child(1) {
    top: 0;
}
#toggle-box > span:nth-child(2) {
    top: 50%;
    transform: translatey(-50%);
}
#toggle-box > span:nth-child(3) {
    bottom: 0;
}

/* ハンバーガーメニュークリックで、「×」マークにアニメーション */
.is-open #toggle-box > span {
    background: #fff;
}
.is-open #toggle-box > span:nth-child(1) {
    top: 50%;
    transform: rotate(45deg) translatey(-50%);
}
.is-open #toggle-box > span:nth-child(2) {
    width: 0;
}
.is-open #toggle-box > span:nth-child(3) {
    top: 9%;
    left: 6%;
    transform: rotate(-45deg) translatey(-50%);
}

/* 重なり順指定 */
#toggle {
    z-index: 1000;
}
#main {
    position: relative;
    z-index: 990;
}

/* 中身メニュー、初期は非表示 */
#nav-content {
    z-index: 900;
    overflow: auto;
    width: 100%;
    height: 100%;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    text-align: center;
    opacity: 0;
    transition: opacity .6s ease, visibility .6s ease;
    display: none;
}

/* is-openクラスが追加されると、メニューが表示される */
.is-open {
    overflow: hidden;
}
.is-open #nav-content {
    z-index: 999;
    visibility: visible;
    opacity: 1;
    display: block;
}
.is-open #nav-content a {
    pointer-events: auto;
}
}
/* sp end  */



/* animate  */
.animation {
    opacity : 0.0;
    transform : translate(0, 50px);
    transition : all 1000ms;
    }

.animation.scrollin {
    opacity : 1;
    transform : translate(0, 0);
    }
.animation.scrollin:nth-of-type(2) {
	transition-delay: 0.3s;
}
.animation.scrollin:nth-of-type(3) {
	transition-delay: 0.5s;
}
.animation.scrollin:nth-of-type(4) {
	transition-delay: 0.8s;
}


.animate {
    opacity : 0.0;
    transform : translate(0, 0);
    transition : all 1200ms 1.2s;
    }
.animate.scrollin {
    opacity : 1;
    transform : translate(0, 0);
	transition-delay: 0.8s;
}
