button, a {
  cursor: pointer !important;
  transition: 0.3s;
}

.left_txt {
  display: none;
}

.anime {
  opacity: 0;
  transition-duration: 0.6s;
}
.anime.slide_up {
  transform: translateY(2rem);
}
.anime.slide_left {
  transform: translateX(-4rem);
}
.anime.slide_right {
  transform: translateX(4rem);
}
.anime.active {
  opacity: 1;
  transform: translate(0) !important;
}

.modal {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 100;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8705882353);
}
.modal h2 {
  font-size: 1.3rem;
  padding-bottom: 1rem;
}
.modal section {
  margin: 0 auto;
  max-width: 720px;
  position: relative;
  padding: 0 1rem;
}
.modal .inner {
  padding: 2rem 1rem;
  background: #fff;
  height: 82vh;
  overflow-y: scroll;
}
.modal span.closeBtn {
  display: block;
  text-align: center;
  margin: 1rem 0;
  color: #fff;
  cursor: pointer;
}
.modal span.closeBtn::before {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../img/closeBtn.webp);
  background-size: contain;
  margin-right: 0.5rem;
  transform: translateY(5px);
  cursor: pointer;
}

#gaiyou h2 {
  border-bottom: solid 1px #000;
}
#gaiyou dl div {
  margin: 1rem 0;
  padding: 1rem 0px;
  border-bottom: solid 1px #000;
}
#gaiyou dl dt {
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
}
#gaiyou h3 {
  margin-bottom: 2rem;
  margin-bottom: 1rem;
  font-size: 1.3rem;
}

#policy {
  line-height: 1.5;
  font-size: 0.9rem;
}
#policy p {
  margin-bottom: 1rem;
}
#policy dl div {
  margin-bottom: 2rem;
}
#policy dt {
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
}
#policy ul.mark {
  list-style: disc;
  padding-left: 1.5rem;
}
#policy ul.mark li {
  margin-bottom: 0.5rem;
}

.btnArea {
  padding: 0 1rem;
  position: relative;
  z-index: 5;
}
.btnArea .btn {
  display: block;
  align-content: center;
  text-align: center;
  color: #fff;
  height: 4rem;
  border-radius: 0.8rem;
  font-weight: bold;
  margin: 0 auto 0.8rem;
  border: solid 2px #fff;
  text-shadow: 0 0.2rem 0.2rem rgba(0, 0, 0, 0.45);
  box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.7215686275);
  position: relative;
  font-size: 1.1rem;
}
.btnArea .btn strong {
  font-size: 1.5rem;
}
.btnArea .btn::before {
  content: "";
  position: absolute;
  top: 0.7rem;
  left: 1rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 2em;
  height: 2.5rem;
  filter: drop-shadow(0 0.1rem 0.3rem rgba(0, 0, 0, 0.5529411765));
}
.btnArea .btn.mail_btn {
  padding-left: 2.5rem;
}
.btnArea .btn.mail_btn::before {
  background-image: url(../img/mail_icon.webp);
}
.btnArea .btn.line_btn::before {
  background-image: url(../img/line_icon.webp);
}
.btnArea .mail_btn {
  background: linear-gradient(to bottom, #FFC3B1, #ff712c 15%, #D03200 50% 80%, #FF3D00);
}
.btnArea .line_btn {
  background: linear-gradient(to bottom, #19F274, #06D35C 15%, #04A84A 50% 80%, #05BC52);
}

.read_kadai {
  text-align: center;
}
.read_kadai .kadai_cnt_a {
  background: #fff;
  font-size: 1.3rem;
  position: relative;
}
.read_kadai .kadai_cnt_a::after {
  content: "";
  width: 16rem;
  height: 3.5rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -3.4rem;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background: #fff;
}
.read_kadai .kadai_cnt_a h2 {
  margin-bottom: 1rem;
}
.read_kadai .kadai_cnt_a h2 strong {
  color: var(--main);
  font-size: 2.1rem;
  font-weight: 700;
  display: inline-flex;
  margin-top: 0.5rem;
}
.read_kadai .kadai_cnt_a h2 span::before {
  content: "";
  display: block;
  border-radius: 5rem;
  width: 0.4rem;
  height: 0.4rem;
  background: var(--main);
  margin: 0 auto;
}
.read_kadai .kadai_cnt_a h3 {
  margin-bottom: 1.5rem;
  position: relative;
  color: #fff;
  z-index: 2;
  padding: 0.6rem;
  font-size: 1.2rem;
  line-height: 1.4;
}
.read_kadai .kadai_cnt_a h3::before {
  content: "";
  position: absolute;
  background: #000;
  width: 100%;
  height: 100%;
  transform: skewX(-16deg);
  top: 0;
  left: 0;
  z-index: -1;
}
.read_kadai .kadai_cnt_a div > picture {
  width: 18rem;
  display: block;
  margin: 0 auto 0.5rem;
}
.read_kadai .kadai_cnt_a div > picture::after {
  display: none;
}
.read_kadai .kadai_cnt_a ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0;
  margin: 0 auto 1.5rem;
  opacity: 1;
}
.read_kadai .kadai_cnt_a ul li {
  width: 50%;
  opacity: 0;
  transition-duration: 1s;
}
.read_kadai .kadai_cnt_a ul li img {
  width: 11rem;
}
.read_kadai .kadai_cnt_a ul li:last-child {
  width: 100%;
}
.read_kadai .kadai_cnt_a ul li:last-child img {
  width: 10rem;
}
.read_kadai .kadai_cnt_a ul li:nth-child(2) {
  transition-delay: 0.3s;
}
.read_kadai .kadai_cnt_a ul li:nth-child(3) {
  transition-delay: 0.6s;
}
.read_kadai .kadai_cnt_a ul.active li {
  opacity: 1;
}
.read_kadai .kadai_cnt_a p {
  font-weight: 600;
}
.read_kadai .kadai_cnt_a p em {
  font-size: 1.5rem;
  font-weight: bold;
}
.read_kadai .kadai_cnt_b {
  color: #fff;
  padding-bottom: 4rem;
  padding-top: 4.5rem;
}
.read_kadai .kadai_cnt_b p {
  font-weight: bold;
  margin-bottom: 1.5rem;
  line-height: 1.5;
}
.read_kadai .kadai_cnt_b span {
  padding: 0 0.2rem;
  margin: 0 0.1rem;
}
.read_kadai .kadai_cnt_b span:nth-of-type(1) {
  background: #05C656;
}
.read_kadai .kadai_cnt_b span:nth-of-type(2) {
  background: red;
}
.read_kadai picture {
  position: relative;
  display: block;
}
.read_kadai picture::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 6rem;
  left: 0;
  bottom: -7rem;
  background-image: url(../img/kadai_next_icon.webp);
  background-position: center;
  background-repeat: no-repeat;
  z-index: 5;
  background-size: 5rem;
}

