@charset "UTF-8";

/***************************************************

	jigyousyoukei

***************************************************/

:root {
	--list-color1: #2e75b6;
	--list-color2: #ed7d31;
	--list-color3: #00b050;
	--list-color4: #cc99ff;
	--list-color5: #eeb500;
	--js-c01: #322784;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

.fs_13 { font-size: 13px !important; }
.fs_14 { font-size: 14px !important; }
.fs_15 { font-size: 15px !important; }
.fs_16 { font-size: 16px !important; }
.fs_17 { font-size: 17px !important; }
.fs_18 { font-size: 18px !important; }

.cont_txt_s {
	font-size: 16px !important;
}

.page_wrap {
    padding-top: 100px;
	padding-bottom: 170px;
}

.container{
	width: 100%;
	margin: 0 auto;
}

.bold { font-weight: bold !important; }

.align_c { text-align: center !important; }
.align_l { text-align: left   !important; }
.align_r { text-align: right  !important; }

.indent_1 { padding-left: 1em; text-indent: -1em; }
.indent_2 { padding-left: 2em; text-indent: -2em; }
.indent_3 { padding-left: 3em; text-indent: -3em; }
.indent_4 { padding-left: 4em; text-indent: -4em; }
.indent_5 { padding-left: 5em; text-indent: -5em; }

.ib { display: inline-block; }

/* table */
table { border-collapse: collapse; }
table th, table td { vertical-align: middle; }

.table-bordered {
    width: 100%;
	border-top: 1px solid #8b8c8f;
    border-left: 1px solid #8b8c8f;
}
.table-bordered th,
.table-bordered td {
    line-height: 1.5;
    vertical-align: middle;
    border-right: 1px solid #8b8c8f;
    border-bottom: 1px solid #8b8c8f;
    padding: 0.5em 1em;
}
.table-bordered th {
    background-color: #f3f3f3;
    font-weight: 500;
}

.table1 .table_col1 { width: 30%; }
.table1 .table_col2 { width: 40%; }
.table1 .table_col3 { width: 30%; }

/* c_ttl */
.c_ttl {
	font-size: 40px;
	color: var(--color-main);
	font-weight: bold;
	line-height: 1.2;
	padding-bottom: 24px;
	margin-bottom: 40px;
	border-bottom: 2px solid var(--color-main);
	position: relative;
}

/* .c_ttl_border */
.c_ttl_border {
	font-size: 32px;
	color: var(--color-main);
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 40px;
}
.c_ttl_border:before,
.c_ttl_border:after {
	background-color: currentColor;
	content: "";
	width: 2px;
	height: 1.2em
}
.c_ttl_border:before {
	margin-right: 1em;
	transform: rotate(-30deg);
}
.c_ttl_border:after {
	margin-left: 1em;
	transform: rotate(30deg);
}

/* c_box_ttl */
.c_box_ttl {
	font-weight: bold;
	position: relative;
	display: inline-block;
	padding: 0.5em 1.5em;
	max-width: 100%;
	color: var(--js-c01);
	text-align: center;
	background: #e9eaea;
}
.c_box_ttl_blue {
	color: #fff;
	background: #40aeda;
}
.c_box_ttl_blue2 {
	color: #fff;
	background: #093c9b;
}

/* arrow_r */
.arrow_r {
	position: relative;
	display: inline-block;
	padding-right: 45px;
}
.arrow_r::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 14px 0 14px 16px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}

/* c_balloon */
.c_balloon {
	font-weight: bold;
	position: relative;
	display: inline-block;
	margin-bottom: 20px;
	padding: 0.5em 1.5em;
	max-width: 100%;
	color: var(--js-c01);
	text-align: center;
	background: #e9eaea;
}
.c_balloon_blue {
	color: #fff;
	background: #40aeda;
}
.c_balloon_blue2 {
	color: #fff;
	background: #093c9b;
}
.c_balloon:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #e9eaea;
}
.c_balloon.c_balloon_blue:before {
	border-top-color: #40aeda;
}
.c_balloon.c_balloon_blue2:before {
	border-top-color: #093c9b;
}

