@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
body {
  margin: 0;
  padding: 0;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Hiragino Sans", Meiryo, sans-serif;
  background: #ffffff !important;
}

.lp-container {
  max-width: 630px;
  /* 960px から 630px に変更 */
  margin: 0 auto;
  padding: 0px 20px;
  overflow: hidden;
}

img {
  width: 100%;
  object-fit: contain;
}

html {
  margin-top: 0 !important;
}

/* #wpadminbar {
  display: none !important;
} */

a:hover {
  opacity: .7;
}

.sp,
.tb {
  display: none;
}

footer a:hover {
  color: #fff !important;
}

.color_red {
  color: red;
  font-weight: bold;
  background: yellow;
}

/*============================================================
fv
============================================================*/
#fv {
  position: relative;
}

.fv_top {
  position: relative;
  width: calc(100% + 40px);
  transform: translateX(-20px);
  max-width: none;
}

#fv .fv_title {
  position: absolute;
  top: 7%;
  left: 27%;
  color: #1D98A8;
  text-align: center;
}

#fv h1 {
  font-size: 52px;
  /* 78px の 2/3 */
  line-height: 1.1;
  letter-spacing: .07em;
}

#fv h2 {
  font-size: 25px;
  line-height: 1.4;
  /* 38px の 2/3 */
}

header {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}

header ul {
  display: flex;
  text-align: center;
  align-items: center;
  list-style: none;
  justify-content: center;
  gap: 10px;
  font-size: 9px;
}

header ul {
  position: relative;
  padding: 0;
}

header li:not(:last-child)::after {
  content: "|";
  color: #000;
  margin-left: 5px;
}

header a {
  text-decoration: none;
  color: #000;
}

/*============================================================
newest
============================================================*/
#newest {
  margin-top: -16px;
  position: relative;
  z-index: 2;
  width: calc(100% + 40px);
  transform: translateX(-20px);
}

.newest_text1 {
  color: #1D98A8;
  position: absolute;
  bottom: 4%;
  left: 5%;
  font-size: 25px;
  /* 38px の 2/3 */
  font-weight: bold;
}

.newest_text2 {
  color: #fff;
  position: absolute;
  bottom: 38%;
  right: 0%;
  font-size: 27px;
  /* 40px の 2/3 */
  font-weight: bold;
}

.newest_text1 p {
  background: #fff;
  display: table;
  margin-bottom: 10px;
  padding: 5px 22px;
}

.newest_text2 p {
  background: #1D98A8;
  display: table;
  padding: 5px 22px;
}

/*============================================================
sec02
============================================================*/
#sec02 {
  padding: 50px 24px;
  font-size: 22px;
  /* 33px の 2/3 */
  line-height: 1.5;
}

#sec02 h2 {
  font-size: 28px;
  /* 42px の 2/3 */
  line-height: 1.3;
  margin-bottom: 53px;
}

#sec02 img {
  margin-bottom: 76px;
}

/*============================================================
sec03
============================================================*/
#sec03 {
  padding: 25px 24px;
  font-size: 22px;
  /* 33px の 2/3 */
  line-height: 1.5;
}

#sec03 h2 {
  font-size: 28px;
  /* 42px の 2/3 */
  line-height: 1.3;
  /* margin-bottom: 53px; */
}

.bgLine {
  background: #FFFABA;
  padding: 5px 0;
}

.product_table1 {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  text-align: center;
}

.product_table1 {
  border-collapse: collapse;
  width: max-content;
  min-width: 122%;
  table-layout: fixed;
}

.product_table2 th,
.product_table2 td {
  font-size: 13px;
  /* 20px の 2/3 */
  text-align: center;
  vertical-align: middle;

}

.product_table1 thead th,
.product_table2 thead th {
  font-size: 18px;
  /* 27px の 2/3 */
  line-height: 2.7;
  background: #E7F9F9;
}

.product_table2 tr th:first-child {
  font-size: 13px;
  /* 20px の 2/3 */
  text-align: center;
  vertical-align: middle;
}

.product_table1 thead th,
.product_table1 thead td {
  padding: 1px 1px;
}

.product_table1 th,
.product_table1 td {
  border: 1px solid #838383;
  padding: 30px 1px;
}

.product_table1 tr td:nth-child(1) {
  width: 20%;
  font-size: 18px;
  /* 27px の 2/3 */
}

.product_table1 tr td:nth-child(2) {
  width: 25%;
  font-size: 15px;
  /* 22px の 2/3 */
}

.product_table1 .first_price {
  font-size: 21px;
  /* 32px の 2/3 */
}

