
.-x-richtext ul, .-x-richtext ol {
	list-style-position: inside;
}
[data-legal]{
	position:relative;
	--legal-offset-h:attr(data-legal-offset-h px);
	--legal-offset-v:attr(data-legal-offset-v px);
}
[data-legal][data-legal-safe="1"]::after{
	position: absolute;
	opacity: 0.5;
	color: black;
	content: "墨";
	font-size: 16px;
	display: block;
	height: 24px;
	padding-top: 0px;
	background-image: url(/_lib/lc.png);
	background-size: auto 20px;
	background-repeat: no-repeat;
	padding-left: 50px;
	background-position: left top;
}
[data-legal][data-legal-safe="1"]:hover::after {
    position: absolute;
    opacity: 0.5;
    color: black;
    content: attr(data-legal-check-at);
    white-space:nowrap;
    font-size: 11px;
    display: block;
    height: 24px;
    background-image: url(/_lib/lc.png);
    background-size: auto 20px;
    background-repeat: no-repeat;
    padding-top: 15px;
    padding-left: 0px;
    background-position: left top;
}

[data-legal-position="left-top"]::after{
	left:var(--legal-offset-h);
	top:var(--legal-offset-v);
}
[data-legal-position="left-bottom"]::after{
	left:var(--legal-offset-h);
	bottom:var(--legal-offset-v);
}
[data-legal-position="right-top"]::after{
	right:var(--legal-offset-h);
	top:var(--legal-offset-v);
}
[data-legal-position="right-bottom"]::after{
	right:var(--legal-offset-h);
	bottom:var(--legal-offset-v);
}
/*common_css*/
@charset "utf-8";
/* CSS Document */
/* -------------------------------------
Browser：Edge over
-------------------------------------
01: 共通
02: テンプレート
03: ヘッダー＆フッター
04: ページ
-------------------------------------*/

/** ==============================================
01.共通
============================================== **/
/* -------------------------------------
アニメーション
-------------------------------------*/
.fade {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 300ms ease, transform 800ms ease;
}
.fade {
  opacity: 0;
  transform: translateY(80px);
  transition: opacity 900ms ease, transform 700ms ease;
}
.fade.fade-in {
  opacity: 1;
  transform: translateY(0);
}
@media screen and (max-width: 520px) {
  .fade {
    transition: opacity 500ms ease, transform 500ms ease;
  }
}

/* -------------------------------------
waves
-------------------------------------*/
.wave-animation-wrapper {
  height: 10vh;
  min-height: 100px;
  max-height: 150px;
}
.waves {
  position: relative;
  width: 100%;
  height: 100%;
}
/* Animation */
.parallax > use {
  animation: move-forever 40s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
}
.parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}
.parallax > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 20s;
}
.parallax > use:nth-child(3) {
  animation-delay: -5s;
  animation-duration: 14s;
}
@keyframes move-forever {
  0% {
    transform: translate3d(-90px, 0, 0);
  }
  100% {
    transform: translate3d(85px, 0, 0);
  }
}
/*Shrinking for mobile*/
@media (max-width: 768px) {
  .wave-animation-wrapper {
    height: 10vw;
    min-height: 40px;
    max-height: 80px;
  }
}

/* -------------------------------------
waves2
-------------------------------------*/
.wave-animation-wrapper2 {
  height: 12vh;
  min-height: 100px;
  max-height: 150px;
}
.waves2 {
  position: relative;
  width: 100%;
  height: 100%;
}
/* Animation */
.parallax2 > use {
  animation: move-forever 40s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
}
.parallax2 > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}
.parallax2 > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 20s;
}
.parallax2 > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 10s;
}
.parallax2 > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 14s;
}
@keyframes move-forever {
  0% {
    transform: translate3d(-90px, 0, 0);
  }
  100% {
    transform: translate3d(85px, 0, 0);
  }
}
/*Shrinking for mobile*/
@media (max-width: 768px) {
  .wave-animation-wrapper2 {
    height: 10vw;
    min-height: 40px;
    max-height: 80px;
  }
}

/* -------------------------------------
sec-end
-------------------------------------*/
.sec-end {
  margin-bottom: -80px;
}

@media screen and (max-width: 520px) {
  .sec-end {
    margin-bottom: -40px;
  }
}

/* -------------------------------------
sec-wave_wh
-------------------------------------*/
.sec-wave_wh {
  width: 100%;
  height: 70px;
  position: absolute;
  top: 0;
  background: url(/common/images/sec-wave_wh.png) repeat-x center / auto 100%, var(--bg-blue);
}
.sec-wave_wh2 {
  width: 100%;
  height: 70px;
  position: absolute;
  top: 0;
  background: url(/common/images/sec-wave_wh2.png) repeat-x center / auto 100%, var(--bg-blue);
}

@media screen and (max-width: 520px) {
  .sec-wave_wh {
    height: 40px;
    background-size: 140% 100%;
  }
  .sec-wave_wh2 {
    height: 30px;
    background-size: 140% 100%;
  }
}

/* -------------------------------------
figEdgeL-content
figEdgeR-content
-------------------------------------*/
.figEdgeL-content,
.figEdgeR-content {
  display: flex;
  align-items: center;
  gap: 60px;
}
.figEdgeL-content figure,
.figEdgeR-content figure {
  width: 56%;
  border-radius: 0 var(--radius) var(--radius) 0;
}
.figEdgeL-content .text,
.figEdgeR-content .text {
  width: 400px;
}
/* 画像右 */
.figEdgeR-content {
  flex-flow: row-reverse;
}
.figEdgeR-content figure {
  border-radius: var(--radius) 0 0 var(--radius);
}

@media screen and (max-width: 979px) {
  .figEdgeL-content,
  .figEdgeR-content {
    gap: 0;
  }
  .figEdgeL-content .text,
  .figEdgeR-content .text {
    width: 34%;
    margin-left: 5%;
    margin-right: 5%;
  }
}

@media screen and (max-width: 520px) {
  .figEdgeL-content,
  .figEdgeR-content {
    flex-flow: column;
    gap: 30px;
  }
  .figEdgeL-content figure,
  .figEdgeR-content figure {
    width: 95%;
    margin-left: -5%;
  }
  .figEdgeL-content .text,
  .figEdgeR-content .text {
    width: 88%;
  }

  /* 画像右 */
  .figEdgeR-content figure {
    margin: 0 0 0 5%;
  }
}

