@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto%20Sans%20JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto%20Serif%20JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
/* リセットCSS */
html, body {
  width: 100%;
  height: 100%;
}

body, h1, h2, h3, h4, h5, h6, p, ol, ul, li, blockquote, pre, a, div {
  margin: 0;
  padding: 0;
  font-size: 100%;
  line-height: inherit;
  box-sizing: border-box;
}

body {
  -webkit-text-size-adjust: 100%;
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th, td {
  vertical-align: top;
  text-align: left;
  font-weight: normal;
}

img {
  border: 0;
  vertical-align: bottom;
}

a {
  text-decoration: none;
}

/* ---------- setting ---------- ---------- */
:root {
  --main-color: #33AE00;
}

body.page-pharmacist {
  --main-color: #33AE00;
}

.u-en {
  font-family: "Poppins", sans-serif;
}

.u-min {
  font-family: "Noto Serif JP";
}

.u-fw-normal {
  font-weight: normal !important;
}

.u-fw-bold {
  font-weight: bold !important;
}

.u-td-u {
  text-decoration: underline !important;
}

.u-td-n {
  text-decoration: none !important;
}

.u-ta-l {
  text-align: left !important;
}

.u-ta-c {
  text-align: center !important;
}

.u-ta-r {
  text-align: right !important;
}

.u-gap-10 {
  display: flex;
  gap: 10px;
  flex-direction: column;
}

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

.u-gap-30 {
  display: flex;
  gap: 30px;
  flex-direction: column;
}

.u-gap-40 {
  display: flex;
  gap: 40px;
  flex-direction: column;
}

.u-gap-50 {
  display: flex;
  gap: 50px;
  flex-direction: column;
}

.u-gap-60 {
  display: flex;
  gap: 60px;
  flex-direction: column;
}

.u-gap-70 {
  display: flex;
  gap: 70px;
  flex-direction: column;
}

.u-gap-80 {
  display: flex;
  gap: 80px;
  flex-direction: column;
}

.u-gap-100 {
  display: flex;
  gap: 100px;
  flex-direction: column;
}

.u-gap-120 {
  display: flex;
  gap: 120px;
  flex-direction: column;
}

@media print, screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }
  .u-gap-10-pc {
    display: flex;
    gap: 10px;
    flex-direction: column;
  }
  .u-gap-20-pc {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .u-gap-30-pc {
    display: flex;
    gap: 30px;
    flex-direction: column;
  }
  .u-gap-40-pc {
    display: flex;
    gap: 40px;
    flex-direction: column;
  }
  .u-gap-50-pc {
    display: flex;
    gap: 50px;
    flex-direction: column;
  }
  .u-gap-60-pc {
    display: flex;
    gap: 60px;
    flex-direction: column;
  }
  .u-gap-70-pc {
    display: flex;
    gap: 70px;
    flex-direction: column;
  }
  .u-gap-80-pc {
    display: flex;
    gap: 80px;
    flex-direction: column;
  }
  .u-gap-100-pc {
    display: flex;
    gap: 100px;
    flex-direction: column;
  }
  .u-gap-120-pc {
    display: flex;
    gap: 120px;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
  .u-gap-10-sp {
    display: flex;
    gap: 10px;
    flex-direction: column;
  }
  .u-gap-20-sp {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .u-gap-30-sp {
    display: flex;
    gap: 30px;
    flex-direction: column;
  }
  .u-gap-40-sp {
    display: flex;
    gap: 40px;
    flex-direction: column;
  }
  .u-gap-50-sp {
    display: flex;
    gap: 50px;
    flex-direction: column;
  }
  .u-gap-60-sp {
    display: flex;
    gap: 60px;
    flex-direction: column;
  }
  .u-gap-70-sp {
    display: flex;
    gap: 70px;
    flex-direction: column;
  }
  .u-gap-80-sp {
    display: flex;
    gap: 80px;
    flex-direction: column;
  }
}
body {
  background-color: #F8F8F8;
  color: #111;
  font-family: "Noto Sans JP";
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt";
}

@media print, screen and (min-width: 768px) {
  .area-wrapper {
    overflow: hidden;
    position: relative;
  }
  /* ----------------------------------------------------------
  .block-index-mv
  ---------------------------------------------------------- */
  /* ----------------------------------------------------------
  .block-index-intro
  ---------------------------------------------------------- */
  /* ----------------------------------------------------------
  .block-index-feature
  ---------------------------------------------------------- */
  /* ----------------------------------------------------------
  .block-index-day
  ---------------------------------------------------------- */
  /* ----------------------------------------------------------
  .block-student-mv
  ---------------------------------------------------------- */
  /* ----------------------------------------------------------
  .block-pharmacist-mv
  ---------------------------------------------------------- */
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1120px) {
  .area-wrapper {
    min-width: 1120px;
  }
}
@media print, screen and (min-width: 768px) and (min-width: 768px) {
  .block-inner {
    margin: 0 auto;
    width: 1080px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1120px) {
  .block-inner {
    margin: 0 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .float-cta {
    position: fixed;
    right: 20px;
    bottom: 0;
    background-color: var(--main-color);
    border-radius: 20px 20px 0 0;
    padding: 15px;
    display: flex;
    gap: 5px;
    z-index: 90;
    transition-duration: 0.2s;
    opacity: 0;
    visibility: hidden;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.15);
  }
  body.js-show-float .float-cta {
    opacity: 1;
    visibility: visible;
  }
  .mod-float-cat-item {
    display: block;
    text-align: center;
    cursor: pointer;
  }
  .mod-float-cat-item p {
    margin: 0;
    color: #fff;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.3;
  }
  .mod-float-cat-item:hover ._btn {
    filter: brightness(1.2);
  }
  .mod-float-cat-item ._btn {
    margin-top: 10px;
    display: block;
    font-size: 14px;
    font-weight: 900;
    border-radius: 50px;
    background-color: #ff8;
    color: var(--main-color);
    padding: 10px 16px;
    transition-duration: 0.2s;
    filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.15));
  }
  .mod-float-cat-item ._btn b {
    font-size: 20px;
  }
  .area-footer {
    padding: 80px 0;
    display: flex;
    gap: 30px;
    flex-direction: column;
    align-items: center;
  }
  .area-footer ._lead {
    font-size: 17px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    letter-spacing: 0.2em;
  }
  .area-footer ._logo img {
    width: 526px;
  }
  .mod-doc.is-center {
    text-align: center;
  }
  .mod-doc p {
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
  }
  .block-index-mv {
    position: relative;
  }
  .block-index-mv img {
    width: 100%;
  }
  .block-index-mv ._logo {
    position: absolute;
    top: 9%;
    left: 12.29%;
    width: 39.04%;
    height: 49.27%;
  }
  .block-index-mv ._lead {
    position: absolute;
    top: 62%;
    left: 12.19%;
  }
  .block-index-mv ._lead p {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .block-index-mv ._lead p span {
    display: block;
    font-size: 1.3888888889vw;
    font-style: normal;
    font-weight: 900;
    line-height: 1.7;
  }
  .block-index-mv ._boxs {
    position: absolute;
    top: 73.75%;
    left: 12.29%;
  }
  .block-index-mv ._dag {
    position: absolute;
    top: 85.38%;
    left: 84.86%;
    width: 13.06%;
    height: 9.5%;
  }
  .mod-index-mv-box-items {
    display: flex;
    gap: 1.3888888889vw;
  }
  .mod-index-mv-box-item {
    display: block;
    width: 11.8055555556vw;
    height: 11.8055555556vw;
    border-radius: 1.3888888889vw;
  }
  .mod-index-mv-box-item.is-btn {
    padding: 0 1.0416666667vw;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.1388888889vw;
    flex-direction: column;
    line-height: 1;
    color: #111;
    text-align: center;
    cursor: pointer;
  }
  body.page-pharmacist .mod-index-mv-box-item.is-btn {
    background-color: var(--main-color);
  }
  body.page-pharmacist .mod-index-mv-box-item.is-btn p {
    color: #ff0;
  }
  body.page-pharmacist .mod-index-mv-box-item.is-btn ._btn {
    background-color: #ff0;
    color: var(--main-color);
  }
  .mod-index-mv-box-item.is-btn ._icon {
    width: 3.4722222222vw;
    margin: 0 auto;
  }
  .mod-index-mv-box-item.is-btn p {
    margin: 0;
    color: #111;
    font-size: 1.1111111111vw;
    font-style: normal;
    font-weight: 700;
    line-height: 1.3;
  }
  .mod-index-mv-box-item.is-btn:hover ._btn {
    filter: brightness(1.2);
  }
  .mod-index-mv-box-item.is-btn ._btn {
    margin-top: 0.3472222222vw;
    display: block;
    width: 100%;
    font-size: 0.9722222222vw;
    font-weight: 900;
    border-radius: 3.4722222222vw;
    background-color: var(--main-color);
    color: #ff0;
    padding: 0.9027777778vw 0;
    transition-duration: 0.2s;
    filter: drop-shadow(0 0.2777777778vw 0.2777777778vw rgba(0, 0, 0, 0.15));
  }
  .mod-index-mv-box-item.is-btn ._btn b {
    font-size: 1.3888888889vw;
  }
  .mod-index-mv-box-item.is-price {
    color: #fff;
    background-color: var(--main-color);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.0416666667vw;
    flex-direction: column;
    line-height: 1;
  }
  .mod-index-mv-box-item.is-price ._t1 {
    font-size: 1.3888888889vw;
    font-style: normal;
    font-weight: 500;
  }
  .mod-index-mv-box-item.is-price ._t2 {
    font-size: 1.3888888889vw;
    font-style: normal;
    font-weight: 500;
  }
  .mod-index-mv-box-item.is-price ._t2 b {
    font-size: 2.9166666667vw;
    t-weight: 900;
  }
  .mod-index-mv-box-item.is-price ._t3 {
    font-size: 1.0416666667vw;
    font-style: normal;
    font-weight: 900;
  }
  .block-index-intro {
    padding: 120px 0;
  }
  .block-index-intro img {
    width: 100%;
  }
  .block-index-intro ._lead {
    position: relative;
  }
  .block-index-intro ._lead p {
    text-align: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 2.45;
  }
  .block-index-intro ._lead p b {
    background-color: #ff8;
  }
  .block-index-intro ._lead ._p1 {
    display: block;
    position: absolute;
    top: -50px;
    left: calc(50vw + 360px);
    width: 136px;
    height: 106px;
  }
  .block-index-intro ._lead ._p2 {
    display: block;
    position: absolute;
    top: 10px;
    left: calc(50vw - 620px);
    width: 308px;
    height: 230px;
  }
  .block-index-intro ._lead ._p3 {
    display: block;
    position: absolute;
    top: 260px;
    left: calc(50vw + 360px);
    width: 308px;
    height: 230px;
  }
  .block-index-intro ._cols {
    background-color: var(--main-color);
    display: flex;
  }
  .block-index-intro ._cols ._col-image {
    width: 427px;
  }
  .block-index-intro ._cols ._col-texts {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .block-index-intro ._cols p {
    color: #FFF;
    text-align: center;
    font-size: 28px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.8;
  }
  .block-index-intro ._cols p b {
    color: #FF0;
  }
  .block-index-feature {
    padding: 120px 0;
    background-color: #111;
    background: url(/images/index/feature/bg.svg) center top no-repeat;
    background-size: cover;
  }
  .block-index-feature ._box {
    padding: 110px 90px;
    background-color: #fff;
  }
  .mod-index-feature-items {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
  }
  .mod-index-feature-items > li {
    min-height: 50px;
    width: calc((100% - 90px) / 4);
  }
  .mod-index-feature-item {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .mod-index-feature-item ._item-image {
    text-align: center;
  }
  .mod-index-feature-item ._item-image img {
    width: 150px;
  }
  .mod-index-feature-item ._item-texts {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .mod-index-feature-item ._item-texts h3 {
    font-size: 20px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    text-align: center;
  }
  .block-index-bg {
    position: relative;
  }
  .block-index-bg:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 0 30vw 0;
    background: url(/images/index/bg.jpg) center center;
    background-repeat: repeat;
  }
  .block-index-day img {
    width: 100%;
  }
  .block-index-day .block-inner {
    padding: 110px 0;
    position: relative;
  }
  .block-index-day ._deco1 {
    position: absolute;
    top: 582px;
    left: 889px;
    width: 571px;
    height: 348px;
  }
  .block-index-day ._deco2 {
    position: absolute;
    top: 820px;
    left: -186px;
    width: 260px;
    height: 252px;
  }
  .block-index-day ._deco3 {
    position: absolute;
    top: 1178px;
    left: 974px;
    width: 443px;
    height: 360px;
  }
  .block-index-day ._deco4 {
    position: absolute;
    top: 1466px;
    left: -402px;
    width: 520px;
    height: 552px;
  }
  .block-index-day ._student-deco3 {
    position: absolute;
    top: 1182px;
    left: 982px;
    width: 298px;
    height: 327px;
  }
  .block-index-day ._student-deco2 {
    position: absolute;
    top: 791px;
    left: -390px;
    width: 520px;
    height: 552px;
  }
  .block-index-day ._student-deco1 {
    position: absolute;
    top: 614px;
    left: 1032px;
    width: 443px;
    height: 443px;
  }
  .block-index-day ._box {
    margin: 0 auto;
    margin-top: 130px;
    width: 800px;
    background-color: #fff;
    padding: 150px 120px 120px 120px;
    filter: drop-shadow(0 3px 20px rgba(0, 0, 0, 0.07));
  }
  .block-index-day ._box ._prof {
    position: absolute;
    top: -120px;
    left: calc(50% - 180px);
    width: 361px;
  }
  .block-index-day ._prof-cols {
    display: flex;
    gap: 40px;
  }
  .block-index-day ._prof-cols ._col-name {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .block-index-day ._prof-cols ._col-name ._clip {
    width: 32px;
    margin: 0 auto;
  }
  .block-index-day ._prof-cols ._col-name ._name {
    font-size: 40px;
    font-style: normal;
    font-weight: 900;
  }
  .block-index-day ._prof-cols ._col-name ._spec {
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
  }
  .block-index-day ._prof-cols ._col-points {
    flex: 1;
    padding: 20px 0 0 0;
    margin-right: -50px;
  }
  .block-index-day ._comment {
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
  }
  .mod-index-day-list {
    display: flex;
    gap: 15px;
    flex-direction: column;
  }
  .mod-index-day-list li {
    font-size: 20px;
    font-style: normal;
    font-weight: 900;
    line-height: 1.2;
    padding: 5px 0 5px 40px;
    position: relative;
  }
  .mod-index-day-list li:after {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    background: url(/images/index/day/icon-check.svg) left top no-repeat;
    background-size: contain;
    width: 32px;
    height: 32px;
  }
  .mod-index-day-items li {
    padding: 12px 0;
    border-bottom: 1px solid #CCC;
  }
  .mod-index-day-items li:nth-child(1) {
    padding-top: 0;
  }
  .mod-index-day-item {
    display: flex;
    gap: 10px;
    position: relative;
  }
  .mod-index-day-item ._item-date {
    width: 150px;
  }
  .mod-index-day-item ._item-date ._date {
    color: #CCC;
    font-family: Poppins;
    font-size: 41px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }
  .mod-index-day-item ._item-date ._event {
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
  }
  .mod-index-day-item ._item-texts {
    flex: 1;
    padding: 10px 0 0;
  }
  .block-index-last ._box {
    position: relative;
    background-color: #fff;
    padding: 120px 100px;
    filter: drop-shadow(0 3px 20px rgba(0, 0, 0, 0.07));
  }
  .block-index-last ._cols {
    display: flex;
  }
  .block-index-last ._cols ._col-title {
    width: 300px;
  }
  .block-index-last ._cols ._col-texts {
    flex: 1;
  }
  .mod-index-title {
    text-align: center;
    display: flex;
    gap: 25px;
    flex-direction: column;
  }
  .mod-index-title.is-left {
    text-align: left;
  }
  .mod-index-title ._en {
    color: var(--main-color);
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }
  .mod-index-title h2 {
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }
  .mod-index-title h2 b {
    display: inline-block;
    color: #FFF;
    padding: 5px 10px;
    background-color: var(--main-color);
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin: 0 10px;
  }
  .mod-index-title ._logo {
    display: inline-block;
    width: 311px;
    vertical-align: middle;
    margin: 0 10px;
    transform: translate(0, -3px);
  }
  .mod-dl-price {
    display: flex;
    align-items: center;
    background-color: var(--main-color);
    color: #fff;
    margin: 0;
    padding: 25px 25px;
    border-radius: 10px;
  }
  .mod-dl-price dt {
    width: 90px;
    margin: 0;
  }
  .mod-dl-price dd {
    flex: 1;
    margin: 0;
  }
  .mod-dl-price dt {
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
  }
  .mod-dl-price dd {
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
  }
  .mod-dl-price dd.is-t {
    font-size: 20px;
    font-style: normal;
    font-weight: 900;
  }
  .mod-dl-price dd b {
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
  }
  .mod-faq {
    background-color: #F8F8F8;
    padding: 30px;
    display: flex;
    border-radius: 10px;
    gap: 10px;
    flex-direction: column;
  }
  .mod-faq ._head {
    position: relative;
    cursor: pointer;
    font-weight: bold;
    font-size: 20px;
    line-height: 2;
    color: #146097;
    padding: 0 0 0 50px;
  }
  .mod-faq ._head:after {
    content: "Q";
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    font-family: "Poppins";
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
  }
  .mod-faq ._body {
    position: relative;
    padding: 0 0 0 50px;
  }
  .mod-faq ._body:after {
    content: "A";
    display: block;
    position: absolute;
    top: 0px;
    left: 2px;
    font-family: "Poppins";
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
  }
  .block-student-mv {
    position: relative;
  }
  .block-student-mv img {
    width: 100%;
  }
  .block-student-mv ._image2 {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
  }
  .block-student-mv ._title {
    position: absolute;
    top: 4.63%;
    left: 11.11%;
    width: 38.89%;
    height: 70%;
  }
  .block-student-mv ._boxs {
    position: absolute;
    bottom: -30px;
    left: 12.29%;
    z-index: 10;
  }
  .block-student-mv ._dag {
    position: absolute;
    top: 85.38%;
    left: 84.86%;
    width: 13.06%;
    height: 9.5%;
    z-index: 10;
  }
  .block-student-bg {
    position: relative;
  }
  .block-student-bg:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 0 30vw 0;
    background: url(/images/student/bg.jpg) center center;
    background-repeat: repeat;
  }
  .block-pharmacist-mv {
    position: relative;
  }
  .block-pharmacist-mv img {
    width: 100%;
  }
  .block-pharmacist-mv ._image2 {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
  }
  .block-pharmacist-mv ._title {
    position: absolute;
    top: 11%;
    left: 11.11%;
    width: 40.27%;
  }
  .block-pharmacist-mv ._boxs {
    position: absolute;
    bottom: 80px;
    left: 12.29%;
    z-index: 10;
  }
  .block-pharmacist-mv ._dag {
    position: absolute;
    top: 78%;
    left: 84.86%;
    width: 13.06%;
    height: 9.5%;
    z-index: 10;
  }
  .block-pharmacist-bg {
    position: relative;
  }
  .block-pharmacist-bg:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 0 30vw 0;
    background: url(/images/pharmacist/bg.jpg) center center;
    background-repeat: repeat;
  }
  .block-index-day ._pharmacist-deco1 {
    position: absolute;
    top: 600px;
    left: 1002px;
    width: 292px;
  }
  .block-index-day ._pharmacist-deco2 {
    position: absolute;
    top: 791px;
    left: -420px;
    width: 556px;
  }
  .block-index-day ._pharmacist-deco3 {
    position: absolute;
    top: 1282px;
    left: 982px;
    width: 238px;
  }
}
@media screen and (max-width: 767px) {
  .float-cta {
    position: fixed;
    right: 13px;
    bottom: 0;
    background-color: var(--main-color);
    border-radius: 13px 13px 0 0;
    padding: 10px;
    display: flex;
    gap: 3px;
    z-index: 90;
    transition-duration: 0.2s;
    opacity: 0;
    visibility: hidden;
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15);
  }
  body.js-show-float .float-cta {
    opacity: 1;
    visibility: visible;
  }
  .mod-float-cat-item {
    display: block;
    text-align: center;
    cursor: pointer;
  }
  .mod-float-cat-item p {
    margin: 0;
    color: #fff;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.3;
  }
  .mod-float-cat-item:hover ._btn {
    filter: brightness(1.2);
  }
  .mod-float-cat-item ._btn {
    margin-top: 7px;
    display: block;
    font-size: 10px;
    font-weight: 900;
    border-radius: 33px;
    background-color: #ff8;
    color: var(--main-color);
    padding: 7px 11px;
    transition-duration: 0.2s;
    filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.15));
  }
  .mod-float-cat-item ._btn b {
    font-size: 13px;
  }
  .area-footer {
    padding: 40px 0 100px 0;
    display: flex;
    gap: 20px;
    flex-direction: column;
    align-items: center;
  }
  .area-footer ._lead {
    font-size: 14px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    letter-spacing: 0.2em;
  }
  .area-footer ._logo img {
    width: 200px;
  }
  .mod-doc.is-center {
    text-align: center;
  }
  .mod-doc p {
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
  }
  /* ----------------------------------------------------------
  .block-index-mv
  ---------------------------------------------------------- */
  .block-index-mv {
    position: relative;
  }
  .block-index-mv img {
    width: 100%;
  }
  .block-index-mv ._logo {
    position: absolute;
    top: 3%;
    left: 10%;
    width: 80%;
  }
  .block-index-mv ._lead {
    position: absolute;
    top: 40%;
    left: 0;
    right: 0;
  }
  .block-index-mv ._lead p {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .block-index-mv ._lead p span {
    display: block;
    font-size: 14px;
    font-style: normal;
    font-weight: 900;
    line-height: 1.7;
  }
  .block-index-mv ._boxs {
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
  }
  .block-index-mv ._dag {
    position: absolute;
    bottom: 200px;
    right: 10px;
    width: 30%;
  }
  .mod-index-mv-box-items {
    display: flex;
    gap: 5px;
    justify-content: center;
  }
  .mod-index-mv-box-item {
    display: block;
    width: 30.6666666667vw;
    height: 34.6666666667vw;
    border-radius: 3.4666666667vw;
  }
  .mod-index-mv-box-item.is-btn {
    padding: 0 1.8666666667vw;
    background-color: #33AE00;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1px;
    flex-direction: column;
    line-height: 1;
    color: #111;
    text-align: center;
  }
  body .mod-index-mv-box-item.is-btn {
    background-color: var(--main-color);
  }
  body.page-pharmacist .mod-index-mv-box-item.is-btn p {
    color: #fff;
  }
  body .mod-index-mv-box-item.is-btn ._btn {
    background-color: #ff0;
    color: var(--main-color);
  }
  .mod-index-mv-box-item.is-btn ._icon {
    width: 8vw;
    margin: 0 auto;
  }
  .mod-index-mv-box-item.is-btn p {
    margin: 0;
    color: #111;
    font-size: 3.3333333333vw;
    font-style: normal;
    font-weight: 700;
    line-height: 1.3;
  }
  .mod-index-mv-box-item.is-btn ._btn {
    margin-top: 0.8vw;
    display: block;
    width: 100%;
    font-size: 3.7333333333vw;
    font-weight: 900;
    border-radius: 9.0666666667vw;
    background-color: var(--main-color);
    color: #fff;
    padding: 2.6666666667vw 0;
    transition-duration: 0.2s;
    filter: drop-shadow(0 0.5333333333vw 0.5333333333vw rgba(0, 0, 0, 0.15));
  }
  .mod-index-mv-box-item.is-btn ._btn b {
    font-size: 3.7333333333vw;
  }
  .mod-index-mv-box-item.is-price {
    color: #fff;
    background-color: var(--main-color);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.6666666667vw;
    flex-direction: column;
    line-height: 1;
  }
  .mod-index-mv-box-item.is-price ._t1 {
    font-size: 3.7333333333vw;
    font-style: normal;
    font-weight: 500;
  }
  .mod-index-mv-box-item.is-price ._t2 {
    font-size: 3.7333333333vw;
    font-style: normal;
    font-weight: 500;
  }
  .mod-index-mv-box-item.is-price ._t2 b {
    font-size: 7.4666666667vw;
    t-weight: 900;
  }
  .mod-index-mv-box-item.is-price ._t3 {
    font-size: 3.7333333333vw;
    font-style: normal;
    font-weight: 900;
  }
  /* ----------------------------------------------------------
  .block-index-intro
  ---------------------------------------------------------- */
  .block-index-intro {
    padding: 60px 20px;
  }
  .block-index-intro img {
    width: 100%;
  }
  .block-index-intro ._lead {
    position: relative;
  }
  .block-index-intro ._lead p {
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 2.45;
  }
  .block-index-intro ._lead p b {
    background-color: #ff8;
  }
  .block-index-intro ._lead ._p1 {
    display: none;
  }
  .block-index-intro ._lead ._p2 {
    display: none;
  }
  .block-index-intro ._lead ._p3 {
    display: none;
  }
  .block-index-intro ._cols {
    background-color: var(--main-color);
  }
  .block-index-intro ._cols ._col-texts {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .block-index-intro ._cols p {
    color: #FFF;
    padding: 20px 0;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.8;
  }
  .block-index-intro ._cols p b {
    color: #FF0;
  }
  /* ----------------------------------------------------------
  .block-index-feature
  ---------------------------------------------------------- */
  .block-index-feature {
    padding: 60px 20px;
    background-color: #111;
    background: url(/images/index/feature/bg.svg) center top no-repeat;
    background-size: cover;
  }
  .block-index-feature ._box {
    padding: 55px 45px;
    background-color: #fff;
  }
  .mod-index-feature-items {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .mod-index-feature-item {
    display: flex;
    gap: 10px;
    flex-direction: column;
  }
  .mod-index-feature-item ._item-image {
    text-align: center;
  }
  .mod-index-feature-item ._item-image img {
    width: 75px;
  }
  .mod-index-feature-item ._item-texts {
    display: flex;
    gap: 10px;
    flex-direction: column;
  }
  .mod-index-feature-item ._item-texts h3 {
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    text-align: center;
  }
  .block-index-bg {
    position: relative;
  }
  .block-index-bg:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 0 30vw 0;
    background: url(/images/index/bg.jpg) center center;
    background-repeat: repeat;
  }
  /* ----------------------------------------------------------
  .block-index-day
  ---------------------------------------------------------- */
  .block-index-day img {
    width: 100%;
  }
  .block-index-day .block-inner {
    padding: 60px 0;
    position: relative;
  }
  .block-index-day ._deco1 {
    display: none;
  }
  .block-index-day ._deco2 {
    display: none;
  }
  .block-index-day ._deco3 {
    display: none;
  }
  .block-index-day ._deco4 {
    display: none;
  }
  .block-index-day ._student-deco3 {
    display: none;
  }
  .block-index-day ._student-deco2 {
    display: none;
  }
  .block-index-day ._student-deco1 {
    display: none;
  }
  .block-index-day ._box {
    position: relative;
    margin: 0 auto;
    margin-top: 150px;
    margin-left: 20px;
    background-color: #fff;
    padding: 50px 20px 20px 20px;
    filter: drop-shadow(0 2px 13px rgba(0, 0, 0, 0.07));
  }
  .block-index-day ._box ._prof {
    position: absolute;
    top: -130px;
    left: calc(50vw - 120px);
    width: 240px;
  }
  .block-index-day ._prof-cols {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .block-index-day ._prof-cols ._col-name {
    display: flex;
    gap: 10px;
    flex-direction: column;
    text-align: center;
  }
  .block-index-day ._prof-cols ._col-name ._clip {
    width: 21px;
    margin: 0 auto;
  }
  .block-index-day ._prof-cols ._col-name ._name {
    font-size: 20px;
    font-style: normal;
    font-weight: 900;
  }
  .block-index-day ._prof-cols ._col-name ._spec {
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
  }
  .block-index-day ._prof-cols ._col-points {
    padding: 13px 0 0 20px;
  }
  .block-index-day ._comment {
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
  }
  .mod-index-day-list {
    display: flex;
    gap: 10px;
    flex-direction: column;
  }
  .mod-index-day-list li {
    font-size: 14px;
    font-style: normal;
    font-weight: 900;
    line-height: 1.2;
    padding: 3px 0 3px 27px;
    position: relative;
  }
  .mod-index-day-list li:after {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    background: url(/images/index/day/icon-check.svg) left top no-repeat;
    background-size: contain;
    width: 21px;
    height: 21px;
  }
  .mod-index-day-items li {
    padding: 8px 0;
    border-bottom: 1px solid #CCC;
  }
  .mod-index-day-items li:nth-child(1) {
    padding-top: 0;
  }
  .mod-index-day-item {
    display: flex;
    gap: 7px;
    position: relative;
  }
  .mod-index-day-item ._item-date {
    width: 100px;
  }
  .mod-index-day-item ._item-date ._date {
    color: #CCC;
    font-family: Poppins;
    font-size: 27px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }
  .mod-index-day-item ._item-date ._event {
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
  }
  .mod-index-day-item ._item-texts {
    flex: 1;
    padding: 7px 0 0;
  }
  .block-index-last ._box {
    position: relative;
    background-color: #fff;
    padding: 40px 20px;
    filter: drop-shadow(0 2px 13px rgba(0, 0, 0, 0.07));
  }
  .block-index-last ._cols {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .mod-index-title {
    text-align: center;
    display: flex;
    gap: 15px;
    flex-direction: column;
  }
  .mod-index-title ._en {
    color: var(--main-color);
    font-family: Poppins;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }
  .mod-index-title h2 {
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }
  .mod-index-title h2 b {
    display: inline-block;
    color: #FFF;
    padding: 3px 7px;
    background-color: var(--main-color);
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin: 0 7px;
  }
  .mod-index-title ._logo {
    display: inline-block;
    width: 207px;
    vertical-align: middle;
    margin: 0 7px;
    transform: translate(0, -2px);
  }
  .mod-dl-price {
    display: flex;
    align-items: center;
    background-color: var(--main-color);
    color: #fff;
    margin: 0;
    padding: 17px 17px;
    border-radius: 7px;
  }
  .mod-dl-price dt {
    width: 70px;
    margin: 0;
  }
  .mod-dl-price dd {
    flex: 1;
    margin: 0;
  }
  .mod-dl-price dt {
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
  }
  .mod-dl-price dd {
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.4;
  }
  .mod-dl-price dd.is-t {
    font-size: 14px;
    font-style: normal;
    font-weight: 900;
  }
  .mod-dl-price dd b {
    font-size: 27px;
    font-style: normal;
    font-weight: 700;
  }
  .mod-faq {
    background-color: #F8F8F8;
    padding: 20px;
    display: flex;
    border-radius: 7px;
    gap: 7px;
    flex-direction: column;
  }
  .mod-faq ._head {
    position: relative;
    cursor: pointer;
    font-weight: bold;
    font-size: 14px;
    line-height: 2;
    color: #146097;
    padding: 0 0 0 33px;
  }
  .mod-faq ._head:after {
    content: "Q";
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    font-family: "Poppins";
    font-size: 27px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
  }
  .mod-faq ._body {
    position: relative;
    padding: 0 0 0 33px;
  }
  .mod-faq ._body:after {
    content: "A";
    display: block;
    position: absolute;
    top: 0px;
    left: 1px;
    font-family: "Poppins";
    font-size: 27px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
  }
  /* ----------------------------------------------------------
  .block-student-mv
  ---------------------------------------------------------- */
  .block-student-mv {
    position: relative;
  }
  .block-student-mv img {
    width: 100%;
  }
  .block-student-mv ._title {
    position: absolute;
    top: 3%;
    left: 10%;
    right: 10%;
  }
  .block-student-mv ._boxs {
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
  }
  .block-student-mv ._dag {
    position: absolute;
    bottom: 200px;
    right: 10px;
    width: 30%;
  }
  .block-student-bg {
    position: relative;
  }
  .block-student-bg:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 0 30vw 0;
    background: url(/images/student/bg.jpg) center center;
    background-repeat: repeat;
  }
  /* ----------------------------------------------------------
  .block-pharmacist-mv
  ---------------------------------------------------------- */
  .block-pharmacist-mv {
    position: relative;
  }
  .block-pharmacist-mv img {
    width: 100%;
  }
  .block-pharmacist-mv ._title {
    position: absolute;
    top: 3%;
    left: 10%;
    right: 10%;
  }
  .block-pharmacist-mv ._boxs {
    position: absolute;
    bottom: 70px;
    left: 0;
    right: 0;
  }
  .block-pharmacist-mv ._dag {
    position: absolute;
    bottom: 220px;
    right: 10px;
    width: 30%;
  }
  .block-pharmacist-bg {
    position: relative;
  }
  .block-pharmacist-bg:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 0 30vw 0;
    background: url(/images/pharmacist/bg.jpg) center center;
    background-repeat: repeat;
  }
  .block-index-day ._pharmacist-deco1 {
    display: none;
  }
  .block-index-day ._pharmacist-deco2 {
    display: none;
  }
  .block-index-day ._pharmacist-deco3 {
    display: none;
  }
}

.lineheight{
	line-height:1.9em;
}

footer{
	line-height:1.9em;
}