.product_table1 .red {
  color: #D15B5B;
}

.product_table1 tr td:nth-child(3) {
  width: 26%;
}

.product_table1 tr td:nth-child(4) {
  width: auto;
  padding: 10px 20px;
}

.product_table1 tr td:nth-child(4) a {
  display: block;
  text-decoration: none;
  font-weight: bold;
  border-radius: 50px;
  font-size: 17px;
  /* 25px の 2/3 */
  position: relative;
  margin: 18px 0;
  padding: 6px 33px 6px 0px;
  line-height: 1.2;
  border: 2px solid #E7548C;
}

.product_table1 tr td:nth-child(4) a:first-child {
  color: #fff;
  background: #E7548C;
}

.product_table1 tr td:nth-child(4) a::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  width: 30px;
  height: 30px;
  margin: auto;
  border-radius: 20px;
  border: 2px solid #fff;
}

.product_table1 tr td:nth-child(4) a:last-child:before {
  border: 2px solid #E7548C;
}

.product_table1 tr td:nth-child(4) a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 21px;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 6px solid transparent;
  border-right: 0 solid transparent;
  border-left: 9px solid #fff;
  border-bottom: 6px solid transparent;
  box-sizing: border-box;
}

.product_table1 tr td:nth-child(4) a:last-child::after {
  border-left: 9px solid #E7548C;
}

.product_table1 tr td:nth-child(4) a:last-child {
  color: #E7548C;
  background: #fff;
}

.product_table1 tbody tr:first-child {
  background: #FAF8E1;
}

.product_table1 tr td:nth-child(1) img,
.product_table2 tr:nth-child(1) td img {
  width: 40%;
  height: 100px;
  margin: 0 auto 14px;
  display: block;
}

.table_flex {
  display: flex;
  align-items: center;
}

.product_table2 tr td img {
  width: 15%;
  display: block;
  margin: 0 auto 10px;
}

.product_table1 tr td:nth-child(2) img {
  width: 40%;
  margin: 0px auto 14px;
  display: block;
}

.product_table1 tr td:nth-child(1) img.w65,
.product_table2 tr:nth-child(1) td img.w65 {
  width: 65%;
}

.product_table1 tr td:nth-child(3) img {
  width: 40%;
  margin: 0 auto 30px;
  display: block;
}

.product_table1 .product_set_icon {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px 9px;
}

.product_table1 tr td:nth-child(3) p {
  font-size: 14px;
  /* 21px の 2/3 */
  /* background: #C7E8E8; */
  border-radius: 30px;
  padding: 5px 18px;
}

/*============================================================
sec04
============================================================*/
#sec04 {
  padding: 50px 24px;
  font-size: 22px;
  line-height: 1.5;
  position: relative;
}

.readmore-container {
  position: relative;
}

.readmore-content {
  overflow: hidden;
  transition: height 0.4s ease;
  width: calc(100% + 48px);
  transform: translateX(-28px);
  padding: 0 24px;
}

/* フェード用のオーバーレイ */
.readmore-overlay {
  position: absolute;
  bottom: 120px;
  left: 0;
  width: 100%;
  height: 150px;
  background: linear-gradient(to bottom,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 1) 100%);
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* ボタン */
.readmore-toggle {
  display: block;
  width: 70%;
  margin: 0 auto;
  padding: 30px 0;
  background: #fff;
  border: 1px solid #000;
  text-align: center;
  cursor: pointer;
  font-size: 16px;
  position: relative;
  z-index: 10;
  color: #000;
}

.readmore-container.expanded .readmore-overlay {
  opacity: 0;
}

.readmore-toggle::before,
.readmore-toggle::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10%;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.readmore-toggle::before {
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  border: 1px solid #000;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}

.readmore-toggle::after {
  right: calc(10% + 8.5px);
  top: -3px;
  width: 6px;
  height: 6px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.readmore-container.expanded .readmore-toggle {
  margin-top: 20px;
}

.readmore-container.expanded .readmore-toggle::after {
  top: 3px;
  transform: rotate(-135deg);
}

.sec04_h2 {
  display: block;
  margin: auto;
}

.sec04_p1 {
  color: red;
  text-align: center;
  font-size: 112%;
  font-family: "Zen Maru Gothic", sans-serif;
}

.sec04_fukidashi {
  position: relative;
  display: block;
  margin: 44px auto;
  padding: 17px 0px;
  color: #555;
  background: #1D98A8;
  color: #fff;
  width: 88%;
  text-align: center;
  border-radius: 65px;
  font-size: 25px;
  font-weight: bold;
}

.sec04_fukidashi:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -27px;
  border: 27px solid transparent;
  border-top: 26px solid #1D98A8;
}

.sec04_main {
  margin-top: -68px;
  margin-bottom: 120px;
}

.sec04_bg_wrap {
  color: #6E6363;
  text-align: center;
  text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
  font-size: 44px;
  /* 66px の 2/3 */
  text-wrap: nowrap;
  font-weight: bold;
  margin-left: -42px;
  position: relative;
  margin-bottom: 100px;
}

.sec04_bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1;
  scale: 1.3;
}

