/* サブページトップ・タイトル */
.sub_top {
    width: 100%;
    height: 150px;
    background: linear-gradient(45deg, #edebe099, #f5f3e8ee), 
    url(../img/sub_bg_head_3395.avif);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
}
h2.h2_sub {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
}
h2 .h2_sub_cat {
    font-size: 18px;
    line-height: 100%;
    color: #122746;
    border-bottom: solid 1px #122746;
    padding: 0 2px 5px;
    margin-bottom: 15px;
    display: inline-block;
    z-index: 1;
}
h2 .h2_sub_title {
    font-size: 26px;
    text-align: center;
    line-height: 130%;
    z-index: 1;
}
h2 .h2_sub_eng {
    font-size: clamp(2.813rem, -0.17rem + 6.36vw, 5rem);
    /* 45px - 80px */
    /* 750px - 1300px */
    line-height: 100%;
    font-family: "Jost", serif;
    font-weight: 600;
    text-align: center;
    color: #1a356422;
    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) {
h2 .h2_sub_cat {
    font-size: 20px;
}
}
@media screen and (min-width: 1000px) {
.sub_top {
    height: 250px;
    margin-top: 90px;
}
h2 .h2_sub_cat {
    font-size: 22px;
    padding: 0 4px 7px;
    margin-bottom: 20px;
}
h2 .h2_sub_title {
    font-size: 28px;
}
}


/* 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;
}
}


/* 左カラム */
/* メニューリスト */
.stick_in {
    background: #fff;
    border: 1px solid #1a3564;
    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, #1a3564, #162e55);
}
.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, #1a3564, #162e55);
    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 #1a3564;
    background-color: #fff;
    padding: 15px;
    display: block;
    position: relative;
}
a.clm_title i {
    color: #162e55;
    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: #f1efe4;
}
@media screen and (min-width: 1000px){
.clm_article {
    font-size: 18px;
}
a.clm_title {
    padding: 17px 10px;
    /* 内容によって調整する。デフォは17px 15px; */
}
a.clm_title:hover {
    background-color: #f1efe4;
}
a.clm_title i {
    right: 10px;
    /* 内容によって調整する。デフォは15px; */
}
.clm_box.yesPC1000 .clm_list a.active {
    background-color: #f1efe4;
}
}


/* サブページタイトル */
.h2_cat01 {
    font-size: 18px;
    line-height: 140%;
    font-weight: normal;
    text-align: left;
    color: #fff;
    background-color: #1a3564;
    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: #c84b19;
    width: fit-content;   
    max-width: 100%; 
    padding: 5px 10px;
    margin-bottom: 15px;
}
h2.h2_title01 {
    font-size: 24px;
    line-height: 140%;
    font-weight: normal;
    text-align: left;
    color: #1a3564;
    display: block;
    border-bottom: solid 1px #1a3564;
    margin: 0 0 20px;
    padding-bottom: 10px;
}
h2.h2_title02 {
    font-size: 24px;
    line-height: 140%;
    font-weight: normal;
    text-align: left;
    color: #c84b19;
    display: block;
    border-bottom: solid 1px #c84b19;
    margin: 0 0 20px;
    padding-bottom: 10px;
}
h3.h3_philo01 {
    font-size: 20px;
    line-height: 180%;
    font-weight: normal;
    color: #1a3564;
}
h3.h3_philo02 {
    font-size: 20px;
    line-height: 180%;
    font-weight: normal;
    color: #c84b19;
}
.sub_title00 {
    font-size: 17px;
    line-height: 160%;
    font-weight: 600;
    color: #1a3564;
}
p.sub_title01 {
    font-size: 19px;
    line-height: 160%;
    font-weight: 600;
    color: #1a3564;
}
p.sub_title02 {
    font-size: 19px;
    line-height: 160%;
    font-weight: 600;
    color: #c84b19;
}
@media screen and (min-width: 1000px) {
h2.h2_title01, h2.h2_title02 {
    font-size: 26px;
    margin: 0 0 20px;
}
h3.h3_philo01, 
h3.h3_philo02 {
    font-size: 22px;
    line-height: 160%;
}
p.sub_title01, p.sub_title02 {
    font-size: 20px;
    list-style: 200%;
}
}


