@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 共通 */
.grecaptcha-badge {
  visibility: hidden;
}

a:hover {
  opacity: 0.7;
}

.post_content h2,
.post_content h3,
.post_content h4,
.post_content h5 {
  margin: 0 0 20px;
  padding: 10px 5px 10px 15px;
}

.post_content h2 {
  font-size: 1.6em;
}

.post_content h3 {
  font-size: 1.5rem;
  color: var(--color_gnav_bg);
}
.post_content h2:nth-child(2) {
  margin-top: 0;
}

.post_content h3::before {
  height: 3px;
}

.post_content h4 {
  border-left: solid 3px var(--color_gnav_bg);
}
.post_content table th {
  text-align: center;
}

.post_content td:last-child,
.post_content th:last-child {
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.post_content td,
.post_content th {
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
}

.post_content tr:last-child > td {
  border-bottom: 1px solid #ccc;
}

button,
input,
select,
textarea {
  background-color: #fff;
  border: 1px solid #ccc;
}

.img_image.mb_no,
.mb_no {
  margin-bottom: 5px;
}
.mt4 {
  margin-top: 4em;
}

p,
.post_content ul,
.post_content ol {
  margin-bottom: 1.5rem;
}

p:last-child {
  margin-bottom: 0;
}

.post_content li {
  list-style: none;
  position: relative;
  padding-left: 1.2rem;
}

.post_content .wrp_img_right li::before,
.post_content .wrp_img_left li::before,
.post_content .wrp_free li::before {
  content: "■";
  color: var(--color_gnav_bg);
  position: absolute;
  top: -0.1rem;
  left: 0;
}

.-type-card .p-postList__title,
.-type-list2 .p-postList__title,
.-type-list .p-postList__title {
  font-size: 18px;
  color: green;
  border-bottom: dotted 1px #ccc;
  padding-bottom: 5px;
}

.p-postList__excerpt {
  font-size: 16px !important;
}
aside#sidebar {
  font-size: 16px;
}

.pnavi {
  display: flex;
  justify-content: center;
}

.c-shareBtns__list {
  justify-content: end;
}

.c-fixBtn {
  background-color: var(--color_main) !important;
  color: #fff !important;
  opacity: 1;
}

.c-fixBtn:hover {
  color: var(--color_main) !important;
  background: #fff;
  background-color: #fff !important;
  border: 1px solid var(--color_main);
  opacity: 0.7;
}

.c-balloon .c-balloon__iconImg {
  margin-bottom: 5px;
}
/* リセット */

/* mb */
.wrp_mb,
dl.dl_faq,
div.wrp_img_right,
div.wrp_img_left,
div.img_image,
ul.ul_numbering,
ul.ul_numbering li,
dl.dl_access,
div.wrp_shopinfo,
div.wrp_map,
div.wrp_free,
div.wrp_photo,
div.div_checklist,
.box_arrow,
ul.ul_recommender,
div.wrp_recommender,
a.btn_normal,
div.wrp_band,
div.wrp_price_block,
ul.ul_voice,
.wrp_campaign.wrp_main,
.box_johnson01,
.box_johnson02,
.wrp_box01,
.wrp_box02,
.post_content .wrp_before,
.wrp_mov,
div.txt_header,
ul.ul_news,
div.wrp_campain2 {
  margin-bottom: 60px;
}

/* mb */
dl.dl_price_list > dd,
.wrp_price,
ul.ul_voice li,
div.wrp_price,
.post_content div.wrp_price {
  margin-bottom: 40px !important;
}

/* mb2 */
dl.dl_form dd {
  margin-bottom: 20px;
}

/* ヘッダー */
.l-topTitleArea {
  min-height: 100px;
}
.l-mainContent__inner > .post_content {
  margin-top: 2rem;
}
/* サイド　mb */
#sidebar section,
a.btn_tel_side,
img.mb_space,
.wrp_sub_text,
aside#sidebar .wrp_reservation,
#sidebar .wrp_mb,
a.txt_sidelink,
div.wrp_line_image,
aside#sidebar .wrp_campaign {
  margin-bottom: 40px;
}