.sec04_box {
  border: 2px solid #121212;
  border-radius: 4px;
  margin-top: 35px;
  padding: 26px 33px;
  margin-bottom: 40px;
}

.sec04_batsu_wrap {
  background: #FDF0F0;
  width: calc(100% + 48px);
  transform: translateX(-24px);
  padding: 25px 24px 25px 24px;
  margin-bottom: 45px;
}

.sec04_batsu_wrap p {
  display: flex;
  align-items: center;
  gap: 30px;
  font-size: 23px;
  /* 34px の 2/3 */
  padding: 21px 0;
}

.sec04_batsu_wrap p:not(:last-child) {
  border-bottom: 2px solid #E7548C;
}

.sec04_batsu_wrap img {
  width: 45px;
}

.sec04_main2 {
  margin-top: 44px;
  margin-bottom: 135px;
}

.sec04_bg_wrap2 {
  color: #6E6363;
  text-align: center;
  text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
  font-size: 53px;
  /* 80px の 2/3 */
  text-wrap: nowrap;
  font-weight: bold;
  margin-left: -42px;
  position: relative;
  margin-bottom: 100px;
}

.sec04_bg2 {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1;
  scale: 1;
}

.sec04_check_wrap {
  background: #F0FBF0;
  width: calc(100% + 48px);
  transform: translateX(-24px);
  padding: 25px 24px 50px 24px;
  margin-bottom: 76px;
}

.sec04_check_wrap p {
  display: flex;
  align-items: center;
  gap: 30px;
  font-size: 23px;
  /* 34px の 2/3 */
  padding: 21px 0;
}

.sec04_check_wrap p {
  border-bottom: 2px solid #D2D2D2;
}

.sec04_check_wrap img {
  width: 36px;
}

/*============================================================
sec05
============================================================*/
#sec05 {
  padding: 50px 24px 0;
  font-size: 22px;
  /* 33px の 2/3 */
  line-height: 1.5;
}

.sec05_top {
  position: relative;
  width: calc(100% + 48px);
  transform: translateX(-24px);
}

.sec05_h2 {
  position: absolute;
  top: 1%;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 88%;
}

.sec05_top_tie {
  background: #EAEAEA;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  text-align: center;
  font-size: 32px;
  /* 48px の 2/3 */
  width: calc(100% + 48px);
  transform: translateX(-24px);
  padding: 17px 24px 17px 24px;
  margin-top: -54px;
  margin-bottom: 68px;
}

#sec05 h2 {
  font-size: 37px;
  /* 55px の 2/3 */
  text-align: center;
  margin-bottom: 102px;
}

.table_wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table_button a {
  display: inline-block;
  padding: 5px 15px;
  background-color: #e3364a;
  /* 背景色 */
  box-shadow: 0 5px 0 #ca1c30;
  /* 影の太さ・色 */
  border-radius: 60px;
  color: #fff;
  cursor: pointer;
  text-decoration: none;
  /* 文字の下線を消す */
  line-height: 25px;
  margin: 5px 0;
}

.product_table2 {
  border-collapse: collapse;
  width: max-content;
  min-width: 158%;
  table-layout: fixed;
}

.product_table2 th,
.product_table2 td {
  border: 1px solid #ccc;
  padding: 8px;
  word-break: break-word;
  background: #fff;
}

/* 左列thを15%、他は30%ずつ（5列表示） */
.product_table2 tr th {
  width: auto;
}

.product_table2 tr td {
  width: 18%;
  background: #fff;
}

/* tbodyの背景交互：上から奇数行に色 */
.product_table2 tbody tr:nth-child(even) td,
.product_table2 tbody tr:nth-child(even) th {
  background-color: rgb(255, 240, 245) !important;
}

/* スクロールの見た目を整える場合（任意） */
.table_wrapper::-webkit-scrollbar {
  height: 6px;
}

.table_wrapper::-webkit-scrollbar-thumb {
  background: #aaa;
  border-radius: 3px;
}

