@charset "UTF-8";
html, body, h1, h2, h3, h4, h5, h6, blockquote, ul, ol, li, dl, dt, dd, figure, figcaption, form, fieldset, legend, p, pre, code {
  margin: 0;
  padding: 0;
}

@media only screen and (max-width: 767px) {
  html {
    font-size: 62.5%;
  }
}
*,
* ::before,
* ::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

ul, ol {
  list-style-type: none;
}

hr {
  display: none;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  font-style: italic;
  vertical-align: bottom;
}

em {
  font-style: normal;
}

table {
  border-collapse: collapse;
}

.alCenter {
  text-align: center;
}

.alRight {
  text-align: right;
}

button {
  border: none;
  padding: 0;
  background-color: transparent;
  cursor: pointer;
}

fieldset {
  border: none;
}

:root {
  --pink1: #CB386D;
  --pink2: #FFA7AD;
  --pink3: #FFDBDB;
  --pink4: #FEF3EF;
  --yellow1: #FFC874;
  --yellow2: #FCA92E;
  --transition1: 0.3s ease-out;
  --transition2: 0.8s ease-out 0.5s;
}

@media print, screen and (min-width: 768px) {
  .disp-sp {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .disp-pc {
    display: none;
  }
}
@media only screen and (min-width: 1024px) {
  .disp-sptab {
    display: none;
  }
}
.visually-hidden {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
}

body {
  background-color: #fff;
  font-size: 1em;
  color: #333;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
}
@media only screen and (max-width: 767px) {
  body {
    padding-bottom: 15.8974358974vw;
  }
}

footer {
  min-height: 150px;
}

main {
  font-size: 18px;
  width: 100%;
  min-height: 120vh;
  line-height: 1.7;
  background-color: #fcfbf9;
  background-repeat: repeat-y, no-repeat;
}
@media print, screen and (min-width: 768px) {
  main {
    padding: 160px 0 140px;
    background-image: url(/hrt/common/images/bg_inner_pc.png), url(/hrt/common/images/bg_main_pc.png);
    background-position: center 420px, 0 0;
    background-size: 1200px auto, 100% auto;
    background-attachment: scroll, fixed;
  }
  main:has(.bgwhite) {
    padding: 160px 40px 140px;
  }
  main .inner {
    padding: 0;
    max-width: 910px;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
  }
  main .inner.bgwhite {
    padding: 0 40px;
    background-color: #fff;
    -webkit-box-shadow: 0px 4px 60px rgba(127, 47, 13, 0.02);
    box-shadow: 0px 4px 60px rgba(127, 47, 13, 0.02);
    border-radius: 100px;
    padding: 90px 95px;
  }
  main .inner.topinner {
    max-width: 1180px;
    background-color: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
    margin-top: 0;
  }
  main.fontlrg {
    font-size: 130%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  main {
    padding: 100px 0;
  }
}
@media only screen and (max-width: 767px) {
  main {
    font-size: clamp(1.6em, 2.6vw, 18px);
    padding: 21.0256410256vw 0 20.5128205128vw;
    background-position: 0 51.2820512821vw, 0 0;
    background-image: url(/hrt/common/images/bg_inner_sp.png), url(/hrt/common/images/bg_main_sp.png);
    background-repeat: repeat-y, no-repeat;
    background-size: 100% auto, 100% auto;
    background-attachment: scroll, fixed;
  }
  main .inner {
    width: 89.7%;
    margin: 7.6923076923vw auto 0;
    padding: 0;
  }
  main .inner.bgwhite {
    background-color: #fff;
    -webkit-box-shadow: 0px 4px 28px rgba(127, 47, 13, 0.02);
    box-shadow: 0px 4px 28px rgba(127, 47, 13, 0.02);
    border-radius: 16.4102564103vw;
    padding: 12.8205128205vw 5.1282051282vw;
  }
  main .inner.topinner {
    background-color: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
  }
}

nav.topicpath {
  width: 100%;
}
nav.topicpath ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
nav.topicpath ol li:not(:first-child)::before {
  content: "";
  display: inline-block;
  margin: 0 0.5em;
}
nav.topicpath ol li a[aria-current=page] {
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  nav.topicpath {
    max-width: 1230px;
    margin: 0 auto;
    padding: 30px 40px;
    font-size: 14px;
  }
  nav.topicpath ol li:not(:first-child)::before {
    width: 0.6em;
    height: 0.6em;
    border-top: 2px solid #CB386D;
    border-right: 2px solid #CB386D;
    -webkit-transform: rotate(45deg) translateX(-0.2em);
    transform: rotate(45deg) translateX(-0.2em);
  }
  nav.topicpath ol li a:not([aria-current=page]):hover {
    background-color: #FFDBDB;
  }
}
@media only screen and (max-width: 767px) {
  nav.topicpath {
    padding: 5.1282051282vw;
    font-size: 3.3333333333vw;
  }
  nav.topicpath ol li:not(:first-child)::before {
    width: 0.6em;
    height: 0.6em;
    border-top: 1.5px solid #CB386D;
    border-right: 1.5px solid #CB386D;
    -webkit-transform: rotate(45deg) translateX(-0.1em);
    transform: rotate(45deg) translateX(-0.1em);
  }
}

@media only screen and (max-width: 1023px) {
  body.-navi-open header::after {
    content: "";
    width: 100vw;
    height: 106vh;
    background-color: rgba(0, 0, 0, 0.2);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
  }
}
@media only screen and (min-width: 1024px) {
  body.-pcmenu-open .pcmenu-overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2);
    z-index: 4;
  }
}
.pcmenu-overlay {
  display: none;
}

