@charset "UTF-8";

/* Reset */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
hr {
  margin: 0;
  padding: 0;
  font-size: 1.5rem;
  font-weight: 400;
}

a {
  text-decoration: none;
  color: inherit;
  transition: 0.5s;
}

a:hover {
  opacity: 0.7;
}

img {
  max-width: 100%;
  height: auto;
}

ul,
ul li {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

p,
ol,
ol li {
  margin: 0;
  padding: 0;
}

button,
input,
select,
textarea {
  margin: 0;
  max-width: 100%;
  vertical-align: baseline;
}

button,
input {
  line-height: normal;
}

input,
textarea {
  /* background-image: -webkit-linear-gradient(hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0)); */
  /* Removing the inner shadow, rounded corners on iOS inputs */
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
input[disabled] {
  cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
  padding: 0;
}

input[type="search"] {
  -webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

summary {
  display: block;
}

summary::-webkit-details-marker {
  display: none;
}

details {
  cursor: pointer;

}
details::details-content {
  max-height: 0;
  opacity: 0;
  transition: .5s;
}

details[open]::details-content {
  opacity: 1;
  max-height: 5000px;
}

/* common */
body {
  color: #323232;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 1.6rem;
}

p {
  line-height: 2.8rem;
}

/* layout */
.wrapper {
  width: 100%;
  margin: 0 auto;
  padding: 0 10px;
}

.container {
  width: 880px;
  margin: 0 auto;
}

.container-left {
  padding-left: calc(((100% - 880px) / 2) + 20px) !important;
}

.container-right {
  padding-right: calc(((100% - 880px) / 2) + 20px) !important;
}

.align-left { text-align: left !important; }
.align-center { text-align: center !important; }
.align-right { text-align: right !important; }

.valign-top { vertical-align: top !important; }
.valign-middle { vertical-align: middle !important; }
.valign-bottom { vertical-align: bottom !important; }

.flex { display: flex; }
.flex.sp-flex { display: block; }
.flex.nowrap { flex-wrap: wrap; }
.flex.space-between { justify-content: space-between; }
.flex.space-around { justify-content: space-around; }
.flex.flex-end { justify-content: flex-end; }
.flex.center { justify-content: center; }
.flex.flex-align-center { align-items: center; }
.flex.flex-align-flex-end { align-items: flex-end; }
.flex.gap-5 { gap: 5px; }
.flex.gap-10 { gap: 10px; }
.flex.gap-20 { gap: 20px; }
.flex.gap-30 { gap: 30px; }
.flex.gap-40 { gap: 40px; }
.flex.gap-50 { gap: 50px; }
.flex.gap-60 { gap: 60px; }
.flex.gap-70 { gap: 70px; }
.flex.gap-80 { gap: 80px; }
.flex.gap-90 { gap: 90px; }
.flex.gap-100 { gap: 100px; }
.flex-1 { flex: 1; }
.flex-3-column { flex: 1 1 calc(33.333% - 50px); }

.block { display: block; }
.inline-block { display: inline-block; }

.tablet-sp-only { display: none !important; }
.sp-only { display: none !important; }

.font-8 { font-size: 0.8rem; }
.font-10 { font-size: 1rem; }
.font-11 { font-size: 1.1rem; }
.font-12 { font-size: 1.2rem; }
.font-13 { font-size: 1.3rem; }
.font-14 { font-size: 1.4rem; }
.font-15 { font-size: 1.5rem; }
.font-16 { font-size: 1.6rem; }
.font-18 { font-size: 1.8rem; }
.font-20 { font-size: 2rem; }
.font-22 { font-size: 2.2rem; }
.font-24 { font-size: 2.4rem; }
.font-26 { font-size: 2.6rem; }
.font-28 { font-size: 2.8rem; }
.font-32 { font-size: 3.2rem; }
.font-30 { font-size: 3rem; }
.font-32 { font-size: 3.2rem; }
.font-34 { font-size: 3.4rem; }
.font-36 { font-size: 3.6rem; }
.font-38 { font-size: 3.8rem; }
.font-40 { font-size: 4rem; }
.font-50 { font-size: 5rem; }
.font-60 { font-size: 6rem; }

.lh-16 { line-height: 1.6rem; }
.lh-18 { line-height: 1.8rem; }
.lh-20 { line-height: 2.0rem; }
.lh-22 { line-height: 2.2rem; }
.lh-24 { line-height: 2.4rem; }
.lh-26 { line-height: 2.6rem; }
.lh-27 { line-height: 2.7rem; }
.lh-28 { line-height: 2.8rem; }
.lh-30 { line-height: 3rem; }
.lh-32 { line-height: 3.2rem; }
.lh-34 { line-height: 3.4rem; }
.lh-36 { line-height: 3.6rem; }
.lh-40 { line-height: 4rem; }
.lh-44 { line-height: 4.4rem; }
.lh-48 { line-height: 4.8rem; }
.lh-60 { line-height: 6rem; }

.lh-100px { line-height: 100px; }

.text-indent {
  text-indent: -1em;
  padding-left: 1em;
}

.text-indent-2 {
  text-indent: -2em;
  padding-left: 2em;
}

.text-underline {
	border-bottom: 1px solid #000;
	padding-bottom: -2px;
}

.text-vertical {
  writing-mode: vertical-rl;
  letter-spacing: 0.5rem;
  min-height: 180px;
  line-height: 5.7rem;
}

.font-green { color: #336D3E; }
.font-lightgreen { color: #28B186 }
.font-white { color: #FFF; }
.font-red { color: #E00E0E; }
.font-lightgray { color: #888; }
.font-brown { color: #885919; }
.font-gray { color: #274B2F; }
.font-blue { color: #0B2AD7; }
.font-pink { color: #CB4D7F; }

.font-line {
	border-bottom: 1px solid #000;
	padding-bottom: -2px;
}

.font-bold { font-weight: 600; }
.font-italic { font-style: italic; }

.font-mimcho { font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; }

.m-auto { margin: auto; }
.mi-auto { margin-inline: auto; }

.mt-5 { margin-top: 5px; }
.mt-10 { margin-top: 10px; }
.mt-15 { margin-top: 15px; }
.mt-20 { margin-top: 20px; }
.mt-25 { margin-top: 25px; }
.mt-30 { margin-top: 30px; }
.mt-40 { margin-top: 40px; }
.mt-50 { margin-top: 50px; }
.mt-60 { margin-top: 60px; }
.mt-70 { margin-top: 70px; }
.mt-80 { margin-top: 80px; }
.mt-100 { margin-top: 100px; }
.mt-120 { margin-top: 120px; }
.mt-140 { margin-top: 140px; }
.mt-200 { margin-top: 200px; }

.mb-5 { margin-bottom: 5px; }
.mb-10 { margin-bottom: 10px; }
.mb-15 { margin-bottom: 15px; }
.mb-20 { margin-bottom: 20px; }
.mb-25 { margin-bottom: 25px; }
.mb-30 { margin-bottom: 30px; }
.mb-40 { margin-bottom: 40px; }
.mb-50 { margin-bottom: 50px; }
.mb-60 { margin-bottom: 60px; }
.mb-70 { margin-bottom: 70px; }
.mb-80 { margin-bottom: 80px; }
.mb-100 { margin-bottom: 100px; }
.mb-120 { margin-bottom: 120px; }
.mb-140 { margin-bottom: 140px; }
.mb-200 { margin-bottom: 200px; }

.ml-a { margin-left: auto; }
.ml-0 { margin-left: 0; }
.ml-5 { margin-left: 5px; }
.ml-10 { margin-left: 10px; }
.ml-15 { margin-left: 15px; }
.ml-20 { margin-left: 20px; }
.ml-30 { margin-left: 30px; }
.ml-40 { margin-left: 40px; }
.ml-50 { margin-left: 50px; }
.ml-60 { margin-left: 60px; }
.ml-70 { margin-left: 70px; }
.ml-80 { margin-left: 80px; }
.ml-100 { margin-left: 100px; }
.ml-120 { margin-left: 120px; }
.ml-140 { margin-left: 140px; }
.ml-200 { margin-left: 200px; }

.mr-a { margin-left: auto; }
.mr-0 { margin-right: 0; }
.mr-5 { margin-right: 5px; }
.mr-10 { margin-right: 10px; }
.mr-15 { margin-right: 15px; }
.mr-20 { margin-right: 20px; }
.mr-30 { margin-right: 30px; }
.mr-40 { margin-right: 40px; }
.mr-50 { margin-right: 50px; }
.mr-60 { margin-right: 60px; }
.mr-70 { margin-right: 70px; }
.mr-80 { margin-right: 80px; }
.mr-100 { margin-right: 100px; }
.mr-120 { margin-right: 120px; }
.mr-140 { margin-right: 140px; }
.mr-200 { margin-right: 200px; }

.p-5 { padding: 5px; }
.p-10 { padding: 10px; }
.p-15 { padding: 15px; }
.p-20 { padding: 20px; }
.p-25 { padding: 25px; }
.p-30 { padding: 30px; }
.p-40 { padding: 40px; }
.p-50 { padding: 50px; }
.p-60 { padding: 60px; }
.p-80 { padding: 80px; }
.p-100 { padding: 100px; }
.p-150 { padding: 150px; }
.p-200 { padding: 200px; }

.pt-0 { padding-top: 0; }
.pt-5 { padding-top: 5px; }
.pt-10 { padding-top: 10px; }
.pt-15 { padding-top: 15px; }
.pt-20 { padding-top: 20px; }
.pt-25 { padding-top: 25px; }
.pt-30 { padding-top: 30px; }
.pt-40 { padding-top: 40px; }
.pt-50 { padding-top: 50px; }
.pt-60 { padding-top: 60px; }
.pt-70 { padding-top: 70px; }
.pt-80 { padding-top: 80px; }
.pt-90 { padding-top: 90px; }
.pt-100 { padding-top: 100px; }
.pt-150 { padding-top: 150px; }
.pt-200 { padding-top: 200px; }

.pb-0 { padding-bottom: 0; }
.pb-5 { padding-bottom: 5px; }
.pb-10 { padding-bottom: 10px; }
.pb-15 { padding-bottom: 15px; }
.pb-20 { padding-bottom: 20px; }
.pb-25 { padding-bottom: 25px; }
.pb-30 { padding-bottom: 30px; }
.pb-40 { padding-bottom: 40px; }
.pb-50 { padding-bottom: 50px; }
.pb-60 { padding-bottom: 60px; }
.pb-70 { padding-bottom: 70px; }
.pb-80 { padding-bottom: 80px; }
.pb-90 { padding-bottom: 90px; }
.pb-100 { padding-bottom: 100px; }
.pb-150 { padding-bottom: 150px; }
.pb-200 { padding-bottom: 200px; }

.pl-0 { padding-left: 0; }
.pl-5 { padding-left: 5px; }
.pl-10 { padding-left: 10px; }
.pl-15 { padding-left: 15px; }
.pl-20 { padding-left: 20px; }
.pl-30 { padding-left: 30px; }
.pl-40 { padding-left: 40px; }
.pl-50 { padding-left: 50px; }
.pl-60 { padding-left: 60px; }
.pl-70 { padding-left: 70px; }
.pl-80 { padding-left: 80px; }
.pl-100 { padding-left: 100px; }
.pl-150 { padding-left: 150px; }
.pl-200 { padding-left: 200px; }

.pr-0 { padding-right: 0; }
.pr-5 { padding-right: 5px; }
.pr-8 { padding-right: 8px; }
.pr-10 { padding-right: 10px; }
.pr-15 { padding-right: 15px; }
.pr-20 { padding-right: 20px; }
.pr-30 { padding-right: 30px; }
.pr-40 { padding-right: 40px; }
.pr-50 { padding-right: 50px; }
.pr-60 { padding-right: 60px; }
.pr-70 { padding-right: 70px; }
.pr-80 { padding-right: 80px; }
.pr-100 { padding-right: 100px; }
.pr-150 { padding-right: 150px; }
.pr-200 { padding-right: 200px; }

.float-left { float: left; }
.float-right { float: right; }

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.relative { position: relative; }

.w-auto { width: auto; }
.w-15 { width: 15px; max-width: 100%; }
.w-50 { width: 50px; max-width: 100%; }
.w-75 { width: 75px; max-width: 100%; }
.w-80 { width: 80px; max-width: 100%; }
.w-100 { width: 100px; max-width: 100%; }
.w-150 { width: 150px; max-width: 100%; }
.w-200 { width: 200px; max-width: 100%; }
.w-250 { width: 250px; max-width: 100%; }
.w-280 { width: 280px; max-width: 100%; }
.w-300 { width: 300px; max-width: 100%; }
.w-350 { width: 350px; max-width: 100%; }
.w-400 { width: 400px; max-width: 100%; }
.w-450 { width: 450px; max-width: 100%; }
.w-500 { width: 500px; max-width: 100%; }
.w-600 { width: 600px; max-width: 100%; }
.w-660 { width: 660px; max-width: 100%; }
.w-700 { width: 700px; max-width: 100%; }
.w-750 { width: 750px; max-width: 100%; }
.w-770 { width: 770px; max-width: 100%; }
.w-800 { width: 800px; max-width: 100%; }
.w-880 { width: 880px; max-width: 100%; }
.w-900 { width: 900px; max-width: 100%; }
.w-940 { width: 940px; max-width: 100%; }

.w-5p { width: 5%; }
.w-10p { width: 10%; }
.w-20p { width: 20%; }
.w-25p { width: 25%; }
.w-30p { width: 30%; }
.w-40p { width: 40%; }
.w-50p { width: 50%; }
.w-60p { width: 60%; }
.w-70p { width: 70%; }
.w-80p { width: 80%; }
.w-90p { width: 90%; }
.w-100p { width: 100%; }

.h-48 { height: 48px !important; }
.h-80 { height: 80px !important; }
.h-100 { height: 100px !important; }

.max-height { max-height: 100%; width: auto; }

.overflow-x-scroll { overflow-x: scroll; }
.scroll-x {
  width: 880px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 900px) {
  .container {
    width: 100%;
    padding: 0 10px;
  }

  .container-left {
    padding-left: 50px !important;
  }

  .container-right {
    padding-right: 50px !important;
  }

  .flex-pc-only {
    display: block;
  }

  .flex.tablet-column {
    flex-direction: column;
    gap: 20px;
  }

  .flex.tablet-column-reverse {
    flex-direction: column-reverse;
    gap: 10px;
  }

  .pc-only {
    display: none !important;
  }

  .tablet-sp-only {
    display: block !important;
  }

  .scroll-x {
    width: 900px;
    margin-left: calc((100% - 280px) / 2);
    margin-right: calc((100% - 280px) / 2);
  }
}

@media screen and (max-width: 820px) {
  .pc-tablet-only { display: none !important; }
  .sp-only { display: block !important; }

  .sp-font-0 { font-size: 0rem; }
  .sp-font-8 { font-size: 0.8rem; }
  .sp-font-10 { font-size: 1rem; }
  .sp-font-11 { font-size: 1.1rem; }
  .sp-font-12 { font-size: 1.2rem; }
  .sp-font-13 { font-size: 1.3rem; }
  .sp-font-14 { font-size: 1.4rem; }
  .sp-font-15 { font-size: 1.5rem; }
  .sp-font-16 { font-size: 1.6rem; }
  .sp-font-18 { font-size: 1.8rem; }
  .sp-font-20 { font-size: 2rem; }
  .sp-font-22 { font-size: 2.2rem; }
  .sp-font-24 { font-size: 2.4rem; }
  .sp-font-26 { font-size: 2.6rem; }
  .sp-font-28 { font-size: 2.8rem; }
  .sp-font-32 { font-size: 3.2rem; }
  .sp-font-30 { font-size: 3rem; }
  .sp-font-32 { font-size: 3.2rem; }
  .sp-font-34 { font-size: 3.4rem; }
  .sp-font-36 { font-size: 3.6rem; }
  .sp-font-38 { font-size: 3.8rem; }
  .sp-font-40 { font-size: 4rem; }
  .sp-font-50 { font-size: 5rem; }
  .sp-font-60 { font-size: 6rem; }

  .sp-lh-10 { line-height: 1rem; }
  .sp-lh-16 { line-height: 1.6rem; }
  .sp-lh-18 { line-height: 1.8rem; }
  .sp-lh-20 { line-height: 2rem; }
  .sp-lh-22 { line-height: 2.2rem; }
  .sp-lh-24 { line-height: 2.4rem; }
  .sp-lh-26 { line-height: 2.6rem; }
  .sp-lh-27 { line-height: 2.7rem; }
  .sp-lh-28 { line-height: 2.8rem; }
  .sp-lh-30 { line-height: 3rem; }
  .sp-lh-32 { line-height: 3.2rem; }
  .sp-lh-36 { line-height: 3.6rem; }
  .sp-lh-40 { line-height: 4rem; }
  .sp-lh-44 { line-height: 4.4rem; }
  .sp-lh-60 { line-height: 6rem; }

  .sp-m-auto { margin-left: auto; margin-right: auto; }

  .sp-mt-0 { margin-top: 0; }
  .sp-mt-5 { margin-top: 5px; }
  .sp-mt-10 { margin-top: 10px; }
  .sp-mt-15 { margin-top: 15px; }
  .sp-mt-20 { margin-top: 20px; }
  .sp-mt-25 { margin-top: 25px; }
  .sp-mt-30 { margin-top: 30px; }
  .sp-mt-40 { margin-top: 40px; }
  .sp-mt-50 { margin-top: 50px; }
  .sp-mt-60 { margin-top: 60px; }
  .sp-mt-70 { margin-top: 70px; }
  .sp-mt-80 { margin-top: 80px; }
  .sp-mt-100 { margin-top: 100px; }
  .sp-mt-120 { margin-top: 120px; }
  .sp-mt-140 { margin-top: 140px; }

  .sp-mb-0 { margin-bottom: 0; }
  .sp-mb-5 { margin-bottom: 5px; }
  .sp-mb-10 { margin-bottom: 10px; }
  .sp-mb-15 { margin-bottom: 15px; }
  .sp-mb-20 { margin-bottom: 20px; }
  .sp-mb-25 { margin-bottom: 25px; }
  .sp-mb-30 { margin-bottom: 30px; }
  .sp-mb-40 { margin-bottom: 40px; }
  .sp-mb-50 { margin-bottom: 50px; }
  .sp-mb-60 { margin-bottom: 60px; }
  .sp-mb-70 { margin-bottom: 70px; }
  .sp-mb-80 { margin-bottom: 80px; }
  .sp-mb-100 { margin-bottom: 100px; }
  .sp-mb-120 { margin-bottom: 120px; }
  .sp-mb-140 { margin-bottom: 140px; }

  .sp-ml-0 { margin-left: 0; }
  .sp-ml-5 { margin-left: 5px; }
  .sp-ml-10 { margin-left: 10px; }
  .sp-ml-15 { margin-left: 15px; }
  .sp-ml-20 { margin-left: 20px; }
  .sp-ml-30 { margin-left: 30px; }
  .sp-ml-40 { margin-left: 40px; }
  .sp-ml-50 { margin-left: 50px; }

  .sp-mr-0 { margin-right: 0; }
  .sp-mr-5 { margin-right: 5px; }
  .sp-mr-10 { margin-right: 10px; }
  .sp-mr-15 { margin-right: 15px; }
  .sp-mr-20 { margin-right: 20px; }
  .sp-mr-30 { margin-right: 30px; }
  .sp-mr-40 { margin-right: 40px; }
  .sp-mr-50 { margin-right: 50px; }

  .sp-p-0 { padding: 0; }
  .sp-p-5 { padding: 5px; }
  .sp-p-10 { padding: 10px; }
  .sp-p-15 { padding: 15px; }
  .sp-p-20 { padding: 20px; }
  .sp-p-30 { padding: 30px; }
  .sp-p-40 { padding: 40px; }
  .sp-p-50 { padding: 50px; }
  .sp-p-80 { padding: 80px; }
  .sp-p-100 { padding: 100px; }
  .sp-p-200 { padding: 200px; }

  .sp-pt-0 { padding-top: 0; }
  .sp-pt-5 { padding-top: 5px; }
  .sp-pt-10 { padding-top: 10px; }
  .sp-pt-15 { padding-top: 15px; }
  .sp-pt-20 { padding-top: 20px; }
  .sp-pt-25 { padding-top: 25px; }
  .sp-pt-30 { padding-top: 30px; }
  .sp-pt-40 { padding-top: 40px; }
  .sp-pt-50 { padding-top: 50px; }
  .sp-pt-60 { padding-top: 60px; }
  .sp-pt-70 { padding-top: 70px; }
  .sp-pt-80 { padding-top: 80px; }
  .sp-pt-90 { padding-top: 90px; }
  .sp-pt-100 { padding-top: 100px; }
  .sp-pt-200 { padding-top: 200px; }

  .sp-pb-0 { padding-bottom: 0; }
  .sp-pb-5 { padding-bottom: 5px; }
  .sp-pb-10 { padding-bottom: 10px; }
  .sp-pb-15 { padding-bottom: 15px; }
  .sp-pb-20 { padding-bottom: 20px; }
  .sp-pb-25 { padding-bottom: 25px; }
  .sp-pb-30 { padding-bottom: 30px; }
  .sp-pb-40 { padding-bottom: 40px; }
  .sp-pb-50 { padding-bottom: 50px; }
  .sp-pb-60 { padding-bottom: 60px; }
  .sp-pb-70 { padding-bottom: 70px; }
  .sp-pb-80 { padding-bottom: 80px; }
  .sp-pb-90 { padding-bottom: 90px; }
  .sp-pb-100 { padding-bottom: 100px; }
  .sp-pb-200 { padding-bottom: 200px; }

  .sp-pl-0 { padding-left: 0; }
  .sp-pl-10 { padding-left: 10px; }
  .sp-pl-15 { padding-left: 15px; }
  .sp-pl-20 { padding-left: 20px; }
  .sp-pl-30 { padding-left: 30px; }
  .sp-pl-40 { padding-left: 40px; }
  .sp-pl-50 { padding-left: 50px; }
  .sp-pl-80 { padding-left: 80px; }
  .sp-pl-100 { padding-left: 100px; }
  .sp-pl-200 { padding-left: 200px; }

  .sp-pr-0 { padding-right: 0; }
  .sp-pr-10 { padding-right: 10px; }
  .sp-pr-15 { padding-right: 15px; }
  .sp-pr-20 { padding-right: 20px; }
  .sp-pr-30 { padding-right: 30px; }
  .sp-pr-40 { padding-right: 40px; }
  .sp-pr-50 { padding-right: 50px; }
  .sp-pr-80 { padding-right: 80px; }
  .sp-pr-100 { padding-right: 100px; }
  .sp-pr-200 { padding-right: 200px; }

  .sp-align-center { text-align: center !important; }
  .sp-align-left { text-align: left !important; }
  .sp-align-right { text-align: right !important; }

  .sp-valign-top { vertical-align: top; }
  .sp-valign-middle { vertical-align: middle; }
  .sp-valign-bottom { vertical-align: bottom; }

  .text-vertical {
    line-height: 1.8rem;
  }

  .sp-w-50 { width: 50px; }
  .sp-w-100 { width: 100px; }
  .sp-w-120 { width: 120px; }
  .sp-w-150 { width: 150px; }
  .sp-w-200 { width: 200px; }
  .sp-w-250 { width: 250px; }
  .sp-w-280 { width: 280px; }
  .sp-w-300 { width: 300px; }
  .sp-w-350 { width: 350px; }
  .sp-w-400 { width: 400px; }
  .sp-w-450 { width: 450px; }
  .sp-w-500 { width: 500px; }
  .sp-w-600 { width: 600px; }
  .sp-w-700 { width: 700px; }
  .sp-w-800 { width: 800px; }
  .sp-w-880 { width: 880px; }
  .sp-w-900 { width: 900px; }
  .sp-w-1000 { width: 1000px; }

  .sp-w-10p { width: 10%; }
  .sp-w-20p { width: 20%; }
  .sp-w-30p { width: 30%; }
  .sp-w-40p { width: 40%; }
  .sp-w-50p { width: 50%; }
  .sp-w-50p { width: 50%; }
  .sp-w-75p { width: 75%; }
  .sp-w-80p { width: 80%; }
  .sp-w-90p { width: 90%; }
  .sp-w-100p { width: 100%; }

  .sp-h-50 { height: 50px !important; }

  .flex.sp-flex {
    display: flex !important;
  }

  .flex.sp-column {
    flex-direction: column;
    gap: 20px;
  }

  .flex.sp-column-reverse {
    flex-direction: column-reverse;
    gap: 20px;
  }

  .flex.sp-space-between { justify-content: space-between; }
  .flex.sp-space-around { justify-content: space-around; }
  .flex.sp-flex-end { justify-content: flex-end; }
  .flex.sp-center { justify-content: center; }
  .flex.sp-flex-align-center { align-items: center; }
  .flex.sp-flex-align-flex-end { align-items: flex-end; }

  .flex.sp-gap-0 { gap: 0; }
  .flex.sp-gap-5 { gap: 5px; }
  .flex.sp-gap-10 { gap: 10px; }
  .flex.sp-gap-20 { gap: 20px; }
  .flex.sp-gap-30 { gap: 30px; }
  .flex.sp-gap-40 { gap: 40px; }
  .flex.sp-gap-50 { gap: 50px; }

  .sp-no-float {
    float: none;
  }

  .flex .sp-flex-none { flex: none; }
  .flex .sp-flex-order-1 { order: 1; }
  .flex .sp-flex-order-2 { order: 2; }
  .flex .sp-flex-order-3 { order: 3; }
}

/* decoration */
hr {
  border-color: #E4ECE3;
  border-width: 2px;
}

hr.line-left-green {
  position: relative;
  overflow: visible;
}

hr.line-left-green::before {
  content: "";
  position: absolute;
  display: inline-block;
  top: -2px;
  left: -2px;
  width: 60px;
  height: 4px;
  background: #76D486;
}

hr.line-beige {
  border-color: #ADA381;
  border-width: 0 0 1px;
}

.underline-lightgreen {
  position: relative;
  display: block;
  width: fit-content;
  padding: 0 10px;
  z-index: 1;
}

.underline-lightgreen::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 6px;
  left: 0;
  bottom: 0;
  background-color: #C3FFDC;
  z-index: -1;
}

.border { border: 1px solid #222; }
.border-green { border: 1px solid #76D486; }
.border-green-2 { border: 3px solid #76D486; }
.border-darkgreen { border: 1px solid #336D3E; }
.border-darkgreen-2 { border: 2px solid #061709; }
.border-brightgreen { border: 1px solid #28B186; }
.border-lightgreen { border: 1px solid #BDDA95; }
.border-yellowgreen { border: 1px solid #6C9808; }
.border-yellowgreen-2 { border: 2px solid #6C9808; }
.border-bottom-lightgreen { border-bottom: 1px solid #BDDA95; }
.border-gray { border: 1px solid #A095DA; }
.border-gray-2 { border: 2px solid #A095DA !important; }
.border-lightgray { border: 1px solid #C7C7C7; }
.border-bottom-lightgreen { border-bottom: 1px solid #BDDA95; }
.border-dashed { border: 1px dashed #ADA381; }
.border-beige { border: 1px solid #C9B77A; }
.border-lightbeige { border:1px solid #ADA381; }
.border-red { border: 1px solid #E81010; }
.border-orange { border: 1px solid #EB8814; }
.border-orange-2 { border: 2px solid #EB8814; }
.border-mauve { border: 1px solid #D89393; }
.border-pink { border: 1px solid #EB1488; }
.border-pink-2 { border: 2px solid #EB1488; }

.rounded-8 { border-radius: 8px; }
.rounded-10 { border-radius: 10px; }
.rounded-12 { border-radius: 12px; }
.rounded-16 { border-radius: 16px; }
.rounded-20 { border-radius: 20px; }
.rounded-24 { border-radius: 24px; }
.rounded-32 { border-radius: 32px; }
.rounded-40 { border-radius: 40px; }
.rounded-80 { border-radius: 80px; }
.rounded-left-top-40 { border-radius: 40px 0 0 0; }
.rounded-right-top-40 { border-radius: 0 40px 0 0; }
.rounded-right-bottom-40 { border-radius: 0 0 40px 0; }
.rounded-left-bottom-40 { border-radius: 0 0 0 40px; }
.rounded-top-80 { border-radius: 80px 80px 0 0; }
.rounded-left-80 { border-radius: 80px 0 0 80px; }
.rounded-right-80 { border-radius: 0 80px 80px 0; }


/* bg */
.bg-gray { background: #F8F8F8; }
.bg-white { background: #FFF; }
.bg-green { background: #ECFCF5; }
.bg-lightgreen { background: #FAFFFB; }
.bg-lightgreen-gradient { background: linear-gradient(180deg, #E4FCE7 0%, #DCF7E2 100%) 0% 0% no-repeat padding-box; }
.bg-limegreen { background: #D9FFE4; }
.bg-dullgreen { background: #E4ECE3; }
.bg-purple { background: #EEECFC; }
.bg-yellow { background: #FFFDEA; }
.bg-yellow-gradient { background: linear-gradient(165deg, #FFFBE2 0%, #FDF5C8 100%) 0% 0% no-repeat padding-box; }
.bg-pink { background: #FF8EDC; }
.bg-pink-gradient { background: linear-gradient(180deg, #FCE8F7 0%, #FDEBFAC7 55%, #FDDDF70F 100%) 0% 0% no-repeat padding-box; }
.bg-orange-gradient { background: transparent linear-gradient(180deg, #FAF4ED 0%, #FFFFFF 52%, #FFEEE5 100%) 0% 0% no-repeat padding-box; }
.bg-blue-gradient { background: linear-gradient(180deg, #D0FFEF 0%, #F8FFD3 100%) 0% 0% no-repeat padding-box; }
.bg-ladiespink-gradient { background: linear-gradient(89deg, #FFEFEF 0%, #FDF4F4 55%, #F7D7D7 100%) 0% 0% no-repeat padding-box; }


/* btn */
.pointer {
  cursor: pointer;
}

.btn a{
  display: block;
}

.btn a:hover {
  text-decoration: none;
}

.btn-green a {
  padding: 15px;
  background: linear-gradient(180deg, #9DDDA9 0%, #53CC68 100%) 0% 0% no-repeat padding-box;
  color: #FFF;
  border-radius: 8px;
}

.btn-white a {
  padding: 15px;
  background: #FFF;
  border: 2px solid #BDDA95;
  border-radius: 60px;
}

.btn-white-beige-border a {
  padding: 15px;
  background: #FFF;
  text-align: center;
  border: 1px solid #ADA381;
  border-radius: 60px;
}

.btn-pink a {
  padding: 15px 100px;
  background: transparent linear-gradient(180deg, #FFEDF9 0%, #F252C2 100%) 0% 0% no-repeat padding-box;
  color: #342929;
  box-shadow: 4px 4px 17px #00000029;
  border: 1px solid #F00C0C;
  border-radius: 43px;
}

.btn-green-border a {
  padding: 15px;
  background: #FFF;
  border: 1px solid #76D486;
  border-radius: 8px;
}

.btn-lightgreen {
  display: inline-block;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 1.3rem;
  border: 1px solid #ADA381;
  background: transparent linear-gradient(180deg, #E4FCE7 0%, #DCF7E2 100%) 0% 0% no-repeat padding-box;
  border-radius: 22px;
  cursor: pointer;
}

.btn-footer a {
  width: 280px;
  margin: auto;
  margin-bottom: 12px;
  padding: 5px;
  background: #FFF;
  text-align: center;
  font-size: 1.6rem;
  border: 1px solid #76D486;
  border-radius: 20px;
}

.btn-arrow-01::after {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  background: #94F0AC url(/wp-content/themes/clinic/assets/images/common/icon_arrow_01.png) right 8px center / 14px no-repeat;
  border-radius: 12px;
  vertical-align: middle;
}

.btn-arrow-02::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: #94F0AC url(/wp-content/themes/clinic/assets/images/common/icon_arrow_04.png) right 5px center / 10px no-repeat;
  border-radius: 6px;
  vertical-align: middle;
}

.btn-arrow-03::after {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  background: url(/wp-content/themes/clinic/assets/images/common/icon_arrow_01.png) right 8px center / 14px no-repeat, linear-gradient(180deg, #F094E5 0%, #F76DAD 100%);
  border: 1px solid #F017BE;
  border-radius: 12px;
  vertical-align: middle;
}

.btn-arrow-04 {
  width: 32px;
  height: 32px;
  transform: rotate(90deg);
}

.btn-arrow-04::after {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  background: #94F0AC url(/wp-content/themes/clinic/assets/images/common/icon_arrow_04.png) right 9px center / 14px no-repeat;
  border-radius: 12px;
  vertical-align: middle;
}

.btn-excel-01::after {
  content: "";
  display: inline-block;
  width: 50px;
  height: 32px;
  background: url(/wp-content/themes/clinic/assets/images/common/icon_xls_01.png) right 10px center / 32px no-repeat;
  border-radius: 1px;
  vertical-align: middle;
}

details[open] .btn-arrow-04 {
  transform: rotate(270deg);
}

@media screen and (max-width: 820px) {
  .btn-lightgreen {
    display: block;
    margin: 10px auto 20px;
    width: fit-content;
  }
}

.header-underline {
  display: block;
  width: 40px;
  height: 20px;
  margin: auto;
  border-bottom: 1px solid #ADA381;
}

.header-underline-pink {
  display: block;
  width: 40px;
  height: 20px;
  margin: auto;
  border-bottom: 2px solid #CB4D7F;
}

/* header */
header {
  position: fixed;
  width: 100%;
  top: 0;
  padding: 12px 0;
  background: #FFF;
  z-index: 100;
}

@media screen and (max-width: 820px) {
  header {
    padding: 5px 0 10px;
  }
}

#nav-sp {
  position: absolute;
  top: 36px;
  right: 0;

  .btn-green a {
    width: 50px;
    padding: 16px 10px;
    border-radius: 8px 0 0 8px;
  }
}

/* nav */
#nav-toggle {
  position: relative;
  height: 63px;
  width: 50px;
  cursor: pointer;
}

#nav-toggle span {
  position: absolute;
  width: 20px;
  height: 2px;
  right: 0;
  display: block;
  background: #FFF;
  transition: transform .5s ease-in-out, top .5s ease;
}

#nav-toggle span:nth-child(1) {
  top: 16px; right: 15px;
}

#nav-toggle span:nth-child(2) {
  top: 24px; right: 15px;
}

#nav-toggle span:nth-child(3) {
  top: 32px; right: 15px;
}

#nav-toggle .menu {
  position: absolute;
  top: 41px;
  right: 7px;
  font-size: 1.2rem;
}

.nav-opened #nav-toggle span:nth-child(1) {
  top: 25px;
  transform: rotate(45deg);
}

.nav-opened #nav-toggle span:nth-child(2) {
  top: 25px;
  width: 0;
  left: 50%;
}

.nav-opened #nav-toggle span:nth-child(3) {
  top: 25px;
  transform: rotate(-45deg);
}

#nav-menu {
  position: fixed;
  width: 100%;
  max-height: 100%;
  top: 100px;
  left: 0;
  padding: 20px 10px 50px;
  background: #FFFEFC;
  border-bottom: 1px solid #8E7A65;
  overflow-y: scroll;
  opacity: 0;
  transition: opacity .5s;
  z-index: -100;
}

@media screen and (max-width: 820px) {
  .nav-opened #nav-menu {
    opacity: 100;
    z-index: 99;
  }
}

.nav-main-links {
  display: flex;
  justify-content: space-evenly;
  gap: 18px;
  flex-wrap: wrap;
}

.nav-main-links div {
  width: calc((100% - 18px) / 2);
}

.nav-main-links div a {
  display: block;
  padding: 20px 0;
  text-align: center;
  border-radius: 10px;
}

.nav-sub-links {
  margin-top: 20px;
  margin-bottom: 50px;
  border-bottom: 1px solid #8E7A65;
}

.nav-sub-links > div ul {
  display: none;
  margin-left: 20px;
}

.nav-sub-links > div ul li {
  margin-bottom: 15px;
  padding-top: 15px;
  padding-left: 20px;
  border-top: 1px solid #8E7A65;
}

.nav-sub-links-title {
  position: relative;
  padding-top: 15px;
  padding-bottom: 15px;
  border-top: 1px solid #8E7A65;
}

.nav-sub-links-title::after {
  content: "";
  position: absolute;
  display: block;
  width: 24px;
  height: 24px;
  top: 15px;
  right: 5px;
  background: url(/wp-content/themes/radiotherapy/assets/images/common/icon_plus_01.png) top right / 24px no-repeat;
  transition: .5s;
}

.nav-sub-links-title.opened::after {
  transform: rotate(135deg);
}

.nav-sub-links-link {
  padding-top: 15px;
  padding-bottom: 15px;
  border-top: 1px solid #8E7A65;
}

/* main */
main {
  padding-top: 155px;
  width: 100%;
  overflow: hidden;
}

@media screen and (max-width: 820px) {
  main {
    padding-top: 109px;
  }
}

/* footer */
footer {
  background: #CDEFE0;
}

.sp-bottom-fixed-btn {
  display: none;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 98;
}

@media screen and (max-width: 820px) {
  .sp-bottom-fixed-btn {
    display: flex;
  }
}

.sp-bottom-fixed-btn > div {
  width: 50%;
  background: transparent linear-gradient(180deg, #9DDDA9 0%, #53CC68 100%) 0% 0% no-repeat padding-box;
  text-align: center;
  color: #FFF;
}

.sp-bottom-fixed-btn > div a {
  display: block;
  padding: 15px 0 10px;
}

.sp-bottom-fixed-btn > div:first-child {
  border-right: 1px solid #D8D8D8;
}

/* page-top */
#page-top {
  display: none;
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 99;
  cursor: pointer;
}

@media screen and (max-width: 820px) {
  #page-top {
    width: 42px;
    height: auto;
    bottom: 59px;
    right: 5px;
  }
}

/* list */
ul,
ol {
  letter-spacing: -1em;
}

ul li,
ol li {
  letter-spacing: 0em;
}

ol li {
  padding-left: 15px;
  list-style-position: inside;
}


ul.text-indent,
ol.text-indent {
  text-indent: 0;
  padding-left: 0;
}

ul.text-indent li,
ol.text-indent li {
  text-indent: -1em;
  padding-left: 1em;
}

ul.list-disc li {
  list-style-type: disc;
  list-style-position: inside;
}

ul.list-disc.text-indent li {
  text-indent: -1.4em;
  padding-left: 1em;
}

ul.list-green-disc li {
  position: relative;
  list-style-type: none;
}

ul.list-green-disc li::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 5px;
  background: url(/wp-content/themes/clinic/assets/images/common/dot_03.png) center left / 100% no-repeat;
}

ul.list-green-disc.top > li {
  padding-left: 20px;
}

ul.list-green-disc.top > li::before {
  position: absolute;
  top: 6px;
  left: 0;
  margin-right: 10px;
}

ul.list-green-disc.top > li:has(details[open]) {
  border-bottom: 1px solid #ADA381;
  margin-bottom: 20px;
}

ul.list-green-disc.text-indent li {
  text-indent: -1em;
  padding-left: 1em;
}

ul.list-dot li::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 25px;
  background: url(/wp-content/themes/clinic/assets/images/common/dot_01.png) center left / 10px no-repeat;
}

ul.list-dot-pink li::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 10px;
  background: url(/wp-content/themes/clinic/assets/images/common/dot_04.png) center left / 10px no-repeat;
}

@media screen and (max-width: 820px) {
  ul.text-indent li,
  ol.text-indent li {
    text-indent: -1.1em;
    padding-left: 1em;
  }

  ul.list-dot li {
  }
  ul.list-dot li::before {
    margin-right: 10px;
  }

  ul.list-green-disc.top > li {
    padding-left: 15px;
  }
}


ul.list-dash li {
}

ul.list-dash li::before {
  content: "ー";
  margin-right: 10px;
  color: #336D3E;
}

ul.list-arrow li {
  position: relative;
}

ul.list-arrow li a::after {
  content: "";
  position: absolute;
  display: block;
  width: 24px;
  height: 40px;
  top: calc((100% - 40px) /2);
  right: 25px;
  padding-left: 25px;
  background: url(/wp-content/themes/clinic/assets/images/common/icon_arrow_02.png) top 8px right / 24px no-repeat;
  border-left: 1px solid #ADA381;
}

ul.list-arrow.list-arrow-noborder li a::after {
  border-left: none;
}

ul.list-underline li {
  border-bottom: 1px solid #ADA381;
}

ul.list-dashed-underline li {
  border-bottom: 1px dashed #ADA381;
}

ol.list-number {
  counter-reset: list-number;
  list-style-type: none;
}

ol.list-number li {
  position: relative;
  margin-bottom: 15px;
  padding-left: 30px;
  font-size: 1.4rem;
}

ol.list-number li:before {
  counter-increment: list-number;
  content: counter(list-number)"." ;
  position: absolute;
  display: block;
  left: 0;
  width: 20px;
  text-align: right;
  color: #336D3E;
}

ol.list-large-number {
  counter-reset: list-large-number;
  list-style-type: none;
}

ol.list-large-number li {
  position: relative;
  margin-top: 50px;
  padding: 10px 10px 10px 80px;
  font-size: 1.4rem;
}

ol.list-large-number li:before {
  position: absolute;
  counter-increment: list-large-number;
  content: counter(list-large-number);
  display: inline-block;
  color: #4BA83A;
  font-size: 24px;
  border: 1px solid #20930B;
  border-radius: 50%;
  left: 0;
  width: 55px;
  height: 55px;
  line-height: 55px;
  text-align: center;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 820px) {
  ul.list-arrow li a::after {
    top: 20px;
    right: 0;
    padding-left: 10px;
  }

  ul.list-arrow.list-arrow-higher li a::after {
    top: 40px;
  }

  ul.list-arrow.list-arrow-noborder li a::after {
    top: 25px;
  }

  ul.list-dash li {
  }

  ol.list-large-number li {
    margin-top: 50px;
    padding: 10px 0 10px 65px;
    font-size: 1.2rem;
  }
}

/* box */
.box-shadow-01 {
  box-shadow: 4px 4px 8px #00000029;
}

.box-shadow-02 {
  box-shadow: inset 0px 0px 6px #00000029;
}

.box-shadow-03 {
  box-shadow: 0px 0px 6px #00000029;
}

.box-shadow-04 {
  box-shadow: 0px 3px 6px #00000029;
}

.box-news {
  display: flex;
  margin-top: 50px;
  padding: 40px;
  border: 1px solid #76D486;
  border-radius: 32px;
}

.box-news .header span {
  display: block;
  margin-right: 40px;
  padding: 8px 40px 8px 0;
  color: #336D3E;
  border-right: 1px solid #A5A5A5;
}

.box-news ul {
  flex: 1;
}

.box-news ul li {
  display: table;
  margin-bottom: 30px;
}

.box-news ul li:last-child {
  margin-bottom: 0;
}

.box-news .date {
  display: table-cell;
  vertical-align: middle;
  width: 80px;
  padding-right: 40px;
  color: #555;
}

.box-news .title {
  display: table-cell;
  width: 460px;
  vertical-align: middle;
}

.box-news .title a {
  color: #323232;
}

.box-news .btn {
  display: table-cell;
  padding-left: 40px;
  vertical-align: middle;
  line-height: 1.2;
  max-height: calc(1.2em * 2);
  overflow: hidden;
}

.box-news ul li.link {
  display: flex;
  justify-content: right;
  align-items: center;
  padding-top: 20px;
}

.box-search {
  position: relative;
  width: 280px;
  margin: auto;
}

.box-search input {
  width: 280px;
  padding: 15px 20px 15px 60px;
  color: #555;
  font-size: 1.6rem;
  border: 1px solid #707070;
  border-radius: 30px;
}

.box-search button[type="submit"] {
  position: absolute;
  width: 28px;
  height: 28px;
  top: 11px;
  left: 16px;
  border: none;
  background: url(/wp-content/themes/clinic/assets/images/common/icon_search_01.png) top left / 28px no-repeat;
}

.box-capsule {
  width: 280px;
}

.box-capsule-top,
.box-capsule-bottom {
  border: 2px solid #336D3E;
}

.box-capsule-top {
  padding: 80px 30px 40px;
  background: #E4ECE3;
  text-align: center;
  color: #336D3E;
  font-size: 2rem;
  border-radius: 135px 135px 0 0;
}

.box-capsule-bottom {
  padding: 30px 40px 70px;
  font-size: 1.5rem;
  line-height: 2.6rem;
  border-width: 0 2px 2px;
  border-radius: 0 0 135px 135px;
}

.info-box-yel {
  background: #FFFEE1;
  border: #EB1552 1.35px solid;
  border-radius: 20px;
  padding: 25px 35px;
  }

.info-box-yel ul li {
  margin-left: 20px;
}

@media screen and (max-width: 820px) {
  .info-box-yel {
    padding: 30px 5px;
  }

  .info-box-yel ul li {
    margin-left: 5px;
  }

  .box-news {
    flex-direction: column;
    padding: 20px;
  }

  .box-news .header {
    margin-bottom: 15px;
    border-bottom: 1px solid #A5A5A5;
  }

  .box-news .header span {
    border-right: none;
  }

  .box-news ul li {
    width: 100%;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #A5A5A5;
  }

  .box-news .date {
    display: block;
    width: 100%;
    margin-bottom: 10px;
  }

  .box-news .title {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    font-size: 1.5rem;
  }

  .box-news .btn {
    display: block;
    padding-left: 10px;
    text-align: right;
  }

  .box-news ul li.link {
    border-bottom: none;
  }
}

/* box-qa */
.box-qa dl {
  margin: auto;
  font-size: 1.4rem;
  border-bottom: 1px solid #707070;
}

.box-qa dl dt {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 95px;
  padding: 20px 140px 20px 100px;
  border-top: 1px solid #707070;
  cursor: pointer;
}

.box-qa dl dt:first-child {
  border-top: none;
}

.box-qa dl dt::before {
  content: "";
  display: block;
  position: absolute;
  width: 55px;
  height: 55px;
  top: 20px;
  left: 20px;
  background: url(/wp-content/themes/clinic/assets/images/common/icon_q_01.png) top left / 100% no-repeat;
}

.box-qa dl dt::after {
  content: "開く";
  display: block;
  position: absolute;
  width: 80px;
  height: 40px;
  top: 25px;
  right: 20px;
  background: url(/wp-content/themes/clinic/assets/images/common/icon_open_02.png) top 10px right / 34px 30px no-repeat;
  line-height: 50px;
}

.box-qa dl dt.opened::after {
  opacity: 0;
}

.box-qa dl dd {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: auto;
  padding: 35px 140px 35px 180px;
  overflow: hidden;
  cursor: pointer;
}

.box-qa dl dd::before {
  content: "";
  display: block;
  position: absolute;
  width: 55px;
  height: 55px;
  top: 20px;
  left: 100px;
  background: url(/wp-content/themes/clinic/assets/images/common/icon_a_01.png) top left / 100% no-repeat;
}

.box-qa dl dd::after {
  content: "閉じる";
  display: block;
  position: absolute;
  width: 80px;
  height: 40px;
  top: 25px;
  right: 20px;
  background: url(/wp-content/themes/clinic/assets/images/common/icon_close_03.png) top 10px right / 34px 30px no-repeat;
  line-height: 50px;
}

@media screen and (max-width: 820px) {
  .box-qa dl {
    font-size: 1.2rem;
  }

  .box-qa dl dt {
    height: 80px;
    padding: 20px 60px 20px 50px;
  }

  .box-qa dl dt::before {
    width: 40px;
    height: 40px;
    left: 0;
  }

  .box-qa dl dt::after {
    width: 40px;
    height: 40px;
    top: 22px;
    right: 0;
    background: url(/wp-content/themes/clinic/assets/images/common/icon_open_02.png) top 17px right 8px / 24px 20px no-repeat;
    text-align: center;
    line-height: 1.4rem;
  }

  .box-qa dl dd {
    padding: 25px 60px 40px 50px;
  }

  .box-qa dl dd::before {
    width: 40px;
    height: 40px;
    left: 0;
  }

  .box-qa dl dd::after {
    width: 40px;
    height: 40px;
    top: 27px;
    right: 0;
    padding-top: 25px;
    background: url(/wp-content/themes/clinic/assets/images/common/icon_close_03.png) top 0 right 8px / 24px 20px no-repeat;
    text-align: center;
    line-height: 1.4rem;
  }
}

/* box-options */
.box-options .option {
  display: inline-block;
  width: 280px;
  margin-right: 15px;
  margin-bottom: 25px;
  border-radius: 8px;
  box-shadow: 0px 0px 6px #00000029;

}

.box-options .btn {
  cursor: pointer;
}

.box-options .option:nth-of-type(3n){
  margin-right: 0;
}

@media screen and (max-width: 820px) {
  .box-options .option {
    width: 100%;
  }
}

/* table */
table .left-top { border-radius: 16px 0 0 0; }
table .right-top { border-radius: 0 16px 0 0; }
table .right-bottom { border-radius: 0 0 16px 0; }
table .left-bottom { border-radius: 0 0 0 16px; }
table .left-right-top { border-radius: 16px 16px 0 0; }
table .left-right-bottom { border-radius: 0 0 16px 16px; }

.table-01 table {
  width: 100%;
  font-size: 1.5rem;
  line-height: 2.6rem;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #DDD;
  border-width: 1px 0 0 1px;
  border-radius: 16px;
}

.table-01 table th,
.table-01 table td {
  padding: 20px;
  border: 1px solid #DDD;
  border-width: 0 1px 1px 0;
  overflow: hidden;
}

.table-01 table th {
  background: #F4F4F4;
  font-weight: normal;
}

@media screen and (max-width: 820px) {
  .table-01.scroll-x {
    overflow-x: scroll;
  }

  .table-01 table th,
  .table-01 table td {
    padding: 20px 10px;
  }
}

.table-02 table {
  width: 100%;
  border-spacing: 0;
  border: 1px solid #DDD;
  border-width: 1px 0 0 1px;
}

.table-02 table th,
.table-02 table td {
  padding: 15px;
  font-size: 1.5rem;
  border: 1px solid #DDD;
  border-width: 0 1px 1px 0;
  vertical-align: top;
}

.table-02 table thead th {
  background: #76D486;
  color: #FFF;
  text-align: left;
  font-weight: normal;
}

.table-02 table tbody th {
  background: #F4F4F4;
  text-align: left;
  font-weight: normal;
}

.table-02 table tbody td {
  text-align: center;
  font-weight: normal;
}


@media screen and (max-width: 820px) {
  .table-02.scroll-x {
    overflow-x: scroll;
  }

  .table-02 table th,
  .table-02 table td {
    padding: 10px;
    font-size: 1.2rem;
  }
}


/* FAQ内の入れ子 */

.table-03 table {
  width: 100%;
  font-size: 1.15rem;
  line-height: 2.0rem;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #DDD;
  border-width: 1px 0 0 1px;
}

.table-03 table th,
.table-03 table td {
  padding: 15px 10PX;
  border: 1px solid #DDD;
  border-width: 0 1px 1px 0;
  overflow: hidden;
}

.table-03 table th {
  background: # #EEF8EB;
  font-weight: normal;
}

@media screen and (max-width: 540px) {
  .table-03.scroll-x {
    overflow-x: scroll;
  }
}


/* calendar */
.calendar-info {
  text-align: center;
}

.calendar-info .no,
.calendar-info .off,
.calendar-info .ladies {
  display: inline-block;
  padding-left: 10px;
  font-size: 1.4rem;
}

.calendar-info .no::before,
.calendar-info .off:before,
.calendar-info .ladies:before {
	content: "";
	display: inline-block;
	width: 23px;
	height: 23px;
	top: 0;
  margin-right: 10px;
  vertical-align: middle;
}

.calendar-info .no::before {
  background-color: #efe7dc;
}

.calendar-info .off:before {
	background-color: #cde7d4;
}

.calendar-info .ladies:before {
	background-color: #edc8e4;
}

@media screen and (max-width: 820px) {
  .calendar-info {
    text-align: left;
  }

  .calendar-info .no,
  .calendar-info .off,
  .calendar-info .ladies {
    display: block;
    margin-bottom: 10px;
    padding-left: 10px;
  }
}

/* accordion */
.accordion-01 .title {
  position: relative;
  padding: 15px 55px 15px 20px;
  font-size: 2rem;
  line-height: 3rem;
  border: 1px solid #76D486;
  cursor: pointer;
  transition: .5s;
}

.accordion-01.opened .title {
  background: #76D486;
}

.accordion-01 .title::before {
  content: "";
  position: absolute;
  width: 30px;
  height: 30px;
  top: calc((100% - 30px) / 2);
  right: 20px;
  background: url(/wp-content/themes/clinic/assets/images/common/icon_open_01.png) top left / 30px no-repeat;
  transition: .5s;
}

.accordion-01.opened .title::before {
  background: url(/wp-content/themes/clinic/assets/images/common/icon_close_02.png) top left / 30px no-repeat;
}

.accordion-01 .content {
  display: none;
}

@media screen and (max-width: 820px) {
  .accordion-01 .title {
    padding: 15px 45px 15px 10px;
    font-size: 1.6rem;
  }

  .accordion-01 .title::before {
    right: 10px;
  }
}

.grecaptcha-badge {
  display: none;
}
