@charset "UTF-8";
/* CSS Document */
/*------------------------------------------------
 update.css
------------------------------------------------*/
:root main{
  --font_color: #5D7484;
  --site_color_sml: #A7C8D9;
}
:root main.kango {
  --site_color_lit: #a3c8db;
  --site_color: #5992af;
}
:root main.sanka {
  --site_color_lit: #ffe8f3;
  --site_color: #f1b1d0;
}
.kango .sub_aside .aside_nav_page{
  background-color: #9BC3D8;
}
.sanka .sub_aside .aside_nav_page{
  background-color: #E0C0CF;
}
.kango .jump_button_list a {
  background-image: url(../img/common/parts/arrow_kango_right.svg);
  border-color: #4c99c1;
  color: #4c99c1 !important;
}
.sanka .jump_button_list a {
  background-image: url(../img/common/parts/arrow_sanka_right.svg);
  border-color: #d980ab;
  color: #d980ab !important;
}
.kango .check_list article {
  background-image: url(../img/common/parts/icon_check_kango.svg);
}
.sanka .check_list article {
  background-image: url(../img/common/parts/icon_check_sanka.svg);
}
.kango .introlist a, .sanka .introlist a {	
	background-image: url(/prd/wp-content/uploads/2026/01/kango_sanka_arrow.svg);
	border: 2px solid var(--font_color);
	color: var(--font_color) !important;
}


/*------------------------------------------------
 書き換えパーツ
------------------------------------------------*/
.overwrite h2{
  display: block;
  text-align: start;
  font-size: 0.24rem;
  color: var(--font_color);
}
.overwrite h2.center{
  max-width: max-content;
  margin-left: auto;
  margin-right: auto;
}
.overwrite h2 div.in{
	display: inline-block;
	text-align: inherit;
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}
.overwrite h2 small{
  display: block;
}
.overwrite h2 strong {
  text-align: start;
  display: inline-block;
  line-height: 1.2;
  font-size: 0.44rem;
  color: var(--site_color_sml);
  font-family: var(--elm);
  font-weight: 400;
  margin-left: 25px;
}
.overwrite h2 strong.pink{
  color: #d3a8bc8a;
}
.overwrite.kango h4{
  color: #fff;
}
/* ボタン */
.overwrite .btn01 {
  position: relative;
  text-align: start;
  background: #fff;
  border: 1px solid var(--font_color);
  border-radius: 0;
  color: var(--font_color) !important;
  min-width: unset;
  padding: 10px 85px 10px 15px;
}
.overwrite .btn01::before {
  content: "";
  position: absolute;
  border-bottom: 1px solid var(--font_color);
  transform: translateY(-50%);
  top: 47%;
  right: 0;
  width: 50px;
  height: 3px;
}
/* テーブル */
.kango.overwrite .table_fixed th,
.kango.overwrite .table_scroll th {
  color: #fff;
}


/*------------------------------------------------
 汎用パーツ
------------------------------------------------*/
/* メインビジュアル */
.up_visual{
  padding: 40px 40px 0;
  margin-bottom: 0;
}
.up_visual h1 {
  text-align: start;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  right: 5%;
  width: calc(100% - 30px);
  text-shadow: 0 0 10px #0000001f;
  line-height: 1.4;
  letter-spacing: 6px;
  font-size: 0.44rem;
  font-weight: 600;
  color: #fff !important;
  padding: 0;
  margin: 0;
}
.up_visual h1::before{
  display: none;
}
.up_visual article{
  position: relative;
}
.up_visual_thumb{
  width: 100%;
  object-fit: cover;
  min-height: 350px;
}
.up_visual_scroll{
	display: none;
  position: absolute;
  left: -10px;
  bottom: -10px;
}
/* サブメインビジュアル */
.up_visual.up_visual_sub{
  margin-bottom: 15px;
}
.up_visual.up_visual_sub h1 {
  inset: unset;
  transform: translate(-50%, -50%);
  font-family: var(--krub);
  left: 50%;
  top: 50%;
}
.up_visual.up_visual_sub h1 small{
	letter-spacing: 2px;
	text-align: center;
	color: #fff;
}
.up_visual.up_visual_sub h1 b{
	margin-left: auto;
	margin-right: auto;
}
.up_visual.up_visual_sub h1 b:before{
	display: none;
}
.up_visual.up_visual_sub .up_visual_thumb{
  aspect-ratio: 25 / 7;
  min-height: 260px;
}