ul.ul_numbering li:last-child {
  margin-bottom: 0;
}

/* カスタム　共通 */
div.wrp_img_right,
div.wrp_img_left {
  overflow: hidden;
}

/* カスタム　*/
div.wrp_img_right img {
  float: right;
  margin-left: 20px;
}

div.wrp_img_left img {
  float: left;
  margin-right: 20px;
}

div.wrp_img_right img,
div.wrp_img_left img {
  width: 300px;
}
.img_image {
  line-height: 0%;
}
.img_image img {
  width: 100%;
  height: auto;
}

.box_johnson01 {
  display: block;
  margin-top: 0;
  padding: 0;
  width: 100%;
  border-radius: 5px;
}

.box_johnson01 dt {
  display: inline-block;
  box-sizing: border-box;
  padding: 15px 20px;
  margin: 0 0 10px;
  width: 100%;
  font-size: 22px;
  line-height: 140%;
}

.box_johnson01 dd {
  display: inline-block;
  padding: 0 1.5em 1.5em;
  background-color: unset;
}

.box_johnson02 {
  position: relative;
  margin: 0 auto 60px;
  padding: 20px 5px;
  width: 100%;
  color: #fff;
  border: 7px solid #b2771f;
  border-radius: 3px;
  box-shadow: 0 0 5px #333;
  font-weight: 700;
  background-color: #228b22;
}

.box_johnson02:before {
  width: 20px;
  right: 10px;
  border: solid 3px #ff42a0;
  border-radius: 3px 2px 0;
}

.box_johnson02 dt {
  text-align: center;
  font-size: 28px;
  color: #ff0;
  margin-bottom: 15px;
  background-color: unset;
}
.box_johnson02 dd {
  margin-bottom: 0;
  padding: 0 20px;
}

.box_johnson02:after {
  width: 15px;
  right: 45px;
  border: solid 3px #fff;
  border-radius: 8px 5px 2px;
}
.box_johnson02:before,
.box_johnson02:after {
  position: absolute;
  content: "";
  bottom: 0;
}
.wrp_box01 {
  position: relative;
  box-shadow: 0 2px 3px rgb(0 0 0 / 22%);
  padding: 40px 30px 30px;
  background-color: #fffde1;
  margin-top: 20px;
}

.wrp_box01:after {
  position: absolute;
  content: "";
  top: 25px;
  width: 30%;
  height: 35px;
  opacity: 0.3;
  margin: -35px auto 10px 35%;
  background: #c8dff7;
  transform: rotate(-2deg);
  left: 10px;
  right: 10px;
}
.wrp_box02 {
  padding: 20px 25px;
  margin: 25px 25px 60px;
  border: dashed 2px white;
}
.box_arrow {
  width: 0px;
  border-left: 70px solid;
  border-right: 70px solid;
  border-color: transparent;
  margin: auto;
  margin-bottom: 60px;
}

div.wrp_band {
  position: relative;
  padding: 1rem 2rem calc(1rem + 10px);
  font-size: 25px;
  text-align: center;
}
div.wrp_band::before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: "";
}
.post_content ul.wrp_before {
  padding-left: 0;
}
.wrp_before li {
  border-radius: 5px;
  padding: 30px 40px;
  text-align: center;
  margin-bottom: 40px;
  list-style: none;
}

.wrp_before li:last-child {
  margin-bottom: 0;
}

.wrp_before li div {
  display: flex;
}

.wrp_before li dl {
  margin: 0;
  width: 100%;
}

.wrp_before li i {
  align-self: center;
  font-size: 3rem;
  margin: 20px;
}
.wrp_before li dl dt {
  font-size: 1.5rem;
}
.wrp_before li dl dd {
  margin: 0;
}

a.btn_normal {
  text-align: center;
  padding: 10px;
  display: block;
  background-color: var(--color_link);
  color: #fff;
  border-radius: 3px;
  margin-left: 15%;
  margin-right: 15%;
}
.wrp_recommender {
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 130%;
  color: var(--color_gnav_bg);
  width: fit-content;
  margin: auto;
}

