@charset "UTF-8"; 
/*****contents*****/
body.home {
  background: url(../images/home/main_bg.png) no-repeat top left / 100% 263rem;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
h2.cmn_ttl > div {
    display: table;
}

h2.cmn_ttl span {
    display: table;
}
h2.cmn_ttl span.ja {
    font-size: 2.2rem;
    font-weight: bold;
    letter-spacing: .06em;
     padding-left: 1.5rem;
}
h2.cmn_ttl span.en {
    color: #00429b;
    font-size: 9.6rem;
    letter-spacing: -.02em;

}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プロモ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.promo_frame {
    position: relative;
    color: #fff;
    text-align: center;
    padding: 8.5rem 0;
    z-index: 0;
    overflow: hidden;
}

.promo_frame .promo_inner .image_wrap p.img {
    position: absolute;
    top: 0;
    z-index: -1;
}

.promo_frame .promo_inner .image_wrap p.img.left {
    left: -2rem;
    width: 70.6rem;
}

.promo_frame .promo_inner .image_wrap p.img.right {
    right: -1.5rem;
    width: 67.6rem;
}

.promo_frame .promo_inner .inner p.area {
    width: 49rem;
    margin: 0 auto;
}

.promo_frame .promo_inner .inner h2.ttl {
    width: 73rem;
    margin: 0 auto 9rem;
}

.promo_frame .promo_inner .inner ul.items {
    width: 81.3rem;
    margin: 0 auto;
    position: relative;
}

.promo_frame .promo_inner .inner ul.fst_items {
    left: .5rem;
    margin-bottom: 1rem;
}

.promo_frame .promo_inner .inner ul.bt_items {
    left: -.5rem;
}

.promo_frame .promo_inner .inner ul.items li {
    width: 27.1rem;
    height: 8.8rem;
    background: url(../images/home/promo/promo_box.png) no-repeat 50% / cover;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    font-weight: bold;
    letter-spacing: .06rem;
}

/*============================
#lp_about
============================*/
#lp_about {
    padding: 3.5rem 0 0;
}

/* 一個め */
#lp_about .inner01 {
    padding-bottom: 6rem;
}

#lp_about .inner01 fieldset {
    border-color: #e81624;
    border-width: .584rem;
    border-style: solid;
    max-width: 153rem;
    margin: 0 auto;
    padding: 0 3rem 5rem;
}

#lp_about .inner01 fieldset legend {
    text-align: center;
    margin-left: -1rem;
}

#lp_about .inner01 fieldset legend h2.main_ttl {
    width: 103.4rem;
}

#lp_about .inner01 fieldset p.main_lead {
    font-size: 2rem;
    text-align: center;
    margin-bottom: 5rem;
    margin-top: 1.5rem;
}

#lp_about .inner01 fieldset ul.items {
    justify-content: center;
    gap: 1.6rem;
    margin-bottom: 4.5rem;
}

#lp_about .inner01 fieldset ul.items li {
    width: 33.8rem;
}

#lp_about .inner01 fieldset ul.items li .img_area {
    position: relative;
    margin-bottom: 1.5rem;
}

#lp_about .inner01 fieldset ul.items li .img_area .cond {
    position: absolute;
    bottom: 2rem;
    left: 2rem;
    width: 100%;
    min-height: 7rem;
    gap: 1rem;
}

#lp_about .inner01 fieldset ul.items li .img_area .cond p {
    background: #e81624;
    font-size: 1.5rem;
    color: #fff;
    letter-spacing: .06em;
    font-weight: bold;
    border-radius: 1.5rem;
    min-width: 11rem;
    height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 1rem;
}

#lp_about .inner01 fieldset ul.items li .img_area .cond p.wd_long {
    min-width: 15.6rem;
}

#lp_about .inner01 fieldset ul.items li .txt_area {
    padding: 0 0 0 1.5rem;
}

#lp_about .inner01 fieldset ul.items li .txt_area p.area {
    font-size: 2rem;
    font-weight: bold;
    position: relative;
    margin-bottom: 1rem;
}

#lp_about .inner01 fieldset ul.items li .txt_area p.area::before {
    display: inline-block;
    content: "";
    background: url(../images/common/map_red.png) no-repeat 50% / contain;
    width: 1.3rem;
    height: 2rem;
    vertical-align: middle;
    margin-right: 1rem;
}