/*============================================================
sec06
============================================================*/
#sec06 {
  padding: 0px 24px 50px;
  font-size: 22px;
  /* 33px の 2/3 */
  line-height: 1.5;
}

.sec06_top {
  width: calc(100% + 48px);
  transform: translateX(-24px);
  max-width: none;
}

#sec06 h2 {
  font-size: 26px;
  /* 39px の 2/3 */
  text-align: center;
  margin-bottom: 84px;
  position: relative;
  margin-top: 46px;
}

#sec06 h2::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 30px;
  background: #FAF8E1;
  bottom: -10px;
  left: 0;
  right: 0;
  z-index: -1;
}

.sec06_main {
  background: #E3F3F3;
  border-radius: 10px 10px 0 0;
  padding: 60px 40px 0;
  margin: auto;
}

.sec06_main:not(.number1) {
  padding: 40px 40px 0;
}

.sec06_main.number5,
.sec06_main.number4 {
  padding: 40px 40px 40px;
}

.sec06_main h3 {
  display: flex;
  align-items: center;
  font-size: 37px;
  /* 56px の 2/3 */
  gap: 38px;
  position: relative;
}

.sec06_main h3 img {
  width: 45%;
  position: absolute;
  left: 0;
  right: 0;
  top: -70%;
  margin: auto;
}

.sec06_king {
  display: flex;
  flex-direction: column;
  text-align: center;
  gap: 5px;
  color: #fff;
  position: relative;
}

.king {
  margin: auto;
}

.no-1 {
  position: relative;
}

.no-1 p {
  position: absolute;
  bottom: 30px;
  left: 10px;
  background: #fff;
  font-weight: bold;
  font-size: 25px;
  border-radius: 4px;
  padding: 10px;
  letter-spacing: .05em;
}

.no-1 p.small {
  font-size: 17px;
}

.sec06_king p {
  background: gray;
  border-radius: 100px;
  font-family: 'Inter', sans-serif;
  padding: 10px 28px;
}

.sec06_king p.no1 {
  background: #F7A000;
}

.sec06_king p.no2 {
  background: #C0C0C0;
}

.sec06_king p.no3 {
  background: #CD7F32;
}

.sec06_number_wrap h5 {
  font-size: 25px;
}

.nonA {
  margin-top: 54px;
  margin-bottom: 18px;
}

.nonA_review {
  font-size: 35px;
  /* 52px の 2/3 */
  display: flex;
  gap: 20px;
  font-weight: bold;
  align-items: center;
  text-align: center;
  justify-content: center;
  position: relative;
}

.nonA_review::after {
  position: absolute;
  content: "";
  height: 4px;
  width: 49%;
  background: #121212;
  left: 0;
  right: 0;
  bottom: 5px;
  margin: auto;
}

.nonA_review span {
  font-size: 51px;
  /* 76px の 2/3 */
  font-family: 'Inter', sans-serif;
}

.nonA_review img {
  width: 8%;
}

.nonA_info {
  display: flex;
  font-size: 28px;
  /* 42px の 2/3 */
  margin-top: 14px;
  gap: 32px;
  margin-bottom: 52px;
}

.nonA_info .icon {
  background: #1D98A8;
  border-radius: 50px;
  font-size: 28px;
  /* 42px の 2/3 */
  color: #fff;
  font-weight: bold;
  padding: 2px 20px;
  text-wrap: nowrap;
  height: max-content;
}

.sec06_main .text1 {
  margin-top: 20px;
  font-size: 23px;
  /* 35px の 2/3 */
  color: #00505A;
  font-weight: bold;
  margin-bottom: 20px;
}

.cta {
  position: relative;
  text-decoration: none;
  color: #fff;
  display: block;
  margin-bottom: 10px;
}

.cta_text1 {
  font-size: 24px;
  color: red;
  text-align: center;
}

.cta_text2 {
  font-size: 18px;
  text-align: center;
}

.cta_triangle {
  display: flex;
  justify-content: space-around;
  margin: 10px 0;
}

.cta_triangle>div {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-top: 15px solid #000000;
  border-bottom: 0;
}

.cta p {
  position: absolute;
  font-weight: bold;
  font-size: 32px;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 13%;
  text-align: center;
  display: flex;
  align-items: center;
}

.cta:hover p {
  color: #fff;
}


.sec06_number_wrap {
  background: #FAF8E1;
  width: calc(100% + 80px);
  transform: translateX(-40px);
  padding: 25px 24px 25px 24px;
  margin-bottom: 63px;
  margin-top: 30px;
}

.sec06_number_wrap p {
  display: flex;
  align-items: center;
  gap: 30px;
  font-size: 23px;
  /* 34px の 2/3 */
  padding: 21px 0;
}