.wrp_recommender span {
  display: block;
  position: relative;
}
.wrp_recommender span:before,
.wrp_recommender span:after {
  content: "|";
  display: flex;
  line-height: 0;
  font-size: 80px;
  position: absolute;
  top: 50%;
}
.wrp_recommender span:before {
  left: -40px;
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg);
}
.wrp_recommender span:after {
  right: -40px;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}
ul.ul_recommender {
  padding-left: 0;
}

ul.ul_recommender li {
  list-style: none;
  border: solid 1px #ccc;
  padding: 30px;
  margin-bottom: 40px;
}
ul.ul_recommender li:last-child {
  margin-bottom: 0;
}

ul.ul_recommender li dl dt h3 {
  margin-bottom: 5px;
}

ul.ul_recommender li dd img {
  float: right;
  width: 300px;
  margin-left: 20px;
}
ul.ul_recommender p {
  margin-bottom: 2rem;
}

div.wrp_price_block {
  padding: 20px 30px;
  border-radius: 5px;
  border: solid 2px var(--color_gnav_bg);
}
div.wrp_price_block > dl > dd > p::before {
  content: "■";
}
div.wrp_price_tag {
  background-color: var(--color_gnav_bg);
  padding: 20px;
  border-radius: 5px;
  margin-bottom: 10px;
}
div.wrp_price_tag p {
  margin: 0;
  font-weight: bold;
  font-size: 20px;
  color: #fff;
}
ul.ul_price_tag {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  color: yellow;
  font-size: 20px;
}
ul.ul_price_tag::before {
  content: "\f0a4";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: -4px;
  left: 0;
}

.ul_price_tag li {
  list-style: none;
  line-height: 90%;
  padding-left: 0;
}
ul.ul_price_tag li::after {
  content: "/";
}
div.wrp_price {
  display: block;
  overflow: hidden;
}
div.wrp_price img {
  width: 300px;
  float: right;
  margin-left: 20px;
  border-top: 5px #fff solid;
}

dl.dl_price_list > dd {
  border-bottom: solid 1px #ccc;
  padding-bottom: 40px;
}
dl.dl_price_list > dd:last-child {
  border-bottom: unset;
  padding-bottom: 0;
}
dl.dl_price_list dd dl {
  display: flex;
  flex-wrap: nowrap;
  border: solid 1px #ccc;
  border-right: unset;
  width: 100%;
}
dl.dl_price_list dt h4 {
  font-weight: normal;
  font-size: 18px;
  padding-bottom: 5px;
  margin-bottom: 10px;
  background-color: unset;
}
dl.dl_price_list dt {
  background-color: unset;
}

dl.dl_price_list dd dl dt {
  font-weight: normal;
  background-color: var(--color_gnav_bg);
  color: #fff;
}

dl.dl_price_list dd {
  background-color: #fff;
}
dl.dl_price_list dd dl dt,
dl.dl_price_list dd dl dd {
  flex-grow: 2;
  padding: 5px 10px;
  border-right: solid 1px #ccc;
}
dl.dl_price_list dd:last-child {
  margin-bottom: 0;
}

div.wrp_price_list_detail {
  margin-bottom: 5px;
}
div.wrp_price_note {
  font-size: 16px;
}
.wrp_mov {
  overflow: hidden;
}

.wrp_mov a {
  position: relative;
  display: block;
}

.icn_youtube {
  position: absolute;
  color: red;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 50px;
  width: 80px;
  height: auto;
}
ul.ul_voice li .icn_youtube {
  width: 60px;
}

.wrp_mov p.txt_info {
  margin-top: -5px;
  font-size: 14px;
  line-height: 140%;
}

.wrp_photo {
  position: relative;
  border-radius: 10px;
  padding: 30px 40px;

  background-color: var(--color_gnav_bg);
  color: #ffffff;
}
.wrp_photo div {
  padding-right: 160px;
}
.wrp_photo img {
  position: absolute;
  bottom: -30px;
  right: 10px;
  width: 150px;
}
div.div_checklist {
  padding: 20px;
  border-radius: 5px;
  background-color: red;
}