/* list */
.list > *:last-child {
	margin-bottom: 0;
}
.list > li {
	line-height: 1.4;
	position: relative;
	padding-left: 1em;
	margin-bottom: 4px;
}
.list > li::before {
	content: '';
	position: absolute;
	top: .5em;
	left: 0;
	display: block;
	width: .4em;
	height: .4em;
	background-color: currentColor;
	border-radius: 50%;
}
/* list-square */
.list-square > *:last-child {
	margin-bottom: 0;
}
.list-square > li {
    font-size: 1.6rem;
	line-height: 1.8;
	position: relative;
	padding-left: 1.3em;
	margin-bottom: 4px;
}
.list-square > li::before {
	content: '■';
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	color: #8577b3;
}

ul.list li > ul,
ul.list-square li > ul {
	margin-top: 10px;
}

/*-------------------------------------------------*/

.page_title_area{
	text-align: center;
	line-height: 1;
	margin-bottom: 100px;
}

.page_title_area h1{
	font-size: 46px;
	color: var(--color-main);
	font-weight: bold;
	margin-bottom: 18px;
}

.page_title_area .sub {
    font-size: 28px;
	color: var(--color-main);
    font-weight: 500;
    line-height: 1.8;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
    padding-left: 0.1em;
    margin-top: 1.3em;;
}

.page_title_lh {
    line-height: 1.6;
}

/*-------------------------------------------------*/

#intro {
	margin: 100px 0 130px;
	text-align: center;
}

#intro .intro_txt {
	font-size: 26px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 40px;
}

#intro .intro_txt2 {
	font-size: 18px;
	margin-bottom: 40px;
}

#intro .intro_txt2 > p + p {
	margin-top: 0.5em;
}

#flow {
	margin-bottom: 100px;
}

#ind {
	margin-bottom: 100px;
}

#ind .ind_box {
	border: 2px solid var(--color-main);
	border-radius: 10px;
	padding: 50px 40px 40px;
	position: relative;
}

#ind .ind_box_ttl {
	width: 100%;
	position: absolute;
	top: -3em;
	left: 0;
	text-align: center;
}

#ind .ind_box_ttl > span {
	color: #fff;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.3;
	display: inline-block;
	background-color: var(--color-main);
	padding: 0.3em 1em;
}

#ind .ind_list > li {
	display: flex;
	align-items: flex-start;
}

#ind .ind_list > li:not(:first-child) {
	margin-top: 20px;
}

#ind .ind_list_ttl {
	width: 20%;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	line-height: 1.4;
	padding: 0.5em 1em 0.5em 3.2em;
	border-radius: 10px;
	position: relative;
}

#ind .ind_list_ttl .num {
	font-size: 3em;
	font-weight: bold;
	position: absolute;
	top: 50%;
	left: 0.2em;
	transform: translateY(-50%);
	margin-top: -0.08em;
}

#ind .list_color1 .ind_list_ttl {
	background-color: var(--list-color1);
}
#ind .list_color2 .ind_list_ttl {
	background-color: var(--list-color2);
}
#ind .list_color3 .ind_list_ttl {
	background-color: var(--list-color3);
}
#ind .list_color4 .ind_list_ttl {
	background-color: var(--list-color4);
}
#ind .list_color5 .ind_list_ttl {
	background-color: var(--list-color5);
}

#ind .ind_list_box {
	min-height: 4em;
	border: 1px solid #000;
	padding: 1em 2em;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-left: -1em;
	margin-top: 1em;
	flex: 1;
}

#ind .list_color1 .ind_list_box {
	border: 1px solid var(--list-color1);
}
#ind .list_color2 .ind_list_box {
	border: 1px solid var(--list-color2);
}
#ind .list_color3 .ind_list_box {
	border: 1px solid var(--list-color3);
}
#ind .list_color4 .ind_list_box {
	border: 1px solid var(--list-color4);
}
#ind .list_color5 .ind_list_box {
	border: 1px solid var(--list-color5);
}