/* サブページボックス */
.subbox {
    padding: 50px 0;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (min-width: 1000px) {
.subbox {
    padding: 80px 0;
}
.subbox:first-of-type {
    padding-bottom: 0;
}
}

/* 右カラム */
.s01 {
    text-align: center;
    margin-bottom: 50px;
}
.s01:last-of-type {
    margin-bottom: 0;
}
.s01_subclr {
    padding: 25px 15px;
    background: linear-gradient(90deg, #f5f3e8, #edebe0);
}
@media screen and (min-width: 768px) {
.s01_subclr {
    padding: 30px;
}
}
@media screen and (min-width: 1000px) {
.s01 {
    margin-bottom: 100px;
}
}
@media screen and (min-width: 1000px) {
.s01_subclr {
    padding: 50px;
}
}


/* フレックスボックス */
/* sub_flex01 */
.sub_flex01 {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 20px;
}
.sf01 {
    width: calc(50% - 10px);
}
@media screen and (min-width: 768px){
.sub_flex01 {
    gap: 30px;
}
.sf01 {
    width: calc(50% - 15px);
}
}
@media screen and (min-width: 1100px){
.sf01 {
    width: calc(25% - 90px / 4);
}
}

/* sub_flex02 */
.sub_flex02 {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.sub_flex02c {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
@media screen and (min-width: 768px){
.sub_flex02 {
    justify-content: space-between;
    align-items: stretch;
    flex-direction: row;
    gap: 40px;
}
.sub_flex02c {
    align-items: center;
    flex-direction: row;
    gap: 0;
}
.sf02 {
    width: calc(50% - 20px);
}
}

/* sub_flex03 */
.sub_flex03 {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
@media screen and (min-width: 768px){
.sub_flex03 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 30px;
}
.sf03_2, .sf03_3 {
    width: calc(50% - 15px);
}
}
@media screen and (min-width: 1300px){
.sf03_3 {
    width: calc(100% / 3 - 20px);
}
}

/* sub_flex11 */
.sub_flex11 {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
@media screen and (min-width: 1100px){
.sub_flex11 {
    justify-content: space-between;
    flex-direction: row;
    gap: 40px;
}
.sf11_L, .sf11_R {
    width: calc(50% - 20px);
}
}



/* 介護看護部長メッセージ*/
.sub_flex_boss {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
@media screen and (min-width: 1100px){
.sub_flex_boss {
    justify-content: space-between;
    flex-direction: row;
    gap: 50px;
}
.sf_boss_L {
    width: calc(100% - 250px);
}
.sf_boss_R {
    width: 200px;
}
.sf_boss_R img {
    width: 200px;
    height: auto;
}
}
@media screen and (min-width: 1200px){
.sf_boss_L {
    margin-bottom: 0;
    width: calc(100% - 300px);
}
.sf_boss_R {
    width: 250px;
}
.sf_boss_R img {
    width: 250px;
}
}

h2.bossmsg_txt {
    font-size: 23px;
    line-height: 150%;
    text-align: center;
    color: #1a3564;
    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: #f1efe4;
    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;
}
@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;
}
}
@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, #f9f7ec, #f5f3e8);
}
.srb_02 {
    background: linear-gradient(135deg, #f9f7ec, #f5f3e8);
}
.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: #1a3564;
}
.srtri_02 {
    background-color: #c84b19;
}
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: #08101d;
}
p.srt_02 {
    color: #8c1900;
}
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 #1a3564;
}
p.srt_02:after {
    border-bottom: 5px solid #c84b19;
}
.sub_records_box_in01, 
.sub_records_box_in02 {
    padding: 20px 5px 20px;
	flex: 1; /* タイトル以外のエリアを自然に伸ばす */
	display: flex;
	align-items: center;
	justify-content: center;
    flex-direction: column;
}
.sub_records_box_in01 i {
    font-size: 35px;
    color: #1a3564;
    margin-bottom: 10px;
}
.sub_records_box_in02 i {
    font-size: 35px;
    color: #c84b19;
    margin-bottom: 10px;
}
/* カウントアップ */
.countup_num {
	font-size: 20px;
	line-height: 100%;
	font-weight: 600;
}
.cn_01 {
    color: #1a3564;
}
.cn_02 {
    color: #c84b19;
}
.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;
}
/* 円グラフが2個のときのみ記述 */
@media screen and (min-width: 768px){
.legend {
    margin: 30px auto 0 0;
}
}
/* 円グラフが2個のときのみ記述ここまで */