/* ページナビ */
.up_navi_box {
  position: relative;
  margin-top: -30px;
  z-index: 100;
}
.up_navi {
overflow: hidden;
  display: grid;
  list-style: none;
  align-items: stretch;
  grid-template-columns: repeat(4, 1fr);
  box-shadow: var(--shadow_md);
  background-color: #fff;
  max-width: 75%;
  border-radius: 8px;
  margin: 0 auto;
}
.up_navi li *{
  display: block;
}
.up_navi li{
  padding: 15px 0;
}
.sanka .up_navi li:hover{
	background-color: #E0C0CF;
}
.kango .up_navi li:hover{
	background-color: #9BC3D8;
}
.up_navi li:hover a{
	opacity: unset;
	border-color: transparent;
	filter: brightness(0) invert(1);
	color: #fff;
}
.up_navi li:has(+ li:hover) a{
	border-color: transparent;
}
.up_navi a{
text-decoration: none;
  border-right: 1px solid var(--font_color);
  padding: 10px 0;
}
.up_navi li:last-of-type a{
  border-right: 0;
}
.up_navi img{
  max-width: max-content;
  margin: 0 auto;
}
.up_navi span{
  text-align: center;
  font-size: 0.18rem;
  font-weight: 500;
}

/* 画像文章横並び */
.up_about_grid{
  display: grid;
  align-items: flex-start;
  grid-template-columns: 45% 1fr;
}
.up_about_grid article{
  position: relative;
  z-index: 10;
}
.up_about_grid article h2{
	margin-bottom: 45px;
}
.up_about_grid article h2 strong{
  display: none;
}
.up_about_grid article b{
  display: block;
  font-size: 0.2rem;
  font-weight: 500;
  margin-bottom: 40px;
}
.up_about_grid article p{
  line-height: 2.6;
  font-weight: 500;
}
.up_about_grid article .btn01{
  margin-left: 0;
}
.up_about_grid figure{
  position: relative;
  margin-left: -10%;
}
.up_about_grid figure img{
  width: 100%;
}
.up_about_grid figure figcaption {
  position: absolute;
  font-size: 0.44rem;
  color: var(--site_color_sml);
  font-family: var(--elm);
  font-weight: 400;
  left: -70px;
  top: 30px;
}
.up_about_grid article .btn01.up_kango_about_btn{
  margin-left: 35%;
}

/* 小さめナビ */
.up_navi_xs{
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  justify-content: center;
  gap: 15px 100px;
}
.up_navi_xs li:last-of-type a::before{
  display: none;
}
.up_navi_xs a {
  position: relative;
  display: block;
  font-size: 0.23rem;
  font-weight: 600;
  color: var(--font_color);
  text-decoration: none;
  border-bottom: 1px solid #9BC3D8;
  padding-bottom: 7px;
}
.up_navi_xs a::before {
  content: "";
  position: absolute;
  background-color: var(--font_color);
  transform: rotateZ(-50deg);
  width: 35px;
  height: 1px;
  right: -72px;
  top: 20px;
}

/* リクルート横並び */
.up_recruit_flex{
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 100px;
}
.up_recruit_flex article{
  width: 500px;
  padding-top: 80px;
}
.up_recruit_flex article b{
  display: block;
  max-width: max-content;
  font-size: 0.22rem;
  font-weight: 400;
  margin-bottom: 6px;
}
.up_recruit_flex article b.r{
  margin-left: auto;
}
.up_recruit_flex article ul{
  list-style: none;
  margin-top: 65px;
}
.up_recruit_flex article ul a {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr 15%;
  border: 1px solid var(--font_color);
  color: var(--font_color);
  text-decoration: none;
  border-radius: 4px;
  font-size: 0.2rem;
  font-weight: 500;
  width: 100%;
  gap: 20px;
  padding: 17px 15px;
  padding-right: 0;
  margin-bottom: 35px;
}
.up_recruit_flex article ul a,
.up_recruit_flex article ul a *{
	transition: .2s ease;
}
.up_recruit_flex article ul a::after{
  content: "";
  border-bottom: 1px solid var(--font_color);
  height: 3px;
}
.up_recruit_flex article ul a:hover{
	border-color: #fff;
	color: #fff;
	opacity: unset;
}
.kango .up_recruit_flex article ul a:hover{
	background: #9BC3D8;
}
.sanka .up_recruit_flex article ul a:hover{
	background: #E0C0CF;
}
.up_recruit_flex article ul a:hover::after{
	border-color: #fff;
}
.up_recruit_flex article ul a:hover img{
	filter: brightness(0) invert(1);
}
.up_recruit_flex .up_recruit_thumb{
  max-width: 50%;
}
.up_kango_recruit_heading{
  max-width: 500px;
  margin: 0 auto;
}
.up_sanka_recruit_heading{
  max-width: 315px;
  margin: 0 auto;
}