.sec06_number_wrap p:not(:last-child) {
  border-bottom: 2px solid #D2D2D2;
}

.sec06_number_wrap span {
  width: 48px;
  display: flex;
  background: #1D98A8;
  border-radius: 100%;
  color: #FAF8E1;
  text-align: center;
  aspect-ratio: 1 / 1;
  align-items: center;
  justify-content: center;
  font-size: 19px;
  /* 28px の 2/3 */
}

.sec06_main .text1 span,
.sec06_main .text2 span {
  background: linear-gradient(transparent 60%, #FFF796 60%);
}

.nonA3 {
  margin: 64px 0 46px;
}

.sec06_main h4 {
  color: #00505A;
  text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
  font-size: 31px;
  /* 46px の 2/3 */
  margin-bottom: 48px;
}

.sec06_main .sec04_check_wrap {
  width: calc(100% + 80px);
  transform: translateX(-40px);
  margin-bottom: 0;
}

#sec06 .gra {
  background: linear-gradient(to bottom, #E3F3F3 0%, #fff 100%);
  padding: 47px 40px;
  text-align: center;
  color: #313131;
  font-size: 22px;
  /* 33px の 2/3 */
}

#sec06 .gra h5 {
  color: #1D98A8;
  font-size: 36px;
  margin-bottom: 15px;
  /* 61px の 2/3 */
}

.accordion_item {
  max-width: 1024px;
  margin: 0 auto 25px;
  border-radius: 20px;
}

.accordion_item .accordion_title {
  background-color: #63A0D8;
  color: #fff;
  font-size: 17px;
  /* 26px の 2/3 */
  font-weight: bold;
  padding: 20px 16% 20px 4%;
  text-align: left;
  position: relative;
  cursor: pointer;
  transition: 0.2s;
}

.accordion_item .accordion_title:hover {
  opacity: 0.8;
}

.accordion_item .accordion_title .i_box {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 5%;
  width: 40px;
  height: 40px;
  margin-top: -20px;
}

.accordion_item .accordion_title.open .i_box {
  transform: rotate(-360deg);
}

.accordion_item .accordion_title .i_box .one_i {
  width: 18px;
  height: 18px;
  position: relative;
}

.accordion_item .accordion_title .i_box .one_i:before,
.accordion_item .accordion_title .i_box .one_i:after {
  content: '';
  background-color: #fff;
  position: absolute;
  border-radius: 10px;
}

.accordion_item .accordion_title .i_box .one_i:before {
  width: 4px;
  height: 18px;
  top: 0;
  left: 7px;
}

.accordion_item .accordion_title .i_box .one_i:after {
  width: 18px;
  height: 4px;
  top: 7px;
  left: 0;
}

.accordion_item .accordion_title.open .i_box .one_i:before {
  content: none;
}

.accordion_item .accordion_content {
  display: none;
  padding: 30px;
  border-left: 2px solid #63A0D8;
  border-right: 2px solid #63A0D8;
  border-bottom: 2px solid #63A0D8;
  font-size: 16px;
  /* 24px の 2/3 */
}

.accordion_content span {
  background: #FFF796;
}

/*============================================================
sec07
============================================================*/
#sec07 {
  padding: 0px 24px 50px;
  font-size: 22px;
  /* 33px の 2/3 */
  line-height: 1.5;
}

.sec07_top {
  width: calc(100% + 48px);
  transform: translateX(-24px);
  max-width: none;
}

#sec07 h2 {
  font-size: 35px;
  /* 52px の 2/3 */
  text-align: center;
  margin-bottom: 105px;
  position: relative;
  margin-top: 37px;
}

#sec07 .sec07_h3_wrap {
  position: relative;
}

#sec07 h3 {
  font-size: 29px;
  /* 44px の 2/3 */
  text-align: center;
  position: relative;
  display: table;
  margin: auto;
}

#sec07 h3::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 30px;
  background: #FFF796;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.sec7_h4 {
  font-size: 35px;
  text-align: center;
  margin-top: 48px;
  font-weight: bold;
}

.sec07_shine {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1;
  width: 52%;
}

.sec07_nonA {
  display: block;
  width: 80%;
  margin: 12px auto 77px;
}

.oshi {
  text-align: center;
  position: relative;
  color: #1D98A8;
  font-weight: bold;
  font-size: 29px;
  /* 43px の 2/3 */
  margin-bottom: 71px;
}

.oshi img {
  position: absolute;
  top: -43px;
  bottom: 0;
  right: 4%;
  width: 125px;
  margin: auto 0;
}