/* -------------------------------------
flx-content
-------------------------------------*/
.flx-content {
  display: flex;
  align-items: flex-start;
  gap: 80px;
}
.flx-content .flx-main {
  flex: 1;
}

@media screen and (max-width: 520px) {
  .flx-content {
    flex-flow: column;
    gap: 30px;
  }
}

/* -------------------------------------
frame
-------------------------------------*/
.frame {
  border-radius: var(--radius);
  box-shadow: 16px 16px 0 var(--main-color_l);
}

@media screen and (max-width: 520px) {
  .frame {
    box-shadow: 10px 10px 0 var(--main-color_l);
  }
}

/* -------------------------------------
circle-figs
-------------------------------------*/
.circle-figs {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 3%;
}
.circle-figs figure {
  --size: 19%;
  width: var(--size);
  /* height: var(--size); */
  border-radius: 50%;
}
.circle-figs figure img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.circle-figs figure:first-child {
  --size: 30%;
  margin: -10px 0 0 -50px;
}
.circle-figs figure:nth-child(2) {
  margin: 10vw 0 0;
}
.circle-figs figure:nth-child(3) {
  --size: 25%;
  margin: 6vw 0 0;
}
.circle-figs figure:last-child {
  --size: 18%;
  margin: 5vw 0 0;
}

@media screen and (min-width: 1200px) {
  .circle-figs {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 520px) {
  /* circle-figs */
  .circle-figs {
    gap: 1vw;
    margin-top: 60px;
  }
  .circle-figs figure:first-child {
    --size: 38vw;
    margin: 0 0 0 -50px;
  }
  .circle-figs figure:nth-child(2) {
    margin: 22vw 0 0 -30px;
    z-index: 1;
  }
  .circle-figs figure:nth-child(3) {
    --size: 28vw;
  }
  .circle-figs figure:last-child {
    --size: 22vw;
    margin: 4vw -30px 0 0;
  }
}

/* -------------------------------------
tel
-------------------------------------*/
a[href^="tel:"] {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--fw-b);
  line-height: 1;
}
a[href^="tel:"] i {
  margin-right: 6px;
  font-size: 0.8em;
}
a[href^="tel:"] i img {
  vertical-align: middle;
}

/* -------------------------------------
time
-------------------------------------*/
time {
  font-family: var(--webf);
  font-size: 0.9rem;
  color: var(--main-color);
}

@media screen and (max-width: 520px) {
  time {
    font-size: 0.8rem;
  }
}

/* -------------------------------------
cat
-------------------------------------*/
.cat {
  min-width: 9em;
  padding: 6px 0;
  font-size: 0.9em;
  color: #fff;
  text-align: center;
  line-height: 1;
  background: var(--gray);
}

@media screen and (max-width: 520px) {
  .cat {
    font-size: 0.8em;
  }
}

/* -------------------------------------
check-list
-------------------------------------*/
.check-list li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1em;
  font-size: 1.1em;
  color: var(--purple);
  font-weight: var(--fw-b);
  border-bottom: 10px solid var(--purple_l);
}
.check-list li::before {
  content: "task_alt";
  font-family: "Material Icons";
  font-size: 1.8em;
  font-weight: normal;
  line-height: 1;
  color: var(--main-color);
  margin-right: 0.5em;
  flex-shrink: 0;
}
.check-list li span {
  color: var(--main-color);
}

@media screen and (max-width: 520px) {
  .check-list li {
    margin-bottom: 0.5em;
    font-size: 1em;
    border-bottom-width: 2px;
  }
  .check-list li::before {
    font-size: 1.4em;
    line-height: 1.7;
  }
}

/** ==============================================
02.テンプレート
============================================== **/
/* -------------------------------------
news-list
-------------------------------------*/
.news-list:not(.box2C) {
  border-top: var(--border);
}
.news-list li {
  border-bottom: var(--border);
}
.news-list li a {
  display: block;
  padding: 20px 0;
  font-size: 1.1em;
  transition: var(--transition);
}
.news-list li a:hover {
  color: var(--main-color);
}
.news-list li time {
  display: block;
  margin-bottom: 2px;
}
.news-list li .content p {
  width: 100%;
}
.news-list li .content p strong {
  display: block;
  margin: 0.5em 0;
  font-weight: var(--fw-b);
}

@media screen and (max-width: 520px) {
  .news-list li a {
    padding: 10px 0 12px;
    font-size: 1em;
  }
  .news-list li time {
    display: block;
    margin-bottom: 2px;
  }
  .news-list li .content p {
    width: 100%;
  }
  .news-list li .content p strong {
    display: block;
    margin: 0.5em 0;
    font-weight: var(--fw-b);
  }
}