ul.ul_checklist {
  background-color: #fff;
  padding: 10px 20px;
  border-radius: 10px;
}
.post_content ul.ul_checklist li {
  list-style: none;
  border-bottom: dotted 1px #ccc;
  padding: 0 0 5px 25px;
  margin-bottom: 5px;
  position: relative;
}
.post_content ul.ul_checklist li i {
  color: var(--color_gnav_bg);
  position: absolute;
  left: 0;
  top: 5px;
  font-size: 20px;
}

ul.ul_numbering {
  counter-reset: number 0;
  padding-left: 0;
}
ul.ul_numbering li {
  list-style: none;
  overflow: hidden;
}
ul.ul_numbering li img {
  width: 300px;
  float: right;
  margin-left: 10px;
}

ul.ul_numbering dl dt {
  border-bottom: dotted 1px #ccc;
  margin-bottom: 10px;
  font-size: 23px;
  position: relative;
  padding: 0 5px 5px 20px;
  background-color: unset;
}

ul.ul_numbering dl dd {
  padding-left: 20px;
}

ul.ul_numbering dl::before {
  counter-increment: number 1;
  content: counter(number) " ";
  background-color: var(--color_htag);
  color: #fff;
  position: absolute;
  left: 0;
  top: 3px;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  border-radius: 3px;
}
.wrp_headline {
  text-align: center;
}
.txt_headline {
  background: linear-gradient(transparent 60%, #ff6 60%);
  font-weight: bold;
  font-size: 2rem;
  line-height: 3rem;
}

a.btn_tel_side {
  background-color: var(--color_link);
  color: #fff;
  text-align: center;
  display: block;
  border-radius: 3px;
  padding: 15px 0;
}

dl.dl_access {
  border: solid 1px #ccc;
  display: flex;
  flex-wrap: wrap;
}

dl.dl_access dt {
  width: 20%;
  border-right: solid 1px #ccc;
}

dl.dl_access dd {
  width: 80%;
}

dl.dl_access dt,
dl.dl_access dd {
  border-bottom: solid 1px #ccc;
  padding: 10px 20px;
}
dl.dl_access {
  border-bottom: unset;
}

ul.ul_anchor {
  display: flex;
  flex-wrap: wrap;
  margin-top: 4em;
}

ul.ul_anchor li a {
  background-color: var(--color_link);
  color: #fff;
  border-radius: 3px;
  text-align: center;
  padding: 5px 20px;
  margin: 0 10px 5px 0;
  display: block;
}
.wrp_campaign.wrp_main {
  display: flex;
}
div.wrp_campaign_img {
  width: 400px;
}

.wrp_campaign_img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

p.txt_c_price {
  text-align: right;
}

div.txt_header {
  font-weight: bold;
  font-size: 2.3rem;
  line-height: 120%;
  margin-top: 20px;
}

div.wrp_campain2 {
  text-align: center;
  font-weight: bold;
  font-size: 42px;
}

div.wrp_campain2 p {
  margin-bottom: 0;
  line-height: 140%;
}
.wrp_campain2 dl dt {
  color: #ff6600;
}

p.txt_campaign span {
  font-size: 20px;
}

p.txt_generally,
p.first {
  font-weight: normal;
  font-size: 20px;
}

p.txt_date {
  font-size: 36px;
}
p.txt_date span {
  font-size: 20px;
  margin-top: -15px;
  display: block;
}
p.txt_campaign {
  color: red;
}
p.remaining {
  font-size: 30px;
  color: #0000ff;
}

form input[type="submit"] {
  background-color: var(--color_link);
  color: #fff;
  border-radius: 3px;
  border: 0px;
  text-align: center;
  width: 60%;
  margin: 0 20% 10px;
}
a.p-postList__link:after {
  content: "続きを見る";
  position: absolute;
  right: 0;
  bottom: 0;
  background-color: var(--color_link);
  color: #fff;
  padding: 3px 10px;
  border-radius: 3px;
  font-size: 14px;
}

div.grp_reservation {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
}
/* サイド */
a.txt_sidelink {
  text-align: right;
  font-size: 16px;
  display: block;
}

h3.tit_square_sub {
  position: relative;
  border-bottom: dotted 1px #ccc;
  font-size: 1.1rem;
  margin-bottom: 10px;
  padding: 8px 8px 8px 35px;
}

h3.tit_square_sub:before {
  content: "■";
  color: var(--color_gnav_bg);
  top: 8px;
  left: 10px;
  position: absolute;
}
aside#sidebar ul.ul_blog {
  margin-bottom: 3px;
}
aside#sidebar ul.ul_blog li {
  border-bottom: dotted 1px #ccc;
}