#sec07 .text1 {
  text-align: center;
  font-weight: bold;
  margin-bottom: 60px;
}

#sec07 .dotLine {
  margin: 32px 0;
  display: block;
}

#sec07 .text2 {
  background: #E7F9F9;
  width: calc(100% + 48px);
  transform: translateX(-24px);
  max-width: none;
  padding: 24px 24px;
  margin-bottom: 57px;
}

#sec07 .text3 {
  color: #004F59;
  border: 2px solid #1D98A8;
  border-radius: 10px;
  margin-top: 41px;
  margin-bottom: 41px;
  padding: 36px 20px;
}

.qa {
  padding: 36px 20px;
  border: 2px solid #121212;
  border-radius: 10px;
  margin-top: 48px;
}

.qa_title {
  text-align: center;
  border-bottom: 2px solid #121212;
  padding-bottom: 4px;
}

.qa_item {
  padding: 24px 0;
  border-bottom: 2px solid #121212;
}

.qa_item p {
  display: flex;
  gap: 16px;
  align-items: baseline;
}

.qa_item p span {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  width: 35px;
  height: 35px;
  aspect-ratio: 1/1;
}

.q_text {
  margin-bottom: 12px;
}

.q_icon {
  background: #6699B7;
}

.a_icon {
  background: #D65556;
}

.doctor_wrap {
  display: flex;
  align-items: stretch;
  gap: 30px;
  font-size: 24px;
  width: calc(100% + 48px);
  transform: translateX(-48px);
  margin-bottom: 24px;
}

.doctor_wrap h4 {
  font-size: 32px;
  font-weight: bold;
  margin-top: 2px;
  margin-bottom: 12px;
}

.doctor_wrap img {
  min-width: 35%;
  height: 100%;
  object-fit: cover;
}

.doctor_wrap h4 span {
  font-size: 24px;
  margin-left: 4px;
}

.doctor_border {
  font-size: 16px;
  border: 1px solid #B0DBE5;
  border-radius: 8px;
  padding: 12px;
  font-size: 16px;
}

#sec04 h5 {
  font-size: 32px;
  font-weight: bold;
  position: relative;
  color: #047C8C;
}

#sec04 h5::after {
  content: "";
  height: 2px;
  width: 45%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -20%;
  background: #000;
  background: #047C8C;
}

.doctor_fukidashi {
  border: 2px solid #1D98A8;
  border-radius: 8px;
  padding: 12px;
  position: relative;
  margin-bottom: 48px;
  background: #fff;
  margin-top: 24px;
}

.doctor_fukidashi:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 15%;
  margin-left: -20px;
  border: 15px solid transparent;
  border-bottom: 15px solid #1D98A8;
}

.doctor_fukidashi_flex {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  margin-bottom: 12px;
  margin-top: 32px;
}

.doctor_fukidashi_flex>div:first-child {
  color: #1D98A8;
  font-size: 14px;
  text-align: center;
  font-weight: bold;
  width: 20%;
}

.doctor_fukidashi_flex>div:last-child {
  width: 75%;
}

.doctor_fukidashi_flex div:first-child img {
  margin-bottom: 8px;
}

.table_button a:hover {
  color: #fff !important;
}

/* オーバーレイ */
#popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 999;
  display: none;
}

/* ポップアップ本体 */
#popup-banner {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1000;
  display: none;
  max-width: 370px;
}

/* 表示状態クラス */
.popup-visible {
  display: block !important;
}

/* 閉じるボタン */
#popup-banner button {
  color: #fff;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid #fff;
  padding: 6px 12px;
  cursor: pointer;
  border-radius: 50%;
  position: absolute;
  top: -16px;
  right: -16px;
  width: 32px;
  height: 32px;
  font-size: 16px;
  display: flex;
  justify-content: center;
  text-align: center;
  vertical-align: middle;
  align-items: center;
  font-family: I;
  line-height: 1;
  box-sizing: border-box;
  font-family: 'Inter', sans-serif;
}

#popup-banner .cta {
  bottom: -.5%;
  left: 50%;
  transform: translateX(-50%);
  width: 95%;
  position: absolute;
}

#popup-banner .cta p {
  font-size: 22px;
}


footer {
  background: #121212;
  color: #fff;
  padding: 20px 0;
}

footer ul {
  display: flex;
  text-align: center;
  align-items: center;
  list-style: none;
  justify-content: center;
  gap: 20px;
}

footer ul {
  position: relative;
  padding: 0;
}

footer li:not(:last-child)::after {
  content: "|";
  color: #fff;
  margin-left: 10px;
}

