/* サブページトップ・タイトル */
.sub_top {
    width: 100%;
    height: 150px;
    /* background: linear-gradient(135deg, #ebffd2, #f5ffe6, #ffebfa, #ffd7f0); */
    background: linear-gradient(45deg, #ebffd299, #ffebfaee), 
    url(../img/sub_bg_head.avif);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
}
h1.h1_sub {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
}
h1 .h1_sub_cat {
    font-size: 18px;
    line-height: 100%;
    color: #32aa00;
    border-bottom: solid 1px #32aa00;
    padding: 0 2px 5px;
    margin-bottom: 15px;
    display: inline-block;
    z-index: 1;
}
h1 .h1_sub_title {
    font-size: 26px;
    text-align: center;
    line-height: 130%;
    z-index: 1;
}
h1 .h1_sub_eng {
    font-size: clamp(45px, 6vw, 80px);
    line-height: 100%;
    font-family: "Jost", serif;
    font-weight: 600;
    text-align: center;
    color: #5ac80022;
    position: absolute;
    letter-spacing: 0.01em;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    max-width: 100%; 
}
@media screen and (min-width: 768px) {
h1 .h1_sub_cat {
    font-size: 20px;
}
h1 .h1_sub_eng {
    /* font-size: 60px; */
}
}
@media screen and (min-width: 1000px) {
.sub_top {
    height: 250px;
    margin-top: 100px;
}
h1 .h1_sub_cat {
    font-size: 22px;
    padding: 0 4px 7px;
    margin-bottom: 20px;
}
h1 .h1_sub_title {
    font-size: 28px;
}
h1 .h1_sub_eng {
    /* font-size: 80px; */
}
}


/* 2カラム */
.clm_box {
    width: 100%;
    display: flex;
    flex-direction: column-reverse;
}
.clm_boxL {
    margin-top: 80px;
}
@media screen and (min-width: 1000px) {
.clm_box {
    justify-content: space-between;
    flex-direction: row;
}
.clm_boxL {
    width: 240px;
    margin-top: 0;
}
.clm_boxR {
    width: calc(100% - 240px - 50px);
    margin-left: 50px;
}
.stick {
    position: sticky;
    top: 150px;
}
}
/* @media screen and (min-width: 1100px) {
.clm_boxL {
    width: 260px;
}
.clm_boxR {
    width: calc(100% - 260px - 60px);
    margin-left: 60px;
}
}
@media screen and (min-width: 1200px) {
.clm_boxL {
    width: 300px;
}
.clm_boxR {
    width: calc(100% - 300px - 75px);
    margin-left: 75px;
}
} */

/* 左カラム */
/* メニューリスト */
.stick_in {
    background: #fff;
    border: 1px solid #5ac800;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    position: relative;
}
.stick_in::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(30deg, #5ac800, #46b900);
}
.visually_hidden { /* スクリーンリーダー用の魔法のテクニック */
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.clm_article {
    font-size: 17px;
    line-height: 130%;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background: linear-gradient(30deg, #5ac800, #46b900);
    padding: 10px 15px;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}
ul.clm_list li {
    margin: 0;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}
a.clm_title {
    font-size: 18px;
    line-height: 130%;
    border-bottom: solid 1px #5ac800;
    background-color: #fff;
    padding: 15px;
    display: block;
    position: relative;
}
a.clm_title i {
    color: #46b900;
    position: absolute;
    right: 15px;
    top: calc(50% - 9px);
}
ul.clm_list li:last-of-type {
    margin-bottom: 0;
}
ul li:last-of-type a.clm_title {
    border-bottom: 0;
    margin-bottom: 0;
}
a.clm_title.tit_now {
    background-color: #f0ffdc;
}
@media screen and (min-width: 1000px){
.clm_article {
    font-size: 18px;
}
a.clm_title:hover {
    background-color: #f0ffdc;
}
a.clm_title i {
    transition: all 0.2s ease;
}
a.clm_title:hover i {
    transform: translateX(5px);
}
ul.clm_list .clm_title {
    padding: 17px 15px;
}
.clm_box.yesPC1000 .clm_list a.active {
    background-color: #f0ffdc;
}
}

/* 右カラム */
.sb01 {
    padding: 0 0 60px;
}
.sb01:last-of-type {
    padding: 0;
}
@media screen and (min-width: 1000px){
.sb01 {
    padding: 0 0 100px;
}
.sb01:last-of-type {
    padding: 0;
}
}




/* サブページタイトル */
.h2_cat01 {
    font-size: 18px;
    line-height: 140%;
    font-weight: normal;
    text-align: left;
    color: #fff;
    background-color: #5ac800;
    width: fit-content;   
    max-width: 100%; 
    padding: 5px 10px;
    margin-bottom: 15px;
}
.h2_cat02 {
    font-size: 18px;
    line-height: 140%;
    font-weight: normal;
    text-align: left;
    color: #fff;
    background-color: #ff5a96;
    width: fit-content;   
    max-width: 100%; 
    padding: 5px 10px;
    margin-bottom: 15px;
}
h2.h2_wel01 {
    font-size: 24px;
    line-height: 140%;
    font-weight: normal;
    text-align: left;
    color: #5ac800;
    display: block;
    border-bottom: solid 1px #5ac800;
    margin: 0 0 20px;
    padding-bottom: 10px;
}
h2.h2_wel02 {
    font-size: 24px;
    line-height: 140%;
    font-weight: normal;
    text-align: left;
    color: #ff5a96;
    display: block;
    border-bottom: solid 1px #ff5a96;
    margin: 0 0 20px;
    padding-bottom: 10px;
}
h3.h3_wel01 {
    font-size: 21px;
    line-height: 120%;
    font-weight: normal;
    color: #5ac800;
    display: block;
    margin: 0 0 15px;
    padding-left: 10px;
    padding-bottom: 1px;
    border-left: solid 7px #5ac800;
}
h3.h3_wel02 {
    font-size: 21px;
    line-height: 120%;
    font-weight: normal;
    color: #ff5a96;
    display: block;
    margin: 0 0 15px;
    padding-left: 10px;
    padding-bottom: 1px;
    border-left: solid 7px #ff5a96;
}
h3.h3_philo01 {
    font-size: 20px;
    line-height: 180%;
    font-weight: normal;
    color: #5ac800;
}
h3.h3_philo02 {
    font-size: 20px;
    line-height: 180%;
    font-weight: normal;
    color: #ff5a96;
}
p.sub_title01 {
    font-size: 19px;
    line-height: 180%;
    font-weight: 600;
    color: #5ac800;
}
p.sub_title02 {
    font-size: 19px;
    line-height: 180%;
    font-weight: 600;
    color: #ff5a96;
}
@media screen and (min-width: 1000px) {
h2.h2_wel01, h2.h2_wel02 {
    font-size: 26px;
    margin: 0 0 20px;
}
h3.h3_wel01, h3.h3_wel02 {
    font-size: 23px;
}
p.sub_title01, p.sub_title02 {
    font-size: 20px;
    list-style: 200%;
}
h3.h3_philo01, 
h3.h3_philo02 {
    font-size: 22px;
    line-height: 160%;
}
}


/* サブページボックス */
.subbox {
    padding: 50px 0;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.s01 {
    text-align: center;
    margin-bottom: 50px;
}
.s01:last-of-type {
    margin-bottom: 0;
}
.s01_subclr {
    padding: 25px 15px;
    background: linear-gradient(90deg, #ffebfa, #ffd7f0);
}
@media screen and (min-width: 768px) {
.s01_subclr {
    padding: 30px;
}
}
@media screen and (min-width: 1000px) {
.subbox {
    padding: 80px 0;
}
.subbox:first-of-type {
    padding-bottom: 0;
}
.s01 {
    margin-bottom: 100px;
}
}
@media screen and (min-width: 1000px) {
.s01_subclr {
    padding: 50px;
}
}


/* フレックスボックス */
.sub_flex01 {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 20px;
}
.sf01 {
    width: calc(50% - 10px);
}
.sf02 {
    margin-bottom: 50px;
}
.sub_flex03 {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.sub_flex11cr {
    display: flex;
    flex-direction: column-reverse;
}
.sf11cr_L {
    margin-top: 20px;
}
.sf11_L_boss {
    margin-bottom: 30px;
}
.sf11_R_boss img  {
    height: 250px;
}
.sf11_L {
    margin-bottom: 20px;
}
@media screen and (min-width: 768px){
.sub_flex01 {
    gap: 30px;
}
.sf01 {
    width: calc(50% - 15px);
}
.sub_flex02 {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 40px;
}
.sf02 {
    width: calc(50% - 20px);
    margin-bottom: 0;
}
.sub_flex03 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 30px;
}
.sf03_2, .sf03_3 {
    width: calc(50% - 15px);
}
.sf11_R_boss img  {
    height: 300px;
}
}
@media screen and (min-width: 1100px){
.sf01 {
    width: calc(25% - 90px / 4);
}
.sub_flex11 {
    display: flex;
    justify-content: space-between;
}
.sf11_L {
    width: 50%;
    margin-bottom: 0;
}
.sf11_R  {
    width: 50%;
    margin-left: 40px;
}
.sub_flex11cr {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}
.sf11cr_L {
    width: 50%;
    margin-top: 0;
}
.sf11cr_R  {
    width: 50%;
    margin-left: 40px;
}
.sf11_L_boss {
    text-align: left;
    width: calc(100% - 250px);
    margin-bottom: 0;
}
.sf11_R_boss {
    width: 200px;
    margin-left: 50px;
}
.sf11_R_boss img {
    width: 200px;
    height: auto;
}
}
@media screen and (min-width: 1200px){
.sf11_L_boss {
    margin-bottom: 0;
    width: calc(100% - 300px);
}
.sf11_R_boss {
    width: 250px;
}
.sf11_R_boss img {
    width: 250px;
}
}
@media screen and (min-width: 1300px){
.sf03_3 {
    width: calc(100% / 3 - 20px);
}
}


/* 看護部長メッセージ*/
h2.bossmsg_txt {
    font-size: 23px;
    line-height: 150%;
    text-align: center;
    color: #5ac800;
    margin-bottom: 25px;
    display: inline-block;
    position: relative;
}
h2.bossmsg_txt:before,
h2.bossmsg_txt:after {
    font-size: 160px;
    line-height: 100%;
    font-family: "Liter", sans-serif;
    color: #f0ffdc;
    position: absolute;
    z-index: -1;
}
h2.bossmsg_txt:before {
    content: "“";
    top: -20px;
    left: -40px;
}
h2.bossmsg_txt:after {
    content: "”";
    bottom: -115px;
    right: -40px;
}
p.boss_name {
    font-size: 17px;
    text-align: right;
    margin-top: 5px;
}
.mes_p_box {
    width: 100%;
    max-width: 300px;
    height: 50px;
    margin-bottom: 20px;
    position: relative;
}
.mes_p_box02 {
    background-color: #5ac800;
    width: 100%;
    max-width: 400px;
    height: 50px;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}
h2.h2_mes_p {
    font-size: 22px;
    line-height: 50px;
    font-weight: 600;
    text-align: center;
    color: #ff5a96;
}
.triangle01, .triangle02 {
    background-color: #ff5a96;
    width: 30px;
    height: 30px;
    position: absolute;   
}
.triangle03, .triangle04 {
    background-color: #5ac800;
    width: 30px;
    height: 30px;
    position: absolute;   
}
.triangle01, .triangle03 {
    top: 0;
    left: 0;
    clip-path: polygon(0 0, 0 100%, 100% 0);
}
.triangle02, .triangle04 {
    bottom: 0;
    right: 0;
    clip-path: polygon(0 100%, 100% 100%, 100% 0);
}
@media screen and (min-width: 768px) {
h2.bossmsg_txt {
    font-size: 25px;
    margin-bottom: 40px;
}
h2.bossmsg_txt:before,
h2.bossmsg_txt:after {
    font-size: 170px;
}
h2.bossmsg_txt:before {
    top: -30px;
    left: -40px;
}
h2.bossmsg_txt:after {
    bottom: -135px;
    right: -40px;
}
}
@media screen and (min-width: 1000px) {
h2.bossmsg_txt {
    font-size: 26px;
}
p.boss_name {
    font-size: 18px;
}
.mes_p_box, .mes_p_box02 {
    height: 75px;
    margin-bottom: 40px;
}
h2.h2_mes_p {
    font-size: 23px;
    line-height: 75px;
}
.triangle01, .triangle02, .triangle03, .triangle04 {
    width: 50px;
    height: 50px;
}
}
@media screen and (min-width: 1100px) {
h2.bossmsg_txt {
    text-align: left;
    margin-bottom: 35px;
}
h2.bossmsg_txt:before,
h2.bossmsg_txt:after {
    font-size: 180px;
}
h2.bossmsg_txt:before {
    top: -35px;
    left: -30px;
}
h2.bossmsg_txt:after {
    bottom: -140px;
    right: -30px;
}
}


/* 数字で見る */
.sub_records_box {
    text-align: center;
	height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
	filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.3));
}
.srb_01 {
    background: linear-gradient(135deg, #fafff0, #f5ffe6);
}
.srb_02 {
    background: linear-gradient(135deg, #fff5ff, #ffebfa);
}
.sub_records_tri {
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    clip-path: polygon(0 0, 0% 100%, 100% 0);
}
.srtri_01 {
    background-color: #5ac800;
}
.srtri_02 {
    background-color: #ff5a96;
}
p.sub_records_title {
    font-size: 18px;
    line-height: 140%;
    font-weight: 600;
    text-align: center;
    padding: 15px 5px 20px;
    position: relative;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
p.srt_01 {
    color: #194b00;
}
p.srt_02 {
    color: #641928;
}
p.sub_records_title:after {
	width: 40px;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
p.srt_01:after {
    border-bottom: 5px solid #5ac800;
}
p.srt_02:after {
    border-bottom: 5px solid #ff5a96;
}
.sub_records_box_in01, 
.sub_records_box_in02 {
    padding: 20px 15px 20px;
	flex: 1; /* タイトル以外のエリアを自然に伸ばす */
	display: flex;
	align-items: center;
	justify-content: center;
    flex-direction: column;
}
.sub_records_box_in01 i {
    font-size: 35px;
    color: #5ac800;
    margin-bottom: 10px;
}
.sub_records_box_in02 i {
    font-size: 35px;
    color: #ff5a96;
    margin-bottom: 10px;
}
/* カウントアップ */
.countup_num {
	font-size: 20px;
	line-height: 100%;
	font-weight: 600;
}
.cn_01 {
    color: #5ac800;
}
.cn_02 {
    color: #ff5a96;
}
.countup_num .num {
	font-size: 35px;
	display: inline-block;
	margin-right: 2px;
	margin-left: 2px;
	vertical-align: -2px;
}
@media screen and (min-width: 1100px){
p.sub_records_title {
    padding: 20px 5px 20px;
}
.sub_records_box_in01, 
.sub_records_box_in02 {
    padding: 20px 15px;
}
.sub_records_box_in01 i, 
.sub_records_box_in02 i {
    margin-bottom: 10px;
}
.countup_num .num {
	font-size: 40px;
}
}

/* どーなつ */
.donut_box {
    margin-top: 30px;
}
.donut {
    display: block;
    --dur: 1000ms;
    margin: 0 auto 20px;
}
.sweep {
    stroke-dasharray: 0 var(--C);
}
svg.start .sweep {
    animation: sweep var(--dur) linear forwards;
}
@keyframes sweep {
  to {
    stroke-dasharray: var(--C) 0;
}
}
.legend {
    width: auto;
    margin: 0 auto;
    display: inline-block;
}

.legend span {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 2px;
    vertical-align: -1px;
}


/* アクセス */
.accsmap iframe {
    width: 100%;
    height: 300px;
    border: 0;
}
.ac_map {
    max-width: 600px;
    border: solid 1px #bbb;
    padding: 15px;
}
.ac_map_vector {
    max-width: 600px;
}
@media screen and (min-width: 768px){
.accsmap iframe {
    height: 400px;
}
.ac_map {
    padding: 25px;
}
}
@media screen and (min-width: 1000px){
.accsmap iframe {
    height: 500px;
}
}

/* アクセス近隣情報 */
.card-area {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.card {
    background: linear-gradient(135deg, #fafff0, #f5ffe6);
    max-width: 100%;    
    display: flex;
    flex-direction: column;
    flex: 1 1 100%;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
.card-text {
    height: 100%;
    padding: 15px 5px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.card img {
    max-height: 250px;
}
p.station {
    font-size: 23px;
    line-height: 140%;
    font-weight: 600;
    text-align: center;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
.time {
    font-size: 19px;
    text-align: center;
}
.time_num {
    font-size: 38px;
    font-family: "Jost", serif;
    font-weight: 600;
    color: #ff5a96;
    margin: 0 1px;
    vertical-align: -3px;
}
.time_min {
    font-size: 22px;
    font-weight: bold;
    color: #ff5a96;
    vertical-align: -1px;
}


/* タブレット：2列 */
@media screen and (min-width: 599px) {
.card {
    flex: 0 0 calc(50% - 10px);
}
}

/* PC：3列 */
@media screen and (min-width: 1200px) {
.card {
    flex: 0 0 calc(100% / 3 - 40px / 3);
}
}





/* 1日のスケジュールページ */
.schedule_box {
    position: relative;
}
.schedule_box::before {
    content: "";
    position: absolute;
    top: 35px;
    left: calc(30px - 2px);
    width: 4px;
    height: calc(100% - 35px);
    
    z-index: 0;
}
.sche01::before {
    background: linear-gradient(#ff6eb4, #ff4678);
}
.sche02::before {
    background: linear-gradient(#82e600, #32aa00);
}
.sche_step {
    display: flex;
    align-items: flex-start;
    position: relative;
    padding-bottom: 40px;
}
.sche_step:last-child {
    padding-bottom: 0;
}

.sche_time {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    z-index: 1; /* 縦線より前に出す */
    font-feature-settings: "palt";
}
.st_support {
    font-size: 13px;
}
.sche01 .sche_time {
    background: linear-gradient(135deg, #ff64a5, #ff5087);
}
.sche02 .sche_time {
    background: linear-gradient(135deg, #6ed700, #46b900);
}
.sche_time span {
    font-size: 24px;
    margin-top: 5px;
}

.sche_content {
    text-align: left;
    margin-left: 15px;
    flex: 1;
}
.sche_content h3 {
    font-size: 19px;
    font-weight: bold;
    text-align: left;
    margin-top: 20px;
    margin-bottom: 10px;
}
.sche_txt01 {
    margin-bottom: 20px;
}
.sche01 .sche_content h3 {
    color: #ff5a96;
}
.sche02 .sche_content h3 {
    color: #5ac800;
}

.sche_pic01 img {
    max-width: 400px;
    border: solid 6px #fff;
    box-shadow: 0 0 8px rgba(0,0,0,0.1);
}
@media screen and (min-width: 768px) {
.sche_step {
    padding-bottom: 50px;
} 
.sche_flex01 {
    display: flex;
    justify-content: space-between;
}
.sche_txt01 {
    margin-bottom: 0;
    margin-right: 40px;
}
.sche_pic01 img {
    width: 240px;
    height: 180px;
    border: solid 7px #fff;
}
}
@media screen and (min-width: 1000px) {
.schedule_box::before {
    top: 45px;
    left: calc(50px - 2px);
    height: calc(100% - 50px);
}
.sche_time {
    font-size: 18px;
    width: 100px;
    height: 100px;
}
.sche_time span {
    font-size: 30px;
}
.sche_content h3 {
    margin-top: 25px;
}
.sche_pic01 img {
    width: 200px;
    height: 160px;
}
}
@media screen and (min-width: 1200px) {
.sche_step {
    padding-bottom: 60px;
}    
.sche_pic01 img {
    width: 260px;
    height: 200px;
    border: solid 8px #fff;
}
}




/* シフト例 */
.tbl_shift {
	border: solid 1px #ddd;
}
.tbl_shift th, .tbl_shift td {
    padding: 5px;
    border-bottom: solid 1px #ddd;
    font-feature-settings: "palt";
}
.tbl_shift tr:last-of-type th, 
.tbl_shift tr:last-of-type td {
    border-bottom: 0;
}

.tbl_shift th {
    font-weight: 700;
    text-align: center;
    border-right: solid 1px #ddd;
    white-space: nowrap;
}

.tbl_shift th.th01 {
    color: #5ac800;
    background-color: #f0ffdc;
}

.tbl_shift th.th02 {
    color: #ff5a96;
    background-color: #ffe1f5;
}

.tbl_shift td {
    line-height: 140%;
    font-size: 14px;
    font-weight: bold;
    text-align: justify;
    border-right: solid 1px #ddd;
}

.td_date01 p{/*日勤*/
    background-color: #fe9f31;   
}

.td_date02 p{/*夜勤*/
    background-color: #33d3fe;
}

.td_date03 p{/*休み*/
    background-color: #ff6eb4;
}

.td_date04 p{/*明け*/
    background-color: #b973ff;
}

.td_date05 p{/*有休*/
    background-color: #ff3333;
}


.tbl_shift td p{
    text-align: center;
    color: #fff;
    font-size: 14px;
    font-weight: lighter; 
    border-radius: 5px;
    margin-top: 8px;
    
}

@media screen and (min-width: 768px) {
.tbl_shift th {
    padding: 8px;
    font-size: 18px;
}

.tbl_shift td{
    padding: 5px 15px 15px 15px;
    font-size: 18px;  
}
.tbl_shift td p{
    font-size: 18px;
    margin-top: 15px;
}
}

@media screen and (min-width: 1000px) {
 .tbl_shift th{
    padding: 6px;
}

.tbl_shift td{
   padding: 3px 10px 10px 10px; 
}

.tbl_shift td p { 
    margin-top: 20px;
}
}

@media screen and (min-width: 1200px) {
 .tbl_shift th{
    font-size: 19px;
}

.tbl_shift td{
   padding: 3px 18px 10px 18px; 
   font-size: 19px;
}

.tbl_shift td p{
    font-size: 19px;
    margin-top: 25px;   
}
}


/* 看護部長・教育担当インタビューボタン */
.intv {
    max-width: 500px;
    height: 80px;
    background: linear-gradient(90deg, #ff649b, #ff5087);
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
}
.intv p {
    font-size: 15px;
    line-height: 140%;
    text-align: center;
    color: #fff;
    width: calc(100% - 150px);
}
.intv p i {
    margin-left: 10px;
}
.intv img {
    width: 150px;
    height: 80px;
    object-fit: cover;
    clip-path: polygon(9% 0%, 100% 0%, 100% 100%, 0% 100%);
}
@media screen and (min-width: 768px) {
.intv {
    height: 100px;
}
.intv p {
    font-size: 16px;
    line-height: 150%;
}
.intv img {
    height: 100px;
}
}

@media screen and (min-width: 1000px) {
.intv {
    height: 120px;
    transition: all 0.2s ease;
}
.intv:hover {
    opacity: 0.8;
}
.intv p {
    width: 400px;
}
.intv img {
    width: 200px;
    height: 120px;
}
}


/* 福利厚生、教育の基本flex */
.tpL {
    margin-bottom: 30px;
}
.tpR_boss {
    margin-bottom: 20px;
}
.tpR_boss img {
    height: 300px;
}
@media screen and (min-width: 1000px) {
.txp {
    display: flex;
    justify-content: space-between;
}
.tpL {
    width: 50%;
    margin-right: 60px;
    margin-bottom: 0;
}
.tpR {
    width: 50%;
}
.tpR_boss {
    min-width: 250px;
    margin: 0 0 0 50px;
    order: 1;
}
.tpR_boss img {
    height: auto;
}
}


/* 先輩の声 */
.sv_box01, .sv_box02 {
    position: relative;
}
.sv_box01 {
    background: linear-gradient(135deg,#f5ffe6, #ebffd2);
}
.sv_box02 {
    background :linear-gradient(135deg,#ffebfa, #ffd7f0);
}
.sv_num {
    position: absolute;
    top: -10px;
    left: -5px;
}
.sv_num p {
    font-size: 40px;
    line-height: 100%;
    font-family: "Jost", serif;
    font-weight: 600;
    color: #ffffffb0;
}
.sv_catchbox {
    position: relative;
}
.sv_catchpic img {
    max-height: 300px;
}
h2.sv_catch {
    text-align: right;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    position: absolute;
    bottom: 10px;
    right: -20px;
}
h2.sv_catch span {
    line-height: 130%;
    font-weight: 600;
    text-align: left;
    
    letter-spacing: 0.05em;
    font-feature-settings: "palt";
    clip-path: inset(0 100% 0 0);
    transition: clip-path 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
h2.sv_catch.-visible span {
    clip-path: inset(0 0 0 0);
}
h2.sv_catch.-visible span.sv_main01, 
h2.sv_catch.-visible span.sv_sub01 {
    transition-delay: 0.4s; /* 先に出す */
}
h2.sv_catch.-visible span.sv_main02, 
h2.sv_catch.-visible span.sv_sub02 {
    transition-delay: 1.4s; /* 少し遅れて出す */
}
h2.sv_catch span.sv_main01 {
    font-size: 20px;
    color: #fff;
    background-color: #5ac800;
    padding: 8px 10px;
    margin-bottom: 10px;
    display: inline-block;
}
h2.sv_catch span.sv_main02 {
    font-size: 16px;
    color: #5ac800;
    background-color: #fff;
    padding: 6px 10px;
    display: inline-block;
}
h2.sv_catch span.sv_sub01 {
    font-size: 20px;
    color: #fff;
    background-color: #ff5a96;
    padding: 8px 10px;
    margin-bottom: 10px;
    display: inline-block;
}
h2.sv_catch span.sv_sub02 {
    font-size: 16px;
    color: #ff5a96;
    background-color: #fff;
    padding: 6px 10px;
    display: inline-block;
}
@media screen and (min-width: 768px){
.sv_catchpic img {
    max-height: 350px;
}
}
@media screen and (min-width: 1000px){
.sv_box01, .sv_box02 {
    margin-top: 30px;
}
.sv_catchbox {
    display: flex;
}
.sv_num {
    left: calc(100% - 370px);
    text-wrap: nowrap;
}
.sv_num p {
    font-size: 120px;
}
.sv_catchpic img {
    height: 300px;
    max-width: 450px;
    margin-top: -30px;
    margin-left: 50px;
}
}
@media screen and (min-width: 1200px){
.sv_catchbox {
    display: flex;
}
.sv_num {
    top: -20px;
    left: auto;
    right: -15px;
}
.sv_num p {
    font-size: 110px;
}
h2.sv_catch {
    text-align: left;
    align-items: flex-start;
    bottom: 20px;
    left: 420px;
}
h2.sv_catch span.sv_main01 {
    font-size: 22px;
    padding: 8px 15px 10px;
    margin-bottom: 12px;
    display: inline-block;
}
h2.sv_catch span.sv_sub01 {
    font-size: 22px;
    padding: 8px 15px 10px;
    margin-bottom: 12px;
    display: inline-block;
}
}

/* Q&A */
.sv_qa01, .sv_qa02 {
    padding: 20px 15px;
}
.qa_flex {
    display: flex;
}
.q_circle, .a_circle {
    font-family: "Jost", serif;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    color: #fff;
    margin-right: 7px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.q_circle {
    background: #ff5a96;
    margin-top: 2px;
}
.a_circle {
    background: #5ac800;
    margin-top: 2px;
}
p.q_txt {
    line-height: 150%;
    font-weight: 700;
    color: #ff5a96;
    width: calc(100% - 30px);
    margin-bottom: 10px;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}
p.a_txt {
    width: calc(100% - 30px);
    margin-bottom: 20px;
}
.sv_qa01 .qa_flex:last-of-type p.a_txt, 
.sv_qa02 .qa_flex:last-of-type p.a_txt {
    margin-bottom: 0;
}
.qa_bdb_mainclr {
    border-bottom: solid 1px #5ac800;
}
.qa_bdb_subclr {
    border-bottom: solid 1px #ff5a96;
}
.qa_bdb_mainclr, .qa_bdb_subclr {
    margin-bottom: 20px;
}
@media screen and (min-width: 600px) {
.sv_qa01, .sv_qa02 {
    padding: 30px 40px;
}
}
@media screen and (min-width: 768px) {
.sv_qa01, .sv_qa02 {
    padding: 40px;
}
.q_circle,
.a_circle {
    width: 25px;
    height: 25px;
    margin-right: 10px;
}
.q_circle {
    background: #ff5a96;
    margin-top: 1px;
}
.a_circle {
    background: #5ac800;
    margin-top: 2px;
}
p.q_txt {
    width: calc(100% - 35px);
    margin-bottom: 12px;
}
p.a_txt {
    width: calc(100% - 35px);
    margin-bottom: 30px;
}
.qa_bdb_mainclr, .qa_bdb_subclr {
    margin-bottom: 30px;
}
}
@media screen and (min-width: 768px) {
.sv_qa01, .sv_qa02 {
    padding: 50px;
}
}
@media screen and (min-width: 1200px) {
.sv_qa01, .sv_qa02 {
    padding: 60px 80px;
}
p.q_txt {
    margin-bottom: 15px;
}
p.a_txt {
    margin-bottom: 35px;
}
.qa_bdb_mainclr, .qa_bdb_subclr {
    margin-bottom: 40px;
}
}


/* マーカー */
.marker, .marker_mainclr, .marker_subclr {
    background-repeat: no-repeat;
    background-size: 0% 100%;
    display: inline;
    padding: 0 5px;
    transition: background-size 1.2s;
}
.marker {
    background: linear-gradient(transparent 60%, #00000017 60%);
}
.marker_mainclr {
    background: linear-gradient(transparent 60%, #cdefba 60%);
}
.marker_subclr {
    background: linear-gradient(transparent 60%, #D9DEFF 60%);
}
.marker.on, .marker_mainclr.on, .marker_subclr.on {
    background-size: 100% 100%;
}


/* リンクボタン */
.sub_link_btn {
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background-color: #5ac800;
    border-radius: 999px;
    width: 340px;
    padding: 10px 5px 12px;
    margin: 25px 0 0 0;
    display: block;
}
@media screen and (min-width: 768px){
.sub_link_btn {
    font-size: 16px;
    width: 380px;
    padding: 13px 15px 15px;
    margin: 30px 0 0 0;
}
}
@media screen and (min-width: 1000px){
.sub_link_btn {
    font-size: 17px;
    width: 400px;
}
.sub_link_btn:hover {
    background-color: #ff6ea5;
}
}


/* 教育 */
.mstr_box {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.gnrl_box, .mngm_box, .spcl_box {
    width: 100%;
}
.mstr_box p {
    line-height: 100%;
    font-weight: bold;
    color: #5ac800;
    margin-left: 15px;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}
.mstr_box p span {
    font-weight: normal;
    color: #222;
    margin: 5px 0;
    display: block;
}
.gnrl_box, .mngm_box, .spcl_box {
    background-color: #f0ffdc;
    border: solid 1px #5ac800;
    border-left: solid 10px #5ac800;
    padding: 15px 0;
}
@media screen and (min-width: 599px){
.mstr_box {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    gap: 15px;
}
.mstr_box p {
    text-align: center;
    margin-left: 0;
}
.mstr_box p span {
    margin: 10px 0 5px;
}
}
@media screen and (min-width: 1000px){
.mstr_box {
    gap: 20px;
}
}






/* よくある質問 */
ul.faq_accordion {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.faq_accordion .faq_box {
	border: solid 1px #ddd;
}
.faq_question {
    position: relative;
    cursor: pointer;
    padding: 20px 45px 20px 10px;
    display: flex;
    align-items: center;
    transition: all 0.5s ease;
}
p.mark_Q, p.mark_A {
    font-family: "Jost", serif;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
p.mark_Q {
    background-color: #5ac800;
}
p.mark_A {
    background-color: #ff5a96;
}
.faq_txt, .faq_txt {
    width: calc(100% - 40px);
    margin-left: 10px;
}
.faq_question::before,
.faq_question::after {
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #ff5a96;
    transition: all 0.5s ease;
}
.faq_question::before{
    top: 48%;
    right: 15px;
    transform: rotate(0deg);
}
.faq_question::after{    
    top: 48%;
    right: 15px;
    transform: rotate(90deg);
}
.faq_question.close::before{
	transform: rotate(45deg);
}
.faq_question.close::after{
	transform: rotate(-45deg);
}
.faq_answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background: #ffe1f5;
    padding: 0 15px 0 10px
}
.faq_answer_in {
    padding: 15px 0;
    display: flex;
    align-items: center;
}
@media screen and (min-width: 1000px){
ul.faq_accordion {
    gap: 25px;
}
.faq_question {
    padding: 25px 50px 25px 20px;
}
.faq_question::before{
    right: 20px;
}
.faq_question::after{    
    right: 20px;
}
.faq_answer {
    padding: 0 20px;
}
.faq_answer_in {
    padding: 25px 0;
}
}





/* tableのリンクボタン */
.tbllink_btn {
    color: #fff;
    border-radius: 30px;
    width: 100%;
    max-width: 100px;
    height: 30px;
    padding: 10px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.tlb_01 {
    background-color: #5ac800;
}
/* table01一生横並び */
.tbl01 {
	border: solid 1px #5ac800;
}
.tbl01_subclr {
    border: solid 1px #ff5a96;
}
.tbl01 th, .tbl01 td {
    padding: 10px;
    border-bottom: solid 1px #5ac800;
    font-feature-settings: "palt";
}
.tbl01_subclr th, .tbl01_subclr td {
    border-bottom: solid 1px #ff5a96;
} 
.tbl01 tr:last-of-type th, 
.tbl01 tr:last-of-type td {
    border-bottom: 0;
}

.tbl01 th {
    font-weight: 700;
    text-align: center;
    color: #5ac800;
    background-color: #f0ffdc;
    border-right: solid 1px #5ac800;
    white-space: nowrap;
}
.tbl01_subclr th {
    color: #ff5a96;
    background-color: #ffe1f5;
    border-right: solid 1px #ff5a96;
}
.tbl01 th.th01 {
    font-weight: 500;
    padding: 7px 10px;
    color: #fff;
    background-color: #5ac800;
    border-right: solid 1px #f0ffdc;
    border-bottom: solid 1px #5ac800;
}
.tbl01 th.th01:last-of-type {
    border-right: solid 1px #5ac800;
}
.tbl01 th.th02 {
    color: #fff;
    background-color: #5ac800;
    border-right: solid 1px #5ac800;
    border-bottom: solid 1px #5ac800;
}
.tbl01 th.th03 {
    font-size: 15px;
    line-height: 140%;
    background-color: #e6ffc8;
    width: 15%;
    padding: 10px 5px;
}

.tbl01 td {
    line-height: 140%;
    text-align: justify;
    background-color: #fff;
}
.tbl01 td.td01 {
    text-align: center;
    color: #5ac800;
    background-color: #f0ffdc;
    border-right: solid 1px #5ac800;
    border-bottom: solid 1px #5ac800;
}
.tbl01 td.td02 {
    text-align: center;
    border-right: solid 1px #5ac800;
}
.tbl01 td.td03 {
    font-size: 15px;
    line-height: 140%;
    text-align: center;
    background-color: #f0ffdc;
    border-right: solid 1px #5ac800;
    width: 15%;
    padding: 10px 5px;
}
a.tbl_tel {
	font-size: 28px;
    line-height: 100%;
	font-family: "Outfit", sans-serif;
    font-weight: 500;
    color: #5ac800;
    letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
.tbl01 th, .tbl01 td {
    padding: 15px;
}
.tbl01 th.th03 {
    font-size: 16px;
}
.tbl01 td.td03 {
    font-size: 16px;
}
}
@media screen and (min-width: 1000px) {
.tbl01 th.th03 {
    font-size: 17px;
}
.tbl01 td.td03 {
    font-size: 17px;
}
}

/* table02 */
.tbl02 tr {
    border: solid 1px #5ac800;
}
.tbl02 th {
    text-align: center;
    background-color: #ebf5e6;
    display: block;
    padding: 10px;
    white-space: nowrap;
}
.tbl02 th.th02 {
    font-size: 15px;
    line-height: 140%;
    font-weight: 700;
    text-align: left;
    padding: 5px 10px;
}
.tbl02 td {
    font-size: 16px;
    line-height: 150%;
    text-align: justify;
    background-color: #fff;
    display: block;
    padding: 10px;
}

.tbl02 td.td02 {
    font-size: 16px;
    padding: 5px 10px 10px;
}

@media screen and (min-width: 768px) {
.tbl02 th {
    border-right: solid 1px #bbb;
    display: table-cell;
}
.tbl02 th.th02 {
    text-align: center;
    width: 170px;
    padding: 10px;
}
.tbl02 td {
    display: table-cell;
}
.tbl02 td.td02 {
    padding: 10px;
}
}

/* table03 */
.tbl03 tr {
    border: solid 1px #5ac800;
}
.tbl03 th {
    color: #5ac800;
    background-color: #f0ffdc;
    border-bottom: solid 1px #5ac800;
    display: block;
    padding: 10px;
    white-space: nowrap;
}
.tbl03 th.th01 {

}
.tbl03 td {
    font-size: 16px;
    line-height: 150%;
    text-align: justify;
    background-color: #fff;
    display: block;
    padding: 10px;
}

.tbl03 td p.scl {
    line-height: 160%;
    font-weight: bold;
    color: #5ac800;
    margin-bottom: 5px;
}

@media screen and (min-width: 768px) {
.tbl03 th {
    padding: 10px 15px;
}
.tbl03 td {
    padding: 15px;
}
.tbl03 th.th02 {
    text-align: center;
    width: 170px;
    padding: 10px;
}

.tbl03 td.td02 {
    padding: 10px;
}
}


/* 背景bgと三角 */
.sb_bg01, .sb_bg01_wide, .sb_bg02 {
    padding: 30px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
}
.sb_bg01 {
    background: linear-gradient(135deg, #f5ffe6, #ebffd2);
}
.sb_bg02 {
    background: linear-gradient(135deg, #ffebfa, #ffd7f0);
}
.sb_bg01_wide {
    padding: 40px 20px;
}

.philo_tri_a {
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    clip-path: polygon(0 0, 0% 100%, 100% 0);
}
.philo_tri_b {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 30px;
    height: 30px;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.ptri_01 {
    background-color: #5ac800;
    
}
.ptri_02 {
    background-color: #ff5a96;
    
}
@media screen and (min-width: 499px) {
.sb_bg01,
.sb_bg02 {
    padding: 30px 40px;
}
.sb_bg01_wide {
    padding: 60px 40px;
}
}
@media screen and (min-width: 1100px) {
.sb_bg01 {
    padding: 50px 100px;
    margin-bottom: 50px;
}
.sb_bg02 {
    padding: 50px 140px;
    margin-bottom: 50px;
}
.sb_bg01_wide {
    padding: 80px 100px;
}
}




/* プログラム化する */
/* 見学・説明会・インターンシップ */
.int_s01 {
    padding-bottom: 50px;
}
.int_box {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.int_box_txt {
    text-align: left;
}
.int_box_assets {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.int_link01 {
    font-size: 16px;
    font-weight: 600;
    line-height: 140%;
    color: #5ac800;
    background-color: #f5ffe6;
    border: solid 1px #5ac800;
    padding: 15px 35px 15px 20px;
    border-radius: 30px;
    width: 100%;
    max-width: 320px;
    display: inline-block;
    position: relative;
}
.int_link02 {
    font-size: 16px;
    font-weight: 600;
    line-height: 140%;
    color: #ff5a96;
    background-color: #ffebfa;
    border: solid 1px #ff5a96;
    padding: 15px 35px 15px 20px;
    border-radius: 30px;
    width: 100%;
    max-width: 320px;
    display: inline-block;
    position: relative;
}
.int_link01 i, 
.int_link02 i {
    position: absolute;
    top: calc(50% - 8px);
    right: 15px;
}
@media screen and (min-width: 701px) {
.int_s01 {
    padding-bottom: 100px;
}
.int_box {
    gap: 30px;
}
.int_box_txt {
    gap: 15px;
}
.int_link01:hover {
     background-color: #e6ffc8;
}
.int_link02:hover {
     background-color: #ffd7f0;
}
}


/* エントリーボタン */
.int_btn01 {
    color: #fff;
    background-color: #5ac800;
    border-radius: 30px;
    width: 100%;
    max-width: 320px;
    height: 60px;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.int_btn01 i {
	margin: 0 10px 0 0;
}
.int_btn02 {
    color: #fff;
    background-color: #ff5a96;
    border-radius: 30px;
    width: 100%;
    max-width: 320px;
    height: 60px;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.int_btn02 i {
	margin: 0 10px 0 0;
}
@media screen and (min-width: 610px){
.int_btn01:hover {
	background-color: #32aa00;
}
.int_btn02:hover {
	background-color: #ff4678;
}
}

/* ボツ見学・説明会・インターンシップ */
/* .int_box {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.int_box_in {
    border: solid 1px #5ac800;
    padding: 25px 10px 10px 10px;
    position: relative;
}
.int_box_in:first-of-type {
    margin-top: 20px;
}
.int_title01 {
    font-size: 18px;
    line-height: 140%;
    font-weight: normal;
    text-align: left;
    color: #fff;
    background-color: #5ac800;
    width: fit-content;   
    max-width: 100%; 
    padding: 5px 15px;
    position: absolute;
    top: -20px;
    left: -1px;
}
@media screen and (min-width: 768px) {
.int_box {
    gap: 50px;
}
.int_box_in {
    padding: 30px 15px 15px 15px;
}
.int_title01 {
    font-size: 19px;
    padding: 7px 20px;
}
} */

