/* =========================
   Utility
========================= */
[id] {
  scroll-margin-top: 30px;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.center {
  text-align: center;
}

a,
button,
img {
  transition: 0.4s;
}

.container {
  max-width: 1280px;
  margin: auto;
  width: 89.745%;
}

.container.w-1200{
	max-width:1200px;
}

.top-sec-ttl .en {
  font-size: 96px;
  font-family: 'Marcellus', serif;
  font-weight: 400;
  line-height: 1;
  background: linear-gradient(90deg, #1D77C2 0%, #8CC36C 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.top-sec-ttl-ja {
  display: block;
  color: #2079C0;
  font-family: "Zen Old Mincho", serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  letter-spacing: 1.92px;
}

.more-btn {
  display: flex;
  align-items: center;
  width: 194px;
  background: #bae3ff;
  color: #0080dc;
  padding-left: 50px;
  font-family: "Marcellus", serif;
  font-size: 18px;
  position: relative;
  height: 57px;
  border-radius: 100px;
}

.more-btn::before {
  content: "";
  box-shadow: 0 0 160px 0 #BAE3FF inset;
  filter: blur(22px);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  height: 57px;
  width: 189px;
}

.more-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 31px;
	width:5px;
	height:5px;
	border-radius:50%;
	background:#0080dc;
}

.more-btn span {
  position: relative;
  z-index: 1;
}

@media (max-width:768px) {
  .top-sec-ttl .en {
    font-size: 48px;
  }

  .top-sec-ttl-ja {
    font-size: 16px;
  }
}


/* =========================
   FV
========================= */
.fv {
  position: relative;
  width: 100%;
  height: 100svh;
  min-height: 720px;
  overflow: hidden;
  background: #dfe9ee;
}

/* 背景 */
.fv__bg {
  position: absolute;
  inset: 0;
  background: url("/wp-content/themes/original/images/fv-bg.jpg") center center / cover no-repeat;
  z-index: 0;
}


/* =========================
   FV Slider
========================= */
.fv__slider {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

.fv__track {
  position: absolute;
  left: 0;
  top: 50%;
  display: flex;
  gap: 41px;
  width: max-content;
  transform: translateY(-50%);
  animation: fvLoop 60s linear infinite;
}

.fv__slide {
  flex: 0 0 auto;
}

.fv__slide img {
  display: block;
  width: auto;
  height: 36vw;
  max-width: none;
}

@keyframes fvLoop {
  0% {
    transform: translate3d(0, -50%, 0);
  }

  100% {
    transform: translate3d(-50%, -50%, 0);
  }
}


/* =========================
   FV Title
========================= */
.fv__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}

.fv__title {
  position: absolute;
  left: 90px;
  bottom: 26px;
  margin: 0;
  color: #2a78c8;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 108px;
  line-height: 1.45;
  letter-spacing: 0.1em;
}

/* 1行ずつ下から見切れて出す */
.fv__title-line {
  display: block;
  overflow: hidden;
}

.fv__title-text {
  display: inline-block;
  transform: translateY(110%);
  transition: transform 0.9s cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}

.fv.is-active .fv__title-line:nth-child(1) .fv__title-text {
  transform: translateY(0);
  transition-delay: 0s;
}

.fv.is-active .fv__title-line:nth-child(2) .fv__title-text {
  transform: translateY(0);
  transition-delay: 0.5s;
}


@media (max-width: 1400px) {
  .fv__title {
    font-size: clamp(64px, 10vw, 108px);
    left: 20px;
  }
}

@media (max-width: 767px) {
  .fv {
    min-height: 620px;
  }

  .fv__inner {
    width: calc(100% - 20px);
  }

  .fv__title {
    left: 0;
    bottom: 70px;
    font-size: clamp(48px, 12.8vw, 72px);
    line-height: 1.3;
  }

  .fv__track {
    top: 45%;
    transform: translateY(-50%);
  }

  .fv__slide img {
    height: 81.33vw;
  }
}



/* =========================
   TOP-Vision
========================= */

.vision {
  background: url("/wp-content/themes/original/images/top-vision-bg.jpg");
  background-size: cover;
  background-position: center;
  padding: 120px 0px;
}

.vision-text-wrap {
  max-width: 816px;
  margin-left: auto;
  margin-top: 8px;
  margin-right: 30px;
}

.vision-text-wrap h3 {
  font-size: 36px;
  line-height: 2;
  font-family: "Noto serif JP", serif;
  letter-spacing: 0.08em;
  font-weight: 900;
  margin-bottom: 32px;
  color: #1D77C2;
}

.vision-text-wrap p {
  margin-bottom: 2.2em;
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 2.2;
	color: #314A70;
}

.vision-text-wrap p:last-child {
  margin-bottom: 0;
}

@media (max-width:768px) {
  .vision {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .vision-text-wrap {
    margin: 0;
    margin-top: 32px;
  }

  .vision-text-wrap h3 {
    font-size: 24px;
  }

  .vision-text-wrap p {
    font-size: 14px;
    line-height: 2;
  }
}

@media (max-width:600px) {
  .vision-text-wrap h3 {
    font-size: 20px;
  }
}


/* =========================
   TOP-Company
========================= */
.top-company {
  padding: 90px 0px 160px 0px;
}

.top-company-lists {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 60px;
}

.top-company-list {
  width: 32%;
  max-width: 404px;
  position: relative;
  border-radius: 10px;
  height: 281px;
  background: #fff;
  overflow: hidden;
}

.top-company-list a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(236deg,
      rgba(65, 147, 211, 0.90) 0%,
      rgba(129, 213, 147, 0.90) 100%);
  z-index: 1;
  transition: 0.4s;
}

.top-company-list a {
  display: block;
  height: 100%;
  width: 100%;
  padding: 32px;
	position:relative;
	z-index:10;
}

.top-company-list img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.top-company-list .text {
  position: relative;
  display: block;
  z-index: 2;
}

.top-company-list .en {
  display: block;
  color: #FFF;
  font-family: Marcellus, serif;
  font-size: 36px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  transition: 0.4s;
}

.top-company-list .jp {
  display: block;
  font-size: 24px;
  letter-spacing: 0.08em;
  font-family: "Noto serif jp", serif;
  color: #fff;
  transition: 0.4s;
}



/* =========================
   TOP-Service
========================= */
.top-service {
  background: #fff;
  padding-bottom: 90px;
}

.top-service-flex {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.top-service-text {
  padding-top: 90px;
  max-width: 493px;
  width: 50%;
}

.top-service-img {
  width: 70%;
  max-width: 756px;
}

.top-service-text p {
  margin-top: 42px;
  line-height: 1.8;
  letter-spacing: 0.08em;
  font-size: 20px;
  max-width: 493px;
  color: #314A70;
}

.top-service-text .more-btn {
  margin-top: 45px;
}

/* =========================
   TOP-News
========================= */
.top-news {
  padding: 160px 0px;
}

.top-news-flex {
  display: flex;
  justify-content: space-between;
  gap: 32px;
}

.top-news-left {
  width: 35%;
  max-width: 230px;
}

.top-news-right {
  width: 70%;
  max-width: 876px;
}

.top-news-left .more-btn {
  margin-top: 85px;
}


/* =========================
   Top Pharmacies
========================= */
.top-pharmacies {
  position: relative;
  overflow: hidden;
  background: url("/wp-content/themes/original/images/top-pharmacies-bg.jpg") center / cover no-repeat;
}

.top-pharmacies-flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.top-pharmacies-left {
  width: 75%;
  max-width: 682px;
  position: relative;
  z-index: 2;
  padding: 90px 0;
}

.top-pharmacies-right {
  width: 40%;
  max-width: 385px;
  position: relative;
  z-index: 1;
}

.top-pharmacies-left p {
  margin-top: 36px;
  line-height: 1.8;
  letter-spacing: 0.08em;
  font-size: 20px;
  max-width: 517px;
  color: #314A70;
}

.top-pharmacies-left .more-btn {
  margin-top: 42px;
}


/* =========================
   Top Pharmacies Slider
========================= */
.top-pharmacies-slider {
  position: relative;
  overflow: hidden;
}

.top-pharmacies-slider--pc {
  width: 100%;
  height: 608px;
  --pharmacies-gap: 16px;
}

.top-pharmacies-slider--sp {
  display: none;
  --pharmacies-gap: 8px;
}

.top-pharmacies-track {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  will-change: transform;
}

.top-pharmacies-slider--pc .top-pharmacies-track {
  flex-direction: column;
  row-gap: var(--pharmacies-gap);
  animation: topPharmaciesLoopVertical 40s linear infinite;
}

.top-pharmacies-figure {
  width: 100%;
  margin: 0;
  flex: 0 0 auto;
}

.top-pharmacies-figure picture {
  display: block;
  width: 100%;
}

.top-pharmacies-figure img {
  display: block;
  width: 100%;
  height: auto;
}

/* =========================
   Animation
========================= */
@keyframes topPharmaciesLoopVertical {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(calc(-1 * var(--loop-y)));
  }
}

@keyframes topPharmaciesLoopHorizontal {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(calc(-1 * var(--loop-x)));
  }
}


/* =========================
   Responsive
========================= */
@media (max-width: 768px) {
  .top-pharmacies {
    padding: 42px 0 60px;
    background: url("/wp-content/themes/original/images/top-pharmacies-bg-sp.jpg");
    background-size: cover;
    background-position: center;
  }

  .top-pharmacies-flex {
    display: block;
  }

  .top-pharmacies-left {
    width: 100%;
    max-width: none;
    padding: 0;
  }

  .top-pharmacies-right {
    display: none;
  }

  .top-pharmacies-left p {
    margin-top: 32px;
    font-size: 14px;
    max-width: none;
  }

  .top-pharmacies-left .more-btn {
    margin-top: 28px;
  }

  .top-pharmacies-slider--sp {
    display: block;
    width: 100vw;
    height: 106px;
    margin-top: 32px;
    margin-left: calc(50% - 50vw);
    margin-right: 0;
    overflow: hidden;
  }

  .top-pharmacies-slider--sp .top-pharmacies-track {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    column-gap: 8px;
    width: max-content;
    animation: topPharmaciesLoopHorizontal 40s linear infinite;
  }

  .top-pharmacies-slider--sp .top-pharmacies-figure {
    width: 1612px;
    height: 106px;
    margin: 0;
    flex: 0 0 auto;
  }

  .top-pharmacies-slider--sp .top-pharmacies-figure picture,
  .top-pharmacies-slider--sp .top-pharmacies-figure img {
    display: block;
    width: 100%;
    height: 100%;
  }

  .top-pharmacies-slider--sp .top-pharmacies-figure img {
    object-fit: cover;
  }
}