#lp_about .inner01 fieldset ul.items li .txt_area p.txt {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.5;
}

#lp_about .inner01 fieldset p.btn a {
    position: relative;
    font-size: 2.6rem;
    color: #fff;
    letter-spacing: .1em;
    font-weight: bold;
    background: var(--theme_m_color);
    border-radius: 1.4rem;
    display: flex;
    width: 48rem;
    height: 10rem;
    align-items: center;
    margin: 0 auto;
     border: .3rem solid var(--theme_m_color);
     padding: 1rem 5rem;
}

#lp_about .inner01 fieldset p.btn a::after {
    position: absolute;
    content: "";
    background: url(../images/common/arrow_gold.svg) no-repeat 50% / .8rem 1.5rem #fff;
    width: 4rem;
    height: 4rem;
    border-radius: 100%;
    top: 50%;
    right: 3rem;
    transform: translateY(-50%);
}

@media screen and (min-width: 751px) {
#lp_about .inner01 fieldset p.btn a:hover {
    color: var(--theme_m_color);
    background: #fff;
}

#lp_about .inner01 fieldset p.btn a:hover::after {
    background-image: url(../images/common/arrow_white.svg);
    background-color: var(--theme_m_color);
}
}


#lp_about .inner02 {
    position: relative;
    padding: 10rem 0 12rem;
}

#lp_about .inner02 .box .ttl_wrap p.logo {
    width: 85.1rem;
    margin-left: 8rem;
    margin-bottom: 5.5rem;
}

#lp_about .inner02 .box .ttl_wrap h2.main_ttl {
    width: 87.1rem;
    margin: 0 auto 7rem;
}

#lp_about .inner02 .box p.main_txt {
    font-size: 2.4rem;
    line-height: 2;
    font-weight: bold;
    text-align: center;
}

#lp_about .inner02 .image_wrap p.img {
    position: absolute;
}

#lp_about .inner02 .image_wrap p.img.img01 {
    width: 38rem;
    top: 17.5rem;
    left: -2rem;
}

#lp_about .inner02 .image_wrap p.img.img02 {
    width: 38rem;
    top: 22.5rem;
    right: -1rem;
}

#lp_about .inner02 .image_wrap p.img.img03 {
    width: 37.6rem;
    bottom: 6rem;
    left: 17rem;
}

#lp_about .inner02 .image_wrap p.img.img04 {
    width: 41rem;
    bottom: 0;
    right: 13rem;
}

/* 三個め */
#lp_about .inner03 {
    padding: 7rem 0;
}

#lp_about .inner03 h2.main_ttl {
    width: 81.7rem;
    margin: 0 auto 6rem;
}

#lp_about .inner03 ul.items {
    gap: 3rem;
    justify-content: center;
}

#lp_about .inner03 ul.items li {
    width: 65rem;
    height: 32.5rem;
    background: url(../images/home/about_big_box.jpg) no-repeat 50% / cover;
    color: #fff;
    align-items: center;
    gap: 5rem;
    padding: 0 6rem 0 5rem;
}

#lp_about .inner03 ul.items li p.icon {
    width: 12.6rem;
}

#lp_about .inner03 ul.items li .txt_wrap {
    width: 50%;
    flex-grow: 1;
    padding-bottom: 2rem;
}

#lp_about .inner03 ul.items li .txt_wrap h3.ttl {
    font-size: 3.4rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 1rem;
}

#lp_about .inner03 ul.items li .txt_wrap p.txt {
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 400;
}

/*============================
#lp_staff
============================*/
#lp_staff {
    padding: 7rem 0;
}

#lp_staff h2.main_ttl {
    width: 91rem;
    text-align: center;
    margin: 0 auto 11rem;
}

/* 共通 */

#lp_staff ul.staff_items li {
    margin-bottom: 9rem;
    /* align-items: center; */
    height: 52.4rem;
}

#lp_staff ul.staff_items li .img_area {
    width: 56rem;
    position: relative;
    top: -3rem;
}

#lp_staff ul.staff_items li .img_area p.img.main {
    width: 46rem;
}

#lp_staff ul.staff_items li .img_area p.img.sub {
    position: absolute;
    bottom: -7rem;
    width: 25.2rem;
}