aside#sidebar ul.ul_blog li a {
  display: block;
  padding: 8px 5px 8px 20px;
  position: relative;
  line-height: 130%;
}
aside#sidebar ul.ul_blog li a::before {
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 7px;
}
.tit_square_sub span {
  color: red;
  font-size: 0.9rem;
  font-weight: normal;
}

aside#sidebar .wrp_campaign {
  line-height: 0;
}
.wrp_campaign p.txt_net {
  font-weight: bold;
  font-size: 20px;
}
.wrp_campaign_txt {
  width: calc(100% - 400px);
}
.wrp_campaign_txt p.txt_c_price {
  font-size: 30px;
  font-weight: 800;
  line-height: 160%;
  margin-bottom: 5px;
}

.wrp_campaign .txt_note {
  text-align: left;
  margin: 0 10px 0 15px;
  line-height: 130%;
  padding: 10px 0;
  border-top: solid 1px #ccc;
  font-size: 13px;
}
.wrp_campaign p {
  margin: 0 10px 10px;
  line-height: 140%;
  font-size: 14px;
}
.txt_net {
  text-align: center;
  padding: 5px 10px;
  margin: 0 0 10px !important;
}
p.txt_c_price span {
  font-size: 60px;
}

table.tbl_hours {
  text-align: center;
  margin-bottom: 10px;
}
table.tbl_hours tr {
  display: revert;
}
div.wrp_line_pc p {
  margin-bottom: 0;
}
a.img_qr {
  width: 180px;
}
.wrp_line_image {
  display: flex;
  flex-wrap: nowrap;
  position: relative;
}
img.img_qr_image {
  width: calc(100% - 160px);
  object-fit: cover;
  position: absolute;
  bottom: 0;
  right: 0;
}

/* よくある質問 */
b.tit_faq {
  font-size: 1.3rem;
  position: relative;
  display: inline-block;
  margin: 1rem 0 1rem -10px;
  padding: 10px 40px;
  color: #fff;
  border-radius: 0 100vh 100vh 0;
  background: var(--color_gnav_bg);
  -webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);
  width: 80%;
}

b.tit_faq:before {
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 0;
  height: 0;
  content: "";
  border-top: 10px solid #005276;
  border-left: 10px solid transparent;
}

dl.dl_faq {
  padding-top: 20px;
  margin-left: 30px;
}

dl.dl_faq dt {
  border-bottom: dotted 1px #ccc;
  color: var(--color_gnav_bg);
  position: relative;
  padding: 2px 2px 2px 40px;
  margin-bottom: 5px;
  background-color: unset;
  font-size: 18px;
}

dl.dl_faq dd {
  padding-right: 2rem;
  margin-bottom: 30px;
  position: relative;
  padding-left: 40px;
}
dl.dl_faq dd:last-child {
  margin-bottom: 0;
}

dl.dl_faq dt:before,
dl.dl_faq dd:before {
  color: #fff;
  border-radius: 2px;
  width: 25px;
  text-align: center;
  height: 25px;
  line-height: 25px;
  position: absolute;
  left: 0;
  top: 5px;
  font-size: 0.9rem;
  background-color: var(--color_gnav_bg);
}
dl.dl_faq dt:before {
  content: "Q";
}
dl.dl_faq dd:before {
  content: "A";
}
ul.ul_news {
  padding-left: 0;
}
ul.ul_news li {
  list-style: none;
  border-bottom: dotted 1px #ccc;
  padding: 5px 5px 5px 10px;
}
ul.ul_news li dl {
  display: flex;
  flex-wrap: nowrap;
}