/* =========================
   Top-Recruit
========================= */
.top-recruit {
  padding: 160px 0px;
	padding-bottom:0;
}

.top-recruit .container {
  max-width: 1320px;
  width: 92.48%;
  margin: auto;
  background: #fff;
  padding: 80px 30px;
  border-radius: 30px;
}

.top-recruit-flex {
  display: flex;
  justify-content: space-between;
  gap: 32px;
  align-items: center;
}

.top-recruit-text {
  width: 50%;
  max-width: 513px;
}

.top-recruit-text p {
  margin-top: 42px;
  line-height: 1.8;
  letter-spacing: 0.08em;
  font-size: 20px;
  color: #314A70;
}

.top-recruit-text .more-btn {
  margin-top: 42px;
}

.top-recruit-img {
  width: 50%;
  max-width: 674px;
}

.top-recruit-img img {
  width: 100%;
  height: 100%;
}


/* =========================
   CTA
========================= */
.cta-sec {
  position: relative;
  padding-top:83px;
  border-radius: 30px;
  background: linear-gradient(72deg, #88C293 -0.44%, #82B4DD 35.55%);
  overflow: hidden;
}

.cta-sec .container {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  width: 92.48%;
  margin: auto;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.20);
  backdrop-filter: blur(17px);
  padding: 44px 60px;
}

.cta-flex {
  display: flex;
  align-items: center;
  gap: 240px;
}

.cta-text {
  width: 511px;
}

.cta-text h2 {
  color: #fff;
  font-size: 96px;
  font-family: "Marcellus", serif;
  font-weight: 400;
  line-height: 1;
}

.cta-text .top-sec-ttl-ja {
  color: #fff;
}

.cta-text p {
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.08em;
  color: #fff;
  margin-top: 35px;
}

.cta-link {
  width: 142px;
}

.cta-link a {
  display: flex;
  width: 142px;
  height: 142px;
  background:#BAE3FF;
  border-radius: 50%;
	padding-left:73px;
  align-items: center;
  color: #0080DC;
  font-size: 24px;
  font-weight: 400;
  font-family: "Marcellus", serif;
  text-decoration: none;
}

.cta-overlay-link,
.cta-cursor {
  display: none;
}

.cta-slider {
  width: 100%;
  overflow: hidden;
  position: relative;
  margin-top: 83px;
}

.cta-slider__track {
  display: flex;
  gap: 28px;
  width: max-content;
  animation: ctaSlideLoop 40s linear infinite;
}

.cta-slider__track img {
  width: 3589.07px;
  height: 141.25px;
  flex-shrink: 0;
  display: block;
}

.cta-cursor__inner {
  width: 142px;
  height: 142px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);

  display: flex;
  align-items: center;
  justify-content: center;

  position: relative;
  overflow: hidden;
  box-sizing: border-box;

  transform: translate(-50%, -50%) scale(0.2);
  opacity: 0;

  transition:
    transform 1.1s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.45s ease;
}

.cta-cursor__inner span {
  font-size: 24px;
  font-weight: 400;
  font-family: "Marcellus", serif;
  line-height: 1;

  color: rgba(0, 0, 0, 0.01);
  mix-blend-mode: destination-out;
}



/* JOIN US 無限ループ */
@keyframes ctaSlideLoop {
  0% {
    transform: translateX(0);
  }
  100% {
    /* 1枚分 + gap */
    transform: translateX(calc(-3589.07px - 28px));
  }
}

@media (min-width: 769px) {
  .cta-cursor {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 4;
    pointer-events: none;
    transform: translate3d(var(--cx, 0px), var(--cy, 0px), 0);
    will-change: transform, opacity;
    opacity: 0;
  }

  .cta-cursor__inner {
    width: 142px;
    height: 142px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #314A70;
    font-size: 24px;
    font-weight: 400;
    font-family: "Marcellus", serif;
    box-sizing: border-box;

    transform: translate(-50%, -50%) scale(0.2);
    opacity: 0;

    transition:
      transform 1.1s cubic-bezier(0.16, 1, 0.3, 1),
      opacity 0.45s ease;
  }

  /* 入った直後の待機状態 */
  .cta-cursor.is-entering {
    opacity: 1;
  }

  .cta-cursor.is-entering .cta-cursor__inner {
    transform: translate(-50%, calc(-50% + 16px)) scale(0.2);
    opacity: 0;
  }

  /* 少し遅れてから拡大表示 */
  .cta-cursor.is-visible {
    opacity: 1;
  }

  .cta-cursor.is-visible .cta-cursor__inner {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }

  .cta-cursor.is-leaving {
    opacity: 0;
  }

  .cta-cursor.is-leaving .cta-cursor__inner {
    transform: translate(-50%, -50%) scale(0.82);
    opacity: 0;
  }

  .cta-link {
    display: none;
  }
}

@media (max-width: 768px) {
  .cta-sec {
    padding: 56px 0;
    border-radius: 20px;
  }

  .cta-sec .container {
    width: 90%;
    padding: 36px 24px;
    border-radius: 16px;
  }

  .cta-flex {
    display: block;
  }

  .cta-text {
    width: 100%;
  }

  .cta-text h2 {
    font-size: 52px;
    line-height: 1.05;
  }

  .cta-text p {
    font-size: 16px;
    line-height: 1.8;
    margin-top: 24px;
  }

  .cta-link {
    width: 100%;
    margin-top: 28px;
    display: block;
  }

  .cta-link a {
    width: 100%;
    max-width: 220px;
    height: 58px;
    margin: 0 auto;
    border-radius: 999px;
    font-size: 20px;
  }
}

/*common*/
.sp{
	display:none;
}
@media (max-width:768px){
	.sp{
		display:block;
	}
	.pc{
		display:none;
	}
}