footer a {
  text-decoration: none;
  color: #fff;
}

.cr {
  text-align: center;
  margin-top: 8px;
  font-size: 12px;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px) {
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px) {
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px) {
  /*必要ならばここにコードを書く*/
}

@media screen and (max-width: 960px) {
  .tb {
    display: block;
  }

  .pc {
    display: none;
  }

  .newest_text1 {
    font-size: 4vw;
  }

  .newest_text2 {
    font-size: 4vw;
    bottom: 42%;
  }

  #fv h1 {
    font-size: 6vw;
  }

  #fv h2 {
    font-size: 4vw;
  }

  #fv .fv_title {
    left: 33%;
    top: 17%;
  }

  #sec02,
  #sec03,
  #sec04,
  #sec05,
  #sec06,
  #sec07 {
    padding: 50px 10px;
    font-size: 4vw;
  }

  #sec03{
    padding: 0px 10px;
  }

  .sec06_main .sec04_check_wrap {
    width: calc(100% + 48px);
    transform: translateX(-24px);
  }

  .sec04_main {
    margin-bottom: 40px;
  }

  #sec02 h2,
  #sec03 h2,
  #sec04 h2,
  #sec05 h2,
  #sec06 h2,
  #sec07 h2 {
    font-size: 5.5vw;
  }

  .sec04_fukidashi {
    font-size: 4vw;
    padding: 11px 0;
  }

  .sec04_fukidashi:before {
    margin-left: -22px;
    border: 22px solid transparent;
    border-top: 21px solid #1D98A8;
  }

  .readmore-content {
    width: calc(100% + 50px);
    transform: translateX(-25px);
    padding: 20px;
  }

  .readmore-overlay {
    bottom: 100px;
  }

  #sec07 h3::after {
    height: 20px;
    bottom: -10px;
  }

  .sec04_bg_wrap {
    font-size: 6vw;
    margin-left: 0;
  }

  .sec04_box {
    padding: 26px 24px
  }

  .sec04_batsu_wrap img,
  .sec04_check_wrap img,
  .sec06_number_wrap span {
    width: 14%;
  }

  .sec06_number_wrap {
    margin-bottom: 32px;
    padding: 12px 24px;
  }

  .sec04_batsu_wrap p,
  .sec04_check_wrap p,
  .sec06_number_wrap p {
    font-size: 4vw;
  }

  .sec04_bg_wrap2 {
    font-size: 6vw;
    margin-bottom: 12vw;
    margin-left: 0;
  }

  .readmore-toggle {
    padding: 15px 0;
  }

  .sec06_number_wrap p {
    gap: 12px;
  }

  .sec05_top_tie {
    font-size: 5vw;
    margin-bottom: 6vw;
  }

  .sec04_check_wrap {
    margin-bottom: 8vw;
  }

  .sec05_top,
  .sec05_top_tie,
  .sec06_top,
  .sec04_batsu_wrap,
  #sec07 .text2,
  .sec04_check_wrap,
  .sec07_top {
    width: calc(100% + 64px);
    transform: translateX(-32px);
  }

  .sec06_number_wrap {
    width: calc(100% + 48px);
    transform: translateX(-24px);
  }

  .sec04_batsu_wrap{
    margin-bottom: 20px;
  }

  .sec04_main2 {
    margin-bottom: 12vw;
  }

  #sec05 {
    padding: 50px 10px 0px;
  }

  .sec05_h2 {
    width: 75%;
  }

  /* #sec06 h2 {
    font-size: 4vw;
  } */

  #sec06 h2::after {
    bottom: -10px;
    height: 20px;
  }

  #sec06 {
    padding: 0px 10px 50px;
  }

  .sec06_main h3 img {
    width: 45%;
    top: -70%;
  }

  .nonA {
    margin-top: 24px;
  }

  .nonA_info .icon {
    font-size: 4.5vw;
  }

  .sec06_number_wrap span {
    font-size: 4vw;
  }

  .sec06_main h3 {
    font-size: 5vw;
    gap: 16px;
  }

  .sec06_main h3 img {
    margin-bottom: -1vw;
  }

  .nonA_review {
    font-size: 7vw;
    margin-bottom: 5px;
  }

  .nonA_review span {
    font-size: 9vw;
  }

  .nonA_review img {
    width: 10%;
  }

  .nonA_review::after {
    width: 70%;
    bottom: 0px;
  }

  #sec07 .dotLine {
    margin: 16px 0;
  }

  .nonA_info {
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px;
  }

  .nonA_info .icon {
    width: max-content;
  }

  .nonA_info {
    font-size: 5vw;
  }

  .sec06_main .text1 {
    font-size: 5vw;
  }

  .sec06_main h4 {
    font-size: 6vw;
  }

  .nonA3 {
    margin-top: 32px;
  }

  .no-1 p {
    font-size: 3.5vw;
  }

  .no-1 p.small {
    font-size: 3vw;
  }

  #sec06 .gra h5 {
    font-size: 5.5vw;
  }

  #sec06 .gra {
    font-size: 3.2vw;
    padding: 0 24px 24px;
  }

  .accordion_item .accordion_title {
    font-size: 4vw;
  }

  .accordion_item .accordion_content {
    font-size: 3.5vw;
  }

  .lp-container {
    padding: 0 15px;
  }

  #sec07 h3,
  .oshi {
    font-size: 4.6vw;
  }

  #sec07 h3 {
    margin-bottom: 10px;
  }

  .accordion_item {
    margin-bottom: 25px;
  }

  .sec06_main {
    padding: 36px 24px !important;
  }

  .oshi img {
    width: 22%;
  }

  #sec07 .text1 {
    font-size: 3.5vw;
  }

  #sec05 h2 {
    margin-bottom: 6vw;
  }

  .product_table1 {
    border-collapse: collapse;
    width: max-content;
    min-width: 176%;
    table-layout: fixed;
  }

  .product_table1 thead th {
    font-size: 5vw;
  }

  .product_table1 tr td:nth-child(1) {
    font-size: 4vw;
  }

  .product_table1 tr td:nth-child(2) {
    font-size: 4vw;
  }

  .product_table1 .first_price {
    font-size: 5vw;
  }

  .product_table1 tr td:nth-child(3) p {
    font-size: 3vw;
  }

  .product_table1 tr td:nth-child(4) a {
    font-size: 3vw;
  }

  .product_table1 thead th,
  #sec05 .product_table2 thead th {
    font-size: 4vw;
  }

  .product_table1 tr td:nth-child(2) img,
  .product_table1 tr td:nth-child(3) img {
    width: 25%;
  }

  .product_table1 tr td:nth-child(1) img,
  .product_table2 tr:nth-child(1) td img {
    height: 100px;
  }

  .product_table2 th,
  .product_table2 td {
    font-size: 3vw;
  }

  #sec05 .product_table2 tr th:first-child {
    font-size: 3vw;
  }

  .product_table2 {
    min-width: 200%;
  }

  footer {
    font-size: 3vw;
  }

  .newest_text1 p {
    margin-bottom: 5px;
    padding: 3px 20px;
  }

  .newest_text1 p {
    padding: 3px 20px;
  }

  .product_table1 tr td:nth-child(4) a::before {
    width: 20px;
    height: 20px;
  }

  .product_table1 tr td:nth-child(4) a::after {
    right: 19px;
    border-top: 4px solid transparent;
    border-right: 0 solid transparent;
    border-left: 6px solid #fff;
    border-bottom: 4px solid transparent;
  }

  .product_table1 tr td:nth-child(4) a:last-child:after {
    border-left: 6px solid #E7548C
  }

  .cta p {
    font-size: 5vw;
  }

  .cta_text1 {
    font-size: 18px;
  }
  
  .cta_text2 {
    font-size: 14px;
  }

  .table_button a {
    line-height: 30px;
  }

  .sec7_h4 {
    font-size: 7vw;
  }

  .qa_item p span {
    width: 25px;
    height: 25px;
  }

  .doctor_wrap {
    width: 100%;
    transform: translateX(0px);
    padding-right: 0;
    gap: 10px;
    /* flex-direction: column; */
    font-size: 5vw;
    margin-bottom: 8px;
  }

  .doctor_wrap h4 {
    font-size: 7vw;
  }

  .doctor_wrap h4 span {
    font-size: 5vw;
  }

  .doctor_wrap img {
    margin: 5px;
    min-width: unset;
    width: 25%;
  }

  #sec04 h5 {
    font-size: 5.5vw;
  }

  .doctor_border {
    font-size: 4vw;
    margin-bottom: 16px;
  }

  .sec06_number_wrap h5 {
    font-size: 5vw;
  }

  .doctor_fukidashi_flex {
    font-size: 3.5vw;
  }

  .doctor_fukidashi_flex>div:first-child {
    font-size: 3vw;
  }

  #popup-banner {
    min-width: 70%;
  }

  #popup-banner .cta {
    bottom: -1%;
  }

  #popup-banner .cta p {
    font-size: 4vw;
  }
}