@charset "utf-8";
@media screen and (max-width: 768px) {

  .facility_breadcrumb {
    width: calc(100% - 40px);
    padding-top: 18px;
  }

  .facility_breadcrumb ol {
    gap: 8px;
  }

  .facility_breadcrumb li {
    font-size: 11px;
    line-height: 1.6;
  }

  .facility_breadcrumb li:not(:last-child)::after {
    margin-left: 8px;
  }

  .facility_mv {
    padding: 70px 0 56px;
  }

  .facility_mv_head h1 {
    font-size: 28px;
  }

  .facility_mv_head p {
    margin-top: 8px;
    padding-bottom: 18px;
    font-size: 13px;
  }

  .facility_mv_head p::after {
    width: 56px;
    height: 4px;
  }

  .facility_tab_area {
    padding-bottom: 64px;
  }

  .facility_tab_inner {
    width: calc(100% - 30px);
    overflow-x: auto;
    padding-bottom: 8px;
  }

  .facility_tab_list {
    display: flex;
    gap: 12px;
    min-width: 850px;
  }

  .facility_tab_list a {
    width: 160px;
    min-height: 168px;
    padding: 26px 10px 14px;
  }

  .facility_tab_num {
    top: 12px;
    left: 8px;
    width: 36px;
    height: 36px;
    font-size: 17px;
  }

  .facility_tab_list figure {
    height: 72px;
  }

  .facility_tab_list p {
    font-size: 10px;
  }

  .facility_tab_list h2 {
    font-size: 12px;
  }

  .facility_single {
    padding-bottom: 60px;
  }

  .facility_single_inner {
    width: calc(100% - 40px);
  }

  .facility_intro {
    display: block;
  }

  .facility_single_num {
    margin-bottom: 36px;
    padding-bottom: 18px;
    font-size: 58px;
  }

  .facility_single_num::after {
    width: 140px;
  }

  .facility_catch {
    margin-bottom: 14px;
    font-size: 14px;
  }

  .facility_intro_text h2 {
    margin-bottom: 28px;
    font-size: 23px;
    line-height: 1.5;
  }

  .facility_info {
    margin-bottom: 34px;
    font-size: 13px;
    line-height: 1.8;
  }

  .facility_main_img {
    border-radius: 12px;
  }

  .facility_main_img img {
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .facility_body_text {
    margin-top: 42px;
  }

  .facility_body_text p {
    margin-bottom: 26px;
    font-size: 14px;
    line-height: 2;
  }

  .facility_gallery {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 42px;
  }

  .facility_gallery figure {
    border-radius: 12px;
  }

  .facility_gallery img {
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .facility_btn_area {
    margin-top: 58px;
  }

  .facility_back_btn {
    min-width: 220px;
    height: 50px;
    font-size: 14px;
  }
	
	/* ==================================================
		 facility access sp
	================================================== */
	.facility_access {
		margin-top: 58px;
	}

	.facility_access_head {
		margin-bottom: 22px;
	}

	.facility_access_head > p {
		margin-bottom: 6px;
		font-size: 11px;
		letter-spacing: 0.18em;
	}

	.facility_access_head h3 {
		font-size: 23px;
	}

	.facility_googlemap {
		padding-top: 75%;
		border-radius: 14px;
	}

	/* ==================================================
		 facility link buttons sp
	================================================== */
	.facility_link_buttons {
		flex-direction: column;
		gap: 14px;
		margin-top: 30px;
	}

	.facility_link_btn {
		flex: none;
		width: 100%;
		min-height: 76px;
		padding: 15px 55px 15px 22px;
		border-radius: 10px;
	}

	.facility_link_btn::before {
		right: 22px;
		width: 28px;
	}

	.facility_link_btn::after {
		right: 22px;
	}

	.facility_link_btn:hover {
		transform: none;
	}

	.facility_link_btn_en {
		margin-bottom: 3px;
		font-size: 10px;
	}

	.facility_link_btn_ja {
		font-size: 15px;
	}
	
	
  
}
/* ==================================================
   news list sp
================================================== */
@media screen and (max-width: 900px) {
  .news_list_area {
    padding: 45px 0 80px;
  }

  .news_list_inner {
    width: calc(100% - 40px);
  }

  .news_card_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 26px 20px;
  }

  .news_card_body {
    padding: 20px 20px 24px;
  }

  .news_card_body h2 {
    font-size: 18px;
  }

  .news_card_body p {
    font-size: 13px;
  }
}

@media screen and (max-width: 600px) {
  .news_card_list {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .news_card_item a {
    border-radius: 20px;
  }

  .news_card_body h2 {
    font-size: 17px;
    line-height: 1.6;
  }

  .news_meta time {
    font-size: 13px;
  }

  .news_meta span {
    min-width: 76px;
    font-size: 11px;
  }

  .news_pagination {
    margin-top: 50px;
  }

  .news_pagination ul {
    gap: 8px;
  }

  .news_pagination a,
  .news_pagination span {
    min-width: 40px;
    height: 40px;
    padding: 0 13px;
    font-size: 14px;
  }

  .news_pagination .next {
    min-width: 74px;
  }
}

/* ==================================================
   news detail sp
================================================== */
@media screen and (max-width: 900px) {
  .news_detail_area {
    padding: 45px 0 80px;
  }

  .news_detail_inner {
    width: calc(100% - 40px);
  }

  .news_detail_article {
    padding: 40px 34px 48px;
    border-radius: 24px;
  }

  .news_detail_header h2 {
    font-size: 28px;
  }

  .news_detail_body {
    font-size: 15px;
    line-height: 2;
  }

  .news_detail_body h3 {
    font-size: 22px;
  }
}

@media screen and (max-width: 600px) {
  .news_detail_article {
    padding: 30px 22px 40px;
    border-radius: 20px;
  }

  .news_detail_header {
    margin-bottom: 26px;
  }

  .news_detail_meta {
    gap: 10px;
    margin-bottom: 14px;
  }

  .news_detail_meta time {
    font-size: 13px;
  }

  .news_detail_meta span {
    min-width: 76px;
    font-size: 11px;
  }

  .news_detail_header h2 {
    font-size: 23px;
    line-height: 1.6;
  }

  .news_detail_thumb {
    margin-bottom: 34px;
    border-radius: 18px;
  }

  .news_detail_body {
    font-size: 14px;
    line-height: 2;
  }

  .news_detail_body p + p {
    margin-top: 22px;
  }

  .news_detail_body h3 {
    margin: 38px 0 18px;
    padding-left: 16px;
    font-size: 19px;
  }

  .news_detail_body h3::before {
    width: 4px;
  }

  .news_detail_body ul {
    padding: 22px 20px;
    border-radius: 16px;
  }

  .news_detail_nav {
    margin-top: 42px;
  }

  .news_detail_nav_links {
    gap: 14px;
  }

  .news_detail_nav_links a {
    min-width: auto;
    width: 50%;
    min-height: 44px;
    padding: 0 16px;
    font-size: 13px;
  }

  .news_back_btn {
    margin-top: 28px;
  }

  .news_back_btn a {
    min-width: 220px;
    min-height: 50px;
    font-size: 14px;
  }
}


/* ==================================================
   locus story sp
================================================== */
@media screen and (max-width: 768px) {

  .locus_story {
    padding: 68px 0 72px;
  }

  .locus_story::before {
    top: 38px;
    right: -90px;
    width: 190px;
    height: 190px;
  }

  .locus_story_inner {
    width: calc(100% - 40px);
  }

  /* ------------------------------
     head
  ------------------------------ */
  .locus_story_head {
    padding-bottom: 34px;
  }

  .locus_story_logo {
    margin-bottom: 14px;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.22em;
  }

  .locus_story_head h2 {
    font-size: 28px;
    line-height: 1.55;
    letter-spacing: 0.04em;
  }

  /* ------------------------------
     common heading
  ------------------------------ */
  .locus_subhead {
    margin-bottom: 28px;
  }

  .locus_subhead > p {
    margin-bottom: 7px;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: 0.18em;
  }

  .locus_subhead h3 {
    padding-left: 17px;
    font-size: 23px;
    line-height: 1.55;
    letter-spacing: 0.05em;
  }

  .locus_subhead h3::before {
    top: 0.18em;
    bottom: 0.16em;
    width: 4px;
  }

  .locus_subhead h3 span {
    display: inline-block;
    margin-top: 3px;
    font-size: 0.7em;
  }

  .locus_subhead_center {
    text-align: left;
  }

  .locus_subhead_center h3 {
    display: block;
  }

  /* ------------------------------
     section spacing
  ------------------------------ */
  .locus_message,
  .locus_promises,
  .locus_company {
    padding-top: 68px;
  }

  /* ------------------------------
     message
  ------------------------------ */
  .locus_message_grid {
    display: block;
  }

  .locus_message_photo {
    margin-bottom: 32px;
  }

  .locus_message_photo img {
    height: auto;
    aspect-ratio: 4 / 3;
    border-radius: 20px 4px 20px 4px;
  }

  .locus_message_photo figcaption {
    margin-top: 10px;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: 0.06em;
  }

  .locus_message_text p,
  .locus_playwork_text p,
  .locus_promise_text p,
  .locus_last_message_text p {
    margin-bottom: 1.4em;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.04em;
  }

  /* ------------------------------
     playwork
  ------------------------------ */
  .locus_playwork {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 48px;
    padding: 30px 24px 26px;
    border-radius: 24px 4px 24px 4px;
    box-shadow: 0 12px 28px rgba(138, 61, 0, 0.07);
  }

  .locus_playwork_text {
    width: 100%;
  }

  .locus_playwork_en {
    margin-bottom: 6px !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.2em !important;
  }

  .locus_playwork_text h3 {
    margin-bottom: 20px;
    font-size: 25px;
    line-height: 1.5;
    letter-spacing: 0.07em;
  }

  .locus_playwork_photo {
    width: 100%;
  }

  .locus_playwork_photo img {
    height: auto;
    aspect-ratio: 4 / 3;
    border-radius: 22px 4px 22px 4px;
  }
	
	.locus_playwork_two_photo {
		display: block;
	}

	.locus_playwork_two_photo .locus_playwork_photos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		margin-top: 28px;
	}

	.locus_playwork_two_photo .locus_playwork_photos figure {
		border-radius: 14px 3px 14px 3px;
	}

	.locus_playwork_two_photo .locus_playwork_photos img {
		aspect-ratio: 4 / 3;
	}
	
	.locus_pdf_link {
		margin-top: 48px;
	}

	.locus_pdf_link a {
		min-height: 88px;
		padding: 18px 55px 18px 18px;
		gap: 15px;
		border-radius: 12px;
	}

	.locus_pdf_icon {
		flex-basis: 48px;
		width: 48px;
		height: 48px;
		border-radius: 6px;
		font-size: 11px;
	}

	.locus_pdf_en {
		margin-bottom: 3px;
		font-size: 9px;
		letter-spacing: 0.18em;
	}

	.locus_pdf_title {
		font-size: 15px;
		line-height: 1.5;
	}

	.locus_pdf_arrow {
		right: 20px;
		width: 24px;
	}

	.locus_pdf_arrow::after {
		width: 8px;
		height: 8px;
	}

	

  /* ------------------------------
     promises
  ------------------------------ */
  .locus_promises_lead {
    margin: -4px 0 42px;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.04em;
    text-align: left;
  }

  .locus_promise_item {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 44px 0;
  }

  .locus_promise_item:nth-child(even) figure {
    order: initial;
  }

  .locus_promise_item figure {
    order: initial;
  }

  .locus_promise_item figure img {
    height: auto;
    aspect-ratio: 4 / 3;
    border-radius: 4px 22px 4px 22px;
  }

  .locus_promise_num {
    margin-bottom: 10px !important;
    font-size: 32px !important;
  }

  .locus_promise_text h4 {
    margin-bottom: 18px;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 0.04em;
  }

  /* ------------------------------
     last message
  ------------------------------ */
  .locus_last_message {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 68px;
    padding: 30px 24px;
    border-radius: 4px 26px 4px 26px;
  }

  .locus_last_message figure img {
    height: auto;
    aspect-ratio: 4 / 3;
    border-radius: 20px 4px 20px 4px;
  }

  .locus_last_message_text p {
    font-size: 14px;
    line-height: 2;
  }

  /* ------------------------------
     company
  ------------------------------ */
  .locus_company_list > div {
    grid-template-columns: 105px minmax(0, 1fr);
  }

  .locus_company_list dt,
  .locus_company_list dd {
    padding: 17px 14px;
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 0.04em;
  }

  .locus_company_list dt {
    display: flex;
    align-items: center;
  }

  .locus_company_list dd {
    overflow-wrap: anywhere;
  }

  .locus_story .sp_only {
    display: block;
  }
}


/* ==================================================
   thanks page / smartphone
================================================== */
@media screen and (max-width: 767px) {

  .thanks_area {
    padding: 0 0 75px;
  }

  .thanks_area::before {
    top: 10px;
    right: -95px;
    width: 210px;
    height: 210px;
  }

  .thanks_area::after {
    bottom: 10px;
    left: -75px;
    width: 160px;
    height: 160px;
  }

  .thanks_inner {
    width: calc(100% - 36px);
  }

  .thanks_card {
    padding: 48px 22px 45px;
    border-radius: 25px 4px 25px 4px;
    box-shadow: 0 14px 38px rgba(138, 61, 0, 0.08);
  }

  .thanks_card::before {
    top: -55px;
    left: -55px;
    width: 120px;
    height: 120px;
  }

  .thanks_icon {
    width: 64px;
    height: 64px;
    margin-bottom: 20px;
  }

  .thanks_icon span {
    width: 22px;
    height: 12px;
    border-bottom-width: 3px;
    border-left-width: 3px;
  }

  .thanks_en {
    margin-bottom: 10px;
    font-size: 11px;
    letter-spacing: 0.24em;
  }

  .thanks_card h2 {
    margin-bottom: 22px;
    font-size: 23px;
    line-height: 1.55;
    letter-spacing: 0.06em;
  }

  .thanks_lead {
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0.04em;
  }

  .thanks_message {
    margin-top: 25px;
  }

  .thanks_message p {
    font-size: 14px;
    line-height: 1.9;
  }

  .thanks_message p + p {
    margin-top: 10px;
  }

  .thanks_note {
    margin-top: 30px;
    padding: 19px 17px;
    border-left-width: 3px;
    border-radius: 3px 10px 10px 3px;
  }

  .thanks_note p {
    font-size: 12px;
    line-height: 1.8;
  }

  .thanks_btn_area {
    margin-top: 34px;
  }

  .thanks_home_btn {
    width: 100%;
    min-width: 0;
    min-height: 56px;
    padding: 0 54px 0 30px;
    font-size: 14px;
  }

  .thanks_home_btn::before {
    right: 23px;
    width: 23px;
  }

  .thanks_home_btn::after {
    right: 23px;
  }

  .thanks_home_btn:hover::before,
  .thanks_home_btn:hover::after {
    right: 19px;
  }

  .thanks_area .pc_view {
    display: none;
  }
}