#ind .list_color1 .list-square > li::before {
	color: var(--list-color1);
}
#ind .list_color2 .list-square > li::before {
	color: var(--list-color2);
}
#ind .list_color3 .list-square > li::before {
	color: var(--list-color3);
}
#ind .list_color4 .list-square > li::before {
	color: var(--list-color4);
}
#ind .list_color5 .list-square > li::before {
	color: var(--list-color5);
}

#job_desc .job_desc_cont {
	display: flex;
	gap: 30px;
}

#job_desc .job_desc_l {
	width: 60%;
}

#job_desc .job_desc_r {
	width: 40%;
}

#job_desc .job_list_ttl {
	margin-bottom: 30px;
}

#job_desc .job_list_ttl > span {
	font-size: 22px;
	font-weight: bold;
	color: #fff;
	line-height: 1.3;
	display: inline-block;
	background-color: var(--js-c01);
	padding: 0.2em 0.8em 0.3em;
}

#job_desc .job_desc_ttl {
	text-align: center;
	margin-bottom: 30px;
}

#job_desc .job_desc_ttl a {
    width: 100%;
}

#job_desc .job_desc_ttl a:hover {
    opacity: 0.7;
}

#job_desc .job_desc_ttl .c_box_ttl {
	font-size: 24px;
	width: 100%;
}

#job_desc .job_list_wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}


/*============================================*/
/*	親族・従業員承継、親族・従業員承継以外
/*============================================*/

h4.h4-F008-blue {
    font-size: 18px;
    font-weight: bold;
    padding-left: 15px;
    border-left: 5px solid var(--color-main);
    color: #333;
}

h2.h2-F003-blue {
	padding: 0 0 20px;
}

h4.h4-G009-blue > span {
	background: linear-gradient(transparent 60%, #c9cdf7 60%);
	margin: 0 3px;
	padding: 0 2px 3px 2px;
	display: inline-block;
	line-height: 1;
	white-space: nowrap;
}

/* コンテンツエリアの下余白 */
[data-module-type] {
	margin-bottom: 20px;
}

[data-role] [data-module-type="container"],
[data-role] [data-module-type="cell"] {
	margin-bottom: 0;
}

.arrow_down_list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px 10px;
	margin-bottom: 55px;
}

.arrow_down_list li {
	line-height: 1.4;
	padding-left: 1.6em;
	text-indent: -1.6em;
}

.lower_syoukei .page_wrap {
	padding-top: 70px;
}

.col_ly1 {
	display: flex;
	gap: 30px;
}
.col_ly1_item {
	width: 50%;
}

.col_ly2 {
	display: flex;
	gap: 30px;
}
.col_ly2_item1 {
	width: 45%;
}
.col_ly2_item2 {
	width: 55%;
}

[data-module-type="table-editable"] th,
[data-module-type="table-editable"] td {
	padding: 8px 15px;
}

.lower_syoukei p:not(.copyright),
[data-module-type="paragraph-editable"] p,
[data-module-type="paragraph-editable"] p font,
[data-module-type="pwithimg-editable"] p font {
	font-size: 16px;
}

font {
    font-size: 16px;
}

h3.h3-F009-blue {
    position: relative;
    margin-top: 0;
    padding: 9px 10px 10px 26px;
    background: var(--color-grad);
    color: #fff;
    font-size: 18px;
    font-weight: normal;
}

h4.h4-F009-blue {
    margin-top: 0;
    padding: 9px 10px 0 0;
    color: var(--color-main);
    font-size: 17px;
    font-weight: normal;
}

h4.h4-G009-blue > span {
    font-size: 17px;
    background: linear-gradient(transparent 60%, var(--color-yellow) 60%);
    margin: 0 3px;
    padding: 0 2px 3px 2px;
    display: inline-block;
    line-height: 1;
    white-space: nowrap;
}