#lp_staff ul.staff_items li .txt_area {
    width: 40%;
    flex-grow: 1;
    padding-top: 7rem;
}

#lp_staff ul.staff_items li .txt_area .tag_wrap {
    gap: 1rem;
    display: flex;
    margin-bottom: 2rem;
}

#lp_staff ul.staff_items li .txt_area .tag_wrap span.tag {
    font-size: 1.8rem;
    display: flex;
    letter-spacing: .06em;
    border-radius: 1.6rem;
    min-width: 10.4rem;
    height: 3.2rem;
    justify-content: center;
    padding: .2rem 1rem;
    color: #fff;
    font-weight: bold;
    align-items: center;
}

#lp_staff ul.staff_items li .txt_area h3.ttl {
    font-size: 4.4rem;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 2.5rem;
}

#lp_staff ul.staff_items li .txt_area p.txt {
    line-height: 1.75;
    font-size: 2.2rem;
    font-weight: 400;
    padding-left: 3rem;
    padding-right: 1rem;
}

/* 奇数・偶数 */
#lp_staff ul.staff_items li:nth-child(odd) {
    padding-right: 5rem;
}

#lp_staff ul.staff_items li:nth-child(even) {
    flex-direction: row-reverse;
    padding-left: 7rem;
}

#lp_staff ul.staff_items li:nth-child(odd) .img_area {
    left: -7rem;
}

#lp_staff ul.staff_items li:nth-child(even) .img_area {
    right: -6rem;
}

#lp_staff ul.staff_items li:nth-child(even) .img_area p.img.main {
    margin-left: auto;
}

#lp_staff ul.staff_items li:nth-child(odd) .img_area p.img.sub {
    right: 0;
}

#lp_staff ul.staff_items li:nth-child(even) .img_area p.img.sub {
    left: -1rem;
}

#lp_staff ul.staff_items li:nth-child(odd) .txt_area {
    left: -1rem;
    position: relative;
}

:root {
    --staff_color01: #ff4f09;
    --staff_color02: #00429b;
    --staff_color03: #f1b604;
    --staff_color04: #e81624;
}

/* senior01 */
#lp_staff ul.staff_items li.senior01 {
    background: #fff0dd;
}

#lp_staff ul.staff_items li.senior01 .txt_area .tag_wrap span.tag {
    background: var(--staff_color01);
}

#lp_staff ul.staff_items li.senior01 .txt_area h3.ttl {
    color: var(--staff_color01);
}

/* senior02 */
#lp_staff ul.staff_items li.senior02 {
    background: #eef5ff;
}

#lp_staff ul.staff_items li.senior02 .txt_area .tag_wrap span.tag {
    background: var(--staff_color02);
}

#lp_staff ul.staff_items li.senior02 .txt_area h3.ttl {
    color: var(--staff_color02);
}

/* senior03 */
#lp_staff ul.staff_items li.senior03 {
    background: #fffadb;
}

#lp_staff ul.staff_items li.senior03 .txt_area .tag_wrap span.tag {
    background: var(--staff_color03);
}

#lp_staff ul.staff_items li.senior03 .txt_area h3.ttl {
    color: var(--staff_color03);
}

/* senior04 */
#lp_staff ul.staff_items li.senior04 {
    background: #fff2f7;
}

#lp_staff ul.staff_items li.senior04 .txt_area .tag_wrap span.tag {
    background: var(--staff_color04);
}

#lp_staff ul.staff_items li.senior04 .txt_area h3.ttl {
    color: var(--staff_color04);
}

/*============================
#lp_flow
============================*/
#lp_flow {
    padding-bottom: 6rem;
}

#lp_flow .flow_width {
    max-width: 176rem;
    margin: 0 auto;
}

#lp_flow h2.cmn_ttl {
    max-width: 141rem;
    margin: 0 auto;
}

#lp_flow ol.items li {
    width: 20%;
    height: 45rem;
    background: url(../images/home/flow_bg.jpg) no-repeat 50% / cover;
    padding: 4rem 2rem 0;
    position: relative;
    
}