/* アクセス */
.accsmap iframe {
    width: 100%;
    height: 300px;
    border: 0;
}
@media screen and (min-width: 768px){
.accsmap iframe {
    height: 400px;
}
}
@media screen and (min-width: 1000px){
.accsmap iframe {
    height: 500px;
}
}

/* アクセス近隣情報 */
.accs_whereis {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.accs_whereis_box {
    background: linear-gradient(135deg, #f9f7ec, #f5f3e8);
    max-width: 100%;    
    display: flex;
    flex-direction: column;
    flex: 1 1 100%;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
.awb_text {
    height: 100%;
    padding: 15px 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.accs_whereis_box 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: #c84b19;
    margin: 0 1px;
    vertical-align: -3px;
}
.time_min {
    font-size: 22px;
    font-weight: bold;
    color: #c84b19;
    vertical-align: -1px;
}
/* タブレット：2列 */
@media screen and (min-width: 599px) {
.accs_whereis_box {
    flex: 0 0 calc(50% - 10px);
}
}
/* PC：3列 */
@media screen and (min-width: 1200px) {
.accs_whereis_box {
    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(#dc5f23, #b4370a);
}
.sche02::before {
    background: linear-gradient(#224382, #122746);
}
.sche_step {
    display: flex;
    align-items: flex-start;
    position: relative;
    padding-bottom: 40px;
}
.sche_step:last-child {
    padding-bottom: 0;
}
.sche_time {
    font-size: 13px;
    line-height: 130%;
    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";
}
.sche01 p.sche_time {
    background: linear-gradient(135deg, #d2551e, #be4114);
}
.sche02 p.sche_time {
    background: linear-gradient(135deg, #1e3c73, #162e55);
}
.sche_content {
    text-align: left;
    margin-left: 15px;
    flex: 1;
}
.sche_content h3 {
    font-size: 19px;
    line-height: 140%;
    font-weight: bold;
    text-align: left;
    margin-top: 15px;
    margin-bottom: 10px;
}
.sche_txt01 {
    margin-bottom: 20px;
}
.sche01 .sche_content h3 {
    color: #c84b19;
}
.sche02 .sche_content h3 {
    color: #1a3564;
}
.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);
}
p.sche_time {
    font-size: 18px;
    width: 100px;
    height: 100px;
}
p.sche_time span {
    font-size: 15px;
    font-weight: 500;
}
.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: #1a3564;
    background-color: #f1efe4;
}
.tbl_shift th.th02 {
    color: #c84b19;
    background-color: #f1efe4;
}
.tbl_shift td {
    font-size: 14px;
    line-height: 140%;
    font-weight: 800;
    text-align: justify;
    border-right: solid 1px #ddd;
}

.td_date01 p { /*日勤*/
    background-color: #fe9f31;   
}
.td_date02 p { /*夜勤*/
    background-color: #3266B0;
}
.td_date03 p { /*休み*/
    background-color: #E91E63;
}
.td_date04 p { /*明け*/
    background-color: #3266B0;
}
.td_date05 p { /*有休*/
    background-color: #ff3333;
}
.td_date06 p { /*早番*/
    background-color: #2BA150;
}
.td_date07 p { /*遅番*/
    background-color: #9B59B6;
}
.tbl_shift td p {
    font-size: 14px;
    font-weight: 400; 
    text-align: center;
    color: #fff;
    border-radius: 5px;
    margin-top: 8px;
}
@media screen and (min-width: 768px) {
.tbl_shift th {
    padding: 8px;
    font-size: 18px;
}
.tbl_shift td {
    font-size: 18px; 
    padding: 5px 15px 15px 15px; 
}
.tbl_shift td p {
    font-size: 18px;
    margin-top: 15px;
    padding: 0 0 2px;
}
}
@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 {
    font-size: 19px;
    padding: 3px 18px 10px 18px; 
}
.tbl_shift td p{
    font-size: 19px;
    margin-top: 25px;   
}
}


/* 看護部長・教育担当インタビューボタン */
.intv {
    max-width: 500px;
    height: 80px;
    background: linear-gradient(90deg, #d2551e, #be4114);
    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;
}
}


/* 先輩の声 切り抜きバージョン */
.sv_box01, .sv_box02 {
    position: relative;
}
.sv_catchbox01, 
.sv_catchbox02 {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.sv_catchbox01 {
    background: linear-gradient(180deg, #1e3c73, #162e55);
} 
.sv_catchbox02 {
    background: linear-gradient(180deg, #d2551e, #d2551e);
}
h2.sv_catch {
    height: 130px;
    padding: 15px 10px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
h2.svc_nopic {
    height: 160px;
}
h2.sv_catch span {
    font-size: 22px;
    line-height: 150%;
    font-weight: 300;
    text-align: center;
    color: #fff;
    padding: 12px 25px;
    display: inline-block;
    position: relative;
    letter-spacing: 0.05em;
    font-feature-settings: "palt";
}
h2.sv_catch span.svm01_tight {
    font-size: 21px;
    padding: 12px 14px;
}
h2.sv_catch span:before, h2.sv_catch span:after { 
    content:'';
    width: 25px;
    height: 25px;
    position: absolute;
    display: inline-block;
}
h2.sv_catch span:before {
    border-left: solid 1px #fff;
    border-top: solid 1px #fff;
    top: 0;
    left: 0;
}
h2.sv_catch span:after {
    border-right: solid 1px #fff;
    border-bottom: solid 1px #fff;
    bottom: 0;
    right: 0;
}
.sv_catchpic {
    width: 100%;
    position: relative;
}
@media screen and (min-width: 390px){
h2.sv_catch span.svm01_tight {
    font-size: 22px;
    padding: 12px 20px;
}
}
@media screen and (min-width: 400px){
h2.sv_catch span.svm01_tight {
    padding: 12px 25px;
}
}
@media screen and (min-width: 768px){
h2.sv_catch {
    height: 150px;
}
h2.svc_nopic {
    height: 180px;
}
h2.sv_catch span {
    font-size: 24px;
    padding: 15px 30px;
}
}
@media screen and (min-width: 1100px){
.sv_catchbox01, 
.sv_catchbox02 {
    width: 95%;
}
h2.sv_catch {
    height: 220px;
}
}

/* nametag */
.nametag01, 
.nametag02 {
    font-size: 15px;
    line-height: 140%;
    padding: 8px 10px;
    position: absolute;
    bottom: 15px;
    right: -10px;
}
.nametag01 {
    color: #1a3564;
    background-color: #f1efe4;
    border: solid 3px #1a3564;
}
.nametag02 {
    color: #c84b19;
    background-color: #f1efe4;
    border: solid 3px #c84b19;
}
.nametag01 span, 
.nametag02 span {
    font-weight: 700;
}
.nm01_nopic {
    bottom: -20px;
    right: -10px;
}
@media screen and (min-width: 768px){
.nametag01, .nametag02 {
    font-size: 16px;
    padding: 10px 15px;
}
}
@media screen and (min-width: 1100px){
.nametag01, .nametag02 {
    bottom: 20px;
    right: -40px;
}
.nm01_nopic {
    bottom: -20px;
    right: -20px;
}
}

/* Q&A */
.sv_qa01 {
    background-color: #f1efe4;
    padding: 20px 15px;
}
.sv_qa02 {
    background-color: #f1efe4;
    padding: 20px 15px;
}
.svqa01_nopic {
    padding: 35px 15px 20px;
}
.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: #c84b19;
    margin-top: 2px;
}
.a_circle {
    background: #1a3564;
    margin-top: 2px;
}
p.q_txt {
    line-height: 150%;
    font-weight: 700;
    color: #c84b19;
    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;
}
/* ▼ .qa_downer がない場合 → qa_upper の最後の .a_txt だけ 0 */
.sv_qa01:not(:has(.qa_downer)) .qa_upper .qa_flex:last-child .a_txt {
    margin-bottom: 0;
}
/* ▼ .qa_downer がある場合 → qa_downer の最後の .a_txt だけ 0 */
.sv_qa01:has(.qa_downer) .qa_downer .qa_flex:last-child .a_txt {
    margin-bottom: 0;
}
.qa_bdb_mainclr {
    border-bottom: solid 1px #1a3564;
}
.qa_bdb_subclr {
    border-bottom: solid 1px #c84b19;
}
.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 {
    margin-top: 1px;
}
.a_circle {
    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: 1100px) {
.sv_qa01, .sv_qa02 {
    width: 95%;
}
p.q_txt {
    margin-bottom: 15px;
}
p.a_txt {
    margin-bottom: 35px;
}
.qa_bdb_mainclr, .qa_bdb_subclr {
    margin-bottom: 40px;
}
}
@media screen and (min-width: 1200px) {
.sv_qa01, .sv_qa02 {
    padding: 50px;
}
}

/* 切り抜き写真関係 */
@media screen and (min-width: 1100px){
.qa_downer {
    padding-right: calc(250px - 5% - 40px - 10px);
    /* (sv_cutpicのwidth - sv_qa01のwidthの足りない分 - sv_qa01のpadding-left - おまけの10px) */
}
.sv_cutpic img {
    position: absolute;
    bottom: 0;
    right: -6%;
    width: 250px;
}
}
@media screen and (min-width: 1200px){
.qa_downer {
    padding-right: calc(250px - 5% - 50px - 20px);
}
.sv_cutpic img {
    right: -5%;
}
}



/* マーカー */
.marker, .marker_mainclr, .marker_subclr {
    background-repeat: no-repeat;
    background-size: 0% 100%;
    display: inline;
    padding: 0 1px 5px;
    transition: background-size 1.5s;
    transition-delay: 0.75s;
}
.marker {
    background-image: linear-gradient(transparent 60%, #00000017 60%);
}
.marker_mainclr {
    background-image: linear-gradient(transparent 60%, #08101d33 60%);
}
.marker_subclr {
    background-image: linear-gradient(transparent 60%, #8c190033 60%);
}
.marker.on, .marker_mainclr.on, .marker_subclr.on {
    background-size: 100% 100%;
}


/* 教育 */
.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: #1a3564;
    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: #f1efe4;
    border: solid 1px #1a3564;
    border-left: solid 10px #1a3564;
    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;
}
}

/* 入職後のサポート制度 */
.support_box {
    position: relative;
}
.support_box::before {
    content: "";
    position: absolute;
    top: 35px;
    left: calc(30px - 2px);
    width: 4px;
    height: calc(100% - 35px);
    background: linear-gradient(#224382, #122746);
    z-index: 0;
}
.supp_step {
    display: flex;
    align-items: flex-start;
    position: relative;
    padding-bottom: 40px;
}
.supp_step:last-child {
    padding-bottom: 0;
}
.supp_time {
    font-size: 13px;
    /* 内容によって調整する。デフォは13px; */
    line-height: 130%;
    font-weight: bold;
    text-align: center;
    color: #fff;
    border-radius: 50%;
    width: 65px;
    height: 65px;
    /* 内容によって調整する。デフォは60px */
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    z-index: 1; /* 縦線より前に出す */
    font-feature-settings: "palt";
}
p.supp_time span {
    font-size: 9px;
    /* 内容によって調整する。デフォは未設定 。*/
    margin-top: 3px;
}
p.supp_time {
    background: linear-gradient(135deg, #1e3c73, #162e55);
}
.supp_content {
    text-align: left;
    margin-left: 15px;
    flex: 1;
}
.supp_content h3 {
    font-size: 19px;
    line-height: 140%;
    font-weight: bold;
    text-align: left;
    color: #1a3564;
    margin-top: 20px;
    /* 内容によって調整する。デフォは15px */
    margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
.supp_step {
    padding-bottom: 50px;
} 
}
@media screen and (min-width: 1000px) {
.support_box::before {
    top: 45px;
    left: calc(50px - 2px);
    height: calc(100% - 50px);
}
p.supp_time {
    font-size: 18px;
    /* 内容によって調整する。デフォは18px; */
    width: 100px;
    height: 100px;
}
p.supp_time span {
    font-size: 13px;
    /* 内容によって調整する。デフォは未設定 */
    font-weight: 500;
}
.supp_content h3 {
    margin-top: 25px;
}
}
@media screen and (min-width: 1200px) {
.supp_step {
    padding-bottom: 60px;
}    
}


/* よくある質問 */
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;
    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: #1a3564;
}
p.mark_A {
    background-color: #c84b19;
}
.faq_txt {
    width: calc(100% - 40px);
    margin-top: 1.5px;
    margin-left: 10px;
}
.faq_question::before,
.faq_question::after {
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #c84b19;
    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: #f1efe4;
    padding: 0 15px 0 10px
}
.faq_answer_in {
    padding: 15px 0;
    display: flex;
}
@media screen and (min-width: 1000px){
ul.faq_accordion {
    gap: 25px;
}
.faq_txt {
    margin-top: 0;
}
.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;
}
}



/* table01一生横並び */
.tbl01 {
	border: solid 1px #1a3564;
}
.tbl01_subclr {
    border: solid 1px #c84b19;
}
.tbl01 th, .tbl01 td {
    padding: 10px;
    border-bottom: solid 1px #1a3564;
    font-feature-settings: "palt";
}
.tbl01_subclr th, .tbl01_subclr td {
    border-bottom: solid 1px #c84b19;
} 
.tbl01 tr:last-of-type th, 
.tbl01 tr:last-of-type td {
    border-bottom: 0;
}
.tbl01 th {
    font-weight: 700;
    text-align: center;
    color: #1a3564;
    background-color: #f1efe4;
    border-right: solid 1px #1a3564;
    white-space: nowrap;
}
.tbl01_subclr th {
    color: #c84b19;
    background-color: #f1efe4;
    border-right: solid 1px #c84b19;
}
.tbl01 th.th01 {
    font-weight: 500;
    padding: 7px 10px;
    color: #fff;
    background-color: #1a3564;
    border-right: solid 1px #f1efe4;
    border-bottom: solid 1px #1a3564;
}
.tbl01 th.th01:last-of-type {
    border-right: solid 1px #1a3564;
}
.tbl01 th.th02 {
    color: #fff;
    background-color: #1a3564;
    border-right: solid 1px #1a3564;
    border-bottom: solid 1px #1a3564;
}
.tbl01 th.th03 {
    font-size: 15px;
    line-height: 140%;
    background-color: #e9e7dc;
    width: 15%;
    padding: 10px 5px;
}
.tbl01 th.th04 {
    padding: 10px 5px;
}
.tbl01 td {
    line-height: 140%;
    text-align: justify;
    background-color: #fff;
}
.tbl01 td.td01 {
    text-align: center;
    color: #1a3564;
    background-color: #f1efe4;
    border-right: solid 1px #1a3564;
    border-bottom: solid 1px #1a3564;
}
.tbl01 td.td02 {
    text-align: center;
    border-right: solid 1px #1a3564;
}
.tbl01 td.td03 {
    font-size: 15px;
    line-height: 140%;
    text-align: center;
    background-color: #f1efe4;
    border-right: solid 1px #1a3564;
    width: 15%;
    padding: 10px 5px;
}
a.tbl_tel {
	font-size: 28px;
    line-height: 100%;
	font-family: "Outfit", sans-serif;
    font-weight: 500;
    color: #1a3564;
    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;
}
}

/* 横スクロール専用 */
.has_tbl_scroll,
.has_tbl_scroll_inner,
.has_tbl_scroll .s01,
.has_tbl_scroll .tbl01_wrap {
    min-width: 0;
}
.has_tbl_scroll_inner {
    width: 100%;
}
.has_tbl_scroll .tbl01_wrap {
    position: relative;
    width: 100%;
    max-width: 100%;
}
/* 599px以下だけ横スクロール */
@media screen and (max-width: 599px) {
.has_tbl_scroll .tbl01_wrap {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #1a3564 #ddd;
}
.has_tbl_scroll .tbl01_wrap::-webkit-scrollbar {
    height: 8px;
}
.has_tbl_scroll .tbl01_wrap::-webkit-scrollbar-track {
    background: #ddd;
}
.has_tbl_scroll .tbl01_wrap::-webkit-scrollbar-thumb {
    background: #1a3564;
}
/* テーブルに必要幅を持たせる */
.has_tbl_scroll .tbl01_wrap .tbl01 {
    width: max-content;
    min-width: 600px;
    /* 何px以下で横スクロールするかで数字を変える。何pxの数字+1pxにしよう */
}
/* スクロールヒント */
.has_tbl_scroll .tbl01_wrap.is-scrollable::after {
    content: "横にスクロールできます →";
    position: absolute;
    right: 10px;
    bottom: 10px;
    font-size: 11px;
    line-height: 100%;
    color: #fff;
    background: #1a3564;
    border-radius: 999px;
    padding: 5px 10px 7px;
    transition: opacity 0.3s ease;
    z-index: 2;
}
.has_tbl_scroll .tbl01_wrap.is-scrolled::after {
    opacity: 0;
}
}
/* 動きを減らしたいユーザー向け */
@media (prefers-reduced-motion: reduce) {
.has_tbl_scroll .tbl01_wrap.is-scrollable::after {
    transition: none;
}
}


/* table02 */
.tbl02 tr {
    border: solid 1px #1a3564;
}
.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 #1a3564;
}
.tbl03 th {
    color: #1a3564;
    background-color: #f1efe4;
    border-bottom: solid 1px #1a3564;
    display: block;
    padding: 10px;
    white-space: nowrap;
}
.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: #1a3564;
    margin-bottom: 5px;
}
.tbl03 td p.scl_wide {
    line-height: 160%;
    font-weight: bold;
    color: #1a3564;
    padding-bottom: 1px;
}
@media screen and (min-width: 768px) {
.tbl03 th {
    padding: 10px 20px;
}
.tbl03 td {
    padding: 15px 20px;
}
.tbl03 th.th02 {
    text-align: center;
    width: 170px;
    padding: 10px;
}
.tbl03 td.td02 {
    padding: 10px;
}
}


/* 背景bgと理念系背景三角 */
.sb_bg_main {
    background: linear-gradient(135deg, #f5f3e8, #edebe0);
    padding: 20px 15px;
}
.sb_bg_sub {
    background: linear-gradient(135deg, #f5f3e8, #edebe0);
    padding: 20px 15px;
}
.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, #f5f3e8, #edebe0);
}
.sb_bg02 {
    background: linear-gradient(135deg, #f5f3e8, #edebe0);
}
.sb_bg01_wide, 
.sb_bg01_narrow {
    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: #1a3564;
    
}
.ptri_02 {
    background-color: #c84b19;
    
}
@media screen and (min-width: 499px) {
.sb_bg01,
.sb_bg02 {
    padding: 30px 40px;
}
.sb_bg01_wide, 
.sb_bg01_narrow {
    padding: 60px 40px;
}
}
@media screen and (min-width: 768px) {
.sb_bg_main, 
.sb_bg_sub {
    padding: 30px 20px;
}
}
@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;
}
.sb_bg01_narrow {
    padding: 80px 40px;
}
}


/* 見学・説明会・インターンシップ */
/* プログラム化する */
.int_s01, .int_s02 {
    padding-bottom: 50px;
}
.int_s01 h2.h2_int_title {
    font-size: 24px;
    line-height: 140%;
    font-weight: normal;
    text-align: left;
    color: #1a3564;
    display: block;
    border-bottom: solid 1px #1a3564;
    margin: 0 0 20px;
    padding-bottom: 10px;
}
.int_s02 h2.h2_int_title {
    font-size: 24px;
    line-height: 140%;
    font-weight: normal;
    text-align: left;
    color: #c84b19;
    display: block;
    border-bottom: solid 1px #c84b19;
    margin: 0 0 20px;
    padding-bottom: 10px;
}
.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_link {
    font-size: 16px;
    line-height: 140%;
    font-weight: 600;
    padding: 15px 35px 15px 20px;
    border-radius: 999px;
    width: 100%;
    max-width: 320px;
    display: inline-flex;
    align-items: center;
    position: relative;
}
.int_s01 .int_link {
    color: #1a3564;
    background-color: #f5f3e8;
    border: solid 1px #1a3564;
}
.int_s02 .int_link {
    color: #c84b19;
    background-color: #f5f3e8;
    border: solid 1px #c84b19;
}
.int_link i {
    position: absolute;
    top: calc(50% - 8px);
    right: 15px;
}
@media screen and (min-width: 701px) {
.int_s01, .int_s02 {
    padding-bottom: 100px;
}
.int_box {
    gap: 30px;
}
.int_s01 .int_link:hover {
     background-color: #e9e7dc;
}
.int_s02 .int_link:hover {
     background-color: #edebe0;
}
}

/* インターンシップ表のtableプログラム */
/* --- 共通設定 --- */
.table_title {
    font-size: 18px;
    line-height: 140%;
    font-weight: 600;
    text-align: left;
    margin-bottom: 10px;
}
.table_title::before {
    content: "■";
    margin-right: 2px;
}
.tbl_int {
    border-collapse: collapse;
    width: 100%;
}
.tbl_int th, 
.tbl_int td {
    padding: 10px 5px;
    font-feature-settings: "palt";
}
.tbl_int th {
    font-weight: 700;
    text-align: center;
}
.tbl_int th.th_title {
    padding: 7px 5px;
}
.tbl_int td {
    line-height: 150%;
    text-align: justify;
    background-color: #fff;
}
.int_bold {
    font-weight: bold;
}
@media screen and (min-width: 810px) {/* 画面全体で1100px */
.tbl_int th, .tbl_int td {
    padding: 15px;
}
}

/* --- パターン01（メインカラー） --- */
.int_s01 .table_title { 
    color: #1a3564;
}
.int_s01 .tbl_int {
    border: solid 1px #1a3564;
}
.int_s01 .tbl_int th {
    color: #1a3564;
    background-color: #f9f7ec;
    border-right: solid 1px #1a3564;
    border-bottom: solid 1px #1a3564;
}
.int_s01 .tbl_int th.th_title {
    background-color: #e9e7dc;
}
.int_s01 .tbl_int td {
    border-bottom: solid 1px #1a3564;
}
.int_s01 .int_bold {
    color: #1a3564;
}

/* --- パターン02（サブカラー） --- */
.int_s02 .table_title { 
    color: #c84b19;
}
.int_s02 .tbl_int {
    border: solid 1px #c84b19;
}
.int_s02 .tbl_int th {
    color: #c84b19;
    background-color: #f9f7ec;
    border-right: solid 1px #c84b19;
    border-bottom: solid 1px #c84b19;
}
.int_s02 .tbl_int th.th_title {
    background-color: #e9e7dc;
}
.int_s02 .tbl_int td {
    border-bottom: solid 1px #c84b19;
}
.int_s02 .int_bold {
    color: #c84b19;
}

/* thのwidthサイズ4パターン */
.int_s01 th.th01, 
.int_s02 th.th01 {
    width: 15%;
}
.int_s01 th.th02, 
.int_s02 th.th02 {
    width: 20%;
}
.int_s01 th.th03, 
.int_s02 th.th03 {
    width: 30%;
}
.int_s01 th.th04, 
.int_s02 th.th04 {
    width: 40%;
}
@media screen and (min-width: 500px) {
.int_box_table td[style*="width"] {
    width: auto !important;
}
.int_s01 th.th01, 
.int_s02 th.th01, 
.int_s01 th.th02, 
.int_s02 th.th02 {
    width: 100px !important;
    min-width: 100px !important;
}
}
@media screen and (min-width: 600px) {
.int_s01 th.th03, 
.int_s02 th.th03 {
    width: 200px !important;
    min-width: 200px !important;
}
}
@media screen and (min-width: 810px) {/* 画面全体で1100px */
.int_s01 th.th04, 
.int_s02 th.th04 {
    width: 300px !important;
    min-width: 300px !important;
}
}


/* エントリーボタン */
.int_btn01 {
    color: #fff;
    background-color: #1a3564;
    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: #c84b19;
    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: #122746;
}
.int_btn02:hover {
	background-color: #b4370a;
}
}

/* 見学・説明会・インターンシップの手打ちtable */
/* table01一生横並び */
.tbl_int {
	border: solid 1px #1a3564;
}
.tbl_int_subclr {
    border: solid 1px #c84b19;
}
.tbl_int th, .tbl_int td {
    padding: 10px;
    border-bottom: solid 1px #1a3564;
    font-feature-settings: "palt";
}
.tbl_int_subclr th, .tbl_int_subclr td {
    border-bottom: solid 1px #c84b19;
} 
.tbl_int th {
    font-weight: 700;
    text-align: center;
    color: #1a3564;
    background-color: #f1efe4;
    border-right: solid 1px #1a3564;
    white-space: nowrap;
}
.tbl_int_subclr th {
    color: #c84b19;
    background-color: #f1efe4;
    border-right: solid 1px #c84b19;
}
.tbl_int td {
    line-height: 150%;
    text-align: justify;
    background-color: #fff;
}
.tbl_int td span.mainbold {
    font-weight: bold;
    color: #1a3564;
}
.tbl_int td span.subbold {
    font-weight: bold;
    color: #c84b19;
}
@media screen and (min-width: 768px) {
.tbl_int th, .tbl_int td {
    padding: 15px;
}
}