/**==============================================
03: ヘッダー
==============================================**/
header {
  width: 100%;
  z-index: 1000;
  position: fixed;
  transition: 0.3s all;
  background: #fff;
}
header .logo {
  width: 450px;
  margin: 10px 0 0 2vw;
  transition: var(--transition);
}
header .logo a img {
  max-width: 100%;
  width: 244px;
  transition: var(--transition);
}
header nav {
  margin-top: 16px;
}
header nav .h-logo_sp {
  display: none;
}
header nav .menu1 {
  width: 70vw;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: absolute;
  right: 2vw;
  top: 10px;
}
header nav .menu1 p {
  margin-right: 20px;
  color: var(--main-color);
}
header nav .menu1 p a {
  justify-content: flex-end;
  font-weight: var(--fw-b);
  margin-bottom: 2px;
}
header nav .menu1 p span {
  display: block;
  margin-top: 4px;
  text-align: center;
  line-height: 1.5;
}
header nav .menu1 .h-btn-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
}
header nav .menu1 .h-btn-wrapper a {
  width: max(14vw, 9em);
  padding: 16px 0;
  color: #fff;
  font-size: 1.1em;
  font-weight: var(--fw-b);
  text-align: center;
  line-height: 1.4;
  background: var(--main-color);
  border: 1px solid var(--main-color);
  border-radius: 60px;
  transition: var(--transition);
}
header nav .menu1 .h-btn-wrapper a:hover {
  color: var(--main-color);
  background: #fff;
}
header nav .menu1 .h-btn-wrapper a i {
  margin-right: 6px;
  font-size: 1.1em;
  transform: translateY(1px);
}
header nav ul.menu2 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
header nav ul.menu2 li {
  position: relative;
  white-space: nowrap;
}
header nav ul.menu2 li a {
  flex: 1;
  display: block;
  padding: 12px 1.5em;
  font-weight: var(--fw-b);
  line-height: 1;
  text-align: center;
  transition: var(--transition);
}
header nav ul.menu2 li a:hover {
  color: var(--main-color);
}
header nav ul.menu2 li.has_child p {
  padding: 10px;
  font-weight: var(--fw-b);
}
header nav ul.menu2 li.has_child p::after {
  content: "\e5cf";
  margin-left: 5px;
  padding: 10px;
  font-family: "Material Icons";
  line-height: 1;
}
header nav ul.menu2 li.has_child ul {
  flex-flow: column;
  position: absolute;
  top: 100%;
  left: -30px;
  padding: 0 30px;
  background: #fff;
  visibility: hidden;
  opacity: 0;
  z-index: 2;
  transform: scale(1, 0.7);
  transform-origin: center top;
  transition: var(--transition);
}
header nav ul.menu2 li.has_child:hover ul,
header nav ul.menu2 li.has_child:active ul {
  transform: scale(1, 1);
  visibility: visible;
  opacity: 1;
}
header nav ul.menu2 li.has_child li {
  border-bottom: solid 1px var(--bg-gray);
}
header nav ul.menu2 li.has_child li:last-child {
  border-bottom: none;
}
header nav ul.menu2 li.has_child li a {
  text-align: left;
}

/* スクロール後 */
header.scroll .logo {
  width: 14%;
  padding-top: 4px;
}
header.scroll .logo h1 {
  display: none;
}
header.scroll .logo a img {
  width: 150px;
}
header.scroll nav .menu1 {
  width: 80%;
}
header.scroll nav .menu1 p {
  display: flex;
  flex-flow: row;
  margin-top: 6px;
}
header.scroll nav .menu1 p span {
  margin: 0 0 0 1.5em;
}
header.scroll nav .menu1 .h-btn-wrapper a {
  width: 16vw;
  padding: 10px 0;
  font-size: 0.9em;
}
header.scroll nav ul.menu2 li a {
  padding-bottom: 18px;
  font-size: 0.9em;
}
.h-sp-fix {
  display: none;
}

@media screen and (max-width: 979px) {
  header .logo {
    width: min(calc(100% - 180px), 50%);
    height: 50px;
    margin-bottom: 10px;
  }
  header .logo a img {
    width: auto;
    height: 50px;
  }

  /* hamburger */
  header .hamburger {
    --size: 50px;
    display: block;
    position: fixed;
    top: 9px;
    right: 5px;
    z-index: 1500;
    box-sizing: border-box;
    width: var(--size);
    height: var(--size);
    cursor: pointer;
    transition: all 400ms;
    color: #fff;
    background: var(--main-color);
    border-radius: 50%;
  }
  header .hamburger span {
    position: absolute;
    width: 24px;
    height: 2px;
    background: #fff;
    transition: all 400ms;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
  header .hamburger span:nth-child(1) {
    top: 34%;
  }
  header .hamburger span:nth-child(2) {
    top: 50%;
  }
  header .hamburger span:nth-child(3) {
    top: 66%;
  }
  header.nav-open .hamburger {
    background: none;
  }
  header.nav-open .hamburger span {
    background: var(--main-color);
  }
  header.nav-open .hamburger span:nth-child(1) {
    top: 20px;
    transform: rotate(45deg);
  }
  header.nav-open .hamburger span:nth-child(2) {
    display: none;
  }
  header.nav-open .hamburger span:nth-child(3) {
    top: 20px;
    transform: rotate(-45deg);
  }
  /* nav */
  header nav {
    height: 100vh;
    overflow-y: scroll;
    position: fixed;
    top: 0px;
    right: -320px;
    width: 320px !important;
    transition: var(--transition);
    z-index: 1499;
    height: 100%;
    margin: 0;
    padding: 0 0 40px;
    background: #fff;
  }
  header.nav-open nav {
    box-shadow: 0px 0 10px -4px #333;
  }
  header nav .h-logo_sp {
    display: block;
    width: 180px;
    padding: 15px 5% 26px;
  }
  header nav .menu1 {
    width: 100%;
    position: static;
    flex-flow: column-reverse;
    text-align: center;
  }

  header nav .menu1 p {
    margin: 20px auto 0;
  }
  header nav .menu1 p a {
    justify-content: center;
    margin-bottom: 6px;
    font-size: min(6vw, 26px);
  }

  header nav .menu1 .h-btn-wrapper {
    width: 100%;
    flex-flow: column;
    gap: 10px;
    margin-top: 30px;
  }
  header nav .menu1 .h-btn-wrapper a {
    width: 80%;
    padding: 12px 0;
  }
  header nav ul.menu2 {
    display: flex;
    flex-wrap: wrap;
    font-size: 15px;
    gap: 2px;
  }
  header nav ul.menu2 li {
    width: 100%;
  }
  header nav ul.menu2 li a {
    height: 100%;
    padding: 18px 14%;
    line-height: 1.4;
    border-bottom: 2px solid #fff;
    background: var(--bg-gray);
  }

  /* h-sp-fix */
  .h-sp-fix {
    --size: 50px;
    position: fixed;
    right: 63px;
    top: 9px;
    display: flex;
    justify-content: flex-end;
    gap: 6px;
  }
  .h-sp-fix a {
    width: var(--size);
    height: var(--size);
    display: grid;
    place-items: center;
    border: 2px solid var(--main-color);
    border-radius: 50%;
  }
  .h-sp-fix a i {
    margin-right: 0;
    font-size: 1.3em;
    color: var(--main-color);
  }
}

/**==============================================
03: フッター
==============================================**/
footer {
  padding: 100px 0 50px;
  background: var(--bg-blue);
  position: relative;
}
footer .sec-in {
  display: flex;
  justify-content: space-between;
  position: relative;
}
footer .sec-in > * {
  width: fit-content;
}
footer .sec-in .f-logo-wrapper .f-logo {
  display: inline-block;
  margin-bottom: 30px;
}
footer .sec-in .f-logo-wrapper .f-logo img {
  width: 300px;
}
footer .sec-in .f-logo-wrapper p strong {
  display: block;
  margin-bottom: 10px;
}
footer .sec-in .f-logo-wrapper p span {
  color: var(--main-color);
}
footer .sec-in address {
  width: 250px;
}
footer .sec-in address .tel-wrapper {
  color: var(--main-color);
}
footer .sec-in address a[href^="tel:"] {
  justify-content: flex-start;
  margin-bottom: 5px;
}
footer .sec-in .f-bnr {
  width: 360px;
  position: absolute;
  left: max(calc((100vw - var(--base-width)) / 2), 5vw);
  bottom: -30px;
}
footer .sec-in .f-bnr img {
  max-width: 100%;
}

/*nav*/
footer nav {
  margin-left: 3vw;
}
footer nav ul li a {
  display: block;
  margin: 0 0 10px;
  font-size: 1.1em;
  font-weight: var(--fw-b);
}
footer nav ul li a:hover {
  color: var(--main-color);
}

/** コピーライト **/
.copyright {
  width: 100vw;
  text-align: center;
}
.copyright small {
  display: block;
  width: 100%;
  font-size: 12px;
  line-height: 1;
}

@media screen and (max-width: 520px) {
  footer {
    padding: 80px 0 30px;
  }
  footer .sec-in {
    flex-wrap: wrap;
    margin-bottom: 30px;
  }
  footer .sec-in > * {
    width: 100%;
  }
  footer .sec-in .f-logo-wrapper .f-logo {
    margin-bottom: 20px;
  }
  footer .sec-in .f-logo-wrapper .f-logo img {
    width: 200px;
  }
  footer .sec-in .f-logo-wrapper p {
    font-size: 0.8em;
  }
  footer .sec-in .f-logo-wrapper p strong {
    font-size: min(4.4vw, 20px);
  }

  footer .sec-in address {
    width: 100%;
    margin: 20px 0 60px;
  }
  footer .sec-in address a[href^="tel:"] {
    font-size: 6vw;
  }
  footer .sec-in .f-bnr {
    width: 260px;
    margin: 30px auto 0;
    position: static;
  }

  /*nav*/
  footer nav {
    margin-left: 0;
  }
  footer nav ul {
    column-count: 2;
    column-gap: 10px;
  }
  footer nav ul li {
    break-inside: avoid; /*ブロックの途中で改行させない*/
  }
  footer nav ul li a {
    font-size: 0.9em;
  }
}

/** ページトップ **/
#pagetop {
  display: flex;
  justify-content: center;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -60px);
  z-index: 999;
}
#pagetop img {
  filter: drop-shadow(0 0 10px #81a8c9);
}