ul.ul_news li dt {
  width: 10rem;
  font-weight: normal;
}

ul.ul_news li dd {
}

/* お客様の声 */
ul.ul_voice {
  padding-left: 0;
  margin-top: 40px;
}

ul.ul_voice li {
  list-style: none;
  position: relative;
  padding: 20px;
  border-radius: 10px;
}
ul.ul_voice li:last-child {
  margin-bottom: 0;
}

ul.ul_voice li h4 {
  margin: 0 0 5px;
  padding: 0 0 5px 0px;
  color: var(--color_htag);
  border-bottom: dotted 1px #ccc;
  border-left: unset;
  font-size: 1.2rem;
  background-color: unset;
}

ul.ul_voice .wrp_mov {
  height: fit-content;
}

.txt_voice_name {
  font-size: 18px;
}

p.txt_tag {
  font-size: 14px;
  margin-bottom: 10px;
}

div.wrp_customer {
  display: flex;
}

div.img_voice {
  width: 280px;
  height: 185px;
  object-fit: cover;
  margin-right: 20px;
  z-index: 2;
}

dl.dl_voice_faq {
  width: calc(100% - 300px);
}

dl.dl_voice_faq dt {
  border-bottom: dotted 1px #ccc;
  margin-bottom: 5px;
  padding-bottom: 5px;
  color: var(--color_htag);
  position: relative;
  padding-left: 32px;
  line-height: 130%;
  font-weight: 700;
  font-size: 18px;
  background-color: unset;
}
dl.dl_voice_faq dt:before {
  content: "Q";
  background-color: var(--color_htag);
  color: #fff;
  position: absolute;
  top: 2px;
  left: 0;
  line-height: 1.5rem;
  height: 1.5rem;
  width: 1.5rem;
  text-align: center;
  border-radius: 3px;
  font-weight: normal;
  font-size: 15px;
}
.post_content dl.dl_voice_faq dd,
dl.dl_voice_faq dd {
  font-size: 16px;
  margin-bottom: 30px;
}

.post_content ul.ul_voice_image,
ul.ul_voice_image {
  padding-left: 0;
  display: flex;
  margin-top: 20px;
}

ul.ul_voice_image li {
  margin: 0 5px 0 0;
  padding: 0;
}

ul.ul_voice_image li img {
  width: 90px;
  height: 90px;
  object-fit: cover;
}

.post_content .ul_voice p.txt_note {
  font-size: 14px;
  line-height: 120%;
  margin: 20px 0 !important;
}

/* アコーディオン */
/*ベース*/
.toggle {
  display: none;
}
.Label {
  /*タイトル*/
  padding: 3px 10px;
  border-radius: 3px;
  font-size: 14px;
  display: block;
  color: #fff;
  background: var(--color_link);
  text-align: center;
  cursor: pointer;
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 999;
}
.Label,
.content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}
.content {
  /*本文*/
  height: 290px;
  padding: 0 20px;
  overflow: hidden;
}
.content::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60px; /*グラデーションで隠す高さ*/
  content: "";
  z-index: 1;
}
.toggle:checked + .Label + .content {
  /*開閉時*/
  height: auto;
  transition: all 0.3s;
}
.toggle:checked + .Label::before {
  transform: rotate(-45deg) !important;
}

.Label::before {
  content: "続きを読む";
}

.toggle:checked ~ .Label::before {
  content: "閉じる"; /*チェックされていたら、文言を変更する*/
}
.toggle:checked ~ .content::before {
  display: none !important; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
  z-index: unset;
}

ul.ul_voice li .content.detail:before {
  display: none;
}

/* お問い合せ */
dl.dl_form dt {
  margin-bottom: 3px;
}

dl.dl_form dt:before {
  content: "▼";
}

dl.dl_form dd:last-child {
  margin-bottom: 0;
}

dl.dl_form ul {
  margin-top: 20px;
  padding: 20px 40px;
  border: solid 1px;
  border-radius: 3px;
  background-color: snow;
  color: red;
}
dl.dl_form ul li {
  margin-bottom: 10px;
}
dl.dl_form ul li:last-child {
  margin-bottom: 0;
}