/* 特徴リスト */
.up_feature_list{
  display: grid;
  list-style: none;
  align-items: stretch;
  grid-template-columns: repeat(3, 1fr);
  gap: 80px;
}
.up_feature_list li {
  display: grid;
  grid-template-rows: 1fr auto;
  border: 1px solid var(--font_color);
}
.up_feature_list figure{
  position: relative;
  padding: 20px 20px 0;
}
.up_feature_list figure img{
  width: 100%;
}
.up_feature_list figure figcaption {
  position: absolute;
  background-color: #fff;
  left: 11px;
  bottom: -6px;
  font-size: 0.2rem;
  font-family: var(--zen);
  padding: 12px 23px;
	font-weight: 600;
}
.up_feature_list figure figcaption span {
  display: inline-block;
  font-size: 0.33rem;
  font-family: var(--elm);
  vertical-align: -3px;
  margin-right: 10px;
}
.up_feature_list dl a {
  position: relative;
  display: block;
  padding: 20px;
  border-bottom: 1px solid var(--font_color);
  color: var(--font_color);
  text-decoration: none;
  font-size: 0.18rem;
  font-weight: 500;
}
.up_feature_list dl a:hover{
	opacity: unset;
	color: var(--site_color);
}
.up_feature_list dl a::before {
  content: "";
  position: absolute;
  border-bottom: 1px solid var(--font_color);
  transform: translateY(-50%);
  width: 15%;
  height: 3px;
  top: 50%;
  right: 20px;
}
.up_feature_list dd:last-of-type a{
  border-bottom: 0;
}
.up_feature_list dd.empty{
	height: 71px;
}

/* お問い合わせボックス */
.up_contact{
  border: 1px solid var(--font_color);
  border-radius: 3px;
  max-width: 1020px;
  margin: 0 auto;
}
.up_contact_ttl {
  display: block;
  text-align: center;
  background-color: #A1C0C8;
  color: #fff;
  font-family: var(--zen);
  font-size: 0.22rem;
  font-weight: 600;
  padding: 9px 15px 12px;
}
.up_contact article{
  padding: 20px 25px;
}
.up_contact_time_list{
  display: grid;
  list-style: none;
  align-items: flex-start;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--font_color);
  padding-bottom: 15px;
  margin-bottom: 20px;
}
.up_contact_time_list li{
  border-right: 1px solid var(--font_color);
}
.up_contact_time_list li:last-of-type{
  border-right: 0;
}
.up_contact_time_list span {
  display: block;
  text-align: center;
  font-family: var(--zen);
  font-weight: 500;
  line-height: 1;
  width: 70px;
  padding: 5px 0 7px;
  margin: 0 auto 8px;
}
.up_contact_time_list time{
  display: block;
  text-align: center;
  font-family: var(--pop);
  font-size: 0.24rem;
  font-weight: 600;
}
.up_contact_time_list li.uc_item01 span{
  border: 1px solid #A1C0C8;
  color: #A1C0C8;
}
.up_contact_time_list li.uc_item02 span{
  background-color: #A1C0C8;
  color: #fff;
}
.up_contact_time_list li.uc_item03 span{
  background-color: #D39AB5;
  color: #fff;
}
.up_contact_time_list li.uc_item03 time{
  color: #D39AB5;
  font-size: 0.18rem;
}
.up_contact_note {
  display: grid;
  align-items: center;
  grid-template-columns: 63% 1fr;
  gap: 5%;
}
.up_contact_note dl{
  border-right: 1px solid var(--font_color);
}
.up_contact_note dt{
  font-size: 0.15rem;
  font-weight: 500;
  margin-bottom: 5px;
}
.up_contact_note_tel{
  display: flex;
  align-items: center;
  justify-content: center;
}
.up_contact_note_tel a {
  display: block;
  font-family: var(--pop);
  color: var(--font_color);
  font-size: 0.30rem;
  font-weight: 600;
  text-decoration: none;
  margin-bottom: 5px;
}
.up_contact_note_tel a img {
  vertical-align: -4px;
  margin-right: 10px;
}
.up_contact_note_tel p{
  font-size: 0.15rem;
}
.up_contact_note_tel p span{
  display: inline-block;
  font-family: var(--pop);
  font-size: 0.16rem;
  font-weight: 600;
  margin-left: 10px;
}