/**==============================================
TOPページ
==============================================**/
/* -------------------------------------
HERO
-------------------------------------*/
.hero {
  width: 90%;
  aspect-ratio: 2/1;
  margin: 0 auto -9vw;
  border-radius: var(--radius) var(--radius) 0 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
}
.hero .catch {
  width: fit-content;
  padding: 50px;
  font-weight: var(--fw-b);
  line-height: 1.4;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 30px;
  position: absolute;
  left: 5%;
  top: 50%;
  transform: translateY(-50%);
}
.hero .catch strong {
  display: block;
  margin-bottom: 10px;
  line-height: 1.3;
}
.hero .catch strong span {
  color: var(--main-color);
}

@media screen and (max-width: 520px) {
  /* -------------------------------------
	HERO
	-------------------------------------*/
  .hero {
    aspect-ratio: 11/13;
    margin-bottom: -7vw;
  }
  .hero .catch {
    padding: 20px 26px;
    border-radius: 26px;
    left: 50%;
    top: 3%;
    transform: translate(-50%, 0);
  }
  .hero .catch strong {
    width: 12em;
  }
}

/* -------------------------------------
top-ウェーブ薬局の思い
-------------------------------------*/
.sec-top-concept {
  padding-bottom: 200px;
}
.sec-top-concept .flx-head {
  width: fit-content;
}

@media screen and (max-width: 520px) {
  .sec-top-concept {
    padding-bottom: 160px;
  }
}