/*top-news-sec*/
.top-news-right {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.news-item {
  display: block;
  text-decoration: none;
}

.news-item-inner {
  background: #fff;
  border-radius: 10px;
  padding: 30px 40px;
  position: relative;
  transition: 0.3s;
}

.news-meta {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 12px;
}

.news-date {
  color: #004D91;
	font-weight:500;
	font-size:20px;
}

.news-cat {
  font-size: 20px;
  border: 1px solid #3AAAE9;
  border-radius: 20px;
  padding: 2px 16px;
  color: #3AAAE9;
	line-height:1.1;
}

.news-title {
  font-size: 20px;
  color: #004D91;
  line-height: 1.6;
	font-weight:500;
}

/* 矢印 */
.news-arrow {
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
	border:1px solid #2079C0;
	width:50px;
	height:50px;
	border-radius:50%;
	display:flex;
	justify-content:center;
	align-items:center;
	overflow:hidden;
}

.news-arrow::before{
	content:"";
	position:absolute;
	transform:translateX(-100%) translateY(-50%);
	top:0;
	width:100px;
	height:100px;
	background:linear-gradient(236deg, #4294D2 14.24%, #81D595 87.23%);
	transition:0.4s;
}

.arrow-white {
  display: none;
}

	
	/*Page-Header*/
	.page-header{
		min-height:384px;
		background:url("/wp-content/themes/original/images/page-header.jpg");
		background-size:cover;
		background-position:top;
		position:relative;
	}

.page-header h1,
.single-head-ttl{
	max-width:1280px;
	width:92.48%;
	margin:auto;
	text-align:left;
	color:#fff;
	position:absolute;
	left:0;
	right:0;
	bottom:54px;
}
.page-header h1 .en,
.page-header .single-head-ttl .en{
	display:block;
	font-size:96px;
	font-weight:400;
	font-family:"Marcellus",serif;
	line-height:1;
}
.page-header h1 .jp,
.page-header .single-head-ttl .jp{
	display:block;
	font-size:24px;
	letter-spacing:0.08em;
	font-weight:900;
	font-family:"Noto serif jp",serif;
}
	@media (max-width:768px){
		.page-header{
			min-height:258px;
			background:url("/wp-content/themes/original/images/page-header-sp.jpg");
		background-size:cover;
		background-position:top;
		}
		.page-header h1,
		.page-header .single-head-ttl{
			bottom:32px;
		}
		
		.page-header h1 .en,
		.page-header .single-head-ttl .en{
			font-size:48px;
			line-height:52px;
		}
		.page-header h1 .jp,
		.page-header .single-head-ttl .jp{
			font-size:16px;
			margin-top:8px;
		}
		.
	}

/*Page-sec-ttl*/
.page-sec-ttl{
	position:relative;
	padding-top:10px;
}

.page-sec-ttl::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:78px;
	height:6px;
	background: linear-gradient(90deg, #81D595 0.36%, #4294D2 100.39%);
}
.page-sec-ttl .en{
	display:block;
	font-size:64px;
	line-height:1;
	font-weight:400;
	font-family:"Marcellus",serif;
	color:#004d91;
}
.page-sec-ttl .jp{
	display:block;
	font-size:20px;
	font-weight:600;
	font-family:"Noto serif jp",serif;
	letter-spacing:0.1em;
	color:#004d91;
}

@media (max-width:600px){
	.page-sec-ttl .en{
		font-size:32px;
	}
	.page-sec-ttl .jp{
		font-size:14px;
		margin-top:4px;
	}
	.page-sec-ttl::before{
		height:2px;
		width:50px;
	}
}


/*Page-Company*/
.profile-sec{
	padding:100px 0px;
	position:relative;
	background:url("/wp-content/themes/original/images/company/profile-bg.jpg");
	background-size:cover;
	background-position:right;
}

.profile-sec .right-wrap{
	margin-left:auto;
	max-width:883px;
	margin-top:55px;
}
.profile-sec table{
	width:100%;
	position:relative;
}
.profile-sec table::before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:1px;
	background:#A3A3A3;
}

.profile-sec table::after{
	content:"";
	position:absolute;
	left:0;
	bottom:0;
	width:162px;
	height:1px;
	background: linear-gradient(90deg, #81D595 0.36%, #4294D2 100.39%);
}

.profile-sec table tr{
	display:flex;
	position:relative;
}

.profile-sec table tr::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:1px;
	background:#A3A3A3;
}

.profile-sec table tr::after{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:162px;
	height:1px;
	background: linear-gradient(90deg, #81D595 0.36%, #4294D2 100.39%);
}

.profile-sec table th{
	padding:24px 0px;
	width:162px;
	text-align:left;
	letter-spacing:0.08em;
	color:#004D91;
	font-weight:500;
}
.profile-sec table td{
	padding:24px 24px;
	width:calc(100% - 162px);
	letter-spacing:0.08em;
	color:#004D91;
	font-weight:500;
}

@media (max-width:600px){
	.profile-sec{
		padding:60px 0px;
	}
	.profile-sec table th{
		width:80px;
		padding:16px 0px;
		font-size:14px;
	}
	.profile-sec table td{
		width:calc(100% - 80px);
		padding:16px 0px;
		font-size:14px;
	}
	
	.profile-sec table::after{
		width:80px;
	}
}

/*History*/
/* =========================
   History
========================= */
.history-sec .page-sec-ttl{
	margin-bottom:60px;
}

.p-company-history {
  position: relative;
  padding: 100px 0;
  color: #314A70;
  overflow: clip;
  isolation: isolate;
}

.c-container {
  position: relative;
  z-index: 1;
  margin: 0 auto;
}

.p-company-history__2column {
  display: grid;
  grid-template-columns: 520px minmax(0, 1fr);
  column-gap: 80px;
  align-items: stretch;
}

.p-company-history__2column-slider {
  position: sticky;
  top: 120px;
  align-self: start;
  height: fit-content;
  margin-bottom: auto;
}

.p-company-history__2column-chronology {
  min-width: 0;
}

/* =========================
   Left Slider
========================= */
.p-company-history-slider {
  position: relative;
  overflow: hidden;
  padding-bottom: 10px;
}

.p-company-history-slider .swiper-slide {
  height: auto;
  opacity: 1 !important;
}

.p-company-history-slider .swiper-slide img {
  width: 100%;
  aspect-ratio: 544 / 398;
  display: block;
  object-fit: cover;
  border-radius: 16px;
  overflow: hidden;
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
  transition: clip-path 0.4s 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.p-company-history-slider .swiper-slide-active img {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  transition: clip-path 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.p-company-history-slider .swiper-slide p {
  margin-top: 28px;
  color: #314A70;
  font-weight: 500;
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
	position:relative;
	top:-10px;
}

.p-company-history-slider .swiper-slide-active p {
  opacity: 1;
}

.p-company-history-slider__control {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
}

/* =========================
   Timeline PC
========================= */
.p-company-history-chronology {
  --line-progress: 0px;
  --line-end: 0px;

  --history-year-w: 150px;
  --history-line-col-w: 70px;
  --history-circle-size: 14px;
  --history-line-top: 10px;
  --history-line-x: calc(var(--history-year-w) + (var(--history-line-col-w) / 2));

  position: relative;
  margin: 20lvh 0 0;
}

.p-company-history-chronology::before,
.p-company-history-chronology::after {
  content: "";
  position: absolute;
  top: var(--history-line-top);
  left: var(--history-line-x);
  width: 1px;
}

.p-company-history-chronology::before {
  height: var(--line-end);
  background: rgba(58, 170, 233, 0.35);
}

.p-company-history-chronology::after {
  height: var(--line-progress);
  background: #3AAAE9;
}

.p-company-history-chronology-item {
  position: relative;
  display: grid;
  grid-template-columns: var(--history-year-w) var(--history-line-col-w) minmax(0, 1fr);
  align-items: start;
  padding: 0 0 44px;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.38s ease, transform 0.38s ease;
}

.p-company-history-chronology-item.is-active,
.p-company-history-chronology-item.is-passed {
  opacity: 1;
  transform: translateY(0);
}

.p-company-history-chronology-year {
  grid-column: 1;
  margin: 0;
  color: #00579F;
  font-size: 32px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.12em;
	position:relative;
	top:-5px;
}

.p-company-history-chronology-circle {
  position: absolute;
  top: 5px;
  left: calc(var(--history-line-x) - (var(--history-circle-size) / 2));
  z-index: 2;
  width: var(--history-circle-size);
  height: var(--history-circle-size);
  border-radius: 50%;
  background: #3AAAE9;
}

.p-company-history-chronology-desc {
  grid-column: 3;
  margin: 0;
  padding: 0;
}

.p-company-history-chronology-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  column-gap: 22px;
  align-items: baseline;
  color: #314A70;
  font-weight: 500;
  line-height: 1.7;
}

.p-company-history-chronology-row:nth-child(n + 2) {
  margin-top: 8px;
}

.p-company-history-chronology-month {
  font-size: 16px;
  white-space: nowrap;
	text-align:right;
}

.p-company-history-chronology-text {
  font-size: 16px;
  letter-spacing: 0.04em;
}

/* =========================
   Slider Nav
========================= */
.history-nav {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  transition: 0s;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(236deg, #4294D2 14.24%, #81D595 87.23%);
  padding: 0;
  appearance: none;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent;
}

.history-nav svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: #fff;
}

.history-nav--prev svg {
  transform: translateX(-1px);
}

.history-nav--next svg {
  transform: rotate(180deg) translateX(-1px);
}


@media (max-width: 1100px) {
  .p-company-history__2column {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 64px;
  }

  .p-company-history__2column-slider {
    position: relative;
    top: auto;
    width: min(100%, 640px);
  }

  .p-company-history__2column-chronology {
    width: min(100%, 640px);
  }

  .p-company-history-chronology {
    margin: 0;
  }
}

@media (max-width:768px){
	.history-sec{
		padding:60px 0px;
	}
	.history-sec .page-sec-ttl{
		margin-bottom:32px;
	}
	.history-nav{
		width:32px;
		height:32px;
	}
	.p-company-history-slider .swiper-slide p{
		font-size:14px;
	}
	.p-company-history-slider__control{
		bottom:6px;
	}
	.p-company-history-chronology-year{
		font-size:24px;
		line-height:1.5;
		letter-spacing:0.08em;
	}
	.p-company-history-chronology-circle{
		left:87px;
		width:11px;
		height:11px;
		top:12px;
	}
.p-company-history-chronology::before, .p-company-history-chronology::after{
		left:92px;
	top:13px;
	}
	.p-company-history-chronology-month,
	.p-company-history-chronology-text{
		font-size:14px;
	}
	.p-company-history-chronology-row{
		flex-direction:column;
		display:flex;
		align-items:flex-start;
	}
	.p-company-history-chronology-item{
		grid-template-columns:inherit;
	}
	.p-company-history-chronology-desc{
		padding-top:8px;
	}
	.p-company-history-chronology-item{
    grid-template-columns: 80px 40px minmax(0, 1fr);
		padding-bottom:16px;
  }
}

/*Access*/
.access-sec{
	padding:100px 0px;
	background:#fff;
}

.access-sec .right-wrap{
	max-width:883px;
	margin-left:auto;
	margin-top:42px;
}
.access-sec .right-wrap span{
	display:block;
	font-weight:500;
letter-spacing:0.08em;
	color:#004D91;
	line-height:1.5;
}

@media (Max-width:900px){
	.access-sec iframe{
		width:100%;
	}
}
@media (max-width:600px){
	.access-sec{
		padding:60px 0px;
	}
	.access-sec .right-wrap{
		margin-top:32px;
	}
	.access-sec iframe{
		height:162px;
	}
	.access-sec .right-wrap span{
		font-size:14px;
		margin-top:28px;
	}
}

/*Breadcrumb*/
/* =========================
   Breadcrumb
========================= */
.breadcrumb-sec{
	padding:121px 0 14px;
}

.breadcrumb{
	min-width: 0;
}

.breadcrumb ul{
	display:flex;
	gap:8px;
	align-items:center;
	min-width: 0;
	overflow:hidden;
}

.breadcrumb ul li{
	flex: 0 0 auto;
	font-size:18px;
	font-weight:500;
	color:#a3a3a3;
	white-space:nowrap;
}

.breadcrumb ul li a{
	font-weight:bold;
	color:#a3a3a3;
	font-size:20px;
}

.breadcrumb ul li.current{
	flex:1 1 auto;
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

/* =========================
   SP
========================= */
@media (max-width:600px){
	.breadcrumb-sec{
		padding:40px 0 20px;
	}

	.breadcrumb ul li{
		font-size:14px;
	}

	.breadcrumb ul li a{
		font-size:16px;
		line-height:1;
	}
}
body{
	overflow-x:hidden;
}

/*thoughts-sec*/
.thoughts-sec{
	padding:120px 0px;
	background:#fff;
}
.thoughts-sec .right-wrap{
	margin-left:auto;
	max-width:816px;
	margin-top:60px;
}
.thoughts-sec .right-wrap h3{
	font-family:"Noto serif jp",serif;
	font-size:36px;
	line-height:2;
	letter-spacing:0.08em;
	color:#004D91;
	margin-bottom:32px;
}
.thoughts-sec .right-wrap p{
	margin-bottom:2em;
	line-height:2;
	letter-spacing:0.1em;
	font-size:20px;
	font-weight:500;
	color:#314a70;
}
.thoughts-sec .right-wrap p:last-child{
	margin-bottom:0;
}

@media (max-width:600px){
	.thoughts-sec{
		padding:60px 0px;
	}
	
	.thoughts-sec .right-wrap{
		margin-top:32px;
	}
	
	.thoughts-sec .right-wrap h3{
		font-size:20px;
	}

	.thoughts-sec .right-wrap p{
		font-size:14px;
		line-height:2.2;
	}
}


/* =========================
   Details-sec
========================= */
.details-sec {
  padding: 120px 0;
}

.details-sec .page-sec-ttl {
  margin-bottom: 133px;
}

.details-flex {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 592px);
  gap: 32px;
  width: 100%;
  max-width: 1208px;
  min-height: 365px;
  margin: 160px auto 0;
  background: #fff;
}

.details-flex.first{
	margin-top:133px;
}

.details-flex::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 361px;
  height: 100%;
  background: url("/wp-content/themes/original/images/service/details-bg.png") center / cover no-repeat;
  pointer-events: none;
  z-index: 1;
}

.details-flex-text {
  position: relative;
  z-index: 3;
  margin-top: -43px;
  padding-left: 49px;
  padding-right: 24px;
}

.details-flex-text__head {
  display: flex;
  align-items: flex-end;
  gap: 13px;
}

.details-flex-text .en {
  font-size: 24px;
  font-weight: 400;
  line-height: 2;
  color: #2079c0;
}

.details-flex-text .num {
  color: rgba(32, 121, 192, 0);
  -webkit-text-stroke-width: 3px;
  -webkit-text-stroke-color: #2079C0;
  font-family: "Noto Sans", sans-serif;
  font-size: 96px;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -2px;
}

.details-flex-text h3 {
  margin-top: 10px;
  margin-bottom: 16px;
  color: #004d91;
  font-size: 28px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.08em;
	padding-left:38px;
}

.details-flex-text p {
  max-width: 463px;
  color: #314A70;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.08em;
	padding-left:38px;
}

.details-flex-text .more-btn {
  margin-top: 26px;
	margin-left:38px;
}

.details-flex-image {
  position: relative;
  z-index: 2;
  top: -41px;
  width: 100%;
}

.details-flex-image img {
  display: block;
  width: 100%;
  max-width: 592px;
  aspect-ratio: 592 / 370;
  object-fit: cover;
}

/* 反転パターン */
.details-flex.reverse {
  grid-template-columns: minmax(420px, 592px) minmax(0, 1fr);
}

.details-flex.reverse::before {
  right: auto;
  left: 0;
  transform: scale(-1, 1);
}

.details-flex.reverse .details-flex-image {
  grid-column: 1;
  grid-row: 1;
  top: -41px;
}

.details-flex.reverse .details-flex-text {
  grid-column: 2;
  grid-row: 1;
  margin-left: 0;
  padding-left: 49px;
  padding-right: 49px;
  min-width: 0;
}

.details-flex.second .details-flex-text {
  margin-top: -68px;
}

/* 1200px以下：被り防止 */
@media (max-width: 1200px) {
  .details-flex {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 46%);
    gap: 24px;
  }

  .details-flex.reverse {
    grid-template-columns: minmax(360px, 46%) minmax(0, 1fr);
  }

  .details-flex-text {
    padding-left: 36px;
  }

  .details-flex.reverse .details-flex-text {
    padding-left: 36px;
    padding-right: 36px;
  }

  .details-flex-text .num {
    font-size: 80px;
  }

  .details-flex-text h3 {
    font-size: 24px;
  }

  .details-flex-text p {
    max-width: 100%;
  }
}


@media (max-width:900px){
	.details-sec{
		padding:60px 0px;
		padding-bottom:80px;
	}

  .details-sec .container{
    width:100%;
    overflow:hidden;
  }

  .details-sec .page-sec-ttl{
    width:92.48%;
    margin:0 auto 32px;
  }

  .details-lists{
    width:100%;
    max-width:390px;
    margin:0 auto;
  }

  .details-flex{
    position:relative;
    width:calc(100% - 20px);
    max-width:370px;
    margin-top:92px;
    margin-left:0;
    margin-right:auto;
    display:flex;
    flex-direction:column;
    padding-bottom:20px;
		gap:38px;
  }
	
	.details-flex.first{
		margin-top:64px;
	}

  /* 偶数・reverseは右寄せ */
  .details-flex.reverse,
  .details-flex:nth-child(even){
    margin-left:auto;
    margin-right:0;
  }

  .details-flex::before{
    content:"";
    background:url("/wp-content/themes/original/images/service/details-bg-sp.png") no-repeat center bottom / cover;
    width:100%;
    height:279px;
    position:absolute;
    left:0;
    bottom:0;
    z-index:0;
  }
	
	.details-flex-text .more-btn{
		margin-left:0;
	}

  .details-flex-text,
  .details-flex-image{
    position:relative;
    z-index:1;
  }

  .details-flex-text{
    margin-top:-22px;
    padding-left:33px;
    padding-right:20px;
  }

  .details-flex-text h3{
    font-size:20px;
    margin-top:16px;
  }

  .details-flex-text p{
    font-size:14px;
  }
	
	.details-flex-text p br{
		display:none;
	}

  .details-title svg{
    width:27px;
    height:40px;
  }

  .details-title .en{
    font-size:16px;
  }

  .details-title .num{
    font-size:36px;
    -webkit-text-stroke-width:2px;
  }

  .details-flex-text .num{
    letter-spacing:0;
  }

  .details-flex-image{
    top:0;
    width:100%;
  }

  .details-flex-image img{
    display:block;
    width:100%;
    max-width:none;
    aspect-ratio:370 / 230;
    object-fit:cover;
    margin:0;
    position:relative;
    right:auto;
  }

  /* 左寄せカード：画像を右にはみ出す */
  .details-flex:not(.reverse):nth-child(odd) .details-flex-image img{
    transform:translateX(20px);
  }

  /* 右寄せカード：画像を左にはみ出す */
  .details-flex.reverse .details-flex-image img,
  .details-flex:nth-child(even) .details-flex-image img{
    transform:translateX(-20px);
  }

	.details-flex.reverse .details-flex-image{
		top:0;
	}
	
  .details-flex.second .details-flex-text{
    margin-top:-22px;
  }
	
	.details-flex::before,
  .details-flex.reverse::before {
    right: 0;
    left: auto;
    transform: none;
  }
	.details-flex-text p,
	.details-flex-text h3{
		padding-left:0;
	}
}

/*safety-sec*/
.safety-sec{
	padding-top:0px;
	padding-bottom:5px;
}
.safety-sec .page-sec-ttl .jp{
	margin-top:8px;
}

.safety-sec .right-wrap{
	max-width:816px;
	margin-left:auto;
	margin-top:75px;
}
.safety-sec .right-wrap h3{
	font-size:24px;
	font-weight:500;
	letter-spacing:0.08em;
	color:#004d91;
	margin-bottom:20px;
}
.safety-sec .right-wrap p{
	font-weight:500;
	letter-spacing:0.1em;
	color:#314a70;
	line-height:1.8;
}
.safety-sec .right-wrap hr{
	border:none;
	width:100%;
	height:1px;
	background: linear-gradient(90deg, #81D595 0.36%, #4294D2 100.39%);
	margin:42px 0px;
}

@media (max-width:600px){
	.safety-sec{
		padding-top:0;
		padding-bottom:40px;
	}
	.safety-sec .right-wrap{
		margin-top:42px;
	}
	
	.safety-sec .right-wrap h3{
		font-size:20px;
		padding-bottom:8px;
		margin-bottom:12px;
		position:relative;
		margin-top:42px;
	}
	
	.safety-sec .right-wrap h3:before{
		content:"";
		position:absolute;
		width:100%;
		height:1px;
	background: linear-gradient(90deg, #81D595 0.36%, #4294D2 100.39%);
		bottom:0;
		left:0;
	}
	
	.safety-sec .right-wrap p{
		font-size:14px;
	}
	.safety-sec .right-wrap hr{
		display:none;
	}
}

.about-medication{
	padding:120px 0px 90px 0px;
	background:url("/wp-content/themes/original/images/medication/about-medication-bg.jpg");
	background-size:cover;
	background-position:top;
}


.medication-ttl{
	position:relative;
	font-size:36px;
	font-weight:900;
	font-family:"Noto serif jp",serif;
	letter-spacing:0.08em;
	padding-bottom:23px;
	margin-bottom:60px;
	color:#004D91;
}
.medication-ttl:before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:1px;
	background: linear-gradient(90deg, #81D595 0.36%, #4294D2 100.39%);
}
.about-medication p{
	line-height:2;
	letter-spacing:0.1em;
	font-size:20px;
	font-weight:500;
	color:#314a70;
}

@media (max-width:768px){
	.about-medication{
		background:none;
	}

	.about-medication .img-wrap{
		margin-top:35px;
		position:relative;
	}
	.about-medication .img-wrap:before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		background: linear-gradient(180deg, rgba(242, 251, 255, 0.90) 0%, rgba(242, 251, 255, 0.18) 32.24%, rgba(242, 251, 255, 0.00)
			78.53%, rgba(242, 251, 255, 0.90) 100%);
	}
}

@media (max-width:600px){
	.about-medication{
		padding:60px 0px 0px 0px;
	}
	
	.medication-ttl{
		font-size:20px;
		margin-bottom:16px;
	}
	.about-medication p{
		font-size:14px;
	}
}

/*merit-sec*/
.merit-sec{
	padding:120px 0px 60px 0px;
}
.merit-flex{
	display:flex;
	background:#fff;
	border-radius:5px;
	gap:16px;
	padding:31px 0px;
	position:relative;
	overflow:hidden;
	max-width:1050px;
	margin:auto;
	margin-top:32px;
}
.merit-flex-left{
	width:186px;
	justify-content:center;
	display:flex;
	align-items:center;
}
.merit-flex-left img{
	width:104px;
	height:104px;
	object-fit:contain;
}
.merit-flex-left .num{
	position:absolute;
	display:block;
	font-size:40px;
	font-weight:bold;
	color:#fff;
	background: linear-gradient(236deg, #4294D2 14.24%, #81D595 87.23%);
	width:87px;
	height:87px;
	border-radius:50%;
	display:flex;
	justify-content:center;
	align-items:center;
	top:-19px;
	left:-13px;
}

.merit-flex-right{
	width: calc(100% - 186px);
	padding-right:16px;
}
.merit-flex-right h3{
	font-size:24px;
	font-weight:500;
	color:#004d91;
	margin-bottom:17px;
}
.merit-flex-right p{
	letter-spacing:0.08em;
	line-height:1.8;
	font-weight:400;
	color:#004d91;
}

@media (max-width:600px){
	.merit-sec{
		padding-top:60px;
	padding-bottom:60px;
}

.merit-flex{
	flex-direction:column;
	padding-bottom:10px;
	margin-top:20px;
}

.merit-flex-left .num{
	font-size:16px;
	width:34px;
	height:34px;
	top:-6px;
	left:-5px;
	z-index:1;
}

.merit-flex-left{
	width:100%;	
	position:absolute;
	display:block;
	top:0;
	left:0;
}
.merit-flex-left img{
	display:block;
	width:45px;
	height:45px;
	top:8px;
	left:13px;
	position:relative;
	z-index:0;
}

.merit-flex-right{
	width:100%;
	padding:0px 16px;
	position:relative;
	top:-10px;
}
.merit-flex-right h3{
	font-size:16px;
	position:relative;
	padding-left:3.5em;
}
.merit-flex-right p{
	font-size:14px;
}
.merit-flex-right p br{
	display:none;
}
}

/*flow-sec*/
.flow-sec{
	padding:60px 0px 0px 0px;
}

.flow-flex{
	display:flex;
	max-width:1050px;
	margin:auto;
	gap:24px;
	justify-content:space-between;
}
.flow-flex-left{
	max-width:584px;
	width:70%;
}
.flow-flex-left .step{
	display:block;
	font-weight:600;
	color:#004d91;
	font-size:24px;
}
.flow-flex-left h3{
	margin-top:10px;
	margin-bottom:20px;
	color:#004D91;
	font-size:28px;
	font-weight:500;
}
.flow-flex-left p{
	color:#314A70;
	letter-spacing:0.08em;
	line-height:1.8;
}
.flow-flex-right{
	max-width:406px;
}
.flow-flex-right img{
	width:100%;
	max-width:406px;
}

.flow-line{
	position:relative;
	height:116px;
	max-width:1050px;
	margin:auto;
}
.flow-line::after{
	content:"";
	position:absolute;
	width:100%;
	height:3px;
	background: linear-gradient(90deg, #81D595 0.36%, #4294D2 100.39%);	
	top:41px;
	left:0;
}
.flow-line::before{
	content:"";
	position:absolute;
	left:0;
	right:0;
	top:43px;
	margin:auto;
	width:82px;
	height:39px;
	background:url("/wp-content/themes/original/images/medication/flow-arrow.png");
	background-size:contain;
	background-repeat:no-repeat;
}

.flow-link-btn{
	display:flex;
	align-items:center;
	height:71px;
	width:356px;
	border:1px solid #004d91;
	border-radius:75px;
	padding-left:68px;
	font-weight:bold;
	color:#004D91;
	font-size:20px;
	font-weight:500;
	background:#fff;
	position:relative;
	margin:auto;
	margin-top:120px;
}
.flow-link-btn .circle{
	position:absolute;
	right:16px;
	width:50px;
	height:50px;
	border-radius:50%;
	background: linear-gradient(236deg, #4294D2 14.24%, #81D595 87.23%);
	display:flex;
	justify-content:center;
	align-items:center;
}

@media (max-width:768px){
	.flow-sec{
		padding:0px;
	}
	.flow-flex{
		flex-direction:column-reverse;
	}
	.flow-flex-left,
	.flow-flex-right{
		width:100%;
		max-width:100%;
	}
	.flow-flex-right img{
		max-width:100%;
	}
}
@media (max-width:600px){
	.medication-ttl{
		margin-bottom:32px;
	}
	
	.flow-flex-left .step{
		font-size:16px;
	}
	.flow-flex-left h3{
		margin-top:4px;
		font-size:16px;
		letter-spacing:0.08em;
		font-weight:500;
		margin-bottom:16px;
	}
	.flow-flex-left p{
		font-size:14px;
		line-height:1.8;
		letter-spacing:0.08em;
		font-weight:400;
	}
	.flow-flex-left p br{
		display:none;
	}
	
	.flow-line{
		height:80px;
	}
	
	.flow-line::before{
		width:51px;
		height:28px;
		top:25px;
	}
	.flow-line::after{
		top:24px;
	}
	.flow-link-btn{
		margin-top:42px;
		width:221px;
		height:57px;
		font-size:14px;
		padding-left:29px;
		background: linear-gradient(89deg, #81D595 2.78%, #4294D2 98.21%);
		color:#fff;
		border:none;
	}
	.flow-link-btn .circle{
		width:36px;
		height:36px;
		right:12px;
		background:#fff;
	}
	.flow-link-btn .circle svg{
		width:16px;
		height:16px;
	}
	.flow-link-btn .circle svg path{
		fill:#2079c0;
	}
	.flow-link-btn:active{
		opacity:0.7;
	}
}

/*
 * Recruit
 * */

.recruit-fv{
	position:relative;
	background:url("/wp-content/themes/original/images/recruit/recruit-fv.jpg");
	background-size:cover;
	width:calc(100% - 60px);
	margin-left:auto;
	margin-top:116px;
	min-height:659px;
	overflow:hidden;
}

.recruit-fv h1{
	position:absolute;
	bottom:0;
	left:56px;
	bottom:213px;
}
.recruit-fv h1 .en{
	display:block;
	font-size:96px;
	font-weight:400;
	font-family:"Marcellus",serif;
	line-height:1;
	background: linear-gradient(90deg, #1D77C2 0%, #8CC36C 100%);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

.recruit-fv h1 .jp{
	display:block;
	font-size:24px;
	letter-spacing:0.08em;
	color:#2079c0;
	font-family:"Noto serif jp",serif;
}

.scroll-infinity{
	position:absolute;
	bottom:50px;
}

.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
	margin-right:32px;
}
.scroll-infinity__item {
  width:3142px;
	height:125px;
}
.scroll-infinity__item>img {
  width: 100%;
	height:100%;
	object-fit:contain;
}

@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}

@media (max-width:768px){
	.recruit-fv{
			position:relative;
	background:url("/wp-content/themes/original/images/recruit/recruit-fv-sp.jpg");
	background-size:cover;
	width:calc(100% - 12px);
	margin-left:auto;
	margin-top:88px;
	min-height:457px;
	overflow:hidden;
	}
	.recruit-fv h1{
		bottom:110px;
		left:8px;
	}
	.recruit-fv h1 .en{
		font-size:48px;
	}
	.recruit-fv h1 .jp{
		font-size:16px;
	}
	.scroll-infinity{
		bottom:28px;
	}
	
	.scroll-infinity__list--left{
		animation:infinity-scroll-left 50s infinite linear 0.5s both
	}
	
	.scroll-infinity__item{
		width:1685px;
		height:67px;
	}
}

/*recruit-ot*/
.recruit-ot-sec{
	padding-top:338px;
	padding-bottom:123px;
	margin-top:-218px;
	background: linear-gradient(252deg, #4193D3 0%, #83D69A 100%);
}
.recruit-ot-sec .page-sec-ttl::before{
	background:#fff;
}

.recruit-ot-sec .page-sec-ttl .en,
.recruit-ot-sec .page-sec-ttl .jp{
	color:#fff;
}

.recruit-ot-sec .right-wrap{
	max-width:816px;
	margin-left:auto;
	margin-top:60px;
}
.recruit-ot-sec .right-wrap h3{
	font-size:36px;
	font-weight:900;
	font-family:"Noto serif jp",serif;
	color:#fff;
	line-height:2;
	letter-spacing:0.08em;
	margin-bottom:32px;
}
.recruit-ot-sec .right-wrap p{
	color:#fff;
	font-weight:500;
	font-size:20px;
	line-height:2;
	letter-spacing:0.1em;
}

@media (max-width:768px){
.recruit-ot-sec{
	margin-top:-325px;
	padding-top:385px;
}
	.recruit-ot-sec .right-wrap{
		margin-top:32px;
	}
	
	.recruit-ot-sec .right-wrap h3{
		font-size:20px;
	}
	.recruit-ot-sec .right-wrap p{
		font-size:14px;
		line-height:2.2;
	}
}

@media (max-width:600px){
	.recruit-ot-sec{
		padding-bottom:60px;
	}
}

/*recruit-charm*/
.recruit-charm{
	padding:100px 0px;
	background:#fff;
}
.charm-flex{
	display:flex;
	justify-content:space-between;
	gap:57px;
	margin-top:60px;
}
.charm-box{
	width:25%;
	max-width:257px;
}


.charm-box img{
	width:164px;
	height:190px;
	object-fit:contain;
	display:block;
	margin:auto;
}

.charm-box h3{
	margin-top:19px;
	text-align:center;
	font-size:20px;
	font-weight:500;
	color:#004D91;
	position:relative;
	margin-bottom:11px;
	height:76px;
}
.charm-box:first-child h3{
	padding-top:12.5px;
}

.charm-box h3::after{
	content:"";
	position:absolute;
	width:100%;
	height:1px;
	background: linear-gradient(90deg, #81D595 0.36%, #4294D2 100.39%);
	bottom:0;
	left:0;
}

.charm-box p{
	color:#314A70;
	line-height:1.8;
	letter-spacing:0.075em;
	font-weight:400;
}

@media (max-width:1024px){
	.charm-flex{
		flex-wrap:wrap;
		max-width:600px;
		margin:auto;
		margin-top:60px;
	}
	.charm-box{
		width:257px;
	}
}

@media (max-width:768px){
	.recruit-charm .page-sec-ttl .jp{
		margin-top:10px;
	}
	
	.charm-flex{
		flex-direction:column;
		gap:42px;
		align-items:center;
	}
	.charm-box{
		width:100%;
		max-width:350px;
	}
	.charm-box img{
		width:142px;
		height:142px;
		object-fit:contain;
	}
}
@media (max-width:600px){
	.recruit-charm{
		padding:60px 0px;
	}
	.charm-flex{
		margin-top:32px;
	}
	.charm-box h3{
		padding:0;
		height:auto;
		padding-bottom:16px;
		margin-bottom:16px;
	}
	.charm-box:first-child h3{
		padding-top:0;
	}
	.charm-box p{
		font-size:14px;
	}
}

/*Interview*/
.interview-sec {
  padding: 80px 0;
}

.interview-sec .page-sec-ttl{
	margin-bottom:60px;
}

.interview-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 471px;
  column-gap: 29px;
  align-items: start;
}

.interview-text--01 {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}

.interview-image {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  padding-top: 8px;
}

.interview-text--02 {
  grid-column: 1 / 3;
  grid-row: 2 / 3;
	margin-top:-34px;
}

.interview-text h3 {
  color: #004D91;
  font-size: 28px;
  line-height: 1.5;
	letter-spacing:0.08em;
	font-family:"Noto sans",sans-serif;
	font-weight:500;
	margin-bottom:12px;
}

.interview-text h3 .big{
	font-size:32px;
}
.interview-text h3 .min{
	font-size:24px;
}

.interview-text p {
  color: #314A70;
  line-height: 2;
  letter-spacing: 0.08em;
	font-weight:400;
}

.interview-text p + p {
  margin-top: 24px;
}

.interview-image img {
  width: 100%;
  aspect-ratio: 471 / 317;
  object-fit: cover;
  border-radius: 0 0 16px 16px;
  display: block;
}

.interview-box--reverse {
  margin-top: 120px;
  grid-template-columns: 480px minmax(0, 1fr);
}

.interview-box--reverse .interview-image {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  padding-top: 0;
}

.interview-box--reverse .interview-text {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

.interview-message {
  grid-column: 1 / 3;
  grid-row: 2 / 3;
	margin-top:60px;
}

.interview-message h3.message {
  position: relative;
  color: #004D91;
  font-size: 28px;
  line-height: 1.5;
  padding-left: 20px;
  margin-bottom: 18px;
	font-weight:500;
}

.interview-message .message::before {
  content: "";
  position: absolute;
  left: 0;
	top:55%;
	transform:translateY(-50%);
  width: 14px;
  height: 14px;
background: linear-gradient(236deg, #4294D2 14.24%, #81D595 87.23%);
  border-radius: 50%;
}

.interview-message p {
  color: #314A70;
  line-height: 2;
  letter-spacing: .08em;
	font-weight:400;
}

@media (max-width:1100px){
	.interview-text--02{
		margin-top:0;
	}
}

@media (max-width: 1024px) {
  .interview-sec {
    padding: 56px 0;
  }

  .interview-title {
    margin-bottom: 36px;
  }

  .interview-title span {
    font-size: 40px;
  }

  .interview-title small {
    font-size: 12px;
  }

  .interview-box {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .interview-text--01 {
    order: 1;
  }

  .interview-text--02 {
    order: 2;
    margin-top: 32px;
  }

  .interview-image {
    order: 3;
    margin-top: 32px;
    padding-top: 0;
  }

  .interview-text h3 {
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 16px;
  }
	
	.interview-text h3 .big,
	.interview-text h3 .min{
		font-size:20px;
	}

  .interview-text p {
    font-size: 14px;
    line-height: 1.8;
		letter-spacing:0.08em;
  }

  .interview-image img {
    aspect-ratio: 350 / 231;
		width:100%;
  }
	.interview-box--reverse {
    display: flex;
    flex-direction: column;
    margin-top: 32px;
  }

  .interview-box--reverse .interview-text {
    order: 1;
  }

  .interview-box--reverse .interview-message {
    order: 2;
    margin-top: 32px;
  }

  .interview-box--reverse .interview-image {
    order: 3;
    margin-top: 32px;
		width:100%;
  }

  .interview-message h3.message {
    font-size: 20px;
    padding-left: 20px;
    margin-bottom: 16px;
  }

  .interview-message .message::before {
    width: 16px;
    height: 16px;
  }

  .interview-message p {
    font-size: 14px;
    line-height: 2;
  }
}

/*Entry-form*/
.entry-sec{
	padding:40px 0px; 1px 0px;
}
.entry-form{
	margin-top:60px;
}
.entry-form table{
	width:100%;
	max-width:734px;
	margin:auto;
}
.entry-form tr{
	display:flex;
	flex-direction:column;
	gap:20px;
	align-items:flex-start;
	margin-bottom:42px;
}
.entry-form th{
	font-weight:500;
	color:#004D91;
	letter-spacing:0.08em;
	width:100%;
	text-align:left;
}

.entry-form td{
	width:100%;
}

.essential{
	font-size:12px;
	font-weight:400;
	color:#ff2063;
	margin-left:10px;
}

.entry-form input[type="text"],
.entry-form input[type="tel"],
.entry-form input[type="email"]{
	width:100%;
	height:60px;
	padding:20px;
	border-radius:5px;
	color:#004d91;
	background:#fff;
}

.entry-form textarea{
	width:100%;
	height:250px;
	padding:20px;
	border-radius:5px;
	color:#004d91;
	background:#fff;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #d9d9d9;
}

input::placeholder,
textarea::placeholder {
  color: #d9d9d9;
  opacity: 1;
}

.accept-wrap{
	display:block;
	max-width:734px;
	margin:auto;
	color:#004D91;
	font-weight:500;
	letter-spacing:0.08em;
}
.accept-wrap .wpcf7-list-item{
	margin:0;
}
.accept-wrap input{
	width:20px;
	height:20px;
}
.accept-wrap label{
		display:flex;
	align-items:center;
	gap:30px;
}
.accept-wrap a{
	text-decoration:underline;
	color:#004D91;
}


.submit-wrap {
  position: relative;
	max-width:357px;
	margin:auto;
	margin-top:60px;
	cursor:pointer;
}

/* 本物のsubmitは透明にして上に置く */
.real-submit {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

/* 見た目 */
.fake-submit {
  width: 100%;
  height: 71px;
  border-radius: 75px;
  border: 1px solid #004D91;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #004D91;
  position: relative;
  z-index: 1;
}

/* 右の丸 */
.fake-submit .arrow {
  position: absolute;
  right: 16px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background:linear-gradient(236deg, #4294D2 14.24%, #81D595 87.23%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.wpcf7-spinner {
  display: none;
}


@media (max-width:600px){
	.entry-sec{
		padding-top:4px;
	}
	.entry-form{
		margin-top:32px;
	}
	.entry-form input[type="text"], .entry-form input[type="tel"], .entry-form input[type="email"]{
		height:58px;
	}
	.entry-form tr{
		gap:8px;
		margin-bottom:24px;
	}
	.wpcf7-not-valid-tip{
		font-size:13px;
	}
	.entry-form textarea{
		height:280px;
	}
	.accept-wrap label{
		gap:20px;
	}
	.submit-wrap{
		margin-top:42px;
		width:221px;
	}
	.fake-submit{
		height:57px;
		background: linear-gradient(89deg, #81D595 2.78%, #4294D2 98.21%);
		color:#fff;
		border:none;
		font-size:16px;
	}
	.submit-wrap .arrow{
		width:36px;
		height:36px;
		background:#fff;
	}
	.submit-wrap .arrow svg{
				width:16px;
		height:16px;
	}
	
	.submit-wrap .arrow path{
		fill:#2079C0;
	}
}



/*Privacy*/
.privacy-sec{
	padding:100px 0px 1px 0px;
}
.line-ttl{
	font-size:36px;
	font-weight:900;
	color:#004d91;
	letter-spacing:0.08em;
	font-family:"Noto serif jp",serif;
	padding-bottom:23px;
	margin-bottom:32px;
	position:relative;
}

.line-ttl::before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:1px;
	background: linear-gradient(90deg, #81D595 0.36%, #4294D2 100.39%);
}

.privacy-sec p,
.disclaimer-sec p{
	margin-bottom:12px;
	letter-spacing:0.1em;
	line-height:2;
	color:#314a70;
}
.privacy-sec ol,
.disclaimer-sec ol{
	letter-spacing:0.1em;
	line-height:2;
	color:#314a70;
	margin-left:1.4em;
}
.privacy-sec ol li,
.disclaimer-sec ol li{
	list-style:numbers;
}

.privacy-sec .right{
	text-align:right;
	margin-top:12px;
}

.top-80{
	margin-top:80px;
}

.privacy-list li{
	margin-bottom:2em;
}

.privacy-list p{
	margin-bottom:2em;
}
.privacy-list p:first-child{
	margin-bottom:0;
}

.privacy-list p:last-child{
	margin-bottom:0;
}

@media (max-width:600px){
	.privacy-sec{
		padding-top:60px;
	}
	.line-ttl{
		font-size:20px;
		padding-bottom:11px;
		margin-bottom:16px;
	}
	.privacy-sec p,
	.privacy-sec ol,
	.disclaimer-sec p,
	.disclaimer-sec ol{
		font-size:14px;
		margin-bottom:16px;
	}
	.privacy-sec .right{
		margin-top:16px;
	}
	.top-80{
		margin-top:60px;
	}
}


/*disclaimer 免責事項*/

.disclaimer-sec{
	padding-top:120px;
}
.disclaimer-top{
	margin-bottom:120px;
	line-height:2;
	letter-spacing:0.1em;
	font-weight:400;
	color:#314a70;
}

.disclaimer-top p{
	margin-bottom:2em;
}

.disclaimer-sec h3{
	font-size:24px;
	font-weight:bold;
	font-family:"Noto serif jp",serif;
	letter-spacing:0.08em;
	color:#004d91;
	margin-bottom:27px;
}

@media (max-width:600px){
	.disclaimer-sec{
		padding-top:60px;
	}
	.disclaimer-top{
		margin-bottom:60px;
	}
	.disclaimer-sec h3{
		font-size:16px;
		margin-bottom:16px;
	}
}

/*Legal*/
.legal-title .jp{
	margin-top:12px;
}

.legal-sec{
padding:120px 0px 0px; 0px;
}
.legal-sec table{
	width:100%;
	max-width:990px;
	margin:auto;
	border-collapse:collapse;
	border:1px solid #a3a3a3;
}
.legal-sec tr{
	border-bottom:1px solid #a3a3a3;
}
.legal-sec tr:last-child{
	border-bottom:none;
}

.legal-sec th{
	width:287px;
	background:#2079c0;
	color:#fff;
	font-weight:500;
	letter-spacing:0.08em;
	padding:20px;
	vertical-align: middle;
}
.legal-sec td{
	width:calc(100% - 287px);
	padding:20px;
	background:#fff;
	color:#314A70;
	letter-spacing:0.08em;
	line-height:1.8;
	font-weight:500;
	vertical-align: middle;
}

@media (max-width:600px){
	.legal-title .jp{
	margin-top:0px !important;
	}
	
	.legal-sec {
		padding-top:60px;
		padding-bottom:40px;
	}
	
	.legal-sec table{
		border:none;
	}
	
	.legal-sec table tr{
		display:flex;
		flex-direction:column;
	}
	
	.legal-sec table tr:last-child{
		border-bottom:1px solid #a3a3a3;
	}
	
	.legal-sec table th,
	.legal-sec table td{
		width:100%;
		padding:10px 12px;
	}
}

/*Contact form*/
.contact-form select {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  min-height: 50px;
  padding: 10px 42px 10px 14px;
  border: 1px solid #a7a7a7;
  border-radius: 4px;
  background-color: #fff;

  font-size: 16px;
  line-height: 1.4;
  color: #004D91;
  font-family: inherit;

  box-sizing: border-box;
  cursor: pointer;
}

/* IE/Edge旧仕様の矢印対策 */
.contact-form select::-ms-expand {
  display: none;
}

/* selectを包んでいる要素に矢印を出す場合 */
.contact-form .select-wrap {
  position: relative;
}

.contact-form .select-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
}


.contact-form .wpcf7-form-control-wrap[data-name="form-select"],
.contact-form .wpcf7-form-control-wrap[data-name="store-select"] {
  position: relative;
  display: block;
}

.contact-form select[name="form-select"],
.contact-form select[name="store-select"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.cf7-custom-select {
  position: relative;
  width: 100%;
}

.cf7-custom-select__button {
  width: 100%;
  min-height: 64px;
  padding: 0 48px 0 18px;
  border: none;
  border-bottom: 1px solid #e5e5e5;
  background: #fff;
  color: #005bac;
  text-align: left;
  font: inherit;
  cursor: pointer;
}

.cf7-custom-select__button::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid #005bac;
  border-bottom: 2px solid #005bac;
  transform: translateY(-65%) rotate(45deg);
}

.cf7-custom-select__list {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 100;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  background: #fff;
}

.cf7-custom-select.is-open .cf7-custom-select__list {
  display: block;
}

.cf7-custom-select__list li {
  padding: 14px 18px;
  color: #005bac;
  border-top: 1px solid #e5e5e5;
  cursor: pointer;
}

.cf7-custom-select__list li:hover,
.cf7-custom-select__list li.is-active {
  background: #2079c0;
  color: #fff;
}

.conditional label{
	margin-top:42px;
	display:block;
    font-weight: 500;
    color: #004D91;
    letter-spacing: 0.08em;
    width: 100%;
    text-align: left;
	margin-bottom:20px;
}

/*contact step*/
.contact-step{
	display:flex;
	justify-content:space-between;
	max-width:405px;
	margin:auto;
	margin-top:120px;
	position:relative;
}

.contact-step::before{
	content:"";
	position:absolute;
	top:26px;
	width:100%;
	height:1px;
	background:#A3A3A3;
}

.contact-step .box{
	width:46px;
	position:relative;
}

.contact-step .num{
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:20px;
	color:#004D91;
	font-weight:500;
	width:46px;
	height:46px;
	background:#fff;
	border-radius:50%;
}
.contact-step .num.active{
	background:#3AAAE9;
	color:#fff;
}

.contact-step .text{
	display:block;
	font-weight:500;
	text-align:center;
	color:#004d91;
	margin-top:4px;
}

/*Confirm*/
.confirm{
	max-width:734px;
	margin:auto;
	margin-top:120px;
}

.confirm-row{
	display:flex;
	flex-direction:inherit;
	gap:46px;
	margin-bottom:50px;
}
.confirm-th{
	width:180px;
	line-height:1.8;
	letter-spacing:0.08em;
	color:#004d91;
	font-weight:500;
}

.confirm-td{
	width:calc(100% - 155px);
		line-height:1.8;
	letter-spacing:0.08em;
	color:#004d91;
	font-weight:500;
}

.back-wrap{
	text-align:center;
	margin-top:32px;
			transition:0.4s;
	display:block;
	cursor:pointer;
}

.back-wrap input{
	background:none;
		color:#004d91;
	font-weight:500;
		cursor:pointer;
	letter-spacing:0.08em;
}

@media (max-width:600px){
	.confirm-row{
		flex-direction:column;
		gap:8px;
		margin-bottom:32px;
	}
	.confirm-th,
	.confirm-td{
		width:100%;
	}
	.contact-step{
		max-width:218px;
		margin-top:60px;
	}
	.confirm{
		margin-top:60px;
	}
	.contact-sec{
		padding-bottom:40px;
	}
}

/*Thanks*/
.thanks-sec{
	margin-top:80px;
	text-align:center;
}
.thanks-sec h2{
	font-size:28px;
	font-family:"Noto serif jp",serif;
	letter-spacing:0.08em;
	line-height:1.8;
	margin-bottom:80px;
	color:#004d91;
	font-weight:900;
}
.thanks-sec p{
	color:#004D91;
	line-height:2;
	letter-spacing:0.1em;
	font-size:20px;
	font-weight:400;
}
.thanks-sec a{
	display:block;
	text-align:center;
	margin-top:80px;
	line-height:2;
	letter-spacing:0.08em;
	color:#004d91;
	font-weight:500;
	font-size:20px;
}
@media (max-width:600px){
	.thanks-sec{
		padding-bottom:60px;
	}
	
	.thanks-sec h2{
		font-size:16px;
		margin-bottom:32px;
	}
	.thanks-sec p,
	.thanks-sec a{
		font-size:14px;
	}
	.thanks-sec p{
		text-align:left;
	}
	.thanks-sec p br{
		display:none;
	}
	
	.thanks-sec a{
		margin-top:32px;
	}
}

/*News*/

.news-sec{
	padding:120px 0px;
}
.news-flex{
	display:flex;
	gap:74px;
}
.news-flex-left{
	width:175px;
	padding-top:10px;
}

.news-flex-right{
	width: calc(100% - 175px);
}

.news-flex-left ul:first-child li{
	margin-bottom:24px;
	color:#004d91;
	font-weight:500;
	letter-spacing:-0.01em;
	font-size:20px;
	padding-left:18px;
	position:relative;
}

.news-flex-left ul:first-child li.active::before{
	content:"";
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
	width:6px;
	height:6px;
	background:#3aaae9;
	border-radius:50%;
}
.archive-select {
  position: relative;
  margin-top: 32px;
  width: 175px;
}

.archive-select__btn {
  position: relative;
  width: 100%;
  height: 46px;
	padding:8px;
	padding-left:22px;
  border: 1px solid #005bac;
  border-radius: 100px;
  color: #004d91;
  font-size: 16px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

.archive-select__btn::after {
  content: "";
  position: absolute;
  right:22px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 1px solid #005bac;
  border-bottom: 1px solid #005bac;
  transform: translateY(-65%) rotate(45deg);
}

.archive-select__list {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 20;
  width: 100%;
  margin: 0;
  padding: 10px;
  list-style: none;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}

.archive-select.is-open .archive-select__list {
  display: block;
}

.archive-select__list li {
  margin: 0;
  line-height: 1;
  font-weight: 400;
	font-size:16px;
	margin-bottom:8px;
}

.archive-select__list li a {
  color: #111;
  text-decoration: none;
	display:block;
}

.news-flex-right .news-item-inner{
	margin-bottom:32px;
}


/*Pagination*/
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin-top: 80px;
}

.pagination .page-numbers {
  font-size: 24px;
  color: #004D91;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 数字 */
.pagination .page-numbers:not(.prev):not(.next) {
  width: 46px;
  height: 46px;
  border-radius: 50%;
}

/* 現在 */
.pagination .page-numbers.current {
  background: #3AAAE9;
  color: #fff;
}


@media (max-width:1120px){
	.news-item-inner{
		padding:30px 16px;
	}
	.news-arrow{
		right:16px;
	}
	.news-title{
		width:80%;
	}
}

@media (max-width:1024px){
	.news-flex{
		flex-direction:column;
		gap:32px;
	}
	
	.news-flex-left{
		order:2;
	}
	.news-flex-right{
		width:100%;
	}
	.pagination{
		margin-top:32px;
	}
}

@media (max-width:600px){
	.news-sec{
		padding:60px 0px;
	}
	.news-item-inner{
		padding:16px 12px;
	}
	
	.news-flex-right .news-item-inner{
		margin-bottom:12px;
	}
	
	.news-meta{
		gap:6px;
		margin-bottom:8px;
	}
	
	.news-date{
		font-size:12px;
	}
	.news-cat{
		font-size:12px;
	}
	.news-title{
		font-size:14px;
		line-height:1.8;
	}
	.news-arrow{
		width:34px;
		height:34px;
		background:linear-gradient(236deg, #4294D2 14.24%, #81D595 87.23%);
		border:none;
	}
	.news-arrow svg{
		width:15px;
		height:15px;
	}
	.news-arrow svg path{
		fill:#fff;
	}
	.pagination{
		gap:0px;
	}
	.pagination .page-numbers:not(.prev):not(.next){
		width:36px;
		height:36px;
	}
	.pagination .page-numbers{
		font-size:16px;
	}
	.pagination svg{
		height:14px;
	}
	
	.news-flex-left{
		width:100%;
	}
	.news-flex-left ul:first-child li{
		font-size:14px;
		margin-bottom:8px;
	}
	.archive-select{
		margin:auto;
	}
}

/*Single-News*/
.single-sec{
	padding:120px 0px;
}
.single-sec .container{
	max-width:951px;
}
.single-meta{
	display:flex;
	gap:20px;
}
.post-date{
	font-size:20px;
	color:#004d91;
	display:inline-block;
}
.post-cat{
	font-size:20px;
	color:#004d91;
	display:inline-block;
	position:relative;
}
.post-cat::before{
	content:"";
	position:absolute;
	left:-10px;
	height:18px;
	width:1px;
background:#000;
	top:52.5%;
	transform:translateY(-50%);
}
.single-sec h1{
	margin-top:12px;
	color:#004d91;
	font-weight:500;
	font-size:36px;
	line-height:1.8;
	letter-spacing:0.08em;
}

.post-content{
	margin-top:42px;
	border-bottom:1px solid #004D91;
	padding-bottom:60px;
}
.post-content p{
	margin-bottom:42px;
}
.post-content p:last-child{
	margin-bottom:0;
}

.post-content img{
	margin-bottom:42px;
}

.share-buttons{
	margin-top:32px;
	display:flex;
	justify-content:flex-end;
	gap:24px;
}
.share-buttons a:first-child{
	width:30px;
	height:31px;
	display:block;
}
.share-buttons a:nth-child(2){
	width:33px;
	height:33px;
	display:block;
}

.back-archive{
	display:block;
	text-align:center;
	font-weight:500;
	color:#004d91;
	font-size:20px;
	letter-spacing:0.08em;
	margin-top:32px;
}

@media (max-width:600px){
	.single-sec{
		padding:60px 0px;
	}
	.single-sec h1{
		font-size:20px;
		padding-bottom:32px;
		position:relative;
	}
	
	.single-sec h1::before{
		content:"";
		position:absolute;
		left:0;
		width:100%;
		height:1px;
		background: linear-gradient(90deg, #81D595 0.36%, #4294D2 100.39%);
		bottom:0;
	}
	
	.post-date,
	.post-cat{
		font-size:14px;
	}
	.post-content{
		margin-top:32px;
		font-size:14px;
		line-height:2;
		position:relative;
		padding-bottom:32px;
		border-bottom:none;
	}
	.post-content::after{
		content:"";
		background: linear-gradient(90deg, #81D595 0.36%, #4294D2 100.39%);
		position:absolute;
		left:0;
		bottom:0;
		width:100%;
		height:1px;
	}
	.share-buttons{
		margin-top:60px;
	}
	.back-archive{
		font-size:16px;
	}
}

.s-pharmacies{
	padding-top:42px;
	padding-bottom:60px;
}
.s-pharmacies h1{
	padding-bottom:42px;
	position:relative;
	text-align:center;
	color:#004D91;
	font-size:36px;
	font-weight:bold;
}
.s-pharmacies h1::after{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:3px;
	background: linear-gradient(90deg, #81D595 0.36%, #4294D2 100.39%);
}

.pharmacies-flex{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:60px 0px;
	margin-top:60px;
}

.pharmacies-img-flex{
	display:flex;
	justify-content:space-between;
	margin-top:60px;
}

.pharmacies-img-flex img{
	width:50%;
	max-width:586px;
}

.pharmacies-flex .box{
	width:calc(100% / 3);
	max-width:360px;
}

.pharmacies-flex .box img{
	display:block;
	margin:auto;
	width:64px;
	height:64px;
	margin-bottom:20px;
	object-fit:contain;
}
.pharmacies-flex .box .title{
	display:block;
	text-align:center;
	font-weight:600;
	font-size:24px;
	color:#004d91;
	margin-bottom:12px;
}
.pharmacies-flex .box p{
	text-align:center;
	max-width:359px;
	font-size:20px;
	letter-spacing:0.08em;
	color:#004d91;
	display:block;
	margin:auto;
			font-weight:500;
}

.pharmacies-bottom-text{
	margin-top:60px;
	color:#314A70;
	line-height:2;
	letter-spacing:0.1em;
	font-weight:500;
}

.pharmacy-map{
	padding:60px 0px;
	background:#fff;
}
.pharmacy-map iframe{
	max-width:1200px;
	margin:auto;
	display:block;
	width:89.745%;
	height:394px;
}

.pharmacies-back-wrap .back-btn{
	display:block;
	text-align:center;
	font-weight:500;
	margin-top:60px;
	letter-spacing:0.08em;
	font-size:20px;
	color:#004d91;
}
@media (max-width:1080px){
	.pharmacies-flex{
		max-width:700px;
		margin:auto;
		margin-top:60px;
	}
	.pharmacies-flex .box{
		width: calc(100% / 2);
	}
}

@media (min-width:768px){
	.pharmacies-back-wrap .back-btn:hover{
		opacity:0.7;
		transition:0.4s;
	}
}
@media (max-width:768px){
	.s-pharmacies{
		padding-top:32px;
	}
	.s-pharmacies h1{
		font-size:20px;
		padding-bottom:16px;
	}

	.pharmacies-img-flex{
		flex-direction:column;
		align-items:center;
		gap:20px;
	}
	.pharmacies-img-flex img{
		width:100%;
	}
	.pharmacies-flex{
		flex-direction:column;
		gap:40px;
		align-items:center;
	}
	.pharmacies-flex .box{
		width:100%;
		max-width:350px;
	}
}

@media (max-width:600px){
	.s-pharmacies{
		padding-bottom:42px;
	}
	.pharmacies-img-flex{
		margin-top:32px;
	}
	.pharmacies-flex{
		margin-top:32px;
	}
	
	.pharmacies-flex .box img{
		width:44px;
		height:44px;
		margin-bottom:10px;
	}
	.pharmacies-flex .box .title{
		font-size:20px;
		margin-bottom:4px;
	}
	.pharmacies-flex .box p{
		font-size:14px;
	}
	.pharmacies-bottom-text{
		font-size:14px;
	}
	.pharmacy-map{
		padding-top:20px;
		padding-bottom:20px;
	}
	.pharmacy-map iframe{
		height:349px;
	}
	.pharmacies-back-wrap .back-btn{
		margin-top:32px;
		font-size:16px;
		margin-bottom:32px;
	}
}

/*Pharmacies-Archive*/
.anchor-wrap{
	display:flex;
	justify-content:center;
	gap:120px;
	padding:16px 0px;
	background:#fff;
}
.anchor-wrap a{
	font-family:"Noto serif jp",serif;
	font-size:24px;
	font-weight:bold;
	color:#004d91;
	display:flex;
	align-items:center;
	padding-bottom:1px;
	border-bottom:1px solid #004d91;
	line-height:1.25;
}
.anchor-wrap a svg{
	margin-left:14px;
	margin-top:4px;
}

.pharmacy-group,
.pharmacy-connection{
	padding-top:120px;
}
.pharmacy-group h2,
.pharmacy-connection h2{
	text-align:center;
	font-family:"Noto serif jp",serif;
	font-size:36px;
	letter-spacing:0.08em;
	font-weight:bold;
	padding-bottom:16px;
	position:relative;
	color:#004D91;
}
.pharmacy-group h2::after,
.pharmacy-connection h2::after{
	content:"";
	position:absolute;
	width:66px;
	height:6px;
	background: linear-gradient(90deg, #81D595 0.36%, #4294D2 100.39%);
	left:0;
	right:0;
	margin:auto;
	bottom:0;
}

.pharmacy-list{
	margin:auto;
	display:flex;
	flex-wrap:wrap;
	gap:60px 21px;
	justify-content:flex-start;
	margin-top:90px;
}
.pharmacy-card{
	width:33%;
	max-width:386px;
	text-align:center;
	font-weight:500;
	color:#004d91;
	letter-spacing:0.08em;
	background:#fff;
	padding-bottom:28px;
}
.pharmacy-card img{
	height:260px;
	object-fit:cover;
	width:100%;
}
.pharmacy-card__name{
	text-align:center;
	display:block;
	max-width:342px;
	font-weight:bold;
	color:#004d91;
	letter-spacing:0.08em;
	margin:auto;
	padding:7px;
	background:#fff;
	box-shadow:3px 3px 1px rgba(0,0,0,0.25);
	margin-top:-22px;
	margin-bottom:20px;
	position:relative;
}

.pharmacy-card__body{
	position:relative;
}
.pharmacy-card .news-arrow{
	right:33px;
	top:110px;
	width:40px;
	height:40px;
}
.pharmacy-card .news-arrow svg{
	width:18px;
}

@media (max-width:1340px){
	.pharmacy-list{
		justify-content:center;
		max-width:900px;
	}
	.pharmacy-card{
		width:calc(100% / 2);
	}
}
@media (max-width:900px){
	.anchor-wrap{
		justify-content:center;
		gap:42.5px;
	}
	.anchor-wrap a{
		font-size:16px;
		border:none;
	}
	
	.pharmacy-list{
		flex-direction:column;
		gap:32px;
		align-items:center;
		margin-top:32px;
	}
	
	.pharmacy-card{
		width:100%;
	}
	
	.pharmacy-card__name{
		max-width:327px;
		font-size:16px;
	}
	
	.pharmacy-card__body{
		font-size:14px;
	}
	
	.pharmacy-group, .pharmacy-connection{
		padding:42px 0px;
	}
	.pharmacy-group{
		padding-bottom:0;
	}
	
	.pharmacy-card img{
		height:236px;
	}
	
	.pharmacy-group h2, .pharmacy-connection h2{
		font-size:20px;
	}
	.pharmacy-group h2::after, .pharmacy-connection h2::after{
		height:3px;
		width:33px;
	}
}

@media (max-width:1024px){
	.top-news-flex{
		flex-direction:column;
		gap:32px;
	}
	.top-news-left .more-btn{
		display:none;
	}
	.top-news-left,
	.top-news-right{
		width:100%;
	}
	.news-item-inner{
		padding:12px;
	}
	.news-date,
	.news-cat{
		font-size:14px;
	}
	.news-title{
		font-size:18px;
	}
	.top-news .more-btn.bottom{
		display:flex !important;
		margin:auto;
		margin-top:32px;
	}
}

@media (max-width:768px){
	.top-service-flex{
		flex-direction:column;
	}
	.top-service-text,
	.top-service-img{
		width:100%;
		max-width:100%;
	}
	.top-service-img{
		display:none;
	}
	.top-service-text img.sp{
		margin-top:32px;
	}
	.top-service-text p{
		max-width:100%;
	}
	.top-recruit{
		padding:60px 0px;
	}
	.more-btn::before{
		filter:blink(44px);
	}
	.cta-slider__track img{
		height:96px;
		width:auto;
		object-fit:contain;
	}
	.cta-sec{
		padding-bottom:0;
	}
	.cta-slider{
		margin-top:-32px;
	}
}

@media (max-width:600px){
	.top-company{
		padding-top:42px;
		padding-bottom:60px;
	}
	.top-company-lists{
		flex-direction:column;
		align-items:center;
		margin-top:32px;
		gap:16px;
	}
	.top-company-list{
		width:100%;
		position:relative;
		height:243px;
	}
	
	.top-company-list::after{
		content:"";
		position:absolute;
		width:69px;
		height:69px;
		background:url("/wp-content/themes/original/images/top-company-arrow.png");
		background-size:contain;
		z-index:10;
		bottom:32px;
		right:24px;
	}
	
	.top-company-list .en{
		font-size:32px;
	}
	.top-company-list .jp{
		font-size:16px;
		margin-top:0;
	}
	
	.top-service-text{
		padding-top:42px;
	}
	
	.top-service-text p{
		font-size:14px;
	}
	
	.more-btn{
		margin:auto;
		width:221px;
		padding-left:73px;
		margin-top:32px;
	}
	.more-btn::before{
		width:216px;
	}
	.more-btn::after{
		left:50px;
	}
	.top-service{
		padding-bottom:60px;
	}
	
	.top-news{
		padding:42px 0px;
	}
	
	.news-title{
		font-size:14px;
	}
	.top-pharmacies-left .more-btn{
		margin:auto;
		margin-top:32px;
	}
	
	.top-recruit{
		padding-bottom:20px;
	}
	
	.top-recruit .container{
		padding:42px 10px 60px 10px;;
		border-radius:15px;
	}
	
	.top-recruit-flex{
		flex-direction:column;
	}
	.top-recruit-text,
	.top-recruit-img{
		width:100%;
		max-width:100%;
	}
	.top-recruit-text p{
		font-size:14px;
		margin-top:32px;
	}
	.top-recruit-img{
		display:none;
	}
	.top-recruit-text img.sp-only{
		display:block !important;
		margin-top:32px;
	}
	
	.cta-sec .container{
		padding:68px 10px;
	}

	.cta-text p{
		font-size:14px;
	}
	.more-btn span{
		font-size:16px;
	}
}


/*Recaptcha*/
.grecaptcha-badge {
  visibility: hidden !important;
}

.recaptcha-note{
	text-align:center;
	margin-top:40px;
	font-size:12px;
}