.read_nayami {
  background: var(--main);
  padding-top: 2rem;
  padding-bottom: 1rem;
}
.read_nayami h2 {
  margin: 0 auto 1rem;
  width: 20rem;
}
.read_nayami ul {
  display: flex;
  flex-direction: column;
  gap: 11rem 0;
  justify-content: center;
  margin: 0 auto -1.5rem;
  background-image: url(../img/nayami_cnt_bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 17rem;
  transform: scale(0.9);
}
.read_nayami ul li {
  opacity: 0;
  transition-duration: 0.4s;
}
.read_nayami ul li:nth-child(1) {
  transform: translateY(2rem);
  transition-delay: 0.5s;
}
.read_nayami ul li:nth-child(2) {
  transform: translateY(-0.5rem);
  transition-delay: 1s;
}
.read_nayami ul.active li {
  transform: translate(0);
  opacity: 1;
}
.read_nayami ul.active li:nth-child(2) {
  transform: translateY(-2.5rem);
}
.read_nayami div > picture {
  margin: 0 auto 2rem;
  display: block;
}

.read_nagare {
  background-image: url(../img/nagare_bg.webp);
  background-position: top center;
  position: relative;
  background-color: #F2F2F2;
  background-size: 145rem;
  padding-bottom: 1rem;
  position: relative;
}
.read_nagare::after {
  content: "";
  width: 100%;
  height: 8rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -7.9rem;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background: #F2F2F2;
}
.read_nagare h2 {
  padding-top: 1.5rem;
  font-size: 1.8rem;
  text-align: center;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  letter-spacing: 1px;
  width: 100%;
  background: #F2F2F2;
}
.read_nagare h2 span {
  font-size: 1.2rem;
}
.read_nagare h2 strong {
  background: #05C656;
  color: #fff;
  padding: 0 0.5rem;
}
.read_nagare ul {
  background: #05C656;
  padding: 2rem;
  margin: 0rem 2rem 2rem;
}
.read_nagare ul li {
  background: #fff;
  border-radius: 0.8rem;
  margin-bottom: 4rem;
  padding: 10.5rem 1rem 1.5rem;
  position: relative;
  background-position: top 2.5rem center;
  background-repeat: no-repeat;
  background-size: 7rem;
  position: relative;
}
.read_nagare ul li span {
  position: absolute;
  display: block;
  text-align: center;
  align-content: center;
  background: #000;
  font-size: 1.5rem;
  padding: 0.2rem 1rem;
  border-radius: 0.3rem;
  color: #fff;
  font-weight: bold;
  top: -1rem;
  left: 50%;
  transform: translateX(-50%);
}
.read_nagare ul li::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  width: 100%;
  height: 3rem;
  bottom: -3rem;
  left: 0;
  background-position: center;
  background-size: 2.5rem;
  background-image: url(../img/nagare_next_icon.webp);
}
.read_nagare ul li:nth-child(1) {
  background-image: url(../img/nagare_cnt_a.webp);
  background-size: 6rem;
}
.read_nagare ul li:nth-child(2) {
  background-image: url(../img/nagare_cnt_b.webp);
}
.read_nagare ul li:nth-child(3) {
  background-image: url(../img/nagare_cnt_c.webp);
  margin-bottom: 0;
}
.read_nagare ul li:nth-child(3)::after {
  display: none;
}
.read_nagare ul h3 {
  text-align: center;
  align-content: center;
  display: block;
  margin: 0 auto 1rem;
  border-radius: 10rem;
  height: 3rem;
  font-size: 1.2rem;
  background: linear-gradient(90deg, #FF7C00, #FF3D00);
  color: #fff;
  box-shadow: 0 0.2rem 0.3rem #000;
}
.read_nagare ul p {
  line-height: 1.6;
  font-weight: 500;
}
.read_nagare h4 {
  line-height: 1.3;
  text-align: center;
  font-weight: bold;
  font-size: 1.1rem;
  margin-bottom: 1rem;
}
.read_nagare h4 strong {
  color: var(--main);
  font-size: 1.8rem;
}
.read_nagare div > p {
  text-align: center;
  line-height: 1.6;
  font-weight: bold;
}

.read_case {
  background: #fff;
  padding-bottom: 1rem;
}
.read_case h2 {
  margin: 0 auto 1.5rem;
  width: 20rem;
}
.read_case dl h3 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
.read_case dl figure {
  margin: 0 auto 2rem;
  width: 9rem;
}
.read_case dl div {
  margin-bottom: 2.5rem;
}
.read_case dl dt span {
  background: #000;
  color: #fff;
  padding: 0.2rem 1rem;
  margin-bottom: 0.5rem;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 0.3rem;
  font-size: 1.4rem;
}
.read_case dl dd {
  padding: 1rem;
  line-height: 1.6;
  border: solid 1px;
  position: relative;
  z-index: 2;
  background: #fff;
}
.read_case dl dd::before {
  content: "";
  position: absolute;
  width: 2rem;
  height: 3rem;
  background-image: url(../img/case_fukidashi_icon.webp);
  background-position: center;
  background-repeat: no-repeat;
  left: 50%;
  transform: translateX(-50%);
  top: -1.7rem;
}
.read_case dl dd p {
  text-align: left;
  margin-bottom: 0;
  font-weight: 600;
}
.read_case dl dd span {
  color: var(--main);
  display: block;
}
.read_case p {
  line-height: 1.6;
  margin-bottom: 1.5rem;
  text-align: center;
  font-weight: bold;
}
.read_case.case_nagare dd em {
  background: linear-gradient(to bottom, transparent 0 70%, var(--main) 0);
}
.read_case.case_youtube dd em {
  background: linear-gradient(to bottom, transparent 0 70%, #fd2205 0);
}
.read_case.case_youtube dd span {
  color: #fd2205;
}

.read_riyu {
  text-align: center;
  line-height: 1.6;
}
.read_riyu .riyu_a {
  color: #fff;
}
.read_riyu .riyu_a h2 {
  position: relative;
  margin: 0 auto 1.5rem;
}
.read_riyu .riyu_a h2::before, .read_riyu .riyu_a h2::after {
  content: "";
  display: block;
  background-image: url(../img/riyu_a_next.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 2rem;
  height: 3rem;
  margin: 0 auto;
}
.read_riyu .riyu_a h2::after {
  margin-top: 1rem;
}
.read_riyu .riyu_a p {
  margin-bottom: 1rem;
}
.read_riyu .riyu_a p strong {
  font-size: 1.2rem;
  line-height: 1.4;
}
.read_riyu .riyu_b {
  background: linear-gradient(-25deg, var(--main) 0 12%, #fff 12% 88%, #000 0);
  padding: 2rem 0;
  margin: -0.1rem 0;
}
.read_riyu .riyu_c {
  background: var(--main);
  color: #fff;
  font-weight: bold;
  padding-bottom: 1rem;
  position: relative;
}
.read_riyu .riyu_c::after {
  content: "";
  width: 16rem;
  height: 3.5rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -3.4rem;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background: var(--main);
  z-index: 2;
}
.read_riyu .riyu_c h3 {
  font-size: 1.2rem;
}
.read_riyu .riyu_c h3 strong {
  display: block;
  color: #000;
  margin: 0.5rem 0 1rem;
  align-content: center;
  height: 3rem;
  font-size: 1.4rem;
  position: relative;
  z-index: 2;
}
.read_riyu .riyu_c h3 strong::before {
  content: "";
  position: absolute;
  background: #fff;
  width: 100%;
  height: 100%;
  transform: skewX(-16deg);
  top: 0;
  left: 0;
  z-index: -1;
}
.read_riyu .riyu_c h4 {
  font-size: 1.3rem;
  line-height: 1.4;
  margin: 1rem auto 1.5rem;
}
.read_riyu .riyu_c h4::before {
  content: "";
  display: block;
  width: 10rem;
  height: 3rem;
  background-image: url(../img/riyu_c_next.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 1rem auto;
}
.read_riyu .riyu_d {
  background: #fff;
  padding-top: 4rem;
  font-weight: bold;
  position: relative;
}
.read_riyu .riyu_d .inner {
  padding-bottom: 0;
}
.read_riyu .riyu_d::after {
  content: "";
  width: 100%;
  height: 4rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -3.9rem;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background: #fff;
}
.read_riyu .riyu_d h5 {
  margin: 0 auto 1.5rem;
  width: 20rem;
}
.read_riyu .riyu_d figure {
  margin: 2rem auto 1rem;
  width: 18rem;
}
.read_riyu .riyu_d ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0;
  margin: 0 auto 1.5rem;
}
.read_riyu .riyu_d ul li {
  width: 50%;
}
.read_riyu .riyu_d ul li img {
  width: 11rem;
}
.read_riyu .riyu_d ul li:last-child {
  width: 100%;
}
.read_riyu .riyu_d p strong {
  font-size: 1.4rem;
  margin-top: -1rem;
  display: block;
}
.read_riyu .riyu_e {
  padding-top: 5rem;
}
.read_riyu .riyu_e .btnArea {
  margin-bottom: 2.5rem;
}

.read_youtube {
  background-image: url(../img/nagare_bg.webp);
  background-position: top center;
  position: relative;
  background-color: #F2F2F2;
  background-size: 145rem;
  padding-bottom: 1rem;
  position: relative;
}
.read_youtube::after {
  content: "";
  width: 100%;
  height: 8rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -7.9rem;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background: #F2F2F2;
}
.read_youtube h2 {
  padding-top: 1.5rem;
  font-size: 1.7rem;
  text-align: center;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  width: 100%;
  background: #F2F2F2;
}
.read_youtube h2 strong {
  display: block;
  background: #FF2200;
  color: #fff;
  padding: 0.2rem 0.5rem;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: 1.7rem;
  margin-top: 0.6rem;
}
.read_youtube h2 span {
  font-size: 1.1rem;
}
.read_youtube ul {
  background: #FF2200;
  padding: 3rem 2rem 2rem;
  margin: 0rem 2rem 2rem;
}
.read_youtube ul li {
  background: #fff;
  border-radius: 0.8rem;
  margin-bottom: 3rem;
  padding: 10.5rem 1rem 1.5rem;
  position: relative;
  background-position: top 2rem center;
  background-repeat: no-repeat;
  background-size: 7.5rem;
}
.read_youtube ul li span {
  padding: 0;
  position: absolute;
  display: block;
  text-align: center;
  align-content: center;
  background: #000;
  font-size: 1.5rem;
  height: 2.8rem;
  line-height: 1;
  width: 2.8rem;
  padding: 0;
  border-radius: 10rem;
  color: #fff;
  font-weight: bold;
  top: -1.4rem;
  left: 50%;
  transform: translateX(-50%);
}
.read_youtube ul li:nth-child(1) {
  background-image: url(../img/read_youtube_cnt_a.webp);
}
.read_youtube ul li:nth-child(2) {
  background-image: url(../img/read_youtube_cnt_b.webp);
  background-size: 8.5rem;
  background-position-y: 2.5rem;
}
.read_youtube ul li:nth-child(3) {
  background-image: url(../img/read_youtube_cnt_c.webp);
  margin-bottom: 0;
  background-position-y: 2.5rem;
}
.read_youtube ul h3 {
  text-align: center;
  align-content: center;
  display: block;
  margin: 0 auto 1rem;
  border-radius: 0.8rem;
  font-size: 1.2rem;
  line-height: 1.5;
  height: 5rem;
  background: linear-gradient(90deg, #FF7C00, #FF3D00);
  color: #fff;
  box-shadow: 0 0.2rem 0.3rem #000;
}
.read_youtube ul p {
  line-height: 1.6;
  font-weight: 500;
}

.read_point .point_a {
  padding-top: 1rem;
}
.read_point .point_a h2 {
  color: #fff;
  text-align: center;
  margin-bottom: 3rem;
  font-size: 1.4rem;
}
.read_point .point_a h2 strong {
  color: var(--main);
  font-size: 2rem;
  display: inline-flex;
  margin: 0 0.2rem;
}
.read_point .point_a h2 strong span::before {
  content: "";
  display: block;
  width: 0.4rem;
  height: 0.4rem;
  margin: 0 auto;
  border-radius: 5rem;
  background: var(--main);
}
.read_point .point_a li {
  background: #fff;
  margin-bottom: 3rem;
  padding: 2rem 1rem;
  position: relative;
  background-position: right bottom;
  background-size: 50%;
  background-repeat: no-repeat;
  border-radius: 0.8rem;
}
.read_point .point_a li span {
  background: var(--main);
  color: #fff;
  position: absolute;
  top: -1rem;
  font-size: 1.5rem;
  font-weight: bold;
  border-radius: 0.4rem;
  padding: 0.2rem 0.5rem;
  left: -0.5rem;
}
.read_point .point_a li h3 {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}
.read_point .point_a li p {
  width: 50%;
  line-height: 1.5;
}
.read_point .point_a li:nth-child(1) {
  background-image: url(../img/point_cnt_a.webp);
}
.read_point .point_a li:nth-child(2) {
  background-image: url(../img/point_cnt_b.webp);
  background-position: left -1rem bottom;
  padding-left: 50%;
}
.read_point .point_a li:nth-child(2) span {
  left: unset;
  right: -0.5rem;
}
.read_point .point_a li:nth-child(2) p {
  width: 100%;
}
.read_point .point_a li:nth-child(3) {
  background-image: url(../img/point_cnt_c.webp);
}
.read_point .point_b {
  background: var(--main);
  color: #fff;
  padding: 1.5rem 0;
  position: relative;
}
.read_point .point_b::after {
  content: "";
  width: 16rem;
  height: 3.5rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -3.4rem;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background: var(--main);
}
.read_point .point_b picture {
  margin: 0 auto 2rem;
  display: block;
  width: 22rem;
}
.read_point .point_b li {
  margin-bottom: 2.5rem;
  background-position: center right;
  background-repeat: no-repeat;
  background-size: 35%;
}
.read_point .point_b li h4 {
  width: 8rem;
  margin-bottom: 0.8rem;
}
.read_point .point_b li p {
  width: 50%;
}
.read_point .point_b li:nth-child(1) {
  background-image: url(../img/point_txt_bg_a.webp);
}
.read_point .point_b li:nth-child(2) {
  background-image: url(../img/point_txt_bg_b.webp);
}
.read_point .point_b li:nth-child(3) {
  margin-bottom: 0;
}
.read_point .point_b li:nth-child(3) h4 {
  width: 12rem;
}
.read_point .point_b li:nth-child(3) {
  background-image: url(../img/point_txt_bg_c.webp);
}
.read_point .point_c {
  background: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 1.1rem;
  padding: 4rem 0 2rem;
}
.read_point .point_c p em {
  margin-bottom: 1rem;
  display: block;
  font-size: 1.2rem;
  line-height: 1.6;
}
.read_point .point_c p strong {
  color: var(--main);
  font-size: 2.1rem;
  font-weight: 700;
  display: inline-flex;
  margin-top: 0.5rem;
}
.read_point .point_c p strong span::before {
  content: "";
  display: block;
  border-radius: 5rem;
  width: 0.4rem;
  height: 0.4rem;
  background: var(--main);
  margin: 0 auto;
}
.read_point .point_c p:nth-of-type(2) {
  font-size: 1.4rem;
}
.read_point .point_c picture {
  display: block;
  margin: 0 auto 1.5rem;
  filter: drop-shadow(0 0.3rem 0.3rem #666);
}

.read_plan {
  padding-top: 2rem;
  padding-bottom: 1rem;
}
.read_plan h2 {
  text-align: center;
  color: #fff;
  font-size: 2rem;
  margin-bottom: 3.5rem;
}
.read_plan dl div {
  margin-bottom: 1.5rem;
}
.read_plan dl div.plan_line dt {
  background: linear-gradient(to bottom, #05C656 0 4%, #fff 0);
  position: relative;
}
.read_plan dl div.plan_line strong {
  color: #05C656;
  font-size: 2.4rem;
  margin: 0 0.2rem;
  font-weight: 600;
}
.read_plan dl div.plan_line strong.green_b {
  color: #048B3C;
}
.read_plan dl div.plan_line li::before {
  background-image: url(../img/check_icon_green.webp);
}
.read_plan dl div.plan_line dd h5 {
  margin-bottom: 2.5rem;
  background: #048B3C;
}
.read_plan dl div.plan_line dd li::before {
  background-image: url(../img/check_icon_green_b.webp);
}
.read_plan dl div.plan_youtube dt {
  background: linear-gradient(to bottom, #FF0101 0 4%, #fff 0);
}
.read_plan dl div.plan_youtube dd {
  padding-top: 2.5rem;
}
.read_plan dl div.plan_youtube strong {
  color: #FF0101;
  font-size: 3rem;
  margin: 0 0.2rem;
}
.read_plan dl div.plan_youtube ul {
  display: flex;
  flex-wrap: wrap;
}
.read_plan dl div.plan_youtube li {
  width: 35%;
}
.read_plan dl div.plan_youtube li:nth-child(odd) {
  width: 65%;
}
.read_plan dl div.plan_youtube li::before {
  background-image: url(../img/check_icon_red.webp);
}
.read_plan dl div.plan_youtube h5 {
  background: #FF0101;
}
.read_plan dl dt {
  padding: 4rem 1rem 0;
  border-top-left-radius: 0.6rem;
  border-top-right-radius: 0.6rem;
}
.read_plan dl dt p {
  text-align: center;
}
.read_plan dl dt h3 {
  text-align: center;
  font-size: 1.7rem;
  margin: 0 -1rem 0.5rem;
}
.read_plan dl dt h4 {
  border-top: solid 1px #000;
  padding-top: 1.5rem;
  margin-top: 1.5rem;
}
.read_plan dl dd {
  line-height: 1.6;
  padding: 1rem 1rem 0;
  font-weight: 600;
  border-bottom-left-radius: 0.6rem;
  border-bottom-right-radius: 0.6rem;
  overflow: hidden;
  background: #fff;
}
.read_plan dl dd p {
  background: #F2F2F2;
  font-size: 1.5rem;
  text-align: center;
  padding: 1.5rem 0;
  margin: 0 -1rem;
}
.read_plan dl dd p span {
  font-size: 1rem;
}
.read_plan dl ul {
  font-size: 1.1rem;
  font-weight: 500;
  margin-bottom: 1.5rem;
}
.read_plan dl li {
  margin-bottom: 0.8rem;
  background-repeat: no-repeat;
  min-height: 1.5rem;
  align-content: center;
  display: flex;
}
.read_plan dl li::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
  margin-right: 0.5rem;
  transform: translateY(2px);
}
.read_plan dl h4 {
  padding: 1rem;
  margin: 0 -1rem;
  font-size: 1.3rem;
  font-weight: 600;
}
.read_plan dl h5 {
  background: #15c658;
  color: #fff;
  text-align: center;
  align-content: center;
  height: 3rem;
  font-weight: 600;
}
.read_plan dl h5 em {
  font-size: 2rem;
}

.contact {
  background: var(--main);
  color: #fff;
  padding: 1rem 0;
}
.contact h2 {
  text-align: center;
  margin-bottom: 2rem;
  font-size: 1.7rem;
}
.contact label {
  display: block;
}
.contact .contact_list {
  margin-bottom: 3rem;
}
.contact .contact_list p {
  font-weight: bold;
  margin-bottom: 1rem;
  font-size: 1.1rem;
}
.contact .contact_list p span {
  font-weight: normal;
  font-size: 0.85rem;
}
.contact .contact_list label {
  position: relative;
  margin-bottom: 1.5rem;
  padding-left: 2rem;
}
.contact .contact_list label::before {
  content: "";
  position: absolute;
  left: 0rem;
  background: #fff;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 5rem;
}
.contact .contact_list input {
  display: none;
}
.contact .contact_list input[type=radio]:checked + label::before {
  background: radial-gradient(#000 0 40%, #ffffff 0);
}
.contact .contact_form div {
  margin-bottom: 1rem;
}
.contact .contact_form label {
  font-weight: bold;
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
}
.contact .contact_form label span {
  font-size: 0.85rem;
  font-weight: normal;
}
.contact .contact_form input, .contact .contact_form textarea {
  background: #fff;
  padding: 0.5rem 1rem;
  width: 100%;
  border-radius: 0.3rem;
  line-height: 1.8;
  margin-bottom: 0.5rem;
}
.contact .contact_form input::-moz-placeholder, .contact .contact_form textarea::-moz-placeholder {
  color: #ccc;
}
.contact .contact_form input::placeholder, .contact .contact_form textarea::placeholder {
  color: #ccc;
}
.contact .contact_form button {
  display: block;
  background: #000;
  border-radius: 10rem;
  align-content: center;
  text-align: center;
  height: 3.8rem;
  width: 13rem;
}

.contact_page {
  background: #fff;
  border-top: solid 1rem var(--main);
  padding-top: 1.5rem;
}
.contact_page h2 {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
}
.contact_page dl {
  margin-bottom: 1.5rem;
}
.contact_page dl > div {
  padding: 1rem 0;
  border-bottom: solid 1px;
}
.contact_page dl dt {
  margin-bottom: 0.8rem;
}
.contact_page .btn {
  display: block;
  border-radius: 10rem;
  align-content: center;
  text-align: center;
  color: #fff;
  height: 3.6rem;
  width: 12rem;
  margin: 0 auto 1rem;
  background: #000;
}
.contact_page .btn.orange {
  background: var(--main);
}
.contact_page.thanks h1 {
  font-size: 1.34rem;
  width: 100%;
  margin-bottom: 2.5rem;
  font-weight: 600;
}
.contact_page.thanks p {
  margin-bottom: 2rem;
}

.read_qa {
  background: #fff;
  padding: 1.5rem 0;
}
.read_qa h2 {
  text-align: center;
  margin-bottom: 2rem;
  font-size: 1.8rem;
}
.read_qa details {
  margin-bottom: 1rem;
}
.read_qa details summary {
  background: linear-gradient(90deg, #696969 0 4rem, #000 0);
  color: #fff;
  list-style: none;
  align-items: center;
  display: block;
  padding: 1rem 2.5rem 1rem 5rem;
  border-radius: 0.8rem;
  display: flex;
  position: relative;
  min-height: 4.5rem;
  line-height: 1.5;
}
.read_qa details summary::before {
  content: "Q";
  font-size: 2.5rem;
  height: 3.2rem;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
}
.read_qa details summary::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 2.5rem;
  height: 100%;
  background-image: url(../img/qa_icon_a.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1rem;
}
.read_qa details p {
  background: linear-gradient(90deg, #FF7C00 0 4rem, #FFF2E5 0);
  padding: 1rem 1rem 1rem 5rem;
  border-radius: 0.8rem;
  line-height: 1.5;
  margin-top: 0.5rem;
  display: flex;
  position: relative;
}
.read_qa details p::before {
  content: "A";
  font-size: 3rem;
  height: 4rem;
  font-weight: bold;
  color: #fff;
  display: block;
  margin: auto;
  line-height: 1;
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
}
.read_qa details[open] summary::after {
  background-image: url(../img/qa_icon_b.webp);
}

.read_dousen .dousen_a {
  color: #fff;
  padding-top: 1rem;
  padding-bottom: 1rem;
  position: relative;
}
.read_dousen .dousen_a::after {
  content: "";
  width: 16rem;
  height: 3.5rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -3.4rem;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background: #000;
}
.read_dousen .dousen_a h2 {
  margin: 0 auto 1rem;
  width: 20rem;
}
.read_dousen .dousen_a h3 {
  color: #000;
  position: relative;
  text-align: center;
  padding: 0.5rem;
  line-height: 1.5;
  margin-bottom: 2rem;
}
.read_dousen .dousen_a h3::before {
  content: "";
  position: absolute;
  background: #fff;
  width: 100%;
  height: 100%;
  transform: skewX(-16deg);
  top: 0;
  left: 0;
  z-index: -1;
}
.read_dousen .dousen_a ul {
  display: flex;
  gap: 1rem 0;
  flex-wrap: wrap;
  margin: 0 auto 2rem;
}
.read_dousen .dousen_a ul li {
  width: 50%;
}
.read_dousen .dousen_a ul li:last-child {
  width: 100%;
}
.read_dousen .dousen_a ul li img {
  width: 10rem;
  display: block;
  margin: auto;
}
.read_dousen .dousen_a p {
  font-size: 1.4rem;
  text-align: center;
  font-weight: bold;
  line-height: 1.4;
}
.read_dousen .dousen_b {
  background: #fff;
  padding-top: 3.5rem;
  text-align: center;
  font-weight: bold;
  padding-bottom: 1.5rem;
}
.read_dousen .dousen_b p {
  font-size: 1.5rem;
}
.read_dousen .dousen_b ul {
  margin: 1rem auto;
  opacity: 1;
}
.read_dousen .dousen_b ul li {
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 0.6rem;
  padding: 0.5rem;
  width: 20rem;
  margin: 0 auto 0.6rem;
  opacity: 0;
  transition-duration: 0.8s;
  transform: translateY(1rem);
}
.read_dousen .dousen_b ul li:nth-child(1) {
  background: #05C656;
}
.read_dousen .dousen_b ul li:nth-child(2) {
  background: #FF2200;
  transition-delay: 0.3s;
}
.read_dousen .dousen_b ul li:nth-child(3) {
  background: #000;
  transition-delay: 0.6s;
}
.read_dousen .dousen_b ul.active li {
  opacity: 1;
  transform: translate(0);
}
.read_dousen .dousen_c {
  background-color: var(--main);
  color: #fff;
  text-align: center;
  padding: 1rem 0 12rem;
  background-image: url(../img/dousen_bg_sp.webp);
  background-size: 100%;
  background-position: bottom center;
  background-repeat: no-repeat;
}
.read_dousen .dousen_c h4 {
  font-weight: bold;
  font-size: 1.7rem;
  line-height: 1.4;
  margin-bottom: 1rem;
}
.read_dousen .dousen_c p {
  line-height: 1.5;
  font-weight: bold;
}

footer {
  text-align: center;
  color: #fff;
  padding: 1rem 1rem 5rem;
}
footer .footer_logo {
  margin: 0 auto 2rem;
  width: 16rem;
}
footer p {
  line-height: 1.5;
}
footer p.copyright {
  font-size: 0.85rem;
}
footer p span {
  font-size: 0.9rem;
}
footer ul {
  margin: 2rem auto;
}
footer ul li {
  margin-bottom: 1.5rem;
}

#floatBtn {
  position: fixed;
  bottom: 0;
  width: 100%;
  left: 0;
  z-index: 30;
}
#floatBtn .btnArea {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  padding: 0;
}
#floatBtn .btnArea .btn {
  font-size: 1rem;
}
#floatBtn .btnArea .btn strong {
  font-size: 1rem;
}
#floatBtn .btnArea .line_btn {
  padding-left: 1.5rem;
}
#floatBtn dt, #floatBtn dd {
  width: 50%;
}

@media screen and (min-width: 768px) {
  html {
    font-size: 18px;
  }
  .inner {
    max-width: 720px;
    padding: 2rem 1rem;
  }
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  .fv .fv_cnt_a h2 {
    width: 100%;
  }
  .fv .fv_cnt_a h2::before {
    right: -3.7rem;
    top: -3.5rem;
    width: 11rem;
    height: 11rem;
  }
  .fv .fv_cnt_b {
    padding-bottom: 1rem;
  }
  .fv .fv_cnt_b figure img {
    transform: unset;
  }
  .fv .fv_cnt_b figure::before {
    width: 38rem;
    height: 25rem;
    left: 0rem;
    top: 16.5rem;
  }
  .btnArea {
    display: flex;
    gap: 0.5rem;
    padding: 0;
    margin: 0 -2rem;
  }
  .btnArea dt, .btnArea dd {
    width: 50%;
  }
  .btnArea .btn {
    height: 4.5rem;
  }
  .btnArea .btn::before {
    top: 1rem;
    left: 1.5rem;
  }
  .modal .inner {
    padding: 3rem;
  }
  #floatBtn .btnArea {
    margin: 0 auto;
    padding: 0 0.5rem;
  }
  #floatBtn .btnArea .btn {
    font-size: 1.2rem;
  }
  #floatBtn .btnArea .btn strong {
    font-size: 1.5rem;
  }
  .read_kadai .kadai_cnt_a h2 {
    margin-bottom: 2rem;
  }
  .read_kadai .kadai_cnt_a div > picture {
    width: 30rem;
    margin-bottom: 2rem;
  }
  .read_kadai .kadai_cnt_a ul {
    flex-wrap: nowrap;
  }
  .read_kadai .kadai_cnt_a ul li {
    width: 33.3333333333%;
  }
  .read_kadai .kadai_cnt_a ul li img {
    width: 100%;
  }
  .read_kadai .kadai_cnt_a ul li:last-child {
    width: 33.3333333333%;
  }
  .read_kadai .kadai_cnt_a ul li:last-child img {
    width: 85%;
  }
  .read_kadai .kadai_cnt_b p {
    font-size: 1.2rem;
  }
  .read_nayami h2 {
    width: 28rem;
    margin-bottom: 2rem;
  }
  .read_nayami ul {
    flex-direction: row;
    margin: 0 auto 1.5rem;
    justify-content: space-between;
    margin: 0 -2rem 1.5rem;
    background-size: 22rem;
    min-height: 22rem;
  }
  .read_nayami ul li {
    width: 19rem;
  }
  .read_nayami ul li:nth-child(2) {
    transform: translateY(1.5rem);
  }
  .read_nagare {
    background-size: 130rem;
  }
  .read_nagare h2 {
    font-size: 2.3rem;
    padding-top: 2.5rem;
    padding-bottom: 2rem;
    margin-bottom: 1rem;
  }
  .read_nagare ul {
    margin: 0 -4rem 2rem;
    justify-content: space-between;
    display: flex;
  }
  .read_nagare ul li {
    width: calc(33.3333333333% - 1.5rem);
    margin-bottom: 0;
  }
  .read_nagare ul li::after {
    bottom: unset;
    left: unset;
    top: 45%;
    right: -2.2rem;
    width: 2rem;
    background-size: contain;
    transform: rotate(-90deg);
  }
  .read_nagare h4 {
    font-size: 1.6rem;
  }
  .read_nagare h4 strong {
    font-size: 2.2rem;
  }
  .read_case .inner {
    padding-top: 0;
  }
  .read_case h2 {
    width: 24rem;
  }
  .read_case dl dt {
    display: flex;
    position: relative;
    margin-bottom: 1rem;
    gap: 0.5rem;
  }
  .read_case dl dt span {
    margin-bottom: 0;
  }
  .read_case dl dt h3 {
    margin-bottom: 0;
  }
  .read_case dl figure {
    position: absolute;
    margin: 0;
    left: 0;
    top: 3rem;
    width: 6rem;
  }
  .read_case dl dd {
    margin-left: 7.5rem;
  }
  .read_case dl dd::before {
    left: -0.8rem;
    top: 1rem;
    transform: rotate(-90deg);
    width: 1.5rem;
    height: 2rem;
  }
  .read_case div > p {
    font-size: 1.1rem;
  }
  .read_riyu .riyu_a h2 img {
    margin: 1rem auto 1rem;
    width: 32rem;
  }
  .read_riyu .riyu_c {
    padding-top: 1rem;
  }
  .read_riyu .riyu_c h3 {
    font-size: 1.3rem;
  }
  .read_riyu .riyu_c h3 strong {
    height: 3.5rem;
    font-size: 1.6rem;
  }
  .read_riyu .riyu_c p {
    margin: 2rem auto;
  }
  .read_riyu .riyu_d ul {
    flex-wrap: nowrap;
  }
  .read_riyu .riyu_d ul li {
    width: 33.3333333333%;
  }
  .read_riyu .riyu_d ul li img {
    width: 11rem;
  }
  .read_riyu .riyu_d ul li:nth-child(1) img {
    transform: translateY(-5px);
  }
  .read_riyu .riyu_d ul li:nth-child(3) {
    width: 33.3333333333%;
  }
  .read_riyu .riyu_d ul li:nth-child(3) img {
    width: 12rem;
    transform: translateY(-14px);
  }
  .read_youtube h2 {
    font-size: 2.3rem;
    padding-top: 2.5rem;
    padding-bottom: 2rem;
    margin-bottom: 1rem;
  }
  .read_youtube h2 strong {
    font-size: 2.2rem;
  }
  .read_youtube ul {
    margin: 0 -4rem 2rem;
    justify-content: space-between;
    display: flex;
  }
  .read_youtube ul li {
    width: calc(33.3333333333% - 1rem);
    margin-bottom: 0;
  }
  .read_point .point_a h2 {
    font-size: 1.8rem;
  }
  .read_point .point_a h2 strong {
    font-size: 2.4rem;
  }
  .read_point .point_a li {
    min-height: 12rem;
    background-size: 14rem;
    background-position: right 1rem bottom;
    padding: 3rem 2rem;
  }
  .read_point .point_a li h3 {
    font-size: 1.6rem;
  }
  .read_point .point_a li:nth-child(2) {
    background-position: left 1.5rem bottom;
    background-size: 12.5rem;
  }
  .read_point .point_a li:nth-child(3) {
    background-size: 15rem;
  }
  .read_point .point_b picture {
    width: 32rem;
  }
  .read_point .point_b li {
    background-size: 8.5rem;
  }
  .read_point .point_b li h4 {
    width: 10rem;
  }
  .read_point .point_b li p {
    width: 55%;
  }
  .read_point .point_b li:nth-child(2) {
    background-position-x: 95%;
  }
  .read_point .point_b li:nth-child(3) {
    background-size: 8rem;
    background-position-x: 86%;
  }
  .read_point .point_b li:nth-child(3) h4 {
    width: 14rem;
  }
  .read_point .point_c p {
    font-size: 1.2rem;
  }
  .read_point .point_c p em {
    font-size: 1.5rem;
  }
  .read_point .point_c p:nth-of-type(2) {
    font-size: 1.7rem;
  }
  .read_point .point_c p:nth-of-type(2) strong {
    font-size: 2.4rem;
  }
  .read_plan .inner {
    padding: 2rem 0 1rem;
  }
  .read_plan dl dt {
    padding: 4rem 2rem 0;
  }
  .read_plan dl dd {
    padding: 1rem 2rem 0;
  }
  .read_plan dl dd p {
    margin: 0 -2rem;
  }
  .read_plan dl h4 {
    padding: 1rem 2rem;
    margin: 0 -2rem;
  }
  .read_plan dl > div strong {
    display: inline-block;
    transform: translateY(6px);
  }
  .read_plan dl > div.plan_line .line_catch {
    display: flex;
    justify-content: center;
  }
  .read_plan dl > div.plan_line ul {
    display: flex;
    flex-wrap: wrap;
  }
  .read_plan dl > div.plan_line ul li {
    width: 50%;
  }
  .read_plan dl > div.plan_line dd ul li:nth-child(1) {
    order: 1;
    width: 65%;
  }
  .read_plan dl > div.plan_line dd ul li:nth-child(2) {
    order: 3;
    width: 65%;
  }
  .read_plan dl > div.plan_line dd ul li:nth-child(3) {
    order: 2;
    width: 35%;
  }
  .read_plan dl > div.plan_line dd ul li:nth-child(4) {
    order: 4;
    width: 35%;
  }
  .read_plan dl > div.plan_youtube ul {
    white-space: nowrap;
    gap: 0 0.5rem;
  }
  .read_plan dl > div.plan_youtube ul li {
    width: 20%;
  }
  .read_plan dl > div.plan_youtube ul li:nth-child(odd) {
    width: 25%;
  }
  .read_plan dl > div.plan_youtube ul li:nth-child(1) {
    order: 1;
  }
  .read_plan dl > div.plan_youtube ul li:nth-child(2) {
    order: 2;
  }
  .read_plan dl > div.plan_youtube ul li:nth-child(3) {
    order: 5;
  }
  .read_plan dl > div.plan_youtube ul li:nth-child(4) {
    order: 3;
  }
  .read_plan dl > div.plan_youtube ul li:nth-child(5) {
    order: 4;
    width: 30%;
  }
  .read_plan dl > div.plan_youtube ul li:nth-child(6) {
    order: 6;
  }
  .read_plan dl > div.plan_youtube ul li:nth-child(7) {
    order: 7;
  }
  .read_plan dl dt h3 {
    font-size: 1.6rem;
  }
  .read_plan dl dd p {
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.4;
    padding-top: 1rem;
  }
  .read_plan dl h5 {
    height: 3.5rem;
    font-size: 1.4rem;
  }
  .read_plan dl h5 em {
    font-size: 2.2rem;
  }
  .read_qa h2 {
    font-size: 2.1rem;
  }
  .read_dousen .dousen_a h2 {
    margin: 0 auto 2.5rem;
    width: 25rem;
  }
  .read_dousen .dousen_a h3 {
    font-size: 1.2rem;
  }
  .read_dousen .dousen_a ul {
    flex-wrap: nowrap;
  }
  .read_dousen .dousen_a ul li {
    width: 33.3333333333%;
  }
  .read_dousen .dousen_a ul li:last-child {
    width: 33.3333333333%;
  }
  .read_dousen .dousen_b p {
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .read_dousen .dousen_b ul {
    display: flex;
    gap: 0.5rem;
    margin: 1rem -2rem;
  }
  .read_dousen .dousen_b ul li {
    white-space: nowrap;
  }
  .read_dousen .dousen_c {
    padding: 1rem 0 20rem;
  }
  .read_dousen .dousen_c h4 {
    font-size: 2.2rem;
  }
  .read_dousen .dousen_c p {
    font-size: 1.2rem;
  }
  .contact .contact_list {
    display: flex;
    flex-wrap: wrap;
  }
  .contact .contact_list p {
    width: 100%;
  }
  .contact .contact_list label {
    display: inline-block;
    margin-right: 2rem;
  }
  .contact .contact_form > div:nth-of-type(1) {
    display: flex;
    gap: 0.5rem;
  }
  .contact_page h2 {
    text-align: center;
  }
  .contact_page dl > div {
    display: flex;
  }
  .contact_page dl dt {
    width: 30%;
  }
  .contact_page dl dd {
    width: 60%;
  }
  .contact_page .linkArea {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
  }
  .contact_page .linkArea .btn {
    margin: 0;
  }
}
@media screen and (min-width: 1280px) {
  header {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
  }
  header h1 {
    position: absolute;
    left: 0;
    top: 1rem;
    margin: 0;
    z-index: 40;
  }
  .btnArea {
    gap: 0 1rem;
  }
  .btnArea .btn {
    height: 5rem;
  }
  .btnArea .btn::before {
    top: 1.2rem;
    left: 1rem;
  }
  .left_txt {
    display: block;
    position: fixed;
    left: 0;
    top: 1.5rem;
    z-index: 25;
  }
  .left_txt img {
    width: 6.5rem;
  }
  .left_txt ul {
    display: flex;
    flex-wrap: wrap;
    width: 5rem;
    gap: 1rem;
    margin-left: 2rem;
    margin-top: 0.5rem;
    transition-duration: 0.6s;
  }
  .left_txt ul li {
    width: 2rem;
    transition-duration: 0.5s;
    opacity: 1;
    transition-delay: 0s;
    position: relative;
    opacity: 0;
  }
  .left_txt ul li:nth-child(1) {
    right: -2rem;
    top: -2rem;
  }
  .left_txt ul li:nth-child(2) {
    left: -4rem;
  }
  .left_txt ul li:nth-child(3) {
    right: -2rem;
    top: -2rem;
  }
  .left_txt ul li:nth-child(4) {
    left: -4rem;
  }
  .left_txt ul li.active {
    opacity: 1;
  }
  .inner {
    max-width: 800px;
  }
  #floatBtn {
    right: 1rem;
    bottom: 1rem;
    left: unset;
    width: 22rem;
  }
  #floatBtn .btnArea {
    flex-direction: column;
    gap: 0;
    padding: 0;
  }
  #floatBtn .btnArea dt, #floatBtn .btnArea dd {
    width: 100%;
  }
  .fv {
    display: flex;
    height: 33rem;
    position: relative;
    z-index: 32;
    background: #000;
  }
  .fv .fv_cnt_a {
    width: 50%;
    margin-left: auto;
    margin-right: 0;
  }
  .fv .fv_cnt_a .inner {
    margin-left: auto;
    margin-right: 0;
    max-width: 600px;
    padding: 5rem 0 0;
    position: relative;
    z-index: 2;
  }
  .fv .fv_cnt_a h2 {
    width: 36rem;
  }
  .fv .fv_cnt_a h2::before {
    right: -3.5rem;
    top: -2.5rem;
    height: 10rem;
    width: 9.5rem;
  }
  .fv .fv_cnt_b {
    width: 50%;
    margin-right: auto;
    margin-left: 0;
    background: none;
    padding-bottom: 0;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
  }
  .fv .fv_cnt_b::before {
    content: "";
    background: linear-gradient(112deg, #000 0 13rem, #F4E320 0);
    left: -3rem;
    top: 0;
    width: 120vw;
    height: 100%;
    position: absolute;
    z-index: -1;
  }
  .fv .fv_cnt_b .inner {
    margin-right: auto;
    max-width: 600px;
    margin-left: 2rem;
    padding: 0.5rem 0 0;
  }
  .fv .fv_cnt_b figure img {
    margin-left: 4rem;
    width: 31rem;
  }
  .fv .fv_cnt_b figure::before {
    width: 27rem;
    height: 21rem;
    left: 6rem;
    top: 12.5rem;
  }
  .fv .fv_cnt_b .btnArea {
    position: absolute;
    bottom: 1rem;
    left: -33.2rem;
    width: 40rem;
    z-index: 2;
    gap: 1rem;
  }
  .read_kadai .kadai_cnt_a {
    padding-top: 2.5rem;
  }
  .read_kadai .kadai_cnt_a h2 {
    font-size: 1.6rem;
  }
  .read_kadai .kadai_cnt_a h2 strong {
    font-size: 2.3rem;
  }
  .read_kadai .kadai_cnt_a h3 {
    margin-bottom: 2.5rem;
  }
  .read_kadai .kadai_cnt_a div > picture {
    width: 37rem;
  }
  .read_kadai .kadai_cnt_a p {
    font-size: 1.6rem;
    font-weight: bold;
  }
  .read_kadai .kadai_cnt_a p em {
    font-size: 2rem;
  }
  .read_kadai .kadai_cnt_b p {
    font-size: 1.5rem;
  }
  .read_kadai .kadai_cnt_b picture {
    width: 36rem;
    margin: 0 auto;
  }
  .read_kadai .kadai_cnt_b picture::after {
    height: 7rem;
    bottom: -8.5rem;
    background-size: 6rem;
  }
  .read_nayami ul {
    margin: 0 -1rem 1.5rem;
    background-size: 26rem;
    min-height: 24rem;
  }
  .read_nayami ul li:nth-child(2) {
    transform: translateY(3.5rem);
  }
  .read_nagare::after {
    height: 14rem;
    bottom: -13.9rem;
  }
  .read_nagare h4 {
    font-size: 1.8rem;
  }
  .read_nagare h4 strong {
    font-size: 2.6rem;
  }
  .read_case dl div {
    margin: 0 -3rem 2.5rem;
  }
  .read_youtube::after {
    height: 14rem;
    bottom: -13.9rem;
  }
  .read_dousen {
    position: relative;
    z-index: 28;
  }
  .read_dousen .dousen_c {
    background-image: url(../img/dousen_bg01_pc.webp), url(../img/dousen_bg02_pc.webp);
    background-position: left, right;
    padding-bottom: 1rem;
    padding-top: 1rem;
    background-size: contain;
  }
  footer {
    padding-bottom: 1rem;
    padding-top: 3rem;
    position: relative;
    z-index: 32;
    background: #000;
  }
  footer .foore_logo {
    width: 20rem;
  }
  footer .inner {
    display: flex;
    flex-wrap: wrap;
    max-width: 1000px;
  }
  footer .inner > * {
    width: 50%;
  }
  footer .inner ul {
    display: flex;
    justify-content: space-between;
  }
  footer .inner ul li {
    font-size: 0.9rem;
    margin-bottom: 0;
  }
  footer p {
    text-align: right;
  }
  footer p.copyright {
    align-content: center;
  }
}
@media screen and (min-width: 1920px) {
  header {
    max-width: 1760px;
  }
  header h1 {
    top: 2rem;
    width: 15rem;
  }
  .fv {
    height: 760px;
  }
  .fv .fv_cnt_a .inner {
    max-width: 880px;
    padding-top: 7rem;
  }
  .fv .fv_cnt_a h2 {
    width: 47rem;
  }
  .fv .fv_cnt_a h2::before {
    right: -4.5rem;
    top: -3.5rem;
    height: 13rem;
    width: 12rem;
  }
  .fv .fv_cnt_b::before {
    background: linear-gradient(112deg, #000 0 16rem, #F4E320 0);
    left: -8rem;
  }
  .fv .fv_cnt_b .inner {
    max-width: 880px;
  }
  .fv .fv_cnt_b figure::before {
    width: 40rem;
    height: 26rem;
    left: 4rem;
    top: 20rem;
  }
  .fv .fv_cnt_b figure img {
    margin-left: 3.5rem;
    width: 44rem;
  }
  .fv .fv_cnt_b .btnArea {
    bottom: 2rem;
    left: -49rem;
    width: 45rem;
  }
  .read_dousen .dousen_c {
    height: 435px;
    align-content: center;
  }
  .read_dousen .dousen_c h4 {
    font-size: 2.6rem;
  }
  .left_txt ul {
    width: 8rem;
  }
  .left_txt ul li {
    width: 2.6rem;
  }
  .left_txt ul li:nth-child(1) {
    right: -3rem;
  }
  .left_txt ul li:nth-child(3) {
    right: -3rem;
    top: -2rem;
  }
  .left_txt img {
    width: 8.5rem;
  }
}/*# sourceMappingURL=common.css.map */