/* 文字スライド */
.yokoscroll {
  display: flex;
  flex: 0 0 auto;
  white-space: nowrap;
  width: 100%;
  font-family: var(--webf);
  color: var(--main-color);
  font-size: 144px;
  line-height: 1;
  letter-spacing: 8px;
  position: absolute;
  bottom: 0;
  z-index: 0;
  overflow: hidden;
}
.yokoscroll span {
  padding: 0 0.2em;
  background: rgb(187, 233, 249);
  background: linear-gradient(180deg, rgba(187, 233, 249, 1) 0%, rgba(229, 247, 252, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.yokoscroll span:nth-child(odd) {
  animation: yokoyoko 50s -25s linear infinite;
}
.yokoscroll span:nth-child(even) {
  animation: yokoyoko2 50s linear infinite;
}
@keyframes yokoyoko {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes yokoyoko2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

@media screen and (max-width: 768px) {
  .yokoscroll {
    font-size: 150px;
  }
}
@media screen and (max-width: 520px) {
  .yokoscroll {
    font-size: 100px;
  }
}

/* -------------------------------------
top-選ばれる3つの理由
-------------------------------------*/
/* reason-content */
.reason-item {
  display: flex;
  align-items: flex-start;
  gap: 80px;
  position: relative;
  counter-increment: num 1;
}
.reason-item + .reason-item {
  margin-top: 80px;
}
.reason-item::before {
  content: "0" counter(num);
  font-family: var(--webf);
  font-size: 3em;
  color: var(--main-color);
  position: absolute;
  left: 0;
  top: 0;
}
.reason-item .text {
  flex: 1;
  margin-top: 90px;
}
.reason-item figure {
  width: 50%;
}

@media screen and (max-width: 520px) {
  /* reason-content */
  .reason-item {
    flex-flow: column-reverse;
    gap: 30px;
  }
  .reason-item + .reason-item {
    margin-top: 20px;
  }
  .reason-item::before {
    font-size: 3.5em;
    top: -10px;
    left: 8px;
  }
  .reason-item .text {
    margin-top: 0px;
  }
  .reason-item figure {
    width: 100%;
    margin-top: 84px;
  }
}

/* -------------------------------------
top-在宅医療への取り組み
-------------------------------------*/

/* -------------------------------------
top-店舗一覧
-------------------------------------*/
.sec-top-pharmacy .flx-head {
  width: 32%;
}
.sec-top-pharmacy .flx-head [class*="btn_"] {
  max-width: 100%;
}
.sec-top-pharmacy .flx-main .phrmcy-group {
  --gap: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
}
.sec-top-pharmacy .flx-main .phrmcy-group:last-child {
  --mp: 24px;
  margin-top: var(--mp);
  padding-top: var(--mp);
  border-top: var(--border);
}
.sec-top-pharmacy .flx-main .phrmcy-group a.btn_wh {
  width: calc((100% - var(--gap)) / 2);
  max-width: calc((100% - var(--gap)) / 2);
  margin: 0;
}
.sec-top-pharmacy .flx-main .phrmcy-group a.btn_wh::after {
  right: 0.7em;
}
.sec-top-pharmacy .flx-main .phrmcy-group a.btn_wh:hover::after {
  right: 0.4em;
}
.sec-top-pharmacy .flx-main .phrmcy-group a.btn_wh em b {
  margin-right: 0.8em;
}
.sec-top-pharmacy .flx-main .phrmcy-group a.btn_wh em i {
  display: block;
  margin-top: 4px;
  font-size: 0.75em;
}

@media screen and (max-width: 520px) {
  .sec-top-pharmacy .flx-content {
    gap: 0;
    margin-top: -20px;
  }
  .sec-top-pharmacy .flx-head {
    display: contents;
  }
  .sec-top-pharmacy .flx-head [class*="btn_"] {
    width: 300px;
    max-width: 80%;
    order: 6;
  }
  .sec-top-pharmacy .flx-main {
    width: 100%;
    margin: 30px auto 20px;
  }
  .sec-top-pharmacy .flx-main .phrmcy-group {
    --gap: 16px;
  }
  .sec-top-pharmacy .flx-main .phrmcy-group a.btn_wh {
    padding: 10px 20px 10px 10px;
    font-size: 0.9em;
    border-radius: 14px;
  }
  .sec-top-pharmacy .flx-main .phrmcy-group a.btn_wh::after {
    right: 0.6em;
  }
  .sec-top-pharmacy .flx-main .phrmcy-group a.btn_wh span {
    font-size: 0.6em;
  }
  .sec-top-pharmacy .flx-main .phrmcy-group a.btn_wh em b {
    display: block;
    margin-right: 0;
  }
}

/* -------------------------------------
top-お知らせ
-------------------------------------*/
.sec-top-news .figEdgeR-content figure {
  width: 35%;
  height: 650px;
}
.sec-top-news .figEdgeR-content .text {
  width: 660px;
}

@media screen and (max-width: 520px) {
  .sec-top-news .figEdgeR-content figure {
    display: none;
    /* width: 46vw;
		height: 26vw;
		height: 150px;
		position: absolute;
		right: 0;
		top: -90px; */
  }
  .sec-top-news .figEdgeR-content .text {
    width: 80%;
    margin: -20px auto 0;
  }
}

/* -------------------------------------
top-代表者メッセージ
-------------------------------------*/
.msg-content {
  display: flex;
  gap: 60px;
}
.msg-content .msg-main {
  flex: 1;
}
.msg-content .msg-fig {
  width: 46%;
}
.msg-content .msg-fig p {
  margin-top: 30px;
  font-size: 0.9em;
  text-align: center;
}
.msg-content .msg-fig p strong {
  display: block;
  font-size: 1.2em;
}

@media screen and (max-width: 520px) {
  .msg-content {
    flex-flow: column-reverse;
    gap: 30px;
  }
  .msg-content .msg-main {
    flex: 1;
  }
  .msg-content .msg-fig {
    width: 80%;
    margin: 0 auto;
  }
  .msg-content .msg-fig p {
    margin-top: 26px;
    font-size: 0.8em;
  }
}

/* -------------------------------------
top-採用情報
-------------------------------------*/
.top-recruit-content {
  display: flex;
  flex-flow: column;
  align-items: flex-end;
  /* padding: 60px 0; */
  position: relative;
  overflow: hidden;
}
.top-recruit-content > * {
  position: relative;
  z-index: 2;
}
.top-recruit-content figure {
  width: 80%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.top-recruit-content .text {
  padding: 60px 0;
  background: rgb(230, 230, 230);
  background: linear-gradient(90deg, rgba(230, 230, 230, 0) 0%, rgba(230, 230, 230, 1) 45%);
}
.top-recruit-content .text p span {
  display: block;
  margin-top: 10px;
  font-size: 0.8em;
}

@media screen and (max-width: 520px) {
  .top-recruit-content {
    display: block;
    padding: 0;
  }
  .top-recruit-content figure {
    width: 100%;
    height: auto;
    position: static;
  }
  .top-recruit-content .text {
    margin-top: -70px;
    padding: 0 30px 40px;
    background: rgb(245, 245, 245);
    background: linear-gradient(180deg, rgba(245, 245, 245, 0) 0%, rgba(245, 245, 245, 1) 20%);
  }
  .top-recruit-content .text h2 {
    margin-bottom: 10px;
  }
  .top-recruit-content .text p span {
    font-size: 0.8em;
  }
  .top-recruit-content .text a.btn_blue {
    max-width: 100%;
  }
}

/**==============================================
ウェーブ薬局の特徴
==============================================**/
/* -------------------------------------
選ばれる理由
-------------------------------------*/
.reason-wrapper {
  display: flex;
  flex-flow: column;
  gap: 180px;
}
.reason-wrapper .reason-content {
  align-items: flex-start;
  gap: 80px;
  counter-increment: num 1;
}
.reason-wrapper .reason-content figure {
  width: 52%;
}
.reason-wrapper .reason-content figure img {
  aspect-ratio: 3/2;
}
.reason-wrapper .reason-content .text {
  padding-top: 80px;
  position: relative;
}
.reason-wrapper .reason-content .text::before {
  content: "0" counter(num);
  font-family: var(--webf);
  font-size: 3em;
  color: var(--main-color);
  position: absolute;
  left: 0;
  top: 0;
}
.reason-wrapper .reason-content .text > p strong {
  display: inline-block;
  border-right: 1px solid var(--main-color);
  font-size: 1.2em;
  padding-right: 0.7em;
  margin-right: 0.7em;
  line-height: 1;
}

@media screen and (max-width: 979px) {
  .reason-wrapper .reason-content {
    gap: 0;
  }
  .reason-wrapper .reason-content .text {
    width: 38%;
  }
}
@media screen and (max-width: 520px) {
  .reason-wrapper {
    gap: 80px;
  }
  .reason-wrapper .reason-content {
    align-items: center;
    gap: 0;
  }
  .reason-wrapper .reason-content figure {
    width: 95%;
  }
  .reason-wrapper .reason-content figure img {
    aspect-ratio: 1/1;
  }
  .reason-wrapper .reason-content .text {
    width: 84%;
    margin-top: -60px;
    padding-top: 100px;
  }
  .reason-wrapper .reason-content .text::before {
    font-size: 4em;
  }
}

/**==============================================
在宅医療
==============================================**/
/* -------------------------------------
在宅医療への取り組み
-------------------------------------*/
.sec-homecare .soudan-content {
  display: flex;
  flex-flow: row-reverse;
  align-items: center;
  gap: 40px;
}
.sec-homecare .soudan-content .soudan-main {
  flex-shrink: 0;
}
.sec-homecare .soudan-content .tit {
  margin-left: 1em;
}
.sec-homecare .soudan-content .check-list {
  width: fit-content;
  margin-left: auto;
  padding: 60px;
  background: var(--bg-blue);
  border-radius: var(--radius);
}

@media screen and (max-width: 520px) {
  .sec-homecare .soudan-content {
    flex-flow: column;
    gap: 0px;
  }
  .sec-homecare .soudan-content .soudan-main {
    flex-shrink: 0;
  }
  .sec-homecare .soudan-content .tit {
    margin-left: 0;
    text-align: center;
  }
  .sec-homecare .soudan-content .check-list {
    width: 95%;
    margin: 0 auto;
    padding: 30px;
  }
  .sec-homecare .soudan-content figure {
    width: 27vw;
    position: absolute;
    right: 0;
    bottom: -110px;
    z-index: 2;
  }
  .sec-homecare .soudan-content figure img {
    aspect-ratio: 1/1.35;
    width: 100%;
    object-fit: cover;
    object-position: center top;
  }
}

/* -------------------------------------
在宅医療サービスの流れ
-------------------------------------*/
/* flow-content */
.flow-item {
  display: flex;
  align-items: flex-start;
  gap: 70px;
  position: relative;
  counter-increment: num 1;
}
.flow-item + .flow-item {
  margin-top: 80px;
}
.flow-item::before {
  content: "0" counter(num);
  font-family: var(--webf);
  font-size: 3em;
  line-height: 1;
  color: var(--main-color);
  position: absolute;
  left: 0;
  top: 0;
}
.flow-item::after {
  content: "";
  display: block;
  width: 25px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 70px;
  border-right: 2px dotted var(--main-color);
}
.flow-item:last-child:after {
  display: none;
}
.flow-item .text {
  flex: 1;
  margin-left: 100px;
}
.flow-item figure {
  width: 36%;
}

@media screen and (max-width: 520px) {
  /* flow-content */
  .flow-item {
    flex-flow: column-reverse;
    gap: 30px;
  }
  .flow-item + .flow-item {
    margin-top: 30px;
  }
  .flow-item::before {
    font-size: 3.5em;
    top: -10px;
    left: 8px;
  }
  .flow-item::after {
    width: 30px;
    height: 87%;
    top: 70px;
  }
  .flow-item:last-child:after {
    display: block;
  }
  .flow-item .text {
    margin: 0 5% 0 20%;
  }
  .flow-item figure {
    width: 70%;
    margin: 40px 0 0 20%;
  }
}

/* -------------------------------------
在宅医療へのお問い合わせ
-------------------------------------*/
.sec-homecare-cntct .flx {
  justify-content: center;
  align-items: flex-end;
  gap: 40px;
}
.sec-homecare-cntct .flx .flx-main {
  flex-shrink: 0;
}
.sec-homecare-cntct .flx .flx-main h2 {
  line-height: 1.8;
}
.sec-homecare-cntct .flx figure {
  width: 250px;
}

@media screen and (max-width: 520px) {
  .sec-homecare-cntct .flx {
    flex-flow: column-reverse;
    align-items: center;
    gap: 30px;
  }
  .sec-homecare-cntct .flx .flx-main {
    flex-shrink: 1;
  }
  .sec-homecare-cntct .flx figure {
    width: 40vw;
    margin-top: -130px;
    transform: translateX(-10px);
    z-index: 2;
  }
}

/**==============================================
店舗一覧
==============================================**/
.e_rx {
  color: var(--main-color);
  font-weight: var(--fw-b);
  text-align: center;
}
.pharmacy h2 i {
  color: var(--color);
}

/* pharmacy-list */
.pharmacy-list li {
  width: 31%;
  margin-bottom: 50px;
}
.pharmacy-list li .tit i {
  display: block;
  font-size: 0.7em;
}
.pharmacy-list li figure {
  margin-bottom: 10px;
  border-radius: 30px;
  overflow: hidden;
}
.pharmacy-list li figure img {
  border-radius: 30px;
}
.pharmacy-list li h3.tit {
  padding-left: 5%;
}
.pharmacy-list li .e_rx {
  padding-left: 5%;
  font-size: 0.9em;
  text-align: left;
}
.pharmacy-list li .tel {
  padding-left: 5%;
  font-size: 1.2em;
}
.pharmacy-list li .tel a[href^="tel"] {
  display: inline-block;
  font-weight: normal;
}

.pharmacy-list li a.list-more {
  display: block;
  width: 80%;
  margin: 10px auto 0;
  padding: 2px 1em;
  font-size: 14px;
  color: var(--main-color);
  font-weight: var(--fw-b);
  text-align: center;
  background: #fff;
  border: 1px solid var(--main-color);
  border-radius: 20px;
  box-shadow: 0 0 4px #81a8c9;
  transition: var(--transition);
}
.pharmacy-list li a.list-more span::after {
  content: "→";
}
.pharmacy-list li a.list-more:hover {
  color: #fff;
  background: var(--main-color);
}

@media (max-width: 520px) {
  .pharmacy h2.mb50 {
    margin-bottom: 30px;
  }

  /* pharmacy-list */
  .pharmacy-list {
    width: 95%;
    margin-inline: auto;
  }
}

/**==============================================
店舗詳細
==============================================**/

/* -------------------------------------
サムネ付きスライド
-------------------------------------*/
/* slide */
.slide-main {
  margin-bottom: 10px;
  overflow: hidden;
}
.slide-main .item {
  --width: 850px;
  width: var(--width);
}
.slide-main .item img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
}

.pharmacy .pharmacy-info .tableA td a {
  width: fit-content;
  color: var(--main-color);
  border-bottom: 1px dotted var(--main-color);
}
.pharmacy .pharmacy-info .tableA td a[href^="tel:"] {
  justify-content: flex-start;
  font-weight: normal;
}

/* サムネイル */
.slide-navigation .slick-track {
  /*サムネをスライドさせない */
  transform: unset !important;
}
.slide-navigation .item {
  padding: 4px;
  cursor: pointer;
  opacity: 0.6;
}
.slide-navigation .item.slick-current {
  opacity: 1;
}
.slide-navigation .item img {
  border-radius: 10px;
}

/* ページネーション */
.thumbslide .slick-prev {
  left: 10px;
  z-index: 2;
}
.thumbslide .slick-next {
  right: 14px;
}
.thumbslide .slick-prev::before,
.thumbslide .slick-next::before {
  font-size: 26px;
}

@media screen and (max-width: 520px) {
  /* slide */
  .slide-main .item {
    --width: 90vw;
  }
  /* サムネイル */
  .slide-navigation .item {
    padding: 2px;
  }
  .slide-navigation .item img {
    border-radius: 6px;
  }
}

.pharmacy.detail .e_rx {
  font-size: 1.2em;
}
.pharmacy-content .thumbslide {
  --width: 850px;
  width: var(--width);
  margin-inline: auto;
}
.pharmacy-content .slide-main .item {
  --width: 850px;
}
.pharmacy-content .pharmacy-info {
  padding: 50px 0 0;
}

@media (max-width: 520px) {
  .sec-pharmacy.pt50 {
    padding-top: 25px;
  }
  .pharmacy.detail .e_rx {
    font-size: 0.9em;
  }
  .pharmacy-content .thumbslide {
    --width: 90vw;
  }
  .pharmacy-content .slide-main .item {
    --width: 90vw;
  }
  .pharmacy-content .pharmacy-info {
    padding: 40px 0 0;
  }
}

/**==============================================
会社情報
==============================================**/
/* -------------------------------------
代表者メッセージ
-------------------------------------*/
/* prof */
.prof {
  font-size: 0.9em;
}
.prof dt {
  color: var(--main-color);
  font-weight: var(--fw-b);
}

/* -------------------------------------
沿革
-------------------------------------*/
.sec-history .content-box {
  padding-top: 0;
  padding-bottom: 0;
}

/**==============================================
採用情報
==============================================**/
/* -------------------------------------
hero
-------------------------------------*/
#recruit .hero-wrapper {
  position: relative;
}
#recruit .hero-wrapper::after {
  content: "";
  display: block;
  width: 100%;
  height: 70px;
  background: url(/common/images/sec-wave_wh.png) repeat-x center / auto 100%;
  position: absolute;
  left: 0;
  bottom: 0;
}
#recruit .hero {
  margin-bottom: 0;
}

@media screen and (max-width: 520px) {
  #recruit .hero-wrapper::after {
    height: 40px;
    background-size: 120% 100%;
  }
}

