@charset "UTF-8";
/*=======================================
	breakpoint
=======================================*/
/*=======================================
	hover
=======================================*/
/*=======================================
	中央配置
=======================================*/
/*=======================================
	可変レスポンシブ
=======================================*/
/* PC */
/* TB */
/* SP */
/*=======================================
	ブラウザ別
=======================================*/
/* Safari */
/* Firefox */
/*-------------------------
▼ 共通
- ttl
- txt

▼ 資料ダウンロード扉・専用ページ
- download_sec
- login_nav

▼ ログインページ
- login_sec

▼ 専用ページ
- intro_sec
- movie_sec
-------------------------*/
/* 共通
--------------------------------------------------------- */
main .download_sec .inner {
  max-width: 1000px;
}

.cmn_ttl02 {
  margin-bottom: 44px;
}
@media screen and (max-width: 768px) {
  .cmn_ttl02 {
    margin-bottom: 22px;
  }
}

.cmn_txt01 {
  margin-bottom: 70px;
}
@media screen and (max-width: 768px) {
  .cmn_txt01 {
    margin-bottom: 35px;
  }
}

.download_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 30px;
  padding: 25px 30px;
  border-bottom: 1px dotted var(--main_green);
}
@media screen and (max-width: 768px) {
  .download_list li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    padding: 20px 0;
  }
}
.download_list li:first-child {
  padding-top: 0;
}
.download_list li .ttl {
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.1em;
  line-height: 1.636;
  color: #333;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .download_list li .ttl {
    font-size: 17px;
  }
}

/* 資料ダウンロード扉・専用ページ
--------------------------------------------------------- */
/*=======================================
　download_sec
=======================================*/
.download_sec {
  margin-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .download_sec {
    margin-bottom: 60px;
  }
}
.download_sec .inner {
  position: relative;
}
.download_sec .inner .ab_img {
  position: absolute;
  top: -28px;
  right: 16.7%;
  width: 14.5%;
}
@media screen and (max-width: 768px) {
  .download_sec .inner .ab_img {
    top: -15px;
    right: 10%;
    width: 20%;
  }
}
@media only screen and (max-width: 375px) {
  .download_sec .inner .ab_img {
    right: 5%;
  }
}