h4.h4-G003-black {
    margin-top: 0;
    padding: 7px 12px;
    background: #eaeaea;
    font-size: 16px;
    font-weight: normal;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

.table-noneborder {
    width: 100%;
}



/********************************************************************************
	リッキド用 CSS
********************************************************************************/

@media screen and (max-width: 1200px) {

    .fs_13 { font-size: 1.4vw !important; }
    .fs_14 { font-size: 1.5vw !important; }
    .fs_15 { font-size: 1.6vw !important; }
    .fs_16 { font-size: 1.7vw !important; }
    .fs_17 { font-size: 1.72vw !important; }
    .fs_18 { font-size: 1.74vw !important; }

    .cont_txt_s {
        font-size: 1.7vw !important;
    }

    .page_wrap {
        padding-top: 8vw;
        padding-bottom: 12.878787vw;
    }

    /* table */
    .table-bordered th font,
    .table-bordered td font {
        font-size: 1.7vw;
    }

    /* c_ttl */
    .c_ttl {
        font-size: 3.030303vw;
        padding-bottom: 2.05vw;
        margin-bottom: 3.030303vw;
        border-bottom: 0.151515vw solid var(--js-c01);
    }

    /* .c_ttl_border */
    .c_ttl_border {
        font-size: 2.424242vw;
        margin-bottom: 3.030303vw;
    }

    /* c_box_ttl */
    .c_box_ttl:before {
        margin-left: -1.136363vw;
        border: 1.136363vw solid transparent;
        border-top: 1.136363vw solid #e9eaea;
    }

    /* arrow_r */
    .arrow_r {
        padding-right: 3.40909vw;
    }
    .arrow_r::after {
        border-width: 1.060606vw 0 1.060606vw 1.7vw;
        right: 1.515151vw;
    }

    /* c_balloon */
    .c_balloon {
        margin-bottom: 1.515151;
    }
    .c_balloon:before {
        margin-left: -1.136363vw;
        border: 1.136363vw solid transparent;
        border-top: 1.136363vw solid #e9eaea;
    }

    /* list */
    .list > li {
        margin-bottom: 0.303030vw;
    }

    /* list-square */
    .list-square > li {
        font-size: 1.7vw;
        margin-bottom: 0.303030vw;
    }

    ul.list li > ul,
    ul.list-square li > ul {
        margin-top: 0.757575vw;
    }

/*-------------------------------------------------*/
    
    .page_title_area{
        margin-bottom: 8vw;
    }

    .page_title_area h1{
        font-size: 3.484848vw;
        margin-bottom: 1.7vw;
    }

    .page_title_area .sub {
        font-size: 2.3vw;
    }

/*-------------------------------------------------*/

    #intro {
        margin: 7.575757vw 0 9.848484vw;
    }

    #intro .intro_txt {
        font-size: 2.2vw;
        margin-bottom: 3.030303vw;
    }

    #intro .intro_txt2 {
        font-size: 1.7vw;
        margin-bottom: 3.030303vw;
    }

    #flow {
        margin-bottom: 7.575757vw;
    }

    #ind {
        margin-bottom: 7.575757vw;
    }

    #ind .ind_box {
        border-radius: 0.757575vw;
        padding: 3.787878vw 3.030303vw 3.030303vw;
    }

    #ind .ind_box_ttl > span {
        font-size: 2.272727vw;
    }

    #ind .ind_list > li:not(:first-child) {
        margin-top: 1.515151vw;
    }

    #ind .ind_list_ttl {
        font-size: 1.45vw;
        border-radius: 0.757575vw;
    }

    #ind .ind_list_box {
        border-radius: 0.757575vw;
    }

    #job_desc .job_desc_cont {
        gap: 2.272727vw;
    }

    #job_desc .job_list_ttl {
        margin-bottom: 2.272727vw;
    }

    #job_desc .job_list_ttl > span {
        font-size: 1.9vw;
    }

    #job_desc .job_desc_ttl {
        margin-bottom: 2.272727vw;
    }

    #job_desc .job_desc_ttl .c_box_ttl {
        font-size: 2.05vw;
    }

    #job_desc .job_list_wrap {
        gap: 1.515151vw;
    }


    /*============================================*/
    /*	親族・従業員承継、親族・従業員承継以外
    /*============================================*/

    h4.h4-F008-blue {
        font-size: 1.7vw;
        padding-left: 0.60606vw;
    }

    h2.h2-F003-blue {
        font-size: 2.05vw;
        padding-bottom: 1.515151vw;
    }

    h3.h3-F009-blue {
        font-size: 2vw;
        padding: 0.681818vw 0.757575vw 0.757575vw 2.2vw;
    }

    h4.h4-F009-blue {
        font-size: 1.7vw;
        line-height: 1.4;
        padding: 0.681818vw 0.757575vw 0 0;
    }
    
    h4.h4-G009-blue > span {
        font-size: 1.7vw;
    }

    h4.h4-G003-black {
        font-size: 1.7vw;
        padding: 0.583333vw 0.90909vw;
    }

    /* コンテンツエリアの下余白 */
    [data-module-type] {
        margin-bottom: 1.515151vw;
    }

    .arrow_down_list {
        gap: 1.515151vw 0.757575vw;
        margin-bottom: 4.166666vw;
    }

    .arrow_down_list font {
        font-size: 1.7vw;
    }

    .lower_syoukei .page_wrap {
        padding-top: 5.30303vw;
    }

    .col_ly1,
    .col_ly2 {
        gap: 2.272727vw;
    }

    [data-module-type="table-editable"] th,
    [data-module-type="table-editable"] td {
        padding: 0.60606vw 1.136363vw;
    }

    [data-module-type="table-editable"] th font,
    [data-module-type="table-editable"] td font {
        font-size: 1.7vw;
    }

    .lower_syoukei p:not(.copyright),
    [data-module-type="paragraph-editable"] p,
    [data-module-type="paragraph-editable"] p font,
    [data-module-type="pwithimg-editable"] p font {
        font-size: 1.7vw;
    }

}