/* -------------------------------------
どんな会社？
-------------------------------------*/
/* what-list */
.what-list {
}
.what-list li {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  margin-bottom: 50px;
  counter-increment: num 1;
}
.what-list li::before {
  --size: 100px;
  content: counter(num);
  font-family: var(--webf);
  font-size: 3em;
  color: var(--main-color);
  line-height: 1;
  width: var(--size);
  height: var(--size);
  flex-shrink: 0;
  display: grid;
  place-items: center;
  background: var(--bg-blue);
  border-radius: 50%;
  box-shadow: 6px 6px 0 var(--main-color_l);
}
.what-list li strong {
  display: block;
}

/* graph-list */
.graph-list {
  --gap: 80px;
  display: flex;
  justify-content: space-between;
}
.graph-list li {
  width: calc((100% - var(--gap) * 2) / 3);
}
.graph-list li figure {
  width: 100%;
}
.graph-list li figure img {
  width: 100%;
}
.graph-list li figure figcaption {
  margin-top: 30px;
}
.graph-list li figure figcaption::before {
  content: "【";
  margin-right: 0.2em;
}
.graph-list li figure figcaption::after {
  content: "】";
  margin-left: 0.2em;
}

@media screen and (max-width: 520px) {
  /* what-list */
  .what-list li {
    flex-flow: column;
    align-items: center;
    gap: 20px;
    margin: 0 8% 40px;
  }
  .what-list li::before {
    --size: 80px;
    font-size: 3em;
  }
  .what-list li strong {
    text-align: center;
  }

  /* graph-list */
  .graph-list {
    --gap: 30px;
    flex-flow: column;
    align-items: center;
    gap: var(--gap);
  }
  .graph-list li {
    width: 95%;
  }
  .graph-list li figure {
    --width: 6em;
    display: flex;
    flex-flow: row-reverse;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
  }
  .graph-list li figure img {
    width: calc(100% - var(--width));
    flex: 1;
    padding: 6px 0 6px 10px;
  }
  .graph-list li figure figcaption {
    width: var(--width);
    margin: 0;
    height: 160px;
    padding: 50px 0 0 10px;
    font-size: 18px;
    text-align-last: left;
    line-height: 1.4;
    background: var(--main-color_l);
    border-radius: 10px;
  }
  .graph-list li figure figcaption span {
    color: #fff;
    text-shadow: 0 0 6px var(--main-color);
  }

  .graph-list li figure figcaption::before,
  .graph-list li figure figcaption::after {
    display: none;
  }
}