/*=======================================
　login_nav
=======================================*/
.login_nav .inner .btn_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 640px) {
  .login_nav .inner .btn_area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px 0;
  }
}
.login_nav .inner .btn_area .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 46.33%;
  height: 166px;
}
@media screen and (max-width: 1024px) {
  .login_nav .inner .btn_area .btn {
    height: 100px;
  }
}
@media screen and (max-width: 640px) {
  .login_nav .inner .btn_area .btn {
    width: 100%;
  }
}
.login_nav .inner .btn_area .btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px dotted var(--main_green);
  border-radius: 15px;
  width: 100%;
  height: 100%;
}
.login_nav .inner .btn_area .btn a > span.left, .login_nav .inner .btn_area .btn a > span.right {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.login_nav .inner .btn_area .btn a > span.left span, .login_nav .inner .btn_area .btn a > span.right span {
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.1em;
  line-height: 1.272;
}
@media screen and (max-width: 1024px) {
  .login_nav .inner .btn_area .btn a > span.left span, .login_nav .inner .btn_area .btn a > span.right span {
    font-size: 17px;
  }
}
.login_nav .inner .btn_area .btn a > span.left {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-radius: 15px 0 0 15px;
  padding: 0 32px;
}
@media screen and (max-width: 768px) {
  .login_nav .inner .btn_area .btn a > span.left {
    padding: 0 25px;
  }
}
@media screen and (max-width: 768px) {
  .login_nav .inner .btn_area .btn a > span.left span .sp {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .login_nav .inner .btn_area .btn a > span.left span .sp {
    display: inline-block;
  }
}
.login_nav .inner .btn_area .btn a > span.right {
  width: 162px;
  color: #fff;
  border-radius: 0 15px 15px 0;
  background: var(--main_green);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
@media screen and (max-width: 1024px) {
  .login_nav .inner .btn_area .btn a > span.right {
    width: 125px;
  }
}
.login_nav .inner .btn_area .btn a > span.right span {
  position: relative;
  padding-right: 44px;
}
@media screen and (max-width: 1024px) {
  .login_nav .inner .btn_area .btn a > span.right span {
    padding-right: 30px;
  }
}
.login_nav .inner .btn_area .btn a > span.right span::before, .login_nav .inner .btn_area .btn a > span.right span::after {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  position: absolute;
  top: calc(50% - 10.5px);
  right: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
@media screen and (max-width: 1024px) {
  .login_nav .inner .btn_area .btn a > span.right span::before, .login_nav .inner .btn_area .btn a > span.right span::after {
    width: 20px;
    height: 20px;
  }
}
.login_nav .inner .btn_area .btn a > span.right span::before {
  background: #fff;
  border: 1px solid var(--main_green);
  border-radius: 50vw;
}
.login_nav .inner .btn_area .btn a > span.right span::after {
  background: url("../img/common/arrow01.svg") no-repeat;
  background-size: 10px;
  background-position: center;
}
@media screen and (max-width: 1024px) {
  .login_nav .inner .btn_area .btn a > span.right span::after {
    background-size: 6px;
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  .login_nav .inner .btn_area .btn a:hover > span.right {
    color: var(--main_green);
    background: #fff;
  }
  .login_nav .inner .btn_area .btn a:hover > span.right span::before, .login_nav .inner .btn_area .btn a:hover > span.right span::after {
    -webkit-transform: scale(1.23);
            transform: scale(1.23);
  }
  .login_nav .inner .btn_area .btn a:hover > span.right span::before {
    background: var(--main_green);
  }
  .login_nav .inner .btn_area .btn a:hover > span.right span::after {
    -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(6%) saturate(0%) hue-rotate(323deg) brightness(105%) contrast(106%);
            filter: brightness(0) saturate(100%) invert(100%) sepia(6%) saturate(0%) hue-rotate(323deg) brightness(105%) contrast(106%);
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  .login_nav .inner .btn_area .btn a:hover > span.right {
    color: var(--main_green);
    background: #fff;
  }
  .login_nav .inner .btn_area .btn a:hover > span.right span::before, .login_nav .inner .btn_area .btn a:hover > span.right span::after {
    -webkit-transform: scale(1.23);
            transform: scale(1.23);
  }
  .login_nav .inner .btn_area .btn a:hover > span.right span::before {
    background: var(--main_green);
  }
  .login_nav .inner .btn_area .btn a:hover > span.right span::after {
    -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(6%) saturate(0%) hue-rotate(323deg) brightness(105%) contrast(106%);
            filter: brightness(0) saturate(100%) invert(100%) sepia(6%) saturate(0%) hue-rotate(323deg) brightness(105%) contrast(106%);
  }
}
.login_nav .inner .btn_area .btn.patient a span.left {
  background: var(--base_beige);
}
.login_nav .inner .btn_area .btn.medical a span.left {
  background: #E5F5E3;
}

/* ログインページ
--------------------------------------------------------- */
/*=======================================
　login_sec
=======================================*/
.login_sec .inner .login_box {
  text-align: center;
  max-width: 505px;
  background: #e5f5e3;
  border: 1px dashed var(--main_green);
  margin: 0 auto;
  border-radius: 15px;
  padding: 91px 0;
}
@media screen and (max-width: 768px) {
  .login_sec .inner .login_box {
    padding: 45px 0;
  }
}
.login_sec .inner .login_box .cmn_ttl03 {
  margin-bottom: 22px;
}
@media screen and (max-width: 768px) {
  .login_sec .inner .login_box .cmn_ttl03 {
    margin-bottom: 10px;
  }
}
.login_sec .inner .login_box .cmn_txt02 {
  margin-bottom: 58px;
}
@media screen and (max-width: 768px) {
  .login_sec .inner .login_box .cmn_txt02 {
    margin-bottom: 30px;
  }
}
.login_sec .inner .login_box .error_txt {
  margin-bottom: 10px;
  color: #dc3232;
  font-size: 14px;
  font-weight: bold;
  display: block;
}
@media screen and (max-width: 768px) {
  .login_sec .inner .login_box .error_txt {
    font-size: 13px;
  }
}
.login_sec .inner .login_box dl {
  margin-bottom: 45px;
}
@media screen and (max-width: 768px) {
  .login_sec .inner .login_box dl {
    margin-bottom: 30px;
  }
}
.login_sec .inner .login_box dl dt {
  width: 164px;
  height: 30px;
  margin: 0 auto 22px;
}
@media screen and (max-width: 768px) {
  .login_sec .inner .login_box dl dt {
    width: 140px;
    height: 25px;
    margin-bottom: 10px;
  }
}
.login_sec .inner .login_box dl dt label {
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.08em;
  color: #fff;
  background: #54b782;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 5px;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .login_sec .inner .login_box dl dt label {
    font-size: 16px;
  }
}
.login_sec .inner .login_box dl dd input[type=password] {
  width: 385px;
  height: 54px;
  padding: 0 21.5px;
  background: #fff;
  border: 1px solid var(--main_green);
  text-align: left;
}
@media screen and (max-width: 768px) {
  .login_sec .inner .login_box dl dd input[type=password] {
    width: 250px;
    height: 45px;
    padding: 0 0.5em;
  }
}
@media screen and (max-width: 768px) {
  .login_sec .inner .login_box dl dd ::-webkit-input-placeholder {
    font-size: 13px;
  }
  .login_sec .inner .login_box dl dd ::-moz-placeholder {
    font-size: 13px;
  }
  .login_sec .inner .login_box dl dd :-ms-input-placeholder {
    font-size: 13px;
  }
  .login_sec .inner .login_box dl dd ::-ms-input-placeholder {
    font-size: 13px;
  }
  .login_sec .inner .login_box dl dd ::placeholder {
    font-size: 13px;
  }
}
.login_sec .inner .submit_btnarea .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 15px;
  position: relative;
  background-position: 1% 50% !important;
  background-size: 200% auto !important;
  background: var(--main_green);
  max-width: 308px;
  width: 100%;
  height: 68px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-bottom: none;
  color: #fff;
  text-align: left;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .login_sec .inner .submit_btnarea .btn {
    max-width: 191px;
    height: 47px;
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  .login_sec .inner .submit_btnarea .btn:hover {
    color: var(--main_green);
    background: #fff;
    cursor: pointer;
  }
  .login_sec .inner .submit_btnarea .btn:hover::before, .login_sec .inner .submit_btnarea .btn:hover::after {
    -webkit-transform: scale(1.21);
            transform: scale(1.21);
  }
  .login_sec .inner .submit_btnarea .btn:hover::before {
    background: var(--main_green);
  }
  .login_sec .inner .submit_btnarea .btn:hover::after {
    -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(6%) saturate(0%) hue-rotate(323deg) brightness(105%) contrast(106%);
            filter: brightness(0) saturate(100%) invert(100%) sepia(6%) saturate(0%) hue-rotate(323deg) brightness(105%) contrast(106%);
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  .login_sec .inner .submit_btnarea .btn:hover {
    color: var(--main_green);
    background: #fff;
    cursor: pointer;
  }
  .login_sec .inner .submit_btnarea .btn:hover::before, .login_sec .inner .submit_btnarea .btn:hover::after {
    -webkit-transform: scale(1.21);
            transform: scale(1.21);
  }
  .login_sec .inner .submit_btnarea .btn:hover::before {
    background: var(--main_green);
  }
  .login_sec .inner .submit_btnarea .btn:hover::after {
    -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(6%) saturate(0%) hue-rotate(323deg) brightness(105%) contrast(106%);
            filter: brightness(0) saturate(100%) invert(100%) sepia(6%) saturate(0%) hue-rotate(323deg) brightness(105%) contrast(106%);
  }
}
.login_sec .inner .submit_btnarea .btn.cmn_link01 {
  border: solid 1px var(--main_green);
}
.login_sec .inner .submit_btnarea .btn.cmn_link01::before, .login_sec .inner .submit_btnarea .btn.cmn_link01::after {
  top: calc(50% - 12px);
  right: 20px;
  z-index: 1;
  width: 25px;
  height: 25px;
}
@media screen and (max-width: 768px) {
  .login_sec .inner .submit_btnarea .btn.cmn_link01::before, .login_sec .inner .submit_btnarea .btn.cmn_link01::after {
    top: calc(50% - 10px);
    width: 18px;
    height: 18px;
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  .login_sec .inner .submit_btnarea .btn.cmn_link01::before:hover, .login_sec .inner .submit_btnarea .btn.cmn_link01::after:hover {
    color: var(--main_green);
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  .login_sec .inner .submit_btnarea .btn.cmn_link01::before:hover, .login_sec .inner .submit_btnarea .btn.cmn_link01::after:hover {
    color: var(--main_green);
  }
}
.login_sec .inner .submit_btnarea .btn input {
  -webkit-appearance: none; /*iOS Safariのデフォルトスタイルをクリア*/
  border-style: none; /*PCブラウザのデフォルトのボーダーをトル*/
  background: none;
  letter-spacing: 0.08em;
  line-height: 24px;
  cursor: pointer;
  width: 100%;
  height: 100%;
  font-size: 17px;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 768px) {
  .login_sec .inner .submit_btnarea .btn input {
    font-size: 14px;
  }
}
.login_sec .inner .submit_btnarea .btn p {
  width: 100%;
  padding: 0 28px;
}

/* 専用ページ
--------------------------------------------------------- */
/*=======================================
　intro_sec
=======================================*/
.intro_sec {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .intro_sec {
    margin-bottom: 40px;
  }
}

/*=======================================
　movie_sec
=======================================*/
.movie_sec {
  margin-bottom: 130px;
}
@media screen and (max-width: 768px) {
  .movie_sec {
    margin-bottom: 65px;
  }
}
.movie_sec .caution_txt01 {
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.08em;
  line-height: 1.777;
  color: #dd6a51;
  padding-left: 44px;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 105px;
}
@media screen and (max-width: 768px) {
  .movie_sec .caution_txt01 {
    margin-bottom: 50px;
    font-size: 16px;
    padding-left: 40px;
  }
}
@media screen and (max-width: 768px) {
  .movie_sec .caution_txt01 br {
    display: none;
  }
}
@media only screen and (max-width: 390px) {
  .movie_sec .caution_txt01 br {
    display: inline-block;
  }
}
.movie_sec .caution_txt01::before {
  content: "";
  background: url("../img/common/icon_caution.svg") no-repeat;
  background-size: cover;
  position: absolute;
  top: -0.1em;
  left: 0;
  width: 36px;
  height: 36px;
}
@media screen and (max-width: 768px) {
  .movie_sec .caution_txt01::before {
    width: 30px;
    height: 30px;
  }
}
.movie_sec .movie_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 84px 0;
}
@media screen and (max-width: 768px) {
  .movie_sec .movie_wrap {
    gap: 42px 0;
  }
}
.movie_sec .movie_wrap .movie {
  width: 569px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .movie_sec .movie_wrap .movie {
    width: 100%;
  }
}
.movie_sec .movie_wrap .movie .cmn_copy01 {
  margin-bottom: 21px;
}
@media screen and (max-width: 768px) {
  .movie_sec .movie_wrap .movie .cmn_copy01 {
    margin-bottom: 10.5px;
  }
}
.movie_sec .movie_wrap .movie iframe {
  width: 100%;
  aspect-ratio: 16/9;
}/*# sourceMappingURL=download.css.map */