header {
  -webkit-box-shadow: 0px 4px 8px rgba(127, 47, 13, 0.1);
  box-shadow: 0px 4px 8px rgba(127, 47, 13, 0.1);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  header {
    height: 160px;
    z-index: 5;
  }
  header .inner {
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  header .header_title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px 0 20px 20px;
  }
  header .header_title img {
    width: 338px;
  }
  header .header_title p.tagline {
    font-size: 0.85rem;
    color: #333;
    margin-left: 20px;
    letter-spacing: 0.1em;
  }
  header .header_util {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px 20px 20px 0;
  }
  header .header_util dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 10px;
  }
  header .header_util dl dt {
    text-align: center;
    width: 100%;
    font-size: 0.76rem;
    padding-bottom: 3px;
  }
  header .header_util dl dd {
    width: 50%;
  }
  header .header_util dl.fsize {
    width: 100px;
    min-width: 100px;
  }
  header .header_util dl.fsize dd {
    width: 40px;
    margin: 0 5px;
  }
  header .header_util dl.fsize a {
    display: block;
    width: 40px;
    height: 40px;
    padding: 12px 0;
    font-size: 0.9rem;
    line-height: 0.9;
    border: 2px solid #ddd;
    border-radius: 50%;
    text-decoration: none;
    text-align: center;
    color: #333;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
  header .header_util dl.fsize a:hover, header .header_util dl.fsize a.current {
    border: 2px solid #333;
    background-color: #333;
    color: #fff;
  }
  header .header_util dl.share {
    width: 92px;
    min-width: 92px;
  }
  header .header_util dl.share dd {
    width: 36px;
    margin: 0 5px;
  }
  header .header_util a.btn_cv {
    width: 250px;
    background-size: 24px;
    font-size: 0.6em;
    padding: 10.5px 16px 10.5px 40px;
    border-radius: 40px;
  }
  header .header_util a.btn_cv img.logo_q {
    width: 49px;
  }
  header .header_util a.btn_cv img.icon_blank {
    vertical-align: middle;
  }
  header .header_util .hisamitsu_logo {
    display: inline-block;
    height: 36px;
    padding-left: 13px;
    border-left: 1px solid #ddd;
  }
  header .header_util .hisamitsu_logo img {
    width: 100px;
    min-width: 100px;
    vertical-align: bottom;
  }
}
@media only screen and (min-width: 1024px) and (max-width: 1182px) {
  header .header_util .fsize, header .header_util .share {
    display: none;
  }
  header .header_util .hisamitsu_logo {
    margin-left: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  header {
    height: auto;
  }
  header .header_util .fsize, header .header_util .cvBtn, header .header_util .share {
    display: none;
  }
  header .header_util .hisamitsu_logo {
    padding-left: 0;
    border-left: none;
    padding-right: 34px;
  }
}
@media only screen and (min-width: 1024px) {
  header .btnwrap,
  header button#btn_menuOpen {
    display: none;
  }
}
@media only screen and (max-width: 1023px) {
  header .btnwrap {
    width: 0;
    position: relative;
    overflow-x: visible;
  }
  header button#btn_menuOpen,
  header button#btn_menuClose {
    background-size: 20px auto;
    color: #000;
    padding-top: 20px;
  }
  header button#btn_menuOpen {
    background: url(/hrt/common/images/btn_spmenu.svg) no-repeat center top;
    position: absolute;
    top: 10px;
    right: 10px;
  }
  header button#btn_menuClose {
    background: url(/hrt/common/images/btn_spmenu_close.svg) no-repeat center top;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  header button#btn_menuOpen,
  header button#btn_menuClose {
    background-size: 30px auto;
    padding-top: 30px;
  }
  header button#btn_menuOpen {
    top: 30px;
    right: 30px;
  }
}
@media only screen and (max-width: 767px) {
  header {
    height: 23.0769230769vw;
    padding: 2.5641025641vw 5.1282051282vw;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
    z-index: 10;
  }
  header .header_title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    font-size: 0.86rem;
    padding-bottom: 3.8461538462vw;
  }
  header .header_title img.site_logo {
    width: 51.2820512821vw;
    margin-top: 2.5641025641vw;
  }
  header .header_title p.tagline {
    font-size: 2.8vw;
    line-height: 1.3;
  }
  header .header_title .hisamitsu_logo img {
    float: right;
    width: 32.8205128205vw;
    margin-top: -2.5641025641vw;
  }
  header .header_util {
    display: none;
  }
  header .btnwrap {
    position: absolute;
    right: 4.6153846154vw;
    bottom: 12.8205128205vw;
  }
  header button#btn_menuOpen,
  header button#btn_menuClose {
    background-size: 5.1282051282vw auto;
    padding-top: 5.1282051282vw;
  }
  header.small {
    top: -10.7692307692vw;
  }
  header.small .gnavi {
    top: 10.7692307692vw;
  }
}
header .gnavi a {
  color: #333;
  text-decoration: none;
  line-height: 1.2;
}
@media only screen and (min-width: 1024px) {
  header .gnavi {
    background-color: #FFA7AD;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  header .gnavi .closebtn {
    display: none;
  }
}
@media only screen and (max-width: 1023px) {
  header .gnavi {
    position: absolute;
    top: 0;
    z-index: 12;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
    width: 87.1794871795vw;
    height: 100vh;
    height: 100dvh;
    background-color: #F6F3EF;
    overflow-y: scroll;
    padding: 0 4.1025641026vw 15.3846153846vw 4.1025641026vw;
  }
  header .gnavi[aria-hidden=true] {
    right: -100%;
  }
  header .gnavi[aria-hidden=false] {
    right: 0;
  }
  header .gnavi .closebtn {
    text-align: right;
    padding: 5.1282051282vw 0 0 0;
  }
  header .gnavi dl.share {
    position: absolute;
    top: 3.0769230769vw;
    left: 4.1025641026vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
    font-size: 15px;
  }
  header .gnavi dl.share dt {
    margin-right: 2.5641025641vw;
    font-size: 3.2vw;
  }
  header .gnavi dl.share dd {
    margin: 0 2.5641025641vw;
  }
  header .gnavi dl.share dd {
    width: 9.2307692308vw;
    height: 9.2307692308vw;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  header .gnavi {
    width: 45vw;
    padding: 0 4.1025641026vw 12.8205128205vw 4.1025641026vw;
  }
  header .gnavi .closebtn {
    padding: 3.8461538462vw 0 0 0;
  }
  header .gnavi dl.share {
    width: 75%;
  }
  header .gnavi dl.share dt {
    font-size: 2.4vw;
  }
  header .gnavi dl.share dd {
    margin: 0 0.7692307692vw;
    width: 5.1282051282vw;
    height: 5.1282051282vw;
  }
}
header .gnavi_lv1 li a {
  background-repeat: no-repeat;
}
@media only screen and (min-width: 1024px) {
  header .gnavi_lv1 {
    max-width: 1160px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 17px;
  }
  header .gnavi_lv1 li.gnavi1 a {
    background-image: url(/hrt/common/images/icon_cat1_w.svg);
  }
  header .gnavi_lv1 li.gnavi2 a {
    background-image: url(/hrt/common/images/icon_cat2_w.svg);
  }
  header .gnavi_lv1 li.gnavi3 a {
    background-image: url(/hrt/common/images/icon_cat3_w.svg);
  }
  header .gnavi_lv1 li.gnavi4 a {
    background-image: url(/hrt/common/images/icon_cat4_w.svg);
  }
  header .gnavi_lv1 li.gnavi5 a {
    background-image: url(/hrt/common/images/icon_cat5_w.svg);
  }
  header .gnavi_lv1 li.gnavi6 a {
    background-image: url(/hrt/common/images/icon_cat6_w.svg);
  }
  header .gnavi_lv1 li a {
    display: block;
    padding: 18px 16px 18px 50px;
    background-size: 24px auto;
    background-position: 16px center;
  }
  header .gnavi_lv1 li a:hover, header .gnavi_lv1 li a.current {
    background-color: #CB386D;
    color: #fff;
  }
  header .gnavi_lv1 li:has(.lv2) a::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    vertical-align: middle;
    background: url(/hrt/common/images/icon_tri1.svg) no-repeat center center;
    background-size: 100% auto;
    margin-left: 4px;
  }
  header .gnavi_lv1 li .lv2 {
    width: 100%;
    position: absolute;
    left: 0;
    top: 100%;
    background-color: #F6F3EF;
    -webkit-box-shadow: 0px 4px 8px rgba(127, 47, 13, 0.1);
    box-shadow: 0px 4px 8px rgba(127, 47, 13, 0.1);
    display: none;
  }
  header .gnavi_lv1 li .lv2 .inner {
    max-width: 1100px;
    width: 80%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 0 auto;
    padding: 50px 30px;
  }
  header .gnavi_lv1 li .lv2 .inner dl {
    width: 370px;
    margin-right: 100px;
  }
  header .gnavi_lv1 li .lv2 .inner dl dt {
    color: #CB386D;
    font-size: 28px;
    margin-bottom: 15px;
  }
  header .gnavi_lv1 li .lv2 .inner ul li:not(:last-child) {
    margin-bottom: 1em;
  }
  header .gnavi_lv1 li .lv2 .inner ul li a {
    display: inline-block;
    background-image: url(/hrt/common/images/bullet01.svg);
    background-repeat: no-repeat;
    background-position: 98% center;
    background-size: 19px auto;
    padding: 3px 16px 3px 3px;
    font-weight: bold;
    font-size: 19px;
  }
  header .gnavi_lv1 li .lv2 .inner ul li a::after {
    content: "";
    background: none;
  }
  header .gnavi_lv1 li .lv2 .inner ul li a:hover {
    background-color: #FFDBDB;
    color: #333;
  }
  header .gnavi_lv1 li .lv2 a.pc_menuClose {
    background-color: #DDC59D;
    background-image: none;
    text-align: center;
    padding: 15px;
    cursor: pointer;
  }
  header .gnavi_lv1 li .lv2 a.pc_menuClose:hover {
    background-color: #DDC59D;
    color: #333;
  }
  header .gnavi_lv1 li .lv2 a.pc_menuClose::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    margin-right: 15px;
    position: relative;
    top: 2px;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
  header .gnavi_lv1 li .lv2 a.pc_menuClose:hover::before {
    top: -3px;
  }
  header .gnavi_lv1 li .lv2 a.pc_menuClose::after {
    content: "";
    background: none;
  }
}
@media only screen and (max-width: 1023px) {
  header .gnavi_lv1 {
    font-size: 4.2vw;
  }
  header .gnavi_lv1 li {
    border-bottom: 1px solid #ddd;
  }
  header .gnavi_lv1 li a {
    display: block;
    padding: 4.6153846154vw 8.2051282051vw;
    background-size: 6.1538461538vw auto;
    background-position: 0 center;
    position: relative;
    font-weight: bold;
  }
  header .gnavi_lv1 li a:not([href="#"])::after {
    content: "";
    display: block;
    width: 2.5641025641vw;
    height: 2.5641025641vw;
    border-top: 2px solid #777;
    border-right: 2px solid #777;
    position: absolute;
    right: 5%;
    top: 0;
    bottom: 0;
    margin: auto 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  header .gnavi_lv1 li.gnavi1 a {
    background-image: url(/hrt/common/images/icon_cat1_r.svg);
  }
  header .gnavi_lv1 li.gnavi2 a {
    background-image: url(/hrt/common/images/icon_cat2_r.svg);
  }
  header .gnavi_lv1 li.gnavi3 a {
    background-image: url(/hrt/common/images/icon_cat3_r.svg);
  }
  header .gnavi_lv1 li.gnavi4 a {
    background-image: url(/hrt/common/images/icon_cat4_r.svg);
  }
  header .gnavi_lv1 li.gnavi5 a {
    background-image: url(/hrt/common/images/icon_cat5_r.svg);
  }
  header .gnavi_lv1 li.gnavi6 a {
    background-image: url(/hrt/common/images/icon_cat6_r.svg);
  }
  header .gnavi_lv1 li .lv2 {
    padding-left: 8.2051282051vw;
  }
  header .gnavi_lv1 li .lv2 dl {
    display: none;
  }
  header .gnavi_lv1 li .lv2 ul {
    width: 100%;
  }
  header .gnavi_lv1 li .lv2 li {
    border-top: 1px solid #ddd;
    border-bottom: none;
  }
  header .gnavi_lv1 li .lv2 li a {
    display: block;
    padding: 4.6153846154vw 8.2051282051vw 4.6153846154vw 0;
    background: none;
    font-weight: normal;
    font-size: 3.8vw;
  }
  header .gnavi_lv1 li .lv2 a.pc_menuClose {
    display: none;
  }
}
@media only screen and (max-width: 1023px) and (min-width: 768px) and (max-width: 1023px) {
  header .gnavi_lv1 {
    font-size: 2.1vw;
  }
  header .gnavi_lv1 li a {
    padding: 2.5641025641vw 4.1025641026vw;
    background-size: 3.0769230769vw auto;
  }
  header .gnavi_lv1 li a:not([href="#"])::after {
    width: 12px;
    height: 12px;
  }
  header .gnavi_lv1 li .lv2 {
    padding-left: 4.1025641026vw;
  }
  header .gnavi_lv1 li .lv2 li a {
    padding: 2.5641025641vw 4.1025641026vw 2.5641025641vw 0;
    font-size: 1.9vw;
  }
}
@media only screen and (max-width: 1023px) {
  header .sptab_subnavi .sp_submenu {
    margin-top: 10.2564102564vw;
  }
  header .sptab_subnavi .sp_submenu li {
    border-bottom: 1px solid #ddd;
  }
  header .sptab_subnavi .sp_submenu li a {
    display: block;
    padding: 4.6153846154vw 4.6153846154vw 4.6153846154vw 0;
    position: relative;
    font-size: 14px;
  }
  header .sptab_subnavi .sp_submenu li a:not([href="#"])::after {
    content: "";
    display: block;
    width: 2.5641025641vw;
    height: 2.5641025641vw;
    border-top: 2px solid #777;
    border-right: 2px solid #777;
    position: absolute;
    right: 5%;
    top: 0;
    bottom: 0;
    margin: auto 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  header .sptab_subnavi .sp_cvbtn {
    margin: 10.2564102564vw 0;
  }
  header .sptab_subnavi .sp_cvbtn a.btn_cv {
    width: 100%;
    font-size: 14px;
    background-size: 5.1282051282vw auto;
  }
  header .sptab_subnavi dl.share {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 15px;
  }
  header .sptab_subnavi dl.share dt {
    margin-right: 3.0769230769vw;
  }
  header .sptab_subnavi dl.share dd {
    margin: 0 3.0769230769vw;
  }
  header .sptab_subnavi dl.share dd {
    width: 10.2564102564vw;
    height: 10.2564102564vw;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  header .sptab_subnavi .sp_submenu {
    margin-top: 5.1282051282vw;
  }
  header .sptab_subnavi .sp_submenu li a {
    padding: 2.5641025641vw 4.6153846154vw 2.5641025641vw 0;
    font-size: 15px;
  }
  header .sptab_subnavi .sp_submenu li a:not([href="#"])::after {
    width: 12px;
    height: 12px;
  }
  header .sptab_subnavi .sp_cvbtn {
    margin: 5.1282051282vw 0;
  }
  header .sptab_subnavi .sp_cvbtn a.btn_cv {
    background-size: 3.0769230769vw auto;
    font-size: 12px;
  }
  header .sptab_subnavi dl.share dt {
    margin-right: 1.5384615385vw;
  }
  header .sptab_subnavi dl.share dd {
    margin: 0 1.5384615385vw;
  }
  header .sptab_subnavi dl.share dd {
    width: 5.1282051282vw;
    height: 5.1282051282vw;
  }
}
@media only screen and (max-width: 767px) {
  header .sp_submenu li:nth-of-type(2) img.icon_pdf {
    margin-left: 0;
  }
}

footer {
  position: relative;
  background-color: #F6F3EF;
  background-image: url(/hrt/common/images/bg_footer01.png), url(/hrt/common/images/bg_footer02.png);
  background-repeat: no-repeat, no-repeat;
}
@media print, screen and (min-width: 768px) {
  footer {
    background-size: 440px auto, 440px auto;
    background-position: left -36px bottom -148px, right -44px bottom -108px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  footer {
    background-size: 250px auto, 250px auto;
    background-position: left -36px bottom -36px, right -24px bottom -68px;
  }
}
@media only screen and (max-width: 767px) {
  footer {
    background-size: 64.1025641026vw auto, 64.1025641026vw auto;
    background-position: left -9.2307692308vw bottom -9.7435897436vw, right -8.2051282051vw bottom -17.4358974359vw;
    z-index: 1;
  }
}
footer a#btn_pagetop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: fixed;
  text-align: center;
  -webkit-box-shadow: 0px 4px 8px rgba(127, 47, 13, 0.1);
  box-shadow: 0px 4px 8px rgba(127, 47, 13, 0.1);
  border-radius: 50%;
  background-color: #fff;
  opacity: 0;
  pointer-events: none;
  z-index: 3;
}
footer a#btn_pagetop.-visible {
  opacity: 1;
  pointer-events: auto;
}
footer a#btn_pagetop.-btm {
  position: absolute;
}
@media print, screen and (min-width: 768px) {
  footer a#btn_pagetop {
    width: 60px;
    height: 60px;
    right: 30px;
    bottom: 30px;
  }
  footer a#btn_pagetop img {
    width: 27px;
    height: auto;
  }
  footer a#btn_pagetop:hover {
    background-color: #FFDBDB;
  }
  footer a#btn_pagetop.-btm {
    top: -90px;
  }
}
@media only screen and (max-width: 767px) {
  footer a#btn_pagetop {
    width: 11.2820512821vw;
    height: 11.2820512821vw;
    right: 5.1282051282vw;
    bottom: 21.0256410256vw;
  }
  footer a#btn_pagetop img {
    width: 5.641025641vw;
    height: auto;
  }
  footer a#btn_pagetop.-btm {
    top: -15.3846153846vw;
  }
}
footer .inner aside.supervisor {
  text-align: center;
}
footer .inner aside.supervisor h2 {
  font-weight: normal;
  font-size: 100%;
}
footer .inner aside.supervisor::after {
  content: "";
  display: block;
  margin: 1em auto 0;
  background: url(/hrt/common/images/line01.svg) no-repeat top center;
  background-size: 100% auto;
}
footer .inner .list-wrap a {
  color: #333;
  text-decoration: none;
}
footer .inner .list-wrap ul.subnavi li a {
  padding: 8px 5px 8px 0;
  font-weight: normal;
}
footer .inner .cta_footer,
footer .inner small {
  text-align: center;
}
footer .inner small {
  display: block;
}
@media print, screen and (min-width: 768px) {
  footer .inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 60px 20px 40px;
    font-size: 18px;
  }
  footer .inner aside.supervisor::after {
    width: 36px;
    height: 4px;
  }
  footer .inner aside.supervisor + .list-wrap {
    margin-top: 64px;
  }
  footer .inner .cta_footer {
    margin: 64px 0;
  }
  footer .inner small {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  footer .inner {
    width: 89.7%;
    margin: 0 auto;
    padding: 10.2564102564vw 0 35.8974358974vw;
    font-size: 3.8vw;
  }
  footer .inner aside.supervisor {
    line-height: 1.8;
  }
  footer .inner aside.supervisor::after {
    width: 9.2307692308vw;
    height: 1.0256410256vw;
  }
  footer .inner aside.supervisor + .list-wrap {
    margin-top: 12.3076923077vw;
  }
  footer .inner .cta_footer {
    margin: 12.3076923077vw 0;
  }
}
footer .list-wrap ul li a {
  background-repeat: no-repeat;
  background-position: left center;
  font-weight: bold;
}
footer .list-wrap ul li.gnavi1 a {
  background-image: url(/hrt/common/images/icon_cat1_r.svg);
}
footer .list-wrap ul li.gnavi2 a {
  background-image: url(/hrt/common/images/icon_cat2_r.svg);
}
footer .list-wrap ul li.gnavi3 a {
  background-image: url(/hrt/common/images/icon_cat3_r.svg);
}
footer .list-wrap ul li.gnavi4 a {
  background-image: url(/hrt/common/images/icon_cat4_r.svg);
}
footer .list-wrap ul li.gnavi5 a {
  background-image: url(/hrt/common/images/icon_cat5_r.svg);
}
footer .list-wrap ul li.gnavi6 a {
  background-image: url(/hrt/common/images/icon_cat6_r.svg);
}
footer .list-wrap ul li ul.lv2 li a {
  background-image: none;
  font-weight: normal;
}
@media print, screen and (min-width: 768px) {
  footer .list-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
  footer .list-wrap ul {
    width: 33%;
  }
  footer .list-wrap ul li {
    padding: 5px 0;
  }
  footer .list-wrap ul li a {
    display: inline-block;
    padding: 2px 5px 2px 30px;
    background-size: 24px auto;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
  footer .list-wrap ul li a[href]:hover {
    background-color: #FFDBDB;
  }
  footer .list-wrap ul li ul.lv2 {
    width: 100%;
  }
  footer .list-wrap ul li ul.lv2 li {
    padding-left: 30px;
  }
  footer .list-wrap ul li ul.lv2 li a {
    padding: 8px 5px 8px 0;
  }
  footer .list-wrap .list-wrap {
    width: 66%;
  }
  footer .list-wrap .list-wrap ul {
    width: 48%;
  }
  footer .list-wrap .list-wrap ul.subnavi {
    width: 52%;
  }
  footer .list-wrap .list-wrap ul ul {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  footer .list-wrap ul {
    width: 50%;
  }
  footer .list-wrap .list-wrap {
    display: block;
    width: 50%;
  }
  footer .list-wrap .list-wrap ul {
    width: 100%;
  }
  footer .list-wrap .list-wrap ul li a {
    display: block;
  }
  footer .list-wrap .list-wrap ul.subnavi {
    margin-top: 20px;
  }
  footer .list-wrap .list-wrap ul.subnavi li {
    padding-left: 30px;
  }
}
@media only screen and (max-width: 767px) {
  footer .list-wrap ul li a {
    display: block;
    padding: 2.0512820513vw 0 2.0512820513vw 7.6923076923vw;
    background-size: 6.1538461538vw auto;
  }
  footer .list-wrap ul.subnavi {
    margin-top: 7.6923076923vw;
  }
  footer .list-wrap ul.subnavi li {
    padding-left: 7.6923076923vw;
  }
}

@media print, screen and (min-width: 768px) {
  #sp_bottomBtn {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  #sp_bottomBtn {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    min-height: 15.8974358974vw;
    padding: 2.0512820513vw 5.1282051282vw 2.0512820513vw 10.2564102564vw;
    border-radius: 0;
    z-index: 5;
  }
  #sp_bottomBtn span {
    margin-bottom: 1.2820512821vw;
  }
}