/* -------------------------------------
先輩の声
-------------------------------------*/
.voice-wrapper {
  display: flex;
  flex-flow: column;
  gap: 180px;
}
.voice-wrapper .voice-content {
  align-items: flex-start;
  gap: 80px;
}
.voice-wrapper .voice-content > figure {
  width: 30%;
}
.voice-wrapper .voice-content .text {
  width: calc(400px + 24%);
  margin-top: 10px;
}
.voice-wrapper .voice-content .text > p strong {
  display: inline-block;
  border-right: 1px solid var(--main-color);
  font-size: 1.2em;
  padding-right: 0.7em;
  margin-right: 0.7em;
  line-height: 1;
}

/* sub */
.voice-wrapper .voice-content .text .sub {
  display: flex;
  flex-flow: row-reverse;
  align-items: center;
  justify-content: flex-start;
  gap: 50px;
}
.voice-wrapper .voice-content.figEdgeR-content .text .sub {
  flex-flow: row;
  justify-content: flex-start;
}
.voice-wrapper .voice-content .text .sub figure {
  width: 34%;
  border-radius: var(--radius);
}
.voice-wrapper .voice-content .text .sub figure img {
  width: 100%;
}
.voice-wrapper .voice-content .text .sub p {
  color: var(--main-color);
}