div.mw_wp_form {
  background-color: aliceblue;
  padding: 30px;
  border-radius: 3px;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

@media (max-width: 1099px) {
}

@media screen and (min-width: 960px) {
  /* スマホ 横から */
  /* 共有 */
  .l-content {
    padding-top: 1rem;
  }

  /* ヘッダー */
  .wrp_header {
    width: 100%;
    display: flex;
    padding: 0 40px 10px;
    justify-content: space-between;
    position: relative;
  }
  .-parallel-bottom .l-header__logo {
    order: inherit;
    text-align: left;
    width: auto;
  }

  .c-headLogo.-img {
    top: 50%;
    position: absolute;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
  .l-fixHeader__inner.l-container {
    height: 3.5rem;
  }

  p.site-description {
    color: #077a0d;
    margin: 5px 30px 0;
    line-height: 130%;
  }
  .wrp_header_tel {
    width: 450px;
  }
  .hed_tel {
    font-size: 37px;
    font-weight: 750;
    color: darkred;
    font-family: sans-serif;
    letter-spacing: 0;
    position: relative;
    line-height: initial;
  }
  i.fa-solid.fa-mobile-screen-button {
    margin-right: 5px;
  }
  .wrp_reservation {
    color: #fff;
    background-color: var(--color_gnav_bg);
    padding: 2px 0px;
    border-radius: 3px;
    font-size: 16px;
    font-weight: normal;
    text-align: center;
    margin-bottom: 5px;
  }
  .wrp_supplement_text {
    line-height: 130%;
    font-size: 18px;
  }

  .-parallel-bottom .l-header__gnav {
    margin-top: 0;
  }
}

@media screen and (max-width: 959px) {
  .wrp_header_tel,
  p.site-description {
    display: none;
  }
}

@media screen and (max-width: 559px) {
  /* スマホ 縦から */
  .post_content h2,
  .post_content h3,
  .post_content h4,
  .post_content h5 {
    margin-bottom: 10px;
    padding: 5px 5px 5px 10px;
  }

  .post_content h2 {
    font-size: 1.2em;
    margin-bottom: 15px;
  }
  .post_content h3 {
    font-size: 1.2em;
    padding-left: 5px;
  }

  .post_content td,
  .post_content th {
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
  }
  .post_content td:last-child,
  .post_content th:last-child {
    border-bottom: 0px solid #ccc;
  }

  table tr {
    display: flex;
    flex-wrap: wrap;
  }
  table tr th,
  table tr td {
    width: 100%;
  }

  .ui-datepicker table tr {
    flex-wrap: unset;
  }

  table.ui-datepicker-calendar th,
  table.ui-datepicker-calendar td {
  }

  /* mb */
  .wrp_mb,
  dl.dl_faq,
  div.wrp_img_right,
  div.wrp_img_left,
  div.img_image,
  ul.ul_numbering,
  ul.ul_numbering li,
  dl.dl_access,
  div.wrp_shopinfo,
  div.wrp_map,
  div.wrp_free,
  div.wrp_photo,
  div.div_checklist,
  .box_arrow,
  ul.ul_recommender,
  div.wrp_recommender,
  a.btn_normal,
  div.wrp_band,
  div.wrp_price_block,
  ul.ul_voice,
  .wrp_campaign.wrp_main,
  .box_johnson01,
  .box_johnson02,
  .wrp_box01,
  .wrp_box02,
  .post_content .wrp_before,
  .wrp_mov,
  div.txt_header,
  ul.ul_news {
    margin-bottom: 40px;
  }

  .wrp_header {
    width: 100%;
  }

  div.div_checklist {
    padding: 10px;
  }

  ul.ul_voice li {
    padding: 0px 0px 20px;
    margin-bottom: 60px !important;
  }
  .Label {
    top: -30px;
    right: 0px;
  }
  div.wrp_customer {
    display: block;
  }
  div.img_voice {
    margin: 0;
    width: 100%;
  }
  .content {
    height: 400px;
  }
  dl.dl_voice_faq {
    width: 100%;
  }
  div.img_voice {
    height: auto;
  }
  .post_content ul.ul_voice_image,
  ul.ul_voice_image {
    margin-top: 0;
  }

  ul.ul_voice li h4 {
    font-size: 1.4rem;
  }
  ul.ul_voice .content {
    padding: 10px;
  }

  div.wrp_img_right img,
  div.wrp_img_left img {
    width: 100%;
    margin: auto 0 5px;
  }
  .wrp_mov p.txt_info {
    font-size: 12px;
  }

  ul.ul_numbering dl::before {
    width: 20px;
    height: 20px;
    line-height: 20px;
  }

  ul.ul_numbering dl dt {
    padding-left: 30px;
    line-height: 120%;
    font-size: 1.4rem;
  }
  ul.ul_numbering dl dd {
    padding: 0;
  }
  ul.ul_numbering dl dd img {
    width: 100%;
    margin-bottom: 5px;
  }
  ul.ul_numbering li {
    padding: 0;
  }
  ul.ul_recommender li {
    padding: 10px;
  }
  ul.ul_recommender li dl dt h3 {
    padding-top: 0;
  }
  ul.ul_recommender li dd img {
    margin: 0 0 5px;
    width: 100%;
  }
  b.tit_faq {
    width: 100%;
    padding: 10px 20px 10px 20px;
  }
  dl.dl_faq {
    margin-left: 0;
  }
  dl.dl_faq dt {
    line-height: 130%;
  }
  dl.dl_faq dd {
    padding-right: 0;
  }
  dl.dl_access dt,
  dl.dl_access dd {
    width: 100%;
    padding: 5px 5px 5px 15px;
  }
  dl.dl_access dt {
    border-right: 0;
  }
  table.tbl_hours th,
  table.tbl_hours td {
    padding: 1px;
  }

  .c-balloon__body {
    padding: 0 10px 20px;
  }
  div.mw_wp_form {
    padding: 10px 15px;
  }
  dl.dl_form dd input,
  dl.dl_form dd textarea {
    width: 100%;
  }

  dl.dl_form dd input[type="radio"] {
    width: auto;
  }
  span.txt_headline {
    font-size: 1.6rem;
    line-height: 130%;
  }
  .box_johnson01 dt {
    font-size: 1.3rem;
    line-height: 130%;
    padding: 10px 15px;
  }

  .box_johnson01 dd {
    padding: 0 15px 10px;
  }
  div.txt_header {
    font-size: 1.7rem;
  }
  .p-postList__excerpt {
    font-size: 1rem;
    line-height: 130%;
  }
  div.wrp_price_block {
    padding: 10px;
  }
  div.wrp_price_tag {
    padding: 10px;
  }
  ul.ul_price_tag::before {
    top: -7px;
  }
  div.wrp_price_tag p,
  .ul_price_tag li {
    font-size: 1.2rem;
  }
  div.wrp_price img {
    width: 100%;
  }
  ul.menu_list li i {
    font-style: unset;
  }
  ul.menu_list li i:before {
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
  }

  .p-postSlider {
    padding: 0;
  }
  ul.ul_checklist {
    padding: 5px 10px;
  }
  .txt_voice_name {
    font-size: 1.2rem;
  }
  .post_content ul.ul_voice_image li {
    margin-bottom: 0 !important;
  }
  .wrp_line_sm a img {
    width: 100%;
  }
  .post_content ul.ul_checklist li i {
    top: 2px;
  }
  div.wrp_campain2 {
    font-size: 32px;
  }
  a.btn_normal {
    margin-left: 0;
    margin-right: 0;
  }

  dl.dl_form dt span {
    font-size: 12px !important;
  }
  dl.dl_form ul {
    padding: 10px;
  }
  form input[type="submit"] {
    width: 80%;
    margin: 0 10% 10px 10%;
  }
  .-type-card .p-postList__excerpt {
    height: 6rem;
  }
  #fix_bottom_menu {
    bottom: 0 !important;
  }
}