/********************************************************************************
	スマートフォン用 CSS
********************************************************************************/

@media screen and (max-width: 768px) {

    br.sp-on { font-size: 0; }
    .fs_13 { font-size: 13px !important; }
    .fs_14 { font-size: 14px !important; }
    .fs_15 { font-size: 15.5px !important; }
    .fs_16 { font-size: 16px !important; }
    .fs_17 { font-size: 18px !important; }
    .fs_18 { font-size: 19px !important; }

    .cont_txt_s {
        font-size: 14px !important;
    }

    /* list */
    ul.list li > ul,
    ul.list-square li > ul {
        margin-top: 10px;
    }
    .list > li,
    .list-square > li {
        font-size: 14px;
        margin-bottom: 4px;
    }

    /* c_ttl */
    .c_ttl {
        font-size: 19px;
        padding-bottom: 14px;
        margin-bottom: 20px;
        border-bottom: 1px solid var(--js-c01);
    }

    /* .c_ttl_border */
    .c_ttl_border {
        font-size: 19px;
        margin-bottom: 20px;
        align-items: flex-end;
    }

    /* c_box_ttl */
    .c_box_ttl::before {
        border: 10px solid transparent;
        border-top: 10px solid #e9eaea;
    }

    /* arrow_r */
    .arrow_r {
        padding-right: 35px;
    }
    .arrow_r::after {
        border-width: 10px 0 10px 12px;
        right: 15.5px;
    }

    /* c_balloon */
    .c_balloon::before {
        border: 10px solid transparent;
        border-top: 10px solid #e9eaea;
    }

    .page_wrap {
        padding-top: 30px;
        padding-bottom: 60px;
    }

    /*-------------------------------------------------*/
    
    .page_title_area{
        margin-bottom: 20px;
    }

    .page_title_area h1{
        font-size: 23px;
        line-height: 1.4;
        margin-bottom: 0;
    }

    .page_title_area .sub{
        font-size: 17px;
    }

    /*-------------------------------------------------*/

    #intro {
        margin: 50px 0;
    }

    #intro .intro_txt {
        font-size: 18px;
        margin-bottom: 14px;
        text-align: left;
    }

    #intro .intro_txt2 {
        font-size: 15px;
        text-align: left;
        margin-bottom: 40px;
    }

    #flow {
        margin-bottom: 50px;
    }

    #ind {
        margin-bottom: 50px;
    }

    #ind .ind_box {
        border-radius: 6px;
        padding: 35px 15.5px 20px;
    }

    #ind .ind_box_ttl {
        top: -1.5em;
    }

    #ind .ind_box_ttl > span {
        font-size: 15.5px;
        padding: 0.5em 1em;
    }

    #ind .ind_list > li {
        flex-direction: column;
    }

    #ind .ind_list > li:not(:first-child) {
        margin-top: 15.5px;
    }

    #ind .ind_list_ttl {
        width: 90%;
        font-size: 14px;
        border-radius: 6px;
        margin: 0 auto;
        padding: 1em 1em 1em 3.2em;
    }

    #ind .ind_list_box {
        border-radius: 6px;
        margin-left: 0;
        margin-top: -1em;
        padding: 2em 1.5em 1.5em;
    }

    #job_desc .job_desc_cont {
        flex-direction: column;
        gap: 30px;
    }

    #job_desc .job_desc_l,
    #job_desc .job_desc_r {
        width: 100%;
    }

    #job_desc .job_desc_ttl {
        margin-bottom: 20px;
    }

    #job_desc .job_desc_ttl .c_box_ttl {
        font-size: 16px;
    }

    #job_desc .job_list_ttl > span {
        font-size: 15.5px;
    }

    #job_desc .job_list_wrap {
        grid-template-columns: repeat(1, 1fr);
        gap: 15.5px;
    }


    /*============================================*/
    /*	親族・従業員承継、親族・従業員承継以外
    /*============================================*/

    /* タイトル */
    h4.h4-F008-blue {
        font-size: 16px;
        padding-left: 8px;
    }

    h2.h2-F003-blue {
        font-size: 25px;
        padding-bottom: 20px;
    }

    h3.h3-F009-blue {
        font-size: 19px;
        padding: 9px 10px 10px 27px;
    }

    h4.h4-F009-blue {
        font-size: 16px;
        padding: 9px 10px 0 0;
    }
    
    h4.h4-G009-blue > span {
        font-size: 16px;
    }

    h4.h4-G003-black {
        font-size: 16px;
        padding: 7px 12px;
    }

    /* コンテンツエリアの下余白 */
    [data-module-type] {
        margin-bottom: 20px;
    }

    .arrow_down_list {
        grid-template-columns: repeat(1, 1fr);
        gap: 20px 10px;
        margin-bottom: 30px;
    }

    .arrow_down_list font {
        font-size: 16px;
    }

    .lower_syoukei .page_wrap {
        padding-top: 30px;
    }

    .col_ly1,
    .col_ly2 {
        flex-direction: column;
        gap: 0;
    }

    .col_ly1_item,
    .col_ly2_item1,
    .col_ly2_item2 {
        width: 100%;
    }

    [data-module-type="table-editable"] th,
    [data-module-type="table-editable"] td {
        padding: 8px 15.5px;
    }

    [data-module-type="table-editable"] th font,
    [data-module-type="table-editable"] td font {
        font-size: 14px;
    }

    .lower_syoukei p:not(.copyright),
    [data-module-type="paragraph-editable"] p,
    [data-module-type="paragraph-editable"] p font,
    [data-module-type="pwithimg-editable"] p font {
        font-size: 14px;
    }

}