/* てれこ */
.voice-wrapper .voice-content:nth-child(even) {
  flex-flow: row-reverse;
}
.voice-wrapper .voice-content:nth-child(even) figure {
  border-radius: var(--radius) 0 0 var(--radius);
}
.voice-wrapper .voice-content:nth-child(even) .text .sub {
  flex-flow: row;
  justify-content: flex-start;
}

@media screen and (max-width: 520px) {
  .voice-wrapper {
    gap: 120px;
  }
  .voice-wrapper .voice-content {
    align-items: center;
    gap: 30px;
  }
  .voice-wrapper .voice-content > figure {
    width: 95%;
  }
  .voice-wrapper .voice-content > figure img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: center top;
  }
  .voice-wrapper .voice-content .text {
    width: 84%;
  }

  /* sub */
  .voice-wrapper .voice-content .text .sub {
    gap: 30px;
    padding: 0 3%;
  }
  .voice-wrapper .voice-content .text .sub figure {
    width: 52%;
  }
  .voice-wrapper .voice-content .text .sub p {
    flex: 1;
    font-size: 0.8em;
    font-weight: var(--fw-b);
  }

  /* てれこ */
  .voice-wrapper .voice-content:nth-child(even) {
    flex-flow: column;
  }
  .voice-wrapper .voice-content:nth-child(even) > figure {
    margin: 0 0 0 5%;
  }
}

/* -------------------------------------
新卒採用情報
-------------------------------------*/
/* rec-wanted */
.rec-wanted {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin-bottom: 4px;
}
.rec-wanted figure {
  width: 220px;
}
.rec-wanted figure img {
  aspect-ratio: 1/1.5;
  width: 100%;
  object-fit: cover;
  object-position: center top;
}
.rec-wanted .check-list {
  padding: 30px;
  color: #fff;
  background: var(--main-color);
  border-radius: 30px;
}
.rec-wanted .check-list li::before {
  color: #fde668;
}
.sec-summary .content-box {
  margin-bottom: 30px;
  box-shadow: var(--shadow);
}

.sec-summary .content-box table td a {
  display: block;
  margin-top: 10px;
  color: var(--main-color);
}

@media screen and (max-width: 520px) {
  /* rec-wanted */
  .rec-wanted {
    width: 86%;
    margin-left: 9%;
    flex-flow: column;
    align-items: flex-start;
    gap: 20px;
    padding-bottom: 50px;
    position: relative;
  }
  .rec-wanted figure {
    width: 34%;
    margin-top: 30px;
    position: absolute;
    right: -10px;
    bottom: 0;
  }
  .rec-wanted figure img {
    aspect-ratio: 1/1.5;
  }
  .rec-wanted .check-list {
    width: 90%;
    padding: 25px 30px;
    border-radius: 20px;
  }

  .sec-summary .content-box {
    margin-bottom: 20px;
  }
}

/**==============================================
お問い合わせ
==============================================**/
/* -------------------------------------
お薬について
-------------------------------------*/
.sec-medicine .flx {
  justify-content: center;
  align-items: flex-end;
  gap: 40px;
}
.sec-medicine .flx .flx-main {
  flex-shrink: 0;
}
.sec-medicine .flx .flx-main h2 {
  line-height: 1.8;
}
.sec-medicine .flx figure {
  width: 250px;
}

@media screen and (max-width: 520px) {
  .sec-medicine .flx {
    flex-flow: column;
    align-items: center;
    gap: 30px;
  }
  .sec-medicine .flx .flx-main {
    flex-shrink: 1;
  }
  .sec-medicine .flx figure {
    width: 40vw;
    margin-bottom: -150px;
    transform: translateX(-10px);
    z-index: 2;
  }
}

/* -------------------------------------
フォーム
-------------------------------------*/
.sec-contact {
  margin-bottom: -80px;
}
.sec-contact table {
  box-shadow: var(--shadow);
}
/*widget:bb9c0390-45da-4909-9110-cdc95d75b7c6*/
/*widget:e0c55e7b-5fee-4700-9fad-ca12ba6b4e55*/
/*widget:13a066d1-bfb9-422b-bf3a-d9801ec4fba3*/
/*widget:5a34ad9a-e4b0-48fb-a9a9-a9ebceaf2c5f*/
/*widget:0ad7d7ca-a62d-4b8a-85ed-8477141280d1*/
/*widget:3cfcd636-35a2-4d22-a363-26f13a5c3ed3*/
/*widget:1a59b70a-4db8-446c-a071-992ab57a8faf*/
/*widget:89ede4aa-a43e-4bda-bb88-703931c25329*/
/*widget:60737094-c544-439a-a03e-7a37169afc65*/
/*widget:349d55f0-44bc-47c1-a298-6beec6681e2c*/
/*layout:1*//*layout:2*//*layout:3*//*layout:9*//*layout:10*/