#lp_flow ol.items li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 0;
    right: -3rem;
    background: url(../images/home/flow_bg_line.png) no-repeat 50% / cover;
    width: 3rem;
    height: 100%;
    z-index: 1;
}
#lp_flow ol.items li h3.ttl {
    color: #fff;
    font-weight: bold;
    font-size: 3rem;
    line-height: 1.5;
    text-align: center;
    position: relative;
    padding-top: 7rem;
    min-height: 16rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2.5rem;
}

#lp_flow ol.items li h3.ttl::before {
    position: absolute;
    content: counter(ol_cnt, decimal-leading-zero);
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Josefin Sans', sans-serif;
    font-style: italic;
    font-weight: 500;
    font-size: 4.2rem;
}

#lp_flow ol.items li p.txt {
    color: #fff;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.5;
    padding: 0 2.4rem;
}

#lp_flow ol.items li p.btn {
    margin-top: 3rem;
}

#lp_flow ol.items li p.btn a {
    color: #fff;
    font-size: 1.92rem;
    font-weight: bold;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 3rem;
    width: 23rem;
    height: 6rem;
    background: #f1b604;
    margin: 0 auto;
    border: .3rem solid var(--theme_m_color);
}

#lp_flow ol.items li p.btn a::after {
    content: "";
    width: 1rem;
    height: 1rem;
    border-top: solid .3rem #fff;
    border-right: solid .3rem #fff;
    position: absolute;
    right: 3rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    border-radius: .2rem;
}

@media screen and (min-width: 751px) {
#lp_flow ol.items li p.btn a:hover {
    color: var(--theme_m_color);
    background: #fff;
}

#lp_flow ol.items li p.btn a:hover::after {
    border-color: var(--theme_m_color);
}

}

@media (max-width: 1800px) {
	#lp_flow ol.items li p.txt {
	    padding: 0 1.8rem;
	}
}


/*============================
#lp_column
============================*/
#lp_column {
    padding: 6rem 0;
}

#lp_column .ttl_wrap {
    max-width: 141rem;
    margin: 0 auto;
    justify-content: space-between;
    align-items: center;
}

#lp_column .ttl_wrap p.txt {
    font-size: 2.2rem;
    font-weight: bold;
    letter-spacing: .06em;
    line-height: 1.75;
    margin-right: 5.5rem;
}

#lp_column .post_wrap {
    width: 128rem;
    margin: 0 auto 6rem;
}

#lp_column p.btn {
    text-align: center;
}

#lp_column p.btn a {
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: .04em;
    padding: 2rem 11rem 2rem 0;
    position: relative;
}

#lp_column p.btn a::after {
    position: absolute;
    content: "";
    width: 6.4rem;
    height: 6.4rem;
    border-radius: 100%;
    background: url(../images/common/arrow_white.svg) no-repeat 50% / 1.25rem 2.25rem #f1b604;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    border: .3rem solid var(--theme_m_color);
}
@media screen and (min-width: 751px) {
#lp_column p.btn a:hover::after {
    background-image: url(../images/common/arrow_gold.svg);
    background-color: #fff;
}
}

/*============================
#lp_qa
============================*/
#lp_qa h2.cmn_ttl {
    max-width: 141rem;
    margin: 0 auto;
}

#lp_qa .qa_wrap .qa_area h3.ttl_wrap {
    border: .2rem solid #00429b;
    min-height: 9.6rem;
    display: flex;
    align-items: center;
    @: ; padding: 0rem 3rem;
}

#lp_qa .qa_wrap .qa_area .ttl {
    font-size: 2.2rem;
    color: #00429b;
    font-weight: bold;
}

#lp_qa .qa_wrap .qa_area .en {
    font-size: 4.2rem;
    font-weight: 500;
    font-style: italic;
    display: block;
    margin-right: 3rem;
}

#lp_qa .qa_wrap .qa_area .Q {
    color: #00429b;
}

#lp_qa .qa_wrap .qa_area p.txt_wrap {
    display: flex;
    padding: 2rem 2rem 5.5rem 4rem;
    min-height: 14rem;
}

#lp_qa .qa_wrap .qa_area .txt {
    font-size: 2.2rem;
    font-weight: 400;
    line-height: 1.75;
    display: inline-block;
}

#lp_qa .qa_wrap .qa_area .A {
    color: #e81624;
    display: inline-block;
    line-height: 1;
    margin-top: 1rem;
}
@media (min-width:769px) {
	#lp_flow {
		padding-bottom:12rem;
	}
}