/*------------------------------------------------
 レスポンシブ
------------------------------------------------*/
@media screen and (max-width:1500px) {
  .up_feature_list {
    gap: 25px;
  }
}
@media screen and (max-width:1400px) {
  .up_about_grid {
    grid-template-columns: 50% 1fr;
  }
  .up_about_grid figure figcaption {
    left: -40px;
    top: 20px;
  }
}
@media screen and (max-width:1199px) {
  .up_visual {
    padding: 15px 15px 0;
  }
	.up_visual h1 {
		font-size: 0.38rem;
	}
  .up_recruit_flex {
    gap: 45px;
  }
}
@media screen and (max-width:991px) {
  .overwrite h2{
    margin-bottom: 20px;
  }
  .overwrite h2 strong {
    font-size: 0.36rem;
  }
  .up_about_grid{
    display: block;
  }
.up_about_grid article h2 {
  margin-bottom: 20px;
}
  .up_about_grid figure{
    margin-left: 0;
    margin-bottom: 25px;
  }
  .up_about_grid article h2 strong{
    display: inline-block;
  }
  .up_about_grid article b {
    margin-bottom: 20px;
  }
  .up_about_grid article .btn01.up_kango_about_btn {
    margin-left: 0;
  }
  .up_navi {
    grid-template-columns: repeat(2, 1fr);
    max-width: unset;
    gap: 10px;
    padding: 10px;
  }
  .up_navi li{
    padding: 0;
  }
  .up_navi a {
    position: relative;
    padding: 0;
  }
  .up_navi li:nth-last-child(-n + 2) a::before{
    display: none;
  }
  .up_navi li:nth-child(even) a{
    border-right: 0;
  }
  .up_navi_box {
    margin-top: 20px;
  }
  .up_navi img {
    max-width: 65px;
  }
  .up_navi span {
    font-size: 0.16rem;
  }
  .up_recruit_flex {
    display: block;
  }
  .up_recruit_flex article {
    width: 100%;
    padding-top: 0;
  }
  .up_recruit_flex article ul {
    margin-top: 35px;
  }
  .up_recruit_flex .up_recruit_thumb{
    display: block;
    max-width: max-content;
    width: 100%;
    margin: 20px auto 0;
  }
  .up_recruit_flex article ul a {
    margin-bottom: 20px;
  }
  .up_feature_list {
    grid-template-columns: repeat(2, 1fr);
  }
  .up_contact_time_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 25px;
  }
  .up_contact_time_list li{
    width: 50%;
  }
  .up_contact_time_list li.uc_item02{
    border-right: 0;
  }
  .up_contact_time_list li.uc_item03{
    width: 100%;
    padding-top: 20px;
  }
  .up_contact_note {
    display: flex;
    flex-direction: column-reverse;
    gap: 10px;
  }
  .up_contact_note dl{
    border-right: 0;
  }
  .up_contact_note dt {
    margin-bottom: 0px;
  }
	.up_feature_list dd.empty{
		display: none;
	}
	.up_feature_list dd.empty_b4 a{
		border-bottom: 0;
	}
}
@media screen and (max-width:767px) {
  .up_visual_scroll {
    width: 55px;
    left: -20px;
    bottom: -40px;
  }
  .up_feature_list {
    grid-template-columns: repeat(1, 1fr);
  }
  .up_contact_time_list li {
    width: 100%;
    border: 0;
    margin-bottom: 25px;
  }
  .up_contact_time_list li.uc_item03{
    padding: 0;
    margin-bottom: 0;
  }
  .up_recruit_flex article ul a {
    grid-template-columns: auto 1fr 10%;
    font-size: 0.16rem;
    gap: 5px;
    padding: 12px 4px;
    padding-right: 0;
  }
  .btn01 {
    padding: 5px 85px 7px 15px;
  }
}
@media screen and (max-width:480px) {
  .overwrite h2 strong {
    font-size: 0.33rem;
  }
  .up_visual h1 {
    font-size: 0.3rem;
  }
  .up_about_grid article b {
    font-size: 0.18rem;
  }
  .up_recruit_flex article b {
    margin-bottom: 2px;
  }
	.up_navi_xs a {
		font-size: 0.22rem;
	}
}


/*------------------------------------------------
 追加CSS
------------------------------------------------*/
/* 共通コンテンツ */
.sub_content *{
	font-family: var(--zen);
}

/* フロントメイン */
.up_visual h1{
	font-family: var(--krub);
}

/* サイドバー矢印 */
.kango .sub_aside_list .sub_aside_link.current,
.kango .sub_aside_list .aside_nav_jump.current {
	background-image: url(../img/common/parts/arrow_kango_right.svg);
}
.sanka .sub_aside_list .sub_aside_link.current,
.sanka .sub_aside_list .aside_nav_jump.current {
	background-image: url(../img/common/parts/arrow_sanka_right.svg);
}