.align-c {
  text-align: center;
}

.align-r {
  text-align: right;
}

@media print, screen and (min-width: 768px) {
  .align-c-pc {
    text-align: center;
  }
  .align-r-pc {
    text-align: right;
  }
}
.lora {
  font-family: "Lora", serif;
}

.txtred {
  color: #CB386D;
}

main .txtsmall {
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  main .txtsmall {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  main .txtsmall {
    font-size: 3.0769230769vw;
  }
}

p.mt15 {
  margin: 1.5em 0 0 0;
}

p.mt0 {
  margin: 0;
}

span.nobr {
  white-space: nowrap;
}

a {
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  color: #333;
  text-decoration: none;
}
a.linktxt {
  color: #CB386D;
  text-decoration: underline;
}
a.linktxt:hover {
  background-color: #FFDBDB;
}
a.arrow {
  text-decoration: none;
  font-weight: bold;
  padding-right: 1.5em;
  background-image: url(/hrt/common/images/bullet01.svg);
  background-repeat: no-repeat;
  background-position: 100% center;
  background-size: auto 0.98em;
}
a.arrow:hover {
  background-color: #FFDBDB;
}
a.category {
  display: inline-block;
  min-height: 1.2em;
  text-decoration: none;
  font-weight: bold;
  padding: 0.2em 0.2em 0.2em 0;
}
a.category img.icon {
  width: auto;
  height: 1.2em;
  vertical-align: middle;
  margin-right: 0.3em;
  margin-top: -0.2em;
}
a.category:hover {
  background-color: #FFDBDB;
}

img.icon_blank {
  vertical-align: text-top;
}
@media print, screen and (min-width: 768px) {
  img.icon_blank {
    width: 16px;
    height: 16px;
    margin-left: 5px;
  }
}
@media only screen and (max-width: 767px) {
  img.icon_blank {
    width: 4.1025641026vw;
    height: 4.1025641026vw;
    margin-left: 1.2820512821vw;
  }
}

img.icon_pdf {
  vertical-align: text-top;
  width: auto;
}
@media print, screen and (min-width: 768px) {
  img.icon_pdf {
    height: 18px;
    margin-left: 5px;
  }
}
@media only screen and (max-width: 767px) {
  img.icon_pdf {
    height: 4.6153846154vw;
    margin-left: 1.2820512821vw;
  }
}

/* ++++++++++++++++++++++++++++++++ ボタン */
.btn {
  display: inline-block;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  color: #333;
  text-decoration: none;
  text-align: center;
  line-height: 1.3;
  background-repeat: no-repeat;
}

@media print, screen and (min-width: 768px) {
  a.imgover img {
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
  a.imgover:hover img {
    opacity: 0.75;
  }
  a.opac_over:hover {
    opacity: 0.75;
  }
  a.chunk img, a.chunk span {
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
  a.chunk:hover img {
    opacity: 0.75;
  }
  a.chunk:hover span {
    background-color: #FFDBDB;
  }
}
.btn_y {
  background-color: #FFC874;
}
@media print, screen and (min-width: 768px) {
  .btn_y:hover {
    background-color: #FCA92E;
  }
}

.btn_cv {
  background-image: url(/hrt/common/images/icon_loupe.svg);
  background-position: 7% center;
}
.btn_cv span {
  display: block;
}
.btn_cv strong {
  font-weight: bold;
  line-height: 1.2;
  vertical-align: middle;
  margin: 0 0.3em;
  letter-spacing: 0.2em;
}
.btn_cv img.logo_q {
  vertical-align: middle;
}
@media print, screen and (min-width: 768px) {
  .btn_cv {
    width: 530px;
    background-size: 28px;
    font-size: 16px;
    padding: 18px 28px;
    border-radius: 60px;
  }
  .btn_cv span {
    margin-bottom: 5px;
  }
  .btn_cv img.logo_q {
    width: 78px;
  }
  .btn_cv strong {
    font-size: 180%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .btn_cv {
    width: 330px;
    font-size: 12px;
  }
  .btn_cv img.logo_q {
    width: 67px;
  }
  .btn_cv strong {
    font-size: 180%;
  }
}
@media only screen and (max-width: 767px) {
  .btn_cv {
    width: 100%;
    max-width: 84.6153846154vw;
    padding: 3.4615384615vw 5.1282051282vw 3.4615384615vw 10.2564102564vw;
    background-size: 7.1794871795vw;
    border-radius: 14.1025641026vw;
    font-size: 3.3333333333vw;
  }
  .btn_cv span {
    margin-bottom: 2.5641025641vw;
  }
  .btn_cv img.logo_q {
    width: 17.1794871795vw;
  }
  .btn_cv strong {
    font-size: 160%;
  }
}
.btn_cv.square {
  position: relative;
}
.btn_cv.square .icon_blank {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0.5em;
  margin: auto 0;
}
@media print, screen and (min-width: 768px) {
  .btn_cv.square {
    width: 340px;
    height: 140px;
    border-radius: 15px;
    padding: 28px;
    background-size: 41px;
    background-position: 4% center;
  }
  .btn_cv.square .logo_q {
    margin-left: 1.5em;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .btn_cv.square {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .btn_cv.square {
    height: 30.7692307692vw;
    max-width: 89.7435897436vw;
    border-radius: 3.8461538462vw;
    padding: 6.6666666667vw 5.1282051282vw 3.8461538462vw 10.2564102564vw;
    background-size: 8.4615384615vw;
  }
}

a.btn_tocheck {
  width: 100%;
  text-align: left;
  line-height: 1.7;
}
a.btn_tocheck em {
  font-weight: bold;
  display: block;
}
@media print, screen and (min-width: 768px) {
  a.btn_tocheck {
    border-radius: 28px;
    padding: 22px 30px 22px 144px;
    background-image: url(/hrt/common/images/img_btn_illust01_pc.png), url(/hrt/common/images/bullet02.svg), url(/hrt/common/images/icon_cat3b_w.svg), linear-gradient(92.29deg, #E79EEE 0%, #FFB9DF 60.94%);
    background-size: 216px auto, 26px auto, 64px auto, 100% 100%;
    background-position: 587px bottom, 98% center, 40px center, 0 0;
  }
  a.btn_tocheck span {
    font-weight: bold;
  }
  a.btn_tocheck em {
    font-size: 26px;
    margin: 5px 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  a.btn_tocheck {
    padding: 22px 30px;
    background-image: url(/hrt/common/images/img_btn_illust01_pc.png), url(/hrt/common/images/bullet02.svg), linear-gradient(92.29deg, #E79EEE 0%, #FFB9DF 60.94%);
    background-size: 196px auto, 26px auto, 100% 100%;
    background-position: 95% bottom, 98% center, 0 0;
  }
}
@media only screen and (max-width: 767px) {
  a.btn_tocheck {
    border-radius: 5.641025641vw;
    padding: 5.1282051282vw;
    font-size: 3.6vw;
    background-image: url(/hrt/common/images/img_btn_illust01_sp.png), url(/hrt/common/images/bullet02.svg), linear-gradient(92.29deg, #E79EEE 0%, #FFB9DF 60.94%);
    background-size: 33.3333333333vw auto, 6.6666666667vw auto, 100% 100%;
    background-position: 50.2564102564vw bottom, 68.9743589744vw 14.358974359vw, 0 0;
  }
  a.btn_tocheck span {
    font-size: 4vw;
  }
  a.btn_tocheck em {
    font-size: 6vw;
    margin: 0.4em 0;
    line-height: 1.4;
  }
}

@media print, screen and (min-width: 768px) {
  .inner.bgwhite a.btn_tocheck, .steps_section_inner a.btn_tocheck {
    background-size: 196px auto, 26px auto, 64px auto, 100% 100%;
    background-position: 487px bottom, 98% center, 40px center, 0 0;
  }
  .steps_section_inner a.btn_tocheck {
    background-position: 530px bottom, 98% center, 40px center, 0 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .inner.bgwhite a.btn_tocheck, .steps_section_inner a.btn_tocheck {
    background-size: 196px auto, 26px auto, 100% 100%;
    background-position: 487px bottom, 98% center, 0 0;
  }
  .steps_section_inner a.btn_tocheck {
    background-position: 530px bottom, 98% center, 0 0;
  }
}
.btn_1st {
  background-image: url(/hrt/common/images/bullet02.svg);
  background-repeat: no-repeat;
  background-position: 96% center;
  background-color: #FFA7AD;
}
@media print, screen and (min-width: 768px) {
  .btn_1st {
    width: 310px;
    padding: 12px;
    border-radius: 28px;
    background-size: 20px auto;
  }
  .btn_1st:hover {
    background-color: #CB386D;
    color: #fff;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .btn_1st {
    width: 100%;
    max-width: 310px;
  }
}
@media only screen and (max-width: 767px) {
  .btn_1st {
    width: 69.7435897436vw;
    padding: 2.5641025641vw;
    border-radius: 5.641025641vw;
    background-size: 5.1282051282vw auto;
  }
}
.btn_1st.lrg {
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .btn_1st.lrg {
    width: 530px;
    padding: 30px;
    font-size: 22px;
    border-radius: 50px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .btn_1st.lrg {
    max-width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .btn_1st.lrg {
    width: 100%;
    max-width: 89.7435897436vw;
    padding: 4.6153846154vw;
    font-size: 5.1282051282vw;
    border-radius: 9.2307692308vw;
  }
}
.btn_1st.lrg.square {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.btn_1st.lrg.square span {
  display: block;
  font-weight: normal;
}
@media print, screen and (min-width: 768px) {
  .btn_1st.lrg.square {
    width: 340px;
    height: 140px;
    border-radius: 15px;
  }
  .btn_1st.lrg.square span {
    font-size: 14px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .btn_1st.lrg.square {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .btn_1st.lrg.square {
    width: 100%;
    height: 30.7692307692vw;
    max-width: 89.7435897436vw;
    border-radius: 3.8461538462vw;
  }
  .btn_1st.lrg.square span {
    font-size: 4.1025641026vw;
  }
}
.btn_1st.lrg.square::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
@media print, screen and (min-width: 768px) {
  .btn_1st.lrg.square::before {
    width: 50px;
    height: 50px;
    margin-right: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .btn_1st.lrg.square::before {
    width: 10.2564102564vw;
    height: 10.2564102564vw;
    margin-right: 5.1282051282vw;
  }
}
.btn_1st.lrg.square.cat1::before {
  background-image: url(/hrt/common/images/icon_cat1_w.svg);
}
.btn_1st.lrg.square.cat2::before {
  background-image: url(/hrt/common/images/icon_cat2_w.svg);
}
.btn_1st.lrg.square.cat3::before {
  background-image: url(/hrt/common/images/icon_cat3_w.svg);
}
.btn_1st.lrg.square.cat4::before {
  background-image: url(/hrt/common/images/icon_cat4_w.svg);
}
.btn_1st.lrg.square.cat5::before {
  background-image: url(/hrt/common/images/icon_cat5_w.svg);
}
.btn_1st.lrg.square.cat6::before {
  background-image: url(/hrt/common/images/icon_cat6_w.svg);
}
.btn_1st.lrg.print {
  background-image: url(/hrt/common/images/icon_print_w.svg);
  background-position: 10% center;
}
@media print, screen and (min-width: 768px) {
  .btn_1st.lrg.print {
    padding: 20px 30px;
    font-size: 20px;
    background-size: 60px auto;
  }
}
@media only screen and (max-width: 767px) {
  .btn_1st.lrg.print {
    padding: 4.1025641026vw 4.6153846154vw 4.1025641026vw 11.7948717949vw;
    font-size: 4.1025641026vw;
    background-size: 9.2307692308vw;
  }
}

.btn_2nd {
  border: 2px solid #FFA7AD;
  background-image: url(/hrt/common/images/bullet01.svg);
  background-position: 96% center;
  background-color: #fff;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .btn_2nd {
    width: 530px;
    padding: 30px;
    font-size: 20px;
    border-radius: 50px;
  }
  .btn_2nd:hover {
    background-color: #FFDBDB;
  }
}
@media only screen and (max-width: 767px) {
  .btn_2nd {
    width: 100%;
    max-width: 89.7435897436vw;
    padding: 4.6153846154vw;
    font-size: 4.1025641026vw;
    border-radius: 9.2307692308vw;
  }
}
@media print, screen and (min-width: 768px) {
  .btn_2nd.twolines {
    padding: 20px 30px;
  }
}
@media only screen and (max-width: 767px) {
  .btn_2nd.twolines {
    padding: 2.5641025641vw 4.6153846154vw;
  }
}

.btnWrap {
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .mt30 {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .mt30 {
    margin-top: 5.1282051282vw;
  }
}

@media print, screen and (min-width: 768px) {
  .mt40 {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .mt40 {
    margin-top: 6.4102564103vw;
  }
}

@media print, screen and (min-width: 768px) {
  .mt50 {
    margin-top: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .mt50 {
    margin-top: 7.6923076923vw;
  }
}

@media print, screen and (min-width: 768px) {
  .mt60 {
    margin-top: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .mt60 {
    margin-top: 10.2564102564vw;
  }
}

@media print, screen and (min-width: 768px) {
  .mt80 {
    margin-top: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .mt80 {
    margin-top: 12.8205128205vw;
  }
}

@media print, screen and (min-width: 768px) {
  .mt100 {
    margin-top: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .mt100 {
    margin-top: 15.3846153846vw;
  }
}

.order_link {
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 768px) {
  .order_link {
    margin-top: 70px;
    max-width: 990px;
    padding: 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .order_link {
    margin-top: 15.3846153846vw;
    width: 89.7%;
  }
}
.order_link ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  /* nextしかないとき */
}
@media print, screen and (min-width: 768px) {
  .order_link ul li {
    width: 445px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .order_link ul li {
    width: 48%;
  }
}
@media only screen and (max-width: 767px) {
  .order_link ul li {
    width: 43.5897435897vw;
  }
}
.order_link ul:has(li:first-child .order_next) {
  -webkit-box-pack: right;
  -ms-flex-pack: right;
  justify-content: right;
}

a.order_link_btn {
  width: 100%;
  background-color: #FFA7AD;
  font-weight: bold;
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
a.order_link_btn.order_prev {
  background-image: url(/hrt/common/images/icon_arrow02_back.svg);
  background-position: 5% center;
}
a.order_link_btn.order_next {
  background-image: url(/hrt/common/images/icon_arrow02.svg);
  background-position: 95% center;
}
@media print, screen and (min-width: 768px) {
  a.order_link_btn {
    padding-top: 34px;
    padding-bottom: 34px;
    background-size: 36px auto;
    border-radius: 28px;
    max-width: 445px;
    min-height: 120px;
    font-size: 20px;
  }
  a.order_link_btn.order_prev {
    padding-left: 124px;
    padding-right: 72px;
  }
  a.order_link_btn.order_next {
    padding-left: 72px;
    padding-right: 124px;
  }
  a.order_link_btn:hover {
    background-color: #CB386D;
    color: #fff;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  a.order_link_btn.order_prev {
    padding-left: 54px;
    padding-right: 32px;
  }
  a.order_link_btn.order_next {
    padding-left: 32px;
    padding-right: 54px;
  }
}
@media only screen and (max-width: 767px) {
  a.order_link_btn {
    padding-top: 3.5897435897vw;
    padding-bottom: 3.5897435897vw;
    background-size: 6.6666666667vw auto;
    border-radius: 4.1025641026vw;
    max-width: 43.5897435897vw;
    min-height: 23.5897435897vw;
    font-size: 3.5897435897vw;
  }
  a.order_link_btn.order_prev {
    padding-left: 10.5128205128vw;
    padding-right: 3.8461538462vw;
  }
  a.order_link_btn.order_next {
    padding-left: 3.8461538462vw;
    padding-right: 10.5128205128vw;
  }
}

@media print, screen and (min-width: 768px) {
  .releted_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .releted_link li {
    width: 48%;
  }
}
@media only screen and (max-width: 767px) {
  .releted_link li:not(:first-child) {
    margin-top: 4.1025641026vw;
  }
}

/* ++++++++++++++++++++++++++++++++ 見出し */
h1.general {
  text-align: center;
  line-height: 1.2;
}
h1.general span {
  display: block;
  color: #CB386D;
  background: url(/hrt/common/images/line01.svg) no-repeat center bottom;
}
h1.general span::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: 0 0;
  margin-right: 0.5em;
  vertical-align: top;
}
h1.general span.cat1::before {
  background-image: url(/hrt/common/images/icon_cat1_r.svg);
}
h1.general span.cat2::before {
  background-image: url(/hrt/common/images/icon_cat2_r.svg);
}
h1.general span.cat3::before {
  background-image: url(/hrt/common/images/icon_cat3_r.svg);
}
h1.general span.cat4::before {
  background-image: url(/hrt/common/images/icon_cat4_r.svg);
}
h1.general span.cat5::before {
  background-image: url(/hrt/common/images/icon_cat5_r.svg);
}
h1.general span.cat6::before {
  background-image: url(/hrt/common/images/icon_cat6_r.svg);
}
h1.general.cat3::before, h1.general.cat5::before, h1.general.cat6::before {
  content: "";
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: 0 0;
  vertical-align: top;
}
h1.general.cat3::before {
  background-image: url(/hrt/common/images/icon_cat3_r.svg);
}
h1.general.cat5::before {
  background-image: url(/hrt/common/images/icon_cat5_r.svg);
}
h1.general.cat6::before {
  background-image: url(/hrt/common/images/icon_cat6_r.svg);
}
@media print, screen and (min-width: 768px) {
  h1.general {
    margin-top: 20px;
    font-size: 38px;
    padding: 0 20px;
  }
  h1.general::before {
    display: inline-block;
    width: 40px;
    height: 40px;
    margin-right: 0.5em;
  }
  h1.general span {
    font-size: 16px;
    padding-bottom: 13px;
    margin-bottom: 20px;
    background-size: 28px auto;
  }
  h1.general span::before {
    width: 20px;
    height: 20px;
  }
}
@media only screen and (max-width: 767px) {
  h1.general {
    margin-top: 5.1282051282vw;
    font-size: 7.6923076923vw;
    padding: 0 5%;
  }
  h1.general::before {
    display: block;
    margin: 0 auto 2.5641025641vw;
    width: 7.6923076923vw;
    height: 7.6923076923vw;
  }
  h1.general span {
    font-size: 4.1025641026vw;
    padding-bottom: 4.6153846154vw;
    margin-bottom: 3.8461538462vw;
    background-size: 7.1794871795vw auto;
  }
  h1.general span::before {
    width: 5.1282051282vw;
    height: 5.1282051282vw;
  }
}

h2 {
  line-height: 1.4;
}
@media print, screen and (min-width: 768px) {
  h2 {
    font-size: 24px;
    margin-bottom: 24px;
  }
}
@media only screen and (max-width: 767px) {
  h2 {
    font-size: 5.5vw;
    margin-bottom: 5.1282051282vw;
  }
}

h2.general {
  background-color: #FFDBDB;
  background-image: url(/hrt/common/images/bg_h2.png);
  background-repeat: no-repeat;
  position: relative;
}
h2.general::before {
  content: "";
  background-color: #CB386D;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
@media print, screen and (min-width: 768px) {
  h2.general {
    padding: 15px 20px 15px 40px;
    border-radius: 16px;
    background-size: 160px auto;
    background-position: 97% -30px;
  }
  h2.general::before {
    width: 8px;
    border-radius: 4px;
    height: calc(100% - 30px);
    left: 20px;
  }
}
@media only screen and (max-width: 767px) {
  h2.general {
    padding: 4.1025641026vw 3.0769230769vw 4.1025641026vw 8.2051282051vw;
    border-radius: 4.1025641026vw;
    background-size: 28.2051282051vw auto;
    background-position: 105% center;
  }
  h2.general::before {
    width: 1.5384615385vw;
    border-radius: 0.7692307692vw;
    height: calc(100% - 7.1794871795vw);
    left: 3.0769230769vw;
  }
}

h3 {
  line-height: 1.4;
}
@media print, screen and (min-width: 768px) {
  h3 {
    font-size: 22px;
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  h3 {
    font-size: 4.6vw;
    margin-bottom: 4.1025641026vw;
  }
}
h3.general {
  position: relative;
}
h3.general::after {
  content: "";
  display: block;
  width: 100%;
  background: url(/hrt/common/images/line03.svg) no-repeat 0 0;
  background-color: #FFA7AD;
  background-size: auto 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media print, screen and (min-width: 768px) {
  h3.general {
    padding-bottom: 10px;
  }
  h3.general::after {
    height: 3px;
    border-radius: 1.5px;
  }
}
@media only screen and (max-width: 767px) {
  h3.general {
    padding-bottom: 2.5641025641vw;
  }
  h3.general::after {
    height: 0.7692307692vw;
    border-radius: 0.3846153846vw;
  }
}
h3.qtext {
  position: relative;
}
h3.qtext span.lora {
  position: absolute;
  top: -0.3em;
  left: 0;
}
@media print, screen and (min-width: 768px) {
  h3.qtext {
    padding-left: 46px;
  }
  h3.qtext span.lora {
    font-size: 36px;
  }
}
@media only screen and (max-width: 767px) {
  h3.qtext {
    padding-left: 10.2564102564vw;
  }
  h3.qtext span.lora {
    font-size: 7.6923076923vw;
  }
}

h4 {
  line-height: 1.4;
}
@media print, screen and (min-width: 768px) {
  h4 {
    font-size: 18px;
    margin-bottom: 8px;
  }
}
@media only screen and (max-width: 767px) {
  h4 {
    font-size: 4.1025641026vw;
    margin-bottom: 2.0512820513vw;
  }
}

/* ++++++++++++++++++++++++++++++++ ラベル */
span.label-red,
span.label-orange,
span.label-blue {
  display: inline-block;
  padding: 0.1em 0.5em;
  font-weight: normal;
  color: #fff;
  margin-right: 0.5em;
  border-radius: 0.4em;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  span.label-red,
  span.label-orange,
  span.label-blue {
    margin-bottom: 0.2em;
  }
}

span.label-red {
  background-color: #CB386D;
}

span.label-orange {
  background-color: #FF7930;
}

span.label-blue {
  background-color: #33A1E0;
}

/* ++++++++++++++++++++++++++++++++ 「・」つきリスト */
ul.general {
  padding-left: 1.5em;
}
ul.general li {
  text-indent: -1.5em;
}
ul.general li::before {
  content: "";
  display: inline-block;
  background-color: #CB386D;
  border-radius: 50%;
  margin-right: 0.8em;
}
@media print, screen and (min-width: 768px) {
  ul.general li::before {
    width: 12px;
    height: 12px;
  }
}
@media only screen and (max-width: 767px) {
  ul.general li::before {
    width: 3.0769230769vw;
    height: 3.0769230769vw;
  }
}
@media print, screen and (min-width: 768px) {
  ul.general.nobreak li {
    display: inline-block;
    padding: 0.3em 0 0 0;
    margin-right: 3em;
  }
}

ul.simple {
  padding-left: 0;
  text-indent: 0;
}
ul.simple li {
  text-indent: 0;
}
ul.simple li::before {
  content: "・";
  display: inline;
  background-color: transparent;
  border-radius: 0;
  margin-right: 0;
}
@media print, screen and (min-width: 768px) {
  ul.simple.w50 li {
    display: inline-block;
    width: 45%;
  }
}

/* ++++++++++++++++++++++++++++++++ 囲み記事 */
.column {
  background-color: #FEF3EF;
}
@media print, screen and (min-width: 768px) {
  .column {
    border-radius: 40px;
    padding: 30px 40px;
  }
}
@media only screen and (max-width: 767px) {
  .column {
    border-radius: 7.1794871795vw;
    padding: 7.6923076923vw 5.1282051282vw;
  }
}
.column h2.col-head,
.column h3.col-head,
.column h4.col-head,
.column h5.col-head {
  background-color: #fff;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}
@media print, screen and (min-width: 768px) {
  .column h2.col-head,
  .column h3.col-head,
  .column h4.col-head,
  .column h5.col-head {
    border-radius: 23px;
    font-size: 20px;
    padding: 8px;
    margin-top: -10px;
  }
}
@media only screen and (max-width: 767px) {
  .column h2.col-head,
  .column h3.col-head,
  .column h4.col-head,
  .column h5.col-head {
    border-radius: 5.8974358974vw;
    font-size: 4.6153846154vw;
    padding: 1.2820512821vw;
    margin-top: -1.5384615385vw;
  }
}
.column.comment {
  position: relative;
}
.column.comment::before, .column.comment::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
}
@media print, screen and (min-width: 768px) {
  .column.comment::before, .column.comment::after {
    width: 40px;
    height: 33px;
  }
}
@media only screen and (max-width: 767px) {
  .column.comment::before, .column.comment::after {
    width: 8.4615384615vw;
    height: 7.1794871795vw;
  }
}
.column.comment::before {
  background-image: url(/hrt/common/images/icon_quoteL.svg);
}
@media print, screen and (min-width: 768px) {
  .column.comment::before {
    top: -10px;
    left: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .column.comment::before {
    top: -1.5384615385vw;
    left: 1.5384615385vw;
  }
}
.column.comment::after {
  background-image: url(/hrt/common/images/icon_quoteR.svg);
}
@media print, screen and (min-width: 768px) {
  .column.comment::after {
    bottom: -10px;
    right: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .column.comment::after {
    bottom: -1.5384615385vw;
    right: 1.5384615385vw;
  }
}

.doctors_comment .label-red {
  padding: 0.2em 1.6666667em;
  margin-bottom: 0.5em;
  font-size: 18px;
  border-radius: 50px;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .doctors_comment .label-red {
    grid-area: columns;
    padding: 0.4em 1.6666667em;
    margin-right: 0;
    font-size: 4.1025641026vw;
    text-align: center;
  }
}
.doctors_comment .doctors_comment_ttl_txt {
  display: block;
}
.doctors_comment .doctors_comment_column {
  width: 100%;
  margin-bottom: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .doctors_comment .doctors_comment_column {
    display: grid;
    grid-template-columns: 2.41fr 1fr;
    grid-template-areas: "columns columns";
    -webkit-column-gap: 1em;
    -moz-column-gap: 1em;
    column-gap: 1em;
  }
}
.doctors_comment .label-img {
  position: relative;
  right: 6px;
  max-width: 91px;
  width: 14%;
  margin-left: 8%;
}
@media only screen and (max-width: 767px) {
  .doctors_comment .label-img {
    right: 1.0256410256vw;
    width: 100%;
    height: -webkit-max-content;
    height: -moz-max-content;
    height: max-content;
    margin-left: 0;
  }
}
.doctors_comment .label-img::before {
  content: "";
  position: absolute;
  bottom: -6px;
  right: -6px;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #FFA7AD;
  border-radius: 16px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .doctors_comment .label-img::before {
    bottom: -1.0256410256vw;
    right: -1.0256410256vw;
  }
}
.doctors_comment .label-img img {
  position: relative;
  z-index: 1;
  border-radius: 16px;
  overflow: hidden;
}
.doctors_comment .doctors_comment_ttl {
  width: 78%;
}
@media only screen and (max-width: 767px) {
  .doctors_comment .doctors_comment_ttl {
    width: auto;
    display: contents;
  }
}

@media print, screen and (min-width: 768px) {
  aside.column {
    padding: 0;
  }
}
@media only screen and (max-width: 767px) {
  aside.column {
    padding: 0;
  }
}
aside.column h2.col-head,
aside.column h3.col-head,
aside.column h4.col-head,
aside.column h5.col-head {
  text-align: left;
  margin-top: 0;
  margin-bottom: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-color: transparent;
  background-image: url(/hrt/common/images/bg_colTitle.png);
  background-repeat: no-repeat;
  background-position: center bottom;
}
aside.column h2.col-head span.label-red,
aside.column h3.col-head span.label-red,
aside.column h4.col-head span.label-red,
aside.column h5.col-head span.label-red {
  font-size: 80%;
}
@media print, screen and (min-width: 768px) {
  aside.column h2.col-head,
  aside.column h3.col-head,
  aside.column h4.col-head,
  aside.column h5.col-head {
    padding: 40px 40px 30px 40px;
    background-size: 150% auto;
  }
}
@media only screen and (max-width: 767px) {
  aside.column h2.col-head,
  aside.column h3.col-head,
  aside.column h4.col-head,
  aside.column h5.col-head {
    padding: 5.1282051282vw 5.1282051282vw 3.8461538462vw 5.1282051282vw;
    background-size: auto 150%;
  }
  aside.column h2.col-head span.label-red,
  aside.column h3.col-head span.label-red,
  aside.column h4.col-head span.label-red,
  aside.column h5.col-head span.label-red {
    margin-bottom: 2.5641025641vw;
  }
}
@media print, screen and (min-width: 768px) {
  aside.column > .column-body {
    padding: 20px 40px 40px;
  }
}
@media only screen and (max-width: 767px) {
  aside.column > .column-body {
    padding: 3.8461538462vw 5.1282051282vw 7.6923076923vw;
  }
}

/* ++++++++++++++++++++++++++++++++ 調査ノート */
dl.invest-note {
  background-color: #FCFBF9;
}
@media print, screen and (min-width: 768px) {
  dl.invest-note {
    border-radius: 20px 40px 40px 20px;
    padding: 30px 40px 30px 30px;
    border-left: 24px solid #FFA7AD;
  }
}
@media only screen and (max-width: 767px) {
  dl.invest-note {
    border-radius: 5.1282051282vw 10.2564102564vw 10.2564102564vw 5.1282051282vw;
    padding: 7.6923076923vw 5.1282051282vw;
    border-left: 5.1282051282vw solid #FFA7AD;
  }
}
dl.invest-note dt {
  line-height: 1.3;
  font-weight: bold;
  position: relative;
}
dl.invest-note dt .lora {
  display: block;
  height: 1em;
  color: #FFA7AD;
  font-weight: normal;
  line-height: 1;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
  z-index: 0;
}
dl.invest-note dt::before {
  content: "";
  display: inline-block;
  margin-right: 0.5em;
  background-color: #CB386D;
  height: 1.2em;
  vertical-align: text-bottom;
}
@media print, screen and (min-width: 768px) {
  dl.invest-note dt {
    font-size: 22px;
    margin-bottom: 10px;
  }
  dl.invest-note dt .lora {
    font-size: 10px;
    letter-spacing: 0.15em;
  }
  dl.invest-note dt::before {
    width: 8px;
    border-radius: 4px;
  }
}
@media only screen and (max-width: 767px) {
  dl.invest-note dt {
    font-size: 4.6153846154vw;
    margin-bottom: 2.5641025641vw;
  }
  dl.invest-note dt .lora {
    font-size: 2.5641025641vw;
    letter-spacing: 0.1em;
  }
  dl.invest-note dt::before {
    width: 1.5384615385vw;
    border-radius: 0.7692307692vw;
  }
}
dl.invest-note dd {
  border-top: 1px solid #FFA7AD;
  border-bottom: 1px solid #FFA7AD;
}
@media print, screen and (min-width: 768px) {
  dl.invest-note dd {
    padding: 20px 0;
  }
}
@media only screen and (max-width: 767px) {
  dl.invest-note dd {
    padding: 4.1025641026vw 0;
  }
}

/* ++++++++++++++++++++++++++++++++ もっと知る */
dl.moreLink dt {
  color: #CB386D;
  font-weight: bold;
  text-align: center;
}
dl.moreLink dt::before {
  content: "";
  display: inline-block;
  background: url(/hrt/common/images/icon_rose.svg) no-repeat 0 0;
  vertical-align: middle;
  margin-right: 0.5em;
}
@media print, screen and (min-width: 768px) {
  dl.moreLink {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  dl.moreLink dt {
    width: 100%;
    margin-bottom: 20px;
  }
  dl.moreLink dt::before {
    width: 51px;
    height: 45px;
  }
  dl.moreLink dd {
    display: inline-block;
    width: 48%;
  }
}
@media only screen and (max-width: 767px) {
  dl.moreLink dt {
    margin-bottom: 7.6923076923vw;
    position: relative;
    text-align: left;
    padding-left: 23.0769230769vw;
    line-height: 1.3;
    font-size: 4.6153846154vw;
  }
  dl.moreLink dt::before {
    position: absolute;
    top: 0;
    left: 7.6923076923vw;
    width: 13.0769230769vw;
    height: 11.5384615385vw;
  }
  dl.moreLink dd + dd {
    margin-top: 2.5641025641vw;
  }
}

/* ++++++++++++++++++++++++++++++++ アコーディオン */
details.js-details {
  /* Q&A accordion */
}
details.js-details summary {
  display: block;
  cursor: pointer;
}
details.js-details summary::-webkit-details-marker {
  display: none;
}
details.js-details .detail_body {
  background-color: #fff;
  overflow: hidden;
}
details.js-details .detail_body .content_inner {
  position: relative;
}
details.js-details.qa {
  -webkit-filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.08));
  filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.08));
}
details.js-details.qa[open] summary {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
details.js-details.qa[open] summary::before {
  -webkit-transform: rotate(0);
  transform: rotate(0);
}
details.js-details.qa summary {
  text-decoration: underline;
  background-color: #FEF3EF;
  position: relative;
}
details.js-details.qa summary span.lora {
  display: block;
  position: absolute;
  font-weight: bold;
  line-height: 1;
  top: 0;
  bottom: 0;
  margin: auto 0;
  height: 1em;
  letter-spacing: 0.1em;
}
@media print, screen and (min-width: 768px) {
  details.js-details.qa summary {
    padding: 20px 50px 20px 146px;
    border-radius: 20px;
  }
  details.js-details.qa summary:hover {
    background-color: #FFDBDB;
  }
  details.js-details.qa summary span.lora {
    font-size: 40px;
    left: 30px;
  }
}
@media only screen and (max-width: 767px) {
  details.js-details.qa summary {
    padding: 5.1282051282vw 12.8205128205vw 5.1282051282vw 20.5128205128vw;
    border-radius: 4.1025641026vw;
    line-height: 1.5;
  }
  details.js-details.qa summary span.lora {
    font-size: 6.1538461538vw;
    left: 5.1282051282vw;
  }
}
details.js-details.qa summary::before, details.js-details.qa summary::after {
  content: "";
  display: block;
  background-color: #CB386D;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
@media print, screen and (min-width: 768px) {
  details.js-details.qa summary::before, details.js-details.qa summary::after {
    width: 22px;
    height: 3px;
    border-radius: 1.5px;
    right: 30px;
  }
}
@media only screen and (max-width: 767px) {
  details.js-details.qa summary::before, details.js-details.qa summary::after {
    width: 5.641025641vw;
    height: 0.5128205128vw;
    border-radius: 0.2564102564vw;
    right: 5.1282051282vw;
  }
}
details.js-details.qa summary::before {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  /* accordion.jsがアニメーションを止めているっぽい */
}
details.js-details.qa .detail_body .content_inner span.lora {
  position: absolute;
  color: #777;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  details.js-details.qa .detail_body .content_inner {
    padding: 30px 60px 30px 110px;
  }
  details.js-details.qa .detail_body .content_inner span.lora {
    font-size: 40px;
    top: 10px;
    left: 30px;
  }
}
@media only screen and (max-width: 767px) {
  details.js-details.qa .detail_body .content_inner {
    padding: 5.1282051282vw 4.1025641026vw 5.1282051282vw 12.8205128205vw;
  }
  details.js-details.qa .detail_body .content_inner span.lora {
    font-size: 7.1794871795vw;
    top: 2.5641025641vw;
    left: 5.1282051282vw;
  }
}

/* ++++++++++++++++++++++++++++++++ アンカーリンク */
ul.anchor {
  width: 100%;
}
ul.anchor a {
  display: inline-block;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  ul.anchor {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  ul.anchor li {
    border-left: 2px dashed #FFA7AD;
    padding: 0 7px;
    text-align: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  ul.anchor li:last-child {
    border-right: 2px dashed #FFA7AD;
  }
  ul.anchor a {
    text-align: center;
    padding: 10px 10px 25px;
    min-width: 110px;
    height: 100%;
    line-height: 1.5;
  }
  ul.anchor a:hover {
    background-color: #FFDBDB;
  }
  ul.anchor a::after {
    content: "";
    display: block;
    width: 10px;
    height: 10Px;
    border-right: 2px solid #CB386D;
    border-bottom: 2px solid #CB386D;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  ul.anchor.col2 li {
    width: 50%;
  }
  ul.anchor.col3 li {
    width: 33.3%;
  }
  ul.anchor.col4 li {
    width: 25%;
  }
  ul.anchor + ul.anchor {
    margin-top: 10px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  ul.anchor {
    font-size: 90%;
  }
  ul.anchor a {
    min-width: 20%;
    line-height: 1.3;
  }
}
@media only screen and (max-width: 767px) {
  ul.anchor {
    border-bottom: 2px dashed #FFA7AD;
  }
  ul.anchor li {
    border-top: 2px dashed #FFA7AD;
  }
  ul.anchor a {
    padding: 3.5897435897vw 2.5641025641vw 3.5897435897vw 10.2564102564vw;
  }
  ul.anchor a::before {
    content: "";
    display: inline-block;
    width: 2.5641025641vw;
    height: 2.5641025641vw;
    border-right: 2px solid #CB386D;
    border-bottom: 2px solid #CB386D;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 2.5641025641vw;
    margin: auto 0;
  }
  ul.anchor a:has(strong.txtred) {
    position: relative;
  }
  ul.anchor + ul.anchor li:first-child {
    border-top: none;
  }
}

dl.anchorBox {
  font-weight: bold;
}
dl.anchorBox dt {
  background-color: #FEF3EF;
}
@media print, screen and (min-width: 768px) {
  dl.anchorBox dt {
    width: 100%;
    border-radius: 10px;
    text-align: center;
    margin-bottom: 16px;
    padding: 8px;
  }
}
@media only screen and (max-width: 767px) {
  dl.anchorBox dt {
    display: inline-block;
    padding: 1.2820512821vw 2.5641025641vw;
    border-radius: 2.0512820513vw;
    margin-bottom: 4.1025641026vw;
  }
}

/* ++++++++++++++++++++++++++++++++ 段組 */
@media print, screen and (min-width: 768px) {
  .col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .col.item-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .col.row-rev {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .col.col2 > * {
    width: 48%;
  }
  .col.col2-1 > *:first-child {
    width: 33%;
    margin-right: 3%;
  }
  .col.col2-1 > *:last-child {
    width: 63%;
  }
  .col.col2-1.row-rev > *:first-child {
    margin-right: 0;
  }
  .col.col2-1.row-rev > *:last-child {
    margin-right: 3%;
  }
}
@media only screen and (max-width: 767px) {
  .col figure + p,
  .col p + figure {
    margin-top: 1.5em;
  }
}
@media print, screen and (min-width: 768px) {
  .col.finger > figure {
    width: 23.6111111111%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 5.5555555556%;
  }
}
@media only screen and (max-width: 767px) {
  .col.finger > figure {
    width: 43.5897435897vw;
    margin: 0 auto 2.5641025641vw;
  }
}
.col.finger > figure + * {
  width: 100%;
}

/* ++++++++++++++++++++++++++++++++ 画像タップで拡大（SPのみ） */
img.icon-zoom {
  width: 1.2em;
  height: auto;
  vertical-align: text-top;
  margin-right: 0.3em;
}

/* modal window */
div.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  display: none;
  z-index: 100;
}

div.modal .md-img {
  padding: 4vw;
  background-color: #fff;
  overflow-x: visible;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  position: relative;
  top: 25%;
  left: 0;
  height: 50vh;
}

div.modal a.md-close {
  display: block;
  padding: 0.5em;
  line-height: 1.2;
  position: absolute;
  top: calc(25% - 3em);
  left: 1em;
  color: #fff;
  background-color: #CB386D;
  border-radius: 3px;
  font-weight: bold;
  z-index: 101;
}

div.modal .md-img img {
  width: auto;
  max-width: 250vw;
  height: 100%;
}

@media print {
  header {
    position: static;
    height: auto;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  header .header_title p.tagline {
    font-size: 0.6rem;
    white-space: nowrap;
  }
  header .header_util .fsize,
  header .header_util .cvBtn,
  header .header_util .share,
  #btn_menuOpen,
  #globalnavi,
  #sp_bottomBtn,
  footer a#btn_pagetop,
  footer .supervisor,
  footer .list-wrap,
  footer .cta_footer,
  footer small br,
  .pcmenu-overlay,
  .topicpath,
  noscript {
    display: none;
  }
  footer .inner {
    padding: 20px 0;
  }
  *:focus-visible {
    outline: none;
  }
}