@charset "utf-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/

/* ▼▼▼ reset ▲▲▲ */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
:root {
  --color-background: #fff;
  --color-white: #fff;
  --color-font: #414141;
  --color-primary: #D23D21;
  --color-primary-shade: #414141;
  --color-primary-tint: #E0E6F6;
  --color-secondary: #E17717;
  --color-secondary-tint: #eee;
  --color-table-border: #ccc;
  --color-table-grade: linear-gradient(to bottom,#E28214 0%,#DB392B 100%);
  --color-bg-grade: linear-gradient(to bottom,#EDF2FF 0%,#FFEDED 50%,#FFF0E4 100%);
  --content-max-width: 1240px;
  --header-background: #fff;
  --header-color-font: #414141;
  --header-color-primary: #333;
  --header-color-primary-shade: #414141;
  --header-color-primary-tint: #E0E6F6;
  --footer-background: #D23D21;
  --footer-color-font: #fff;
  --footer-color-primary: #fff;
  --body-font-family: "Noto Sans JP", sans-serif;
  --font-family01: "Noto Sans JP", sans-serif;
  --font-family02: "Noto Serif JP", serif;
  --font-family03: "Cormorant Garamond", serif;
  --body-font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.1294), 1.6rem);
  --px200: min(calc(200px + (1vw - 19.2px) * 6.5046), 200px);
  --px190: min(calc(190px + (1vw - 19.2px) * 6.1795), 190px);
  --px180: min(calc(180px + (1vw - 19.2px) * 5.8543), 180px);
  --px170: min(calc(170px + (1vw - 19.2px) * 5.5291), 170px);
  --px160: min(calc(160px + (1vw - 19.2px) * 5.2039), 160px);
  --px150: min(calc(150px + (1vw - 19.2px) * 4.8787), 150px);
  --px140: min(calc(140px + (1vw - 19.2px) * 4.5535), 140px);
  --px130: min(calc(130px + (1vw - 19.2px) * 4.2283), 130px);
  --px120: min(calc(120px + (1vw - 19.2px) * 3.9031), 120px);
  --px110: min(calc(110px + (1vw - 19.2px) * 3.5780), 110px);
  --px100: min(calc(100px + (1vw - 19.2px) * 3.2526), 100px);
  --px98: min(calc(98px + (1vw - 19.2px) * 3.1868), 98px);
  --px96: min(calc(96px + (1vw - 19.2px) * 3.1210), 96px);
  --px94: min(calc(94px + (1vw - 19.2px) * 3.0551), 94px);
  --px92: min(calc(92px + (1vw - 19.2px) * 2.9893), 92px);
  --px90: min(calc(90px + (1vw - 19.2px) * 2.9235), 90px);
  --px88: min(calc(88px + (1vw - 19.2px) * 2.8576), 88px);
  --px86: min(calc(86px + (1vw - 19.2px) * 2.7918), 86px);
  --px84: min(calc(84px + (1vw - 19.2px) * 2.7260), 84px);
  --px82: min(calc(82px + (1vw - 19.2px) * 2.6601), 82px);
  --px80: min(calc(80px + (1vw - 19.2px) * 2.5943), 80px);
  --px78: min(calc(78px + (1vw - 19.2px) * 2.5285), 78px);
  --px76: min(calc(76px + (1vw - 19.2px) * 2.4626), 76px);
  --px74: min(calc(74px + (1vw - 19.2px) * 2.3968), 74px);
  --px72: min(calc(72px + (1vw - 19.2px) * 2.3310), 72px);
  --px70: min(calc(70px + (1vw - 19.2px) * 2.2639), 70px);
  --px68: min(calc(68px + (1vw - 19.2px) * 2.1993), 68px);
  --px66: min(calc(66px + (1vw - 19.2px) * 2.1346), 66px);
  --px64: min(calc(64px + (1vw - 19.2px) * 2.0698), 64px);
  --px62: min(calc(62px + (1vw - 19.2px) * 2.0051), 62px);
  --px60: min(calc(60px + (1vw - 19.2px) * 1.9404), 60px);
  --px58: min(calc(58px + (1vw - 19.2px) * 1.8757), 58px);
  --px56: min(calc(56px + (1vw - 19.2px) * 1.8110), 56px);
  --px54: min(calc(54px + (1vw - 19.2px) * 1.7463), 54px);
  --px52: min(calc(52px + (1vw - 19.2px) * 1.6815), 52px);
  --px50: min(calc(50px + (1vw - 19.2px) * 1.6168), 50px);
  --px48: min(calc(48px + (1vw - 19.2px) * 1.5521), 48px);
  --px36: min(calc(36px + (1vw - 19.2px) * 1.1642), 36px);
  --px38: min(calc(38px + (1vw - 19.2px) * 1.2289), 38px);
  --px46: min(calc(46px + (1vw - 19.2px) * 1.4873), 46px);
  --px44: min(calc(44px + (1vw - 19.2px) * 1.4229), 44px);
  --px42: min(calc(42px + (1vw - 19.2px) * 1.3582), 42px);
  --px40: min(calc(40px + (1vw - 19.2px) * 1.2935), 40px);
  --px34: min(calc(34px + (1vw - 19.2px) * 1.0995), 34px);
  --px32: min(calc(32px + (1vw - 19.2px) * 1.0349), 32px);
  --px30: min(calc(30px + (1vw - 19.2px) * 0.9702), 30px);
  --px28: min(calc(28px + (1vw - 19.2px) * 0.9055), 28px);
  --px26: min(calc(26px + (1vw - 19.2px) * 0.8408), 26px);
  --px24: min(calc(24px + (1vw - 19.2px) * 0.7762), 24px);
  --px22: min(calc(22px + (1vw - 19.2px) * 0.7115), 22px);
  --px20: min(calc(20px + (1vw - 19.2px) * 0.6469), 20px);
  --px18: min(calc(18px + (1vw - 19.2px) * 0.5822), 18px);
  --px16: min(calc(16px + (1vw - 19.2px) * 0.5175), 16px);
  --px14: min(calc(14px + (1vw - 19.2px) * 0.4528), 14px);
  --px12: min(calc(12px + (1vw - 19.2px) * 0.3883), 12px);
  --px10: min(calc(10px + (1vw - 19.2px) * 0.3236), 10px);
	/*------▼pxバリエーション▼------*/
	--px240: min(calc(240px + (1vw - 19.2px) * 10.3560), 240px);/*240px-80px (1920-375)*/
	--px200: min(calc(200px + (1vw - 19.2px) * 6.4725), 200px);/*200px-100px (1920-375)*/
	--px180: min(calc(180px + (1vw - 19.2px) * 3.8835), 180px); /*180-120px (1920-375) */
	--px160w: min(calc(160px + (1vw - 19.2px) * 5.1780), 160px);/*160px-80px (1920-375)*/
	--px160: min(calc(160px + (1vw - 19.2px) * 6.4725), 160px);/*160px-60px (1920-375)*/
	--px150: min(calc(150px + (1vw - 19.2px) * 3.2362), 150px); /*150-100px (1920-375) */
	--px140: min(calc(140px + (1vw - 19.2px) * 6.4725), 140px);/*140px-40px (1920-375)*/
	--px120: min(calc(120px + (1vw - 19.2px) * 2.5890), 120px);/*120px-80px (1920-375)*/
	--px100w: min(calc(100px + (1vw - 19.2px) *  3.2362), 100px);/*100px-50px (1920-375)*/
	--px100: min(calc(100px + (1vw - 19.2px) *  3.8835), 100px);/*100px-40px (1920-375)*/
	--px96: min(calc(96px + (1vw - 19.2px) * 3.1068), 96px);/*96px-48px (1920-375)*/
	--px80w: min(calc(80px + (1vw - 19.2px) * 1.2945), 80px);/*80px-60px (1920-375)*/
	--px80: min(calc(80px + (1vw - 19.2px) * 2.5890), 80px);/*80px-40px (1920-375)x*/
	--px80s: min(calc(80px + (1vw - 19.2px) * 3.8835), 80px);/*80px-20px (1920-375)x*/
	--px60w: min(calc(60px + (1vw - 19.2px) * 1.2945), 60px);/*60px-40px (1920-375)*/
	--px60: min(calc(60px + (1vw - 19.2px) * 1.9417), 60px);/*60px-30px (1920-375)*/
	--px50: min(calc(50px + (1vw - 19.2px) * 1.2945), 50px);/*50px-30px (1920-375) */
	--px40w: min(calc(40px + (1vw - 19.2px) * 0.6472), 40px);/*40px-30px (1920-375)*/
	--px40: min(calc(40px + (1vw - 19.2px) * 1.2945), 40px);/*40px-20px (1920-375)*/
	--px30w:min(calc(30px + (1vw - 19.2px) * 0.6472), 30px);/*30px-20px (1920-375)*/
	--px30: min(calc(30px + (1vw - 19.2px) * 0.9709), 30px);/*30px-15px (1920-375)*/
	--px24: min(calc(24px + (1vw - 19.2px) * 0.6472), 24px);/*24px-14px (1920-375)*/
	--px20: min(calc(20px + (1vw - 19.2px) * 0.6472), 20px);/*20px-10px (1920-375)*/
	--px18: min(calc(18px + (1vw - 19.2px) * 0.2589), 18px);/*18px-14px (1920-375)*/
	--px16: min(calc(16px + (1vw - 19.2px) * 0.1294), 16px);/*16px-14px (1920-375)*/ 
	--px14: min(calc(14px + (1vw - 19.2px) * 0.1294), 14px);/*14px-12px (1920-375)*/
	--px12: min(calc(12px + (1vw - 19.2px) * 0.0647), 12px);/*12px-11px (1920-375)*/	
	/*------▼remバリエーション▼------*/
	--rem120: min(calc(12rem + (1vw - 1.92rem) * 3.8835), 12rem);/*12rem-6rem (1920-375)*/
	--rem80w: min(calc(8rem + (1vw - 1.92rem) * 1.2945), 8rem);/*8rem-6rem (1920-375)*/
	--rem80: min(calc(8rem + (1vw - 1.92rem) * 2.5890), 8rem);/*8rem-4rem (1920-375)x*/
	--rem72: min(calc(7.2rem + (1vw - 1.92rem) * 1.9417), 7.2rem);/*7.2rem-4.2rem (1920-375)*/
	--rem60: min(calc(6rem + (1vw - 1.92rem) * 1.5534), 6rem);/*6rem-3.6rem (1920-375)*/
	--rem48w: min(calc(4.8rem + (1vw - 1.92rem) * 0.6472), 4.8rem);/*4.8rem-3.8rem*/
	--rem48: min(calc(4.8rem + (1vw - 1.92rem) * 1.5534), 4.8rem);/*4.8rem-2.4rem (1920-375)*/
	--rem42w: min(calc(4.2rem + (1vw - 1.92rem) * 0.6472), 4.2rem);/*4.2rem-3.2rem (1920-375)*/
	--rem42: min(calc(4.2rem + (1vw - 1.92rem) * 1.1650), 4.2rem);/*4.2rem-2.4rem (1920-375)*/
	--rem42s: min(calc(4.2rem + (1vw - 1.92rem) * 1.4887), 4.2rem);/*4.2rem-1.9rem (1920-375)*/
	--rem40w: min(calc(4rem + (1vw - 1.92rem) * 0.6472), 4rem);/*4rem-3rem (1920-375)*/
	--rem40: min(calc(4rem + (1vw - 1.92rem) * 1.2945), 4rem);/*4rem-2rem (1920-375)*/
	--rem36: min(calc(3.6rem + (1vw - 1.92rem) * 0.7767), 3.6rem);/*3.6rem-2.4rem (1920-375)*/
	--rem30w: min(calc(3rem + (1vw - 1.92rem) * 0.3883), 3rem);/*3rem-2.4rem (1920-375)*/
	--rem30: min(calc(3rem + (1vw - 1.92rem) * 0.6472), 3rem);/*3rem-2rem (1920-375)*/
	--rem30s: min(calc(3rem + (1vw - 1.92rem) * 0.9709), 3rem);/*3rem-1.5rem (1920-375)*/
	--rem28: min(calc(2.8rem + (1vw - 1.92rem) * 0.6472), 2.8rem); /*2.8rem-1.8rem (1920-375)*/
	--rem24w: min(calc(2.4rem + (1vw - 1.92rem) * 0.3883), 2.4rem);/*2.4rem-1.8rem (1920-375)*/
	--rem24: min(calc(2.4rem + (1vw - 1.92rem) * 0.6472), 2.4rem);/*2.4rem-1.4rem (1920-375)*/
	--rem20w: min(calc(2rem + (1vw - 1.92rem) * 0.2589), 2rem);/*2rem-1.6rem (1920-375)*/
	--rem20: min(calc(2rem + (1vw - 1.92rem) * 0.3883), 2rem);/*2rem-1.4rem (1920-375)*/
	--rem18: min(calc(1.8rem + (1vw - 1.92rem) * 0.2589) ,1.8rem);/*1.8rem-1.4rem (1920-375)*/
	--rem16: min(calc(1.6rem + (1vw - 1.92rem) * 0.1294), 1.6rem);/*1.6rem-1.4rem (1920-375)*/
	--rem14: min(calc(1.4rem + (1vw - 1.92rem) * 0.1294), 1.4rem);/*1.4rem-1.2rem (1920-375)*/
	--rem12: min(calc(1.2rem + (1vw - 1.92rem) * 0.0647), 1.2rem);/*1.2rem-1.1rem (1920-375)*/
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:middle;
    background:transparent;
}

body {
    line-height:1;
    letter-spacing: 0.2rem;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;  
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

.post p , dt , dd , li {
    font-size: 1.4rem;
    padding: 0;
    font-family: 'Crimson Text' , "Noto Sans JP" , 'Noto Serif JP' , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
    line-height: 1.8;
}

.post h2 span {
    padding-left: 0;
}

.post h3 {
    padding: 0;
    position: static;
    clear: none;
    margin: 0;
    line-height: 1.8;
}

.post h4 {
    clear: none;
    margin: 0;
    border: none;
    font-weight: unset;
    padding: 0;
}

.post dt {
    font-weight: unset;
}

.post dd {
    margin: 0;
    padding: 0;
}

.post ul {
    margin: 0;
}

.post li {
    margin: 0;
}

/* ▼▼▼ common ▲▲▲ */

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box; 
}

.fa, .far, .fas {
    font-family: "Font Awesome 6 Brands" , "Font Awesome 6 Free";
    font-weight: normal;
}

html , body {
    font: 62.5% 'Crimson Text' , 'Noto Serif JP' , "Noto Sans JP" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}

body {
    box-sizing: border-box;
}
/*bugfix*/
body.mobile {
    margin-top: 0px;
}

#wrapper {
    width: 100%;
    padding: 0;
}

:root {
  --black: #171716;
  --accent: #e54b23;
  --mincho: 'Noto Serif JP' , sans-serif;
  --gothic: "Noto Sans JP" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic";
}

.font_accent {
    color: var(--accent);
}

.post {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    background: none;
    border: none;
    clear: none;
}
#content.wide{
    padding: 20px 0 0;
}
.home #content.wide {
    padding: 0;
}

.br {
    display: block;
}

a {
    color: #fff;
}

a:link {
    color: #fff;
}
a:visited {
    color: #fff;
}
.post .content_wrap {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
}

.btn_common {
    display: block;
    border: none;
    border-radius: 8px;
    background:none;
    width: 45%;
    max-width: 280px;
    padding: 0;
    margin: 0 auto;
}
.btn_common a {
    display: block;
    border: none;
    border-radius: 8px;
    width: 100%;
    padding: 2rem 0;
    background:var(--black);
    color: #fff;
    text-align: center;
}
.btn_common a:hover , btn_common a:link , btn_common a:visited {
    color:#fff
}

.post .caution_box {
    margin-top: 5rem;
}
.post .caution {
    display: block;
    font-size: 1.2rem;
    margin-top: 0.5rem;
}

#content .linkBtn {
    padding: 0;
    background: none;
    position: relative;
    color:var(--accent);
    border-radius: unset;
    line-height: 1.8;
    transition: all .3s;
    text-align: right;
    margin-bottom: 0;
    display: block;
}
#content .linkBtn a {
    color: var(--accent);
}
#content .linkBtn:before {
    display: block;
    content: '';
    position: absolute;
    top: 45%;
    right: 11rem;
    width: 6px;
    height: 6px;
    border-right: 1px solid #e54b23;
    border-bottom: 1px solid #e54b23;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    margin-top: -3px;
}
#content .linkBtn:after {
    display: none;
}

/* ttl txt */

h1.title {
    margin-bottom: 10rem;
    color: var(--accent);
    text-align: center;
    font-size: 6rem;
    text-shadow: none;
    padding: 0;
}
h1.title span span {
    display: block;
    font-size: 1.4rem;
    color: var(--black);
    padding-top: 1.5rem;
}

header#h1Header h1.title {
    position: absolute;
    width: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    padding: 0;
    margin: 0;
    color: var(--accent);
    letter-spacing: 0.1em;
    text-shadow: none;
    letter-spacing: 0.3rem;
}
h1.first span span {
    display: block;
    font-size: 1.4rem;
    color: #fff;
    padding-top: 1.5rem;
}

.post h2 , .main_ttl {
    font-size: 6rem;
    color: var(--accent);
    text-align: center;
    clear: none;
    background: none;
    border: none;
    border-radius: auto;
    line-height: 1;
    margin-bottom: 6rem;
    padding: 0;
    vertical-align: middle;
    letter-spacing: 0.3rem;
}

.post .main_ttl span , .main_ttl span {
    display: block;
    font-size: 1.4rem;
    color: var(--black);
    padding-top: 1.5rem;
}

.post .main_read , .main_read {
    font-size: 2.8rem;
    color: var(--accent);
    margin-bottom: 4rem;
    text-align: center;
    line-height: 2;
}
.price__contents--area h3.main_read {
    margin-bottom: 0;
    font-size: var(--px50);
}

.post .main_read span , .main_read span {
    display: block;
}

.post .main_txt , .contact .main_txt {
    font-size: 1.4rem;
    line-height: 2.4;
    padding: 0;
    font-family: 'Crimson Text' , "Noto Sans JP" , 'Noto Serif JP' , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
    text-align: center;
    margin-bottom: 5rem;
}
.post .ttl_style04 {
    margin: 2rem 0;
}
.txt_link , .txt_link:hover , .txt_link:visited {
    color: var(--accent);
}
.main_txt .accent  {
    font-weight: bold;
    color: var(--accent);
}


#content.wide {
    padding: 15rem 0 0;
}

/*見出し（両サイドライン）*/
.post .sub_ttl {
    width: 100%;
    max-width: 1100px;
    position: relative;
    font-size: 4.5rem;
    margin: 12rem auto;
}
.post .sub_ttl:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #e54b23;
    top: 40%;
    left: 0;
    z-index: 1;
}
.post .sub_ttl .sub_ttl_inner {
    position: absolute;
    display: block;
    background: #fff;
    z-index: 2;
    top: -23px;
    left: 50%;
    transform: translate(-50%, -0);
    padding: 0 3rem;
}
.post .sub_ttl .sub_ttl_inner span {
    display: block;
    font-size: 1.4rem;
    color: var(--black);
    padding-top: 1.5rem;
}

/*見出し（アンダーライン）*/
.post .sub_ttl_u-line {
    width: 100%;
    text-align: left;
    border-bottom: 1px solid #ccc;
    font-size: 1.8rem;
    padding: 4rem 0 1.5rem;
    margin-bottom: 1.5rem;
    color: var(--black);
}

/*見出し（センター寄せ赤）*/
.post .sub_ttl_center_red {
    text-align: center;
    color: var(--accent);
    font-size: 2rem;
    margin-bottom: 2rem;
}

/*テーブルレイアウト*/
.post table {
    width: 100%;
    border: 1px solid #171716;
    font-size: 1.4rem;
    margin-bottom: 0;
}
.post table th {
    border: none;
    border-bottom: 1px solid #fff;
    background: var(--black);
    color: #fff;
    padding:2rem;
}
.post table td {
    border: none;
    border-bottom: 1px solid #171716;
    color: var(--black);
    padding:2rem;
    vertical-align: middle;
    font-family: "Noto Sans JP" , 'Noto Serif JP' , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
    line-height: 1.5;
}
.post table tr:last-child th {
    border-bottom: 1px solid #171716;
}
.post table td a {
    color: var(--black);
    vertical-align: middle;
}
.post table td br {
    display: none;
}
.block {
    display: block;
}


/* ▼▼▼ top:campaign ▲▲▲ */

.campaign_wrap {
    background: url(/wp-content/uploads/bg_marble.jpg) center top no-repeat;
    background-size: cover;
    padding: 10rem 0;
}

.banner_wrap {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    line-height: 0;
}

.banner_item {
    width: 48%;
    background-color: #fff;
}

.banner_item img {
    width: 100%;
}

/* ▼▼▼ about ▲▲▲ */

.about_wrap {
    width: 90%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 15rem 0;
    text-align: center;
}

.about_wrap .main_txt {
    margin-bottom: 5rem;
}

.info {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-flow: wrap;
    justify-content: space-between;
    align-items: center;
}

.info_items_wrap {
    margin-bottom: 3rem;
}

.info_items_wrap:first-child , .info_items_wrap:nth-child(2) {
    width: 49%;
} 

.info_items_wrap:nth-child(3) , .info_items_wrap:nth-child(4) , .info_items_wrap:nth-child(5) {
    width: 32%;
}

.info_items {
    display: block;
    width: 100%;
    height: 100%;
    padding: 2rem;
}

.info_items_inner {
    position: relative;
    border: #e54b23 1px solid; 
    padding: 0 5rem; 
    width: 100%;
    height: 520px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    text-align: left;
    letter-spacing: 0.2rem;
}

.view_more {
    position: absolute;
    bottom: 36px;
    right: 60px;
}

.view_more:after {
    position: absolute;
    content: "";
    width: 17.8rem;
    height: 1px;
    background: #e54b23;
    top: 2rem;
    left: 0;
}

.item03 , .item04 , .item05 {
    width: 100%;
    
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    padding: 5rem;
    letter-spacing: 0.2rem;
}

.post .info_ttl01 , .post .info_ttl02 {
    position: relative;
    color: #fff;
    font-size: 3rem;
    line-height: 1.3;
}

.post .info_ttl01 {
    font-size: 5rem;
    margin-bottom: 3rem;
}

.post .info_ttl01 span , .post .info_ttl02 span {
    display: block;
    font-size: 1.4rem;
}
.post .info_ttl01:after {
    content: "";
    position: absolute;
    width: 6rem;
    height: 0.2rem;
    background-color: var(--accent);
    bottom: -1.5rem;
}

.post .info_ttl02:after {
    content: "";
    position: absolute;
    width: 6rem;
    height: 0.2rem;
    background-color: var(--accent);
    bottom: -1.5rem;
    left: 0;
    right: 0;
    margin: auto;
}

.item01 {
    background: url(/wp-content/uploads/hsyoga_kv.jpg) center no-repeat;
    background-size: cover;
}
.item02 {
	background: url(/wp-content/uploads/anti_kv02b.jpg) center no-repeat;
    background-size: cover;
}
.item03 {
    background: url(/wp-content/uploads/price_kv2a.jpg) center no-repeat;
    background-size: cover;
}
.item04 {
    background: url(/wp-content/uploads/schedule_kv2a.jpg) center no-repeat;
    background-size: cover;
}
.item05 {
    background: url(/wp-content/uploads/educate_kv.jpg) center no-repeat;
    background-size: cover;
}

.post .info_discription {
    line-height: 3.0;
}


/* ▼▼▼ feature ▲▲▲ */

.feature_wrap {
    width: 100%;
    background: url(/wp-content/uploads/bg_marble02.jpg) center top no-repeat;
    background-size: cover;
    padding: 10rem 0;
}

.feature {
    width: 90%;
    max-width: 1240px;
    margin: 0 auto;
}

.feature_wrap .main_ttl {
    width: 90%;
    max-width: 1240px;
    position: relative;
    font-size: 4.5rem;
    margin: 0 auto 3rem;
}

.feature_wrap .main_ttl span {
    color:#fff;
}

.feature_wrap .main_ttl:before {
    position: absolute;
    content: "";
    width: 36%;
    height: 1px;
    background-color: #e54b23;
    top: 30%;
    left: 0;
}

.feature_wrap .main_ttl:after {
    position: absolute;
    content: "";
    visibility: unset;
    width: 36%;
    height: 1px;
    background-color: #e54b23;
    top: 30%;
    right: 0;
}

.feature {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    border-bottom: 1px solid var(--accent);
}

.feature_inner {
    width: 22%;
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-bottom: 3rem;
}

.feature_ttl {
    text-align: center;
    color: var(--accent);
    order: 2;
    font-size: 2rem;
    font-family: var(--mincho);
    padding: 3rem 0;
    line-height: 1.2;
}

.feature_ttl br {
    display: none;
}

.feature_img {
    order: 1;
}

.feature_discription {
    color: #fff;
    order: 3;
    line-height: 1.8;
}

/* ▼▼▼ NEWS ▲▲▲ */

.front_post_list {
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
    padding: 10rem 0 0;
    font-size: 1.4rem;
}

.postlist li {
    border: none;
    line-height: 1.6em;
    margin: 1rem 0;
    padding: 0;
}
.postlist li:first-child {
    margin-top: 0;
}
.postlist .post_text {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0;
}
.post .time, .postlist .time, .post2b .time, .post4b .time {
    color: var(--black);
    background-color: var(--accent);
    padding: 0 0.5rem;
    font-size: 1rem;
    margin-bottom: 0;
}
.post .time a, .post2b .time a, .post4b .time a, .postlist .time a {
    color: #ffffff;
    font-size: 1rem;
}
.postlist .date {
    padding: 0;
    font-size: 1.4rem;
    clear: unset;
    padding: 1px 6px;
    margin-bottom: 0;
}
.postlist .ttls {
    padding: 0;
    font-size: 1.4rem;
    clear: unset;
    padding: 0 1rem;
    margin-bottom: 0;
}
.postlist .ttls a {
    color: var(--black);
}

/*NEWS_詳細*/
.post-template-default .content {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
}
.post-template-default .content header .title {
    font-size: 3rem;
    line-height: 1.5;
    margin-bottom: 5rem;
}
.post-template-default .content header .dateLabel {
    font-size: 1.4rem;
    background: none;
    margin-bottom: 10rem;
}
.post-template-default .content .post {
    font-size: 1.4rem;
    line-height: 2;
    font-family: var(--gothic);
}
.post-template-default #content .pagenav {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
    height: auto;
    padding-top: 10rem;
}
.post-template-default #content .pagenav a {
    color: var(--black);
    font-family: var(--gothic);
    font-size: 1.4rem;
}
/*NEWS_一覧*/
.archive .postlist {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
    margin-bottom: 20rem;
}


/* ▼▼▼ banner_bottom ▲▲▲ */
.wide .c3thumbWrap {
    width: 90%;
    max-width: 800px;
    margin: 20rem auto;
    overflow: unset;
}

.wide .c2thumbWrap {
    width: 90%;
    max-width: 800px;
    margin: 20rem auto;
    overflow: unset;
}
.wide .c2thumbWrap:lasu-child {
    margin-top: 0;
}

.wide ul.thumb {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.wide .c2thumbWrap ul.thumb li {
    width: 48%;
    padding: 0;
    margin: 0;
}
.wide .c3thumbWrap ul.thumb li {
    float: none;
    width: 31%;
    margin: 0;
    background: none;
    padding: 0;
}
.link_bottom {
    width: 90%;
    max-width: 1100px;
    margin: 10rem auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}
@media print, screen and (max-width: 1024px) {
    .link_bottom {
        margin: 10rem auto;
    }
}
.link_bottom .link_bottom_items {
    width: 23%;
    padding: 0;
    margin: 0;
}
.link_bottom .link_bottom_items img {
    width: 100%;
}

/* ▼▼▼ contact ▲▲▲ */
.contact_wrap {
    width: 100%;
    background: url(/wp-content/uploads/bg_contact.jpg) center right no-repeat;
    background-size: cover;
}
.contact {
    width: 90%;
    max-width: 1024px;
    margin: 0 auto;
    padding: 10rem 0;
    text-align: center;
}
.contact .main_ttl span {
    color: #fff;
}
.contact .main_txt {
    color: #fff;
}
.contact .main_txt br {
    display: none;
}
.contact_detail {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    gap: 10px;
}
.contact_tel , .contact_mail , .contact_line {
    width: 100%;
    height: 100px;
}
.contact_tel a {
    flex-direction: column;
    border: 1px solid #fff;
}
.contact_tel a .contact_tel_number {
    position: relative;
    font-size: 3.2rem;
    padding-left: 2rem;
    line-height: 1.0;
}
.contact_tel a .contact_tel_number:before {
    position: absolute;
    content: "";
    width: 20px;
    height: 28px;
    background: url(/wp-content/uploads/icon_tel.png) center no-repeat;
    background-size: contain;
    top: 50%;
    left: -1rem;
    transform: translateY(-50%);
}
.contact_tel a .header_contact_txt {
    display: block;
    font: 1.1rem "Noto Sans JP" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic";
}
.header_contact_tel , .contact_mail , .contact_line {
    border-radius: 1rem;
    background: #000;
}
.contact_tel a , .contact_mail a , .contact_line a {
    display: flex;
    width: 100%;
    height: 100%;
    background-color: var(--accent);
    border-radius: 1rem;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
}
.contact_tel a {
    background-color: initial;
}
.contact_tel a .caution {
    font-size: 1.2rem;
    line-height: 1.4;
    margin-top: 4px;
}
.contact_line a {
    background-color: #06c755;
}
.contact_mail span , .contact_line span {
    position: relative;
    padding-left: 3rem;
}
.contact_mail a span:before {
    position: absolute;
    content: "";
    width: 28px;
    height: 20px;
    background: url(/wp-content/uploads/icon_mail.png) center no-repeat;
    background-size: contain;
    top: 50%;
    transform: translateY(-50%);
    left: -1rem;
}
.contact_line span::before {
    position: absolute;
    content: "";
    width: 28px;
    height: 27px;
    background: url(/wp-content/uploads/line_icon.png) center no-repeat;
    background-size: contain;
    top: 50%;
    transform: translateY(-50%);
    left: -1rem;
}

/* ▼▼▼ footer ▲▲▲ */
#footer {
    background-color: var(--black);
}
#footer ul li {
	font-family: 'Crimson Text' , 'Noto Serif JP' , "Noto Sans JP" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}
#footer #menu-footer-menu2-1 {
    padding: 2rem 0;
}
#footer #menu-footer-menu2-1 li {
	font-family: 'Crimson Text' , "Noto Sans JP" , 'Noto Serif JP' , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}
#footer #menu-footer-menu2-1 li:after{
	width: 0;
}
.footer_logo {
    width: 230px;
    height: auto;
    margin: 0 auto;
    padding-top: 10rem;
    margin-bottom: 5rem;
}
#footer .footer_logo img {
    width: 100%;
}
#footer .footer_address {
    color: #fff;
    text-align: center;
    line-height: 1.6;
    margin-bottom: 5rem;
    font: 1.2rem "Noto Sans JP" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic";
}
#footer .footer_discription {
    color: #fff;
    text-align: center;
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
}
.post #footer .footer_address span {
    color: #fff;
    font-size: 1.1rem;
    text-align: center;
    vertical-align: unset;
}
#footer ul {
    text-align: center;
    padding: 0;
}
#footer ul li {
    margin: 0;
    padding: 0;
    background: none;
    position: relative;
}
#footer ul li::before {
    display: none;
}
#footer ul li:after {
    position: absolute;
    content:"";
    background-image: none;
    background-color: #fff;
    width: 1px;
    height: 100%;
    top: 0;
    right: 0;
}
#footer ul li:last-child:after {
    display: none;
}
#footer ul li a {
    display: block;
    padding: 0 4rem;
    overflow: unset;
    color: #fff;
    font-size: 1.4rem;
}
#footer #menu-footer-menu2-1 li a{
    padding: 0 2rem;
    font-size: 1.2rem;
}
#footer ul li:first-child a {
    padding-left: 0;
}
#footer ul li:last-child a {
    padding-right: 0;
}
#footer ul li a:hover {
    text-decoration: none;
}
#copyright {
    color: var(--accent);
    background-color: var(--black);
    padding: 10rem 0 3rem;
    font-size: 1rem;
}
.icon-up-open:before {
    content: "";
    width: 12px;
    height: 12px;
    border: 1px solid;
    border-color: #fff #fff transparent transparent;
    transform: rotate(-45deg);
}
body #scrollUp {
    line-height: 24px;
    bottom: 7.5rem;
    right: 2rem;
}


/*PC-closing-point*/
#pc-clpoint {
    position: fixed;
    bottom: -57px;/*高さが変わったら変更*/
    right: 2rem;
    display: flex;
    width: 100%;
    max-width: 380px;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;
    z-index: 2;
}
#pc-clpoint .col{
    width: 50%;
    position: relative;
}
#pc-clpoint .col a{
    padding: 10px 0px;
    box-sizing: border-box;
    background: black;
    text-align: center;
    font-size: 1.4rem;
    display: block;
    padding-left: 1.5rem;
}
#pc-clpoint .col a span {
    display: block;
    font-size: 1.1rem;
}
.sticky-header #pc-clpoint{
    bottom: 0;
}
#pc-clpoint .firsttime a{
    background:#cd3f1b;
}
#pc-clpoint .firsttime a:before {
    content: '';
    position: absolute;
    background: url(/wp-content/uploads/icon_beginner.png) top no-repeat;
    background-size: contain;
    width: 15px;
    height: 20px;
    left: 15px;
    top: 50%;
    transform: translate(0, -50%);
}
#pc-clpoint .members a:before {
    content: '';
    position: absolute;
    background: url(/wp-content/uploads/icon_calendar.png) top no-repeat;
    background-size: contain;
    width: 18px;
    height: 18px;
    left: 15px;
    top: 50%;
    transform: translate(0, -50%);
}

/* ▼▼▼ header ▲▲▲ */
#header h1, #header .description {
    color:var(--accent);
    font-size: 12px;
    /* margin-left: -3rem; */
}
#header .bg {
    background: none;
    margin-right: 0;
}

.home #header {
    margin-right: 0;
    background: none;
}
nav#mainNav {
    position: static;
    width: 100%;
    float: none;
}
nav div.panel {
    float: none;
}
#header .inner {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
}
nav#mainNav ul li:nth-child(1) , nav#mainNav ul li:nth-child(2) , nav#mainNav ul li:nth-child(4) , nav#mainNav ul li:nth-child(5) {
    margin-right: 4rem;
}
nav#mainNav ul li:nth-child(4) {
    margin-left: 35rem;
}
nav#mainNav ul li a {
    height: 40px;
    padding: 0;
    font-size: 1.5rem;
    letter-spacing: 0.2rem;
}
nav#mainNav ul li a span {
    font-size: 1.2rem;
    color: #fff;
}
#logo_header {
    width: 100%;
    max-width: 224px;
}
#header .logo {
    clear: none;
    position: absolute;
    padding-top: 3rem;
    left: 50%;
    top: unset;
    transform: translate(-50%, -50%);
    text-align: center;
}
#header .contact {
    display: none;
}
body.headlogo-nonfix #header .logo img {
        width: 100%;
        max-width: 224px;
    }
#header .contact .tel {
    position: relative;
    color: #fff;
    border: none;
    margin-top: -2.5rem;
}
#header .contact .tel:before {
    position: absolute;
    content: "";
    background: url(/wp-content/uploads/icon_tel.png) center no-repeat;
    width: 20px;
    height: 27px;
    background-size: 20px 27px;
    top: 1.2rem;
    left: -2.5rem;
}
#header-layout .contact .tel p  {
    font: 3.8rem 'Crimson Text' , 'Noto Serif JP' , "Noto Sans JP" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
    line-height: 1.2;
    text-align: center;
}
#header-layout .contact .tel p span {
    display: block;
    letter-spacing: 0.05rem;
    font: 1rem "Noto Sans JP" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic";
}
.sticky-header #header ul {
    padding-top: 4rem;
}
body:not(.home) #header {
    background-color: var(--black);
}
body.mobile #header .logo .mark {
    height: auto;
}
.sticky-header .logo a {
    display: block;
}
span.sp-catch {
    color: #ffffff;
    text-align: center;
    display: block;
    padding-left: 5rem;
    margin-bottom: 1rem;
    font-size: 1rem;
}


/* ▼▼▼ breadcrumb ▲▲▲ */
#breadcrumb {
    padding: 2rem;
}
#breadcrumb ul {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding-left: 0;
}
#breadcrumb ul li {
    vertical-align: unset;
}
#breadcrumb ul span {
    display: inline-block;
    vertical-align: unset;
    margin-top: -1rem;
}
#breadcrumb ul span span {
    margin-left: 0.5rem;
}
body.mobile #mainImg, body.mobile #breadcrumb {
    margin-top: 0;
}


/* ▼▼▼ SUB PAGES ▲▲▲ */

.post .subPage_nav {
    width: 100%;
    margin: 0 0 10rem;
    padding-bottom: 2rem;
    display: flex;
    justify-content: center;
    flex-direction: row;
    align-items: center;
    border-bottom: 1px solid #ccc;
    flex-wrap: wrap;
}
.post .subPage_nav_items {
    margin-right: 8rem;
}
.post .subPage_nav_items:last-child {
    margin-right: 0;
}
.post .subPage_nav_items a {
    position: relative;
}
.post .subPage_nav_items a:before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 6px;
    border-color: transparent transparent transparent #e54b23;
    top: 3px;
    left: -12px;
}
.post .subPage_nav_items a , .post .subPage_nav_items a:active , .post .subPage_nav_items a:visited , .post .subPage_nav_items a:link {
    color: var(--black);
}
.post .subPage_nav_items a:hover {
    color: var(--accent);
}

/*subPage_2col-1img*/
.subPage_2col-2img {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 0 0 3rem;
    margin-top: -8rem;
}
.subPage_2col-2img_inner {
    width: 48%;
    display: flex;
    flex-direction: column;
    background: #fff;
    padding: 6rem;
    border: 1px solid #e54b23;
}
.subPage_2col-2img_ttl {
    text-align: center;
    color: var(--accent);
    order: 2;
    font-size: 2rem;
    font-family: var(--mincho);
    padding: 3rem 0;
    line-height: 1.2;
}
.subPage_2col-2img_ttl span {
    display: block;
    padding-top: 0.5rem;
    font-size: 1.4rem;
    color: var(--black);
}
.subPage_2col-2img_img {
    text-align: center;
    order: 1;
}
.subPage_2col-2img_img img {
    width: 100%;
    max-width: 235px;
}
.subPage_2col-2img_discription {
    order: 3;
    line-height: 1.8;
}

.subPage_2col-1img {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
}
.subPage_2col-1img_imgL {
    width: 48%;
}
.subPage_2col-1img_imgR {
    width: 48%;
    order: 2;
}
.subPage_2col-1img .main_txt {
    width: 48%;
    text-align: left;
    margin-bottom: 0;
}

.subPage_contact_wrap {
    border: 1px solid #e54b23;
    padding: 5rem;
    margin: 10rem 0 0; 
}
.subPage_contact {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.subPage_contact div {
    width: 30%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.subPage_contact_wrap .tel-subcontent a {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    max-width: 280px;
    border: 1px solid #171716;
    font-size: 3.5rem;
    letter-spacing: 0rem;
    line-height: 1.4;
    padding: 0 2rem 0.5rem;
}
.subPage_contact_wrap .tel-subcontent a , .subPage_contact_wrap .tel-subcontent a:visited , .subPage_contact_wrap .tel-subcontent a:link , .subPage_contact_wrap .tel-subcontent a:hover {
    color: var(--black);
}
.subPage_contact_wrap .tel-subcontent a span {
    font-size: 1rem;
    text-align: center;
}
.subPage_contact_wrap .btn_common {
    display: block;
    border: none;
    border-radius: 8px;
    background: none;
    width: 100%;
}
.subPage_contact_wrap .btn_common a {
    padding: 3rem 5rem;
}
.link_banner_laxmi p {
    max-width: 220px;
}
.subPage_price_banner {
    width: 90%;
    margin: 0 auto 8rem;
    max-width: 520px;
}

#price_wrap {
    width: 90%;
    margin: 0 auto;
}

.post .price , .post .price_tickets_wrap {
    width: 100%;
    /*max-width: 1000px;*/
    margin: 0 auto;
}
.post .price_basic {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: baseline;
    border-bottom: 1px solid #ccc;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}
.post .price_basic_ttl {
    background-color: var(--black);
    width: 30%;
    color: #fff;
    padding: 1rem 2rem;
    font-family: var(--gothic);
}
.post .price_basic_ttl span {
    vertical-align: unset;
    font-size: 1.2rem;
}
@media print, screen and (max-width: 959px) {
    .post .price_basic_ttl span {
        display: block;
    }
}
.post .price_basic_detail {
    width: 70%;
    padding-left: 2rem;
}
.post .price_tickets_wrap {
    margin : 5rem 0;
}
.post .price_tickets_wrapTtl {
    width: 100%;
    background: #e54b23;
    text-align: center;
    color: #fff;
    padding: 1rem 0;
}
.post .price .table_price {
    border: 1px solid #e54b23;
}
.post .price .table_price td{
    border-bottom: 1px solid var(--accent);
}
.post .price .table_price tr:last-child td , .post .price .table_price tr:last-child th {
    border: none;
}
.post .price_tickets_ttl {
    background: #f4947b;
}
.price_number {
    font-size: 2.6rem;
    vertical-align: baseline;
    font-family: var(--gothic);
}
.price_number_nomal {
    font-size: 1.6rem;
    vertical-align: baseline;
    font-family: var(--gothic);
}
.reserve {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    text-align: center;
}
.reserve_detail {
    width: 49%;
}
.reserve_detail .btn_common {
    width: 100%;
}
.reserve_type {
    font-family: var(--mincho);
    font-size: 1.8rem;
    margin-bottom: 2rem;
}
.link {
    width: 100%;
    max-width: 800px;
    margin: 10rem auto 0;
    text-align: center;
}
.link .link_read {
    font-family: var(--mincho);
    font-size: 1.8rem;
    margin-bottom: 5rem;
    line-height: 2.0;
}
/* ▼▼▼ anti gravity ▼▼▼*/
#gallery-1 {
    margin: auto;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
#gallery-1 .gallery-item {
    float: unset;
    width: 24% !important;
    margin-top: 6rem !important;
}
#gallery-1 .gallery-item dt {
    width: 100%;
}
#gallery-1 .gallery-item dt a {
    width: 100%;
    height: auto;
}
.gallery-columns-4 .gallery-item img {
    width: 100%;
    max-width: unset;
}
@media only screen and (max-width: 559px) {
    #gallery-1 {
        flex-wrap: wrap;
        margin-top: 3rem;
    }
    #gallery-1 .gallery-item {
        width: 48% !important;
        margin-top: 1rem !important;
    }
}

/* ▼▼▼ schedule ▲▲▲ */
#ai1ec-container {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    margin-bottom: 10rem;
}
a.ai1ec-load-view {
	color: #111111;
	text-align: center;
	display: block;
	font-size: 1.1rem;
	box-sizing: border-box;
}
#ai1ec-calendar-view .tablescroll_head {
    width: 100%;
}
th.ai1ec-weekday, .ai1ec-week td {
    width: 15% !important;
}
.ai1ec-month-view .ai1ec-date{
	line-height: 15px;
	height: 15px;
}
.post .timely td {
    vertical-align: top;
}

span.ai1ec-popup-title a.ai1ec-load-event{
    color:#333;
}
a.ai1ec-category {
    color: inherit;
}
a.ai1ec-tag {
    color: inherit;
}
.schedule_hsy , .schedule_ag {
    border: 2px solid #e54b23;
    padding: 12rem 6rem;
    box-sizing: border-box;
}
.schedule_ag {
    margin-top: 12rem;
}
.content_wrap_inner {
    width: 90%;
    margin: 0 auto;
}
.timely .ai1ec-btn-sm {
    padding: 5px;
}
/*vs calender*/
#calendar-container .dynamic-calendar {
    margin: 0 0 5rem 0;
}
.calendar-header {
    margin: 2rem auto;
}
@media only screen and (max-width: 959px) {
    .schedule_hsy , .schedule_ag {
        padding: 6rem 3rem;
    }
    .schedule_ag {
        margin-top: 6rem;
    }
    .ai1ec-subscribe-dropdown > .ai1ec-subscribe {
        padding: 5px;
    }
    .ai1ec-btn-group > .ai1ec-btn:after {
        display: none;
    }
}
/* ▼▼▼ LOCATIONS ▲▲▲ */

.map {
    margin-top: 3rem;
    width: 100%;
    height: 456px;
}

/* ▼▼▼ FAQ ▲▲▲ */

.post .faq_list {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: wrap;
    border: 1px solid #ccc;
    padding: 5rem 5rem 2rem;
    margin-bottom: 20rem;
}
.post .faq_list .faq_list_items {
    width: 49%;
    margin-bottom: 3rem;
    padding-left: 5rem;
}
.post .faq_list .faq_list_items a {
    width: 100%;
    color: var(--black);
    position: relative;
}
.post .faq_list .faq_list_items a:hover , .post .faq_list .faq_list_items a:link , .post .faq_list .faq_list_items a:visited {
    color: var(--black);
}
.post .faq_list .faq_list_items a:before {
    position: absolute;
    content: "Q";
    display: flex;
    width: 35px;
    height: 35px;
    font-size: 2rem;
    background: #334e61;
    border-radius: 50%;
    color: #fff;
    align-items: center;
    justify-content: center;
    margin-left: -5rem;
    margin-top: -0.8rem;
}
.post .faq_detail {
    width: 100%;
    padding-bottom: 6rem;
    margin-bottom: 6rem;
    border-bottom: 1px solid #ccc;
}
.post .faq_detail:last-child {
    margin-bottom: 0;
}
.post .faq_detail .question {
    font-size: 1.6rem;
    padding-left: 5rem;
    margin-bottom: 3rem;
    font-weight: bold;
}
.post .faq_detail .question:before {
    position: absolute;
    content: "Q";
    display: flex;
    width: 35px;
    height: 35px;
    font-size: 2rem;
    font-weight: normal;
    background: #334e61;
    border-radius: 50%;
    color: #fff;
    align-items: center;
    justify-content: center;
    margin-left: -5rem;
    margin-top: -0.6rem;
}
.post .faq_detail .answer {
    padding-left: 5rem;
}
.post .faq_detail .answer:before {
    position: absolute;
    content: "A";
    display: flex;
    width: 35px;
    height: 35px;
    font-size: 2rem;
    background: var(--accent);
    border-radius: 50%;
    color: #fff;
    align-items: center;
    justify-content: center;
    margin-left: -5rem;
    margin-top: -0.6rem;
}
.post .faq_detail .answer .btn_common {
    padding-top: 3rem;
    margin: 0;
}

/* ▼▼▼ SITE MAP ▲▲▲ */

#sitemap_list {
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
}
.post ul#sitemap_list li {
    margin-bottom: 3rem;
    padding: 0 0 3rem 1.2rem;
    border-bottom: 1px solid #ccc;
    padding-left: 15px;
    background: none;
}
.post ul#sitemap_list li:last-child {
    margin-bottom: 0;
}
#sitemap_list a {
    color: var(--black);
    position: relative;
    font-size: 1.6rem;
}
#sitemap_list a:before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 6px;
    border-color: transparent transparent transparent #e54b23;
    top: 4px;
    left: -12px;
}
#sitemap_list a span {
    display: inline-block;
    vertical-align: unset;
    font-size: 1.2rem;
    padding-left: 1rem;
}

/* ▼▼▼ RECRUIT ▲▲▲ */

.recruit {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 8rem;
}
.recruit:first-child {
    margin-top: 0;
}
.recruit .recruit_info , .recruit_img {
    width: 48%;
}

.post .recruit .recruit_info .sub_ttl_u-line {
    padding-top: 2rem;
}

.recruit .recruit_info .main_txt {
    width: 100%;
    text-align: left;
    margin-bottom: 0;
}

.recruit .table_content_wrap {
    width: 100%;
    margin-top: 5rem;
}
.recruit .table_content_wrap .table_content td ul {
    padding-top: 0.5rem;
}
.recruit .table_content_wrap .table_content td ul li {
    list-style: disc;
    margin-left: 2rem;
}

/* ▼▼▼ CONATCT ▲▲▲ */

.post .contact_top .main_txt {
    text-align: left;
    margin-bottom: 0;
}
.post .btn_schedule {
    margin: 5rem auto;
}

.wpcf7-form {
    padding: 0;
}

.post .contactForm table th {
    width: 30%;
}

.wpcf7-form .must {
    color: var(--accent);
    font-family: var(--gothic);
    font-weight: normal;
    font-size: 1.1rem;
    vertical-align: unset;
}
.wpcf7-form-control {
    line-height: 1.8;
}
.post .contactForm  td dl dt {
    font-weight: bold;
}
.post .contactForm  td dl dt span {
    display: inline-block;
    vertical-align: unset;
    padding-left: 0.5rem;
    font-weight: normal;
}
.post .contactForm  td dl:last-child {
    margin-top: 3rem;
}
.post .contactForm  td dl dd {
    font-size: 1.4rem;
}
.post .linkBtn input[type="submit"] {
    color: #fff;
    background-color: #000;
    max-width: 280px;
    width: 100%;
    padding: 2rem 0;
    border-radius: 8px;
    font-size: 1.4rem;
}
#content form .linkBtn {
    text-align: center;
    margin: 4rem 0;
}
#content form .linkBtn:before {
    display: none;
}
#content form .linkBtn .ajax-loader {
    display: none;
}
.contactForm .contactForm_list dt , .usage .usage_list dt {
    font-weight: bold;
    margin: 1rem 0;
}
.contactForm .contactForm_list dd ul li , .usage .usage_list dd ul li {
    list-style: circle;
    margin-left: 2rem;
}

/* ▼▼▼ PRICE ▲▲▲ */
.page-id-70 #content.wide {
    padding-top: 0;
}

/* ▼▼▼ EDUCATION ▲▲▲ */

.education_wrap .education_point {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6rem;
}
.education_point .education_point_items {
    width: 31.5%;
    padding: 3rem;
    background: url(/wp-content/uploads/bg_marble.jpg) center no-repeat;
    background-size: cover;
    box-shadow:0px 0px 35px -10px #ccc;
} 
.education_point .education_point_items dt {
    font-size: 2rem;
    color: var(--black);
    line-height: 1.0;
    text-align: center;
    border-bottom: 1px solid #171716;
    padding-bottom: 1.5rem;
    margin-bottom: 3rem;
}
.education_point .education_point_items dt span {
    display: block;
}
.education_point .education_point_items dt span:last-child {
    font-size: 5rem;
}
.education_point .education_point_items dd {
    font-size: 1.8rem;
    color: var(--black);
    font-family: var(--gothic);
    text-align: center;
}
.education_wrap table {
    margin: 5rem 0;
}

/* ▼▼▼ SUB PAGE EFFECT ▲▲▲ */
#subPage_effect {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}
#subPage_effect .lesson_menu_wrap {
    width: 47%;
}
#subPage_effect .lesson_menu_wrap:nth-child(odd) {
    padding-right: 5%;
}
#subPage_effect .lesson_menu_wrap:nth-child(even) {
    padding-left: 5%;
}
#subPage_effect .lesson_menu_wrap p {
    margin-bottom: 1.5rem;
}
#subPage_effect .effect_list {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-content: center;
    flex-wrap: wrap;
}
.effect_list .effect_list_items {
    font-size: 1rem;
    color: #fff;
    background-color: var(--accent);
    border-radius: 6px;
    padding: 1rem;
    margin: 0 1rem 1rem 0;
}

/* ▼▼▼ 岩盤ヨガ ▲▲▲ */

.about_hotStoneYoga {
    width: 100%;
    background: url(/wp-content/uploads/bg_hsy_about.jpg) center top no-repeat;
    background-size: cover;
}
.about_hotStoneYoga_inner {
    background-color: rgba(0,0,0,0.6);
    padding: 10rem 0;
}
.about_hotStoneYoga_inner .main_ttl {
    margin-bottom: 5rem;
}
.about_hotStoneYoga_inner .main_ttl span, .main_ttl span {
    color: #fff;
}
.about_hotStoneYoga_inner .main_txt {
    color: #fff;
}


.effect2col_wrap {
    width: 100%;
    padding: 0 5%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
}
.effect2col {
    width: 48%;
}
.effect2col_img {
    width: 100%;
    height: auto;
    background: #ddd;
}
.effect2col_discription_ttl {
    font-family: var(--mincho);
    font-size: 1.8rem;
    color: #fff;
    background-color: var(--accent);
    margin-bottom: 2rem;
}
.effect2col_discription_ttl span {
    vertical-align: unset;
    display: inline-block;
    background-color: #a52a0a;
    padding: 1rem 2rem;
    margin-right: 2rem;
}
.effect2col_discription .main_txt {
    text-align: left;
}

/* ▼▼▼ comparison ▲▲▲ */

#subPage_comparison p {
    text-align: left;
}

#comparison_table {
    border: none;
    margin-bottom: 6rem;
}

#comparison_table .comparison_table_ttl_x {
    background: #4a4a4a;
    font-size: 1.8rem;
    text-align: center;
    color: #fff;
}

#comparison_table .comparison_table_ttl_x:first-child {
    font-size: 1.4rem;
    width: 22%;
}
#comparison_table .comparison_table_ttl_x:nth-child(2) {
    background: var(--accent);
    color: #fff;
}

#comparison_table .comparison_table_ttl_y {
    background: #727272;
    text-align: center;
    color: #fff;
}
#comparison_table .comparison_table_txt {
    background: #eee;
}
#comparison_table tbody tr td:nth-child(2) {
    background: #fdd1c5;
}
#comparison_table tbody tr td {
    border-bottom: #fff 1px solid;
    line-height: 2;
}
#comparison_table tbody tr:last-child td {
    border: none;
}
.highLight {
    vertical-align: unset;
    color: var(--accent);
    font-weight: bold;
}
#subPage_comparison .comparison_bottom {
    width: 80%;
    margin: 0 auto;
    border: 1px solid #e54b23;
    padding: 6rem;
}
#subPage_comparison .comparison_bottom h2 {
    font-size: 2.8rem;
    text-align: center;
    margin-bottom: 3rem;
}
#subPage_comparison .comparison_bottom h2 span {
    font-weight: bold;
    display: block;
    font-size: 2rem;
    font-family: var(--gothic);
    color: #ccc;
    margin-bottom: 2rem;
}
#subPage_comparison .comparison_bottom_inner:first-child {
    border-bottom: 1px dashed #000;
    margin-bottom: 5rem;
    padding-bottom: 5rem;
}
#subPage_comparison .comparison_bottom .main_txt {
    margin-bottom: 0;
}
#subPage_reserve .usage {
    width: 80%;
    margin: 0 auto;
    background-color: #eee;
    padding: 4rem;
    margin-top: 6rem;
}
#subPage_reserve .usage .sub_ttl_u-line {
    padding: 0rem 0 1.5rem;
}


/* ▼▼▼ media query ▲▲▲ */

/* pc */
@media screen and (max-width: 1599px) {
    #header .contact .tel {
        position: relative;
        color: #fff;
        border: none;
        margin-top: -1rem;
    }
    #header .contact .tel:before {
        position: absolute;
        content: "";
        background: url(/wp-content/uploads/icon_tel.png) center no-repeat;
        width: 10px;
        height: 13px;
        background-size: 10px 13px;
        top: 0.6rem;
        left: -2rem;
    }
    #header-layout .contact .tel p {
        font: 2rem 'Crimson Text' , 'Noto Serif JP' , "Noto Sans JP" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
        line-height: 1.2;
        text-align: center;
    }
    #header-layout .contact .tel p span {
        display: inline-block;
        margin: -1rem 0 0 1rem;
        vertical-align: baseline;
    }
    #header-layout .contact .tel p span .caution {
        vertical-align: baseline;
        margin: 0 0 0 0.5rem;
    }
}
@media screen and (max-width: 1024px) {
    header#h1Header h1.title {
        font-size: 6rem;
    }
    .info_discription br {
        display: none;
    }
    body.sticky-header #header .bg .inner .description {
        margin-left: 4.5rem;
    }
}
@media screen and (min-width: 1024px) {
    body.sticky-header #header .bg {
        max-width: 1100px;
        margin: 0 auto;
    }
    body.sticky-header #header .bg .inner .description {
        margin-top: -4.5rem;
    }
    .sticky-header #header .contact {
        width: auto;
        right: 2rem;
        top: 2rem;
        left: inherit;
        display: block;
    }
	#header-layout{
		padding-bottom: 50px;
    }
    nav#mainNav {
        margin-top: 1rem;
    }
    .mobile #mainImg {
        margin-top: 0;
    }
    .info_items_wrap:nth-child(3), .info_items_wrap:nth-child(4), .info_items_wrap:nth-child(5) {
        margin-bottom: 0;
    }
    a:hover {
        color: #fff;
        opacity: 0.5;
    }
    .postlist .ttls a:hover {
        opacity: 0.3;
    }
    .postlist .ttls a:visited , .postlist .ttls a:link , .listTitle .frontlist a:hover {
        color:var(--black);
    }
    .listTitle .frontlist a:hover {
        color: var(--accent);
        opacity: 0.3;
    }
    nav#mainNav ul {
        letter-spacing: -.4em;
        margin-left: -3rem;
    }
    nav#mainNav ul li a b {
        line-height: 2.0;
    }
    nav#mainNav ul li.current-menu-item a::before, nav#mainNav ul li a:hover::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -20px;
        border-bottom: 2px solid #e54b23;
        width: 80%;
        width: -webkit-calc(100% - 0%);
        width: calc(100% - 0%);
        margin: 0 auto;
        display: block;
        height: 34px;
    }
    body.sticky-header #header-layout {
        background-color: var(--black);
		width: 100%;
    }

    body.sticky-header nav#mainNav {
        position: static;
        width: 100%;
        float: none;
    }
    body.sticky-header #header .inner {
        max-width: unset;
        padding: 0;
        z-index: 3;
    }
    .sticky-header #header .logo {
        top: 36%;
        z-index: 300;
    }
    .header-tel {
        display: none;
    }
    #pc-clpoint .members .members_sp {
        display: none;
    }
    .reserve_detail .members_sp {
        display: none;
    }
    .contact_tel a:hover , .contact_mail a:hover , .contact_line a:hover {
        opacity: 0.8;
    }
}
@media screen and (min-width: 1600px) {
    .sticky-header #header .contact {
        width: auto;
        right: 2rem;
        top: 4rem;
        left: inherit;
        display: block;
    }
    .home #header .contact .tel img {
        padding: 0;
        margin: -1rem 0.5rem 0 0;
    }
}
@media screen and (max-width: 1366px) {
    nav#mainNav ul li:nth-child(1) , nav#mainNav ul li:nth-child(2) , nav#mainNav ul li:nth-child(4) , nav#mainNav ul li:nth-child(5) {
        margin-right: 2rem;
    }
    nav#mainNav ul li:nth-child(4) {
        margin-left: 30rem;
    }
    .feature_ttl {
        font-size: 2rem;
    }
    .subPage_2col-2img_ttl {
        font-size: 2rem;
    }
    .sticky-header #header .description {
        margin-left: 3.5rem;
    }
}
@media (min-width: 960px) and (max-width: 1193px) {
    #logo_header {
        width: 70%;
    }
    nav#mainNav ul li:nth-child(4) {
        margin-left: 21rem;
    }
    .sticky-header #header .description {
        margin-left: 8rem;
    }
}
@media (min-width: 1024px) and (max-width: 1599px) {
    /* .sticky-header #header-layout {
        padding-bottom: 70px;
    } */
    .sticky-header #header ul {
        padding-top: 6rem;
    }
    .sticky-header #header .logo {
        top: 48%;
    }
} 

/* tab */
@media only screen and (max-width: 1023px) {
    #content.wide {
        padding: 10rem 0 0;
    }
    #header-layout {
        flex-direction: row;
    }
    .mobile #mainImg {
        margin-top: 58px;
    }
    .home #header {
        margin-right: 0;
        background: var(--black);
    }
	#header .logo {
		position: relative;
		padding-top: 0;
		margin-bottom: 0;
		left:inherit;
		top: inherit;
        transform: none;
    }
    .mobile #header {
        background-color: var(--black);
    }
    .mobile #header .logo .mark {
        width: calc( 100% - 50px);
        margin: 0;
        /* padding: 10px 0; */
        text-align: center;
    }
    nav#mainNav ul {
        padding: 20px 0;
    }
    nav#mainNav ul li a {
        height: auto;
        padding: 12px;
        background-color: var(--black);
        color: #fff;
        border-bottom: none;
        text-align: center;
        font-size: 1.6rem;
        font-weight: normal;
        font-family: var(--mincho);
    }
    nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:hover, nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:active, nav#mainNav ul li li.current-menu-item a, nav#mainNav ul li.current-menu-item li a:hover, nav#mainNav ul li.current-menu-item li a:active {
        color: #fff;
        background: var(--black);
    }
    /* nav#mainNav ul li:first-child a {
        padding: 4rem 0 2rem;
    } */
    nav#mainNav ul li a span {
        display: block;
    }
    nav#mainNav ul li a:hover span, nav#mainNav ul li.current-menu-item a span {
        color: #fff;
    }
    nav#mainNav ul li a b {
        line-height: 1.5;
    }
    .header-tel {
        width: 100%;
        background-color: rgba(0,0,0,1);
    }
    .header-tel a {
        display: block;
        padding: 0 0 4rem;
        color: #fff;
        border-bottom: none;
        text-align: center;
        font-size: 4rem;
        font-weight: normal;
    }
    .header-tel a span:first-child {
        position: relative;
    }
    .header-tel a span:first-child:before {
        position: absolute;
        content: "";
        background: url(/wp-content/uploads/icon_tel.png) center no-repeat;
        width: 20px;
        height: 27px;
        background-size: 20px 27px;
        top: 1.6rem;
        left: -2.8rem;
    }
    .header-tel a span:last-child {
        display: block;
        font-size: 1.2rem;
    }
    nav#mainNav ul li:nth-child(1), nav#mainNav ul li:nth-child(2), nav#mainNav ul li:nth-child(4), nav#mainNav ul li:nth-child(5) {
        margin-right: 0;
    }
	nav#mainNav ul li:nth-child(4){
		margin-left: 0;
	}
    #content.wide {
        width: 100%;
    }
    .feature {
        width: 75%;
        flex-wrap: wrap;
        padding-bottom: 3rem;
    }
    .feature_wrap .main_ttl {
        width: 75%;
    }
    .feature_wrap .main_ttl:before , .feature_wrap .main_ttl:after {
        width: 30%;
    }
    .feature_inner {
        width: 46%;
    }
    .post .info_discription {
        line-height: 1.8;
    }
    .about_wrap {
        padding: 10rem 0;
    }
    .wide .c3thumbWrap {
        margin: 10rem auto;
    }
    .spmenu #menu p {
        display: none;
    }
    .spmenu #menu {
        padding: 0;
        top: 60%;
        right: 0;
    }
    .spmenu #menu span, .spmenu #menu span:before, .spmenu #menu span:after {
        height: 1px;
        background: var(--accent);
    }
    #footer ul li a {
        display: block;
        padding: 0 2rem;
        overflow: unset;
        color: #fff;
        font-size: 1.2rem;
    }
    #footer #menu-footer-menu2-1 li {
        font-size: 1.1rem;
    }
    #footer #menu-footer-menu2-1 li a {
        padding: 0 1rem;
    }
    #pc-clpoint .members .members_pc {
        display: none;
    }
    #pc-clpoint .members .members_sp {
        display: block;
    }
    .reserve_detail .members_pc {
        display: none;
    }
    .reserve_detail .members_sp {
        display: block;
    }
    /*FAQ*/
    .post .faq_list {
        margin-bottom: 10rem;
    }
    /*NEWS_一覧*/
    .archive .postlist {
        margin-bottom: 10rem;   
    }
    .subPage_contact div {
        width: 50%;
    }
    .subPage_contact .link_banner_laxmi {
        width: 100%;
    }
}

@media only screen and (max-width: 959px) {
    #header h1, #header .description {
        width: 100%;
        text-align: center;
        margin-left: 0;
    }
    .home #header {
        margin-right: 0;
        background: var(--black);
    }
    body.headlogo-nonfix #header .logo img {
        width: 17%;
    }
    .post h2 , .main_ttl {
        margin-bottom: 5rem;
    }

    .post .main_read {
        font-size: 2.4rem;
    }

    .campaign_wrap {
        padding: 5rem 0; 
    }

    .post .info_ttl02 {
        position: relative;
        color: #fff;
        font-size: 2rem;
        line-height: 1.3;
        margin-bottom: 3rem;
    }

    .post .info_ttl02 span {
        font-size: 1.2rem;
    }

    .post .info_ttl01 {
        font-size: 4rem;
        line-height: 1.3;
    }
    h1.title {
        margin-bottom: 4rem;
    }
    .listTitle .frontlist {
        top: 280%;
    }
    .contact_detail {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: stretch;
    }
    #header-layout .logo .mark a {
        padding-left: 5rem;
    }
    .sticky-header #header ul {
        padding-top: 0;
    }
    .post .subPage_nav {
        margin-bottom: 8rem;
    }
    .subPage_2col-2img_inner {
        padding: 3rem;
    }
    .post .subPage_nav_items {
        width: 33%;
        margin-right: 0;
        text-align: center;
        margin-bottom: 2rem;
    }
    .subPage_2col-1img {
        width: 100%;
        display: flex;
        justify-content: space-between;
        flex-direction: column;
    }
    .subPage_2col-1img_imgL {
        width: 90%;
        margin: 0 auto 3rem;
    }
    .subPage_2col-1img_imgR {
        width: 90%;
        margin: 0 auto 3rem;
        order: 0;
    }
    .subPage_2col-1img .main_txt {
        width: 90%;
        text-align: left;
        margin: 0 auto;
    }
    .mobile header#h1Header {
        margin-top: 92px;
    }
    .post .main_txt , .contact .main_txt {
        text-align: left;
    }
    .post table , .post table ul li {
        font-size: 1.2rem;
    }
    .post table th {
        padding:1.5rem;
        width: 30%;
    }
    .post table td {
        padding:1.5rem;
    }
    .post table td br {
        display: block;
    }
    /*NEWS_詳細*/
    .post-template-default .content header .title {
        font-size: 2.6rem;
        line-height: 2;
        margin-bottom: 5rem;
    }
    .post-template-default .content header .dateLabel {
        margin-bottom: 5rem;
    }
    .post-template-default .content .post {
        font-size: 1.4rem;
        line-height: 2;
        font-family: var(--gothic);
    }
    
    /*SUB PAGE EFFECT*/
    #subPage_effect .lesson_menu_wrap {
        width: 100%;
    }
    #subPage_effect .lesson_menu_wrap:nth-child(odd) {
    padding: 0;
    }
    #subPage_effect .lesson_menu_wrap:nth-child(even) {
        padding: 0;
    }
    body.mobile #mainImg {
        margin-top: 118px;
    }
    /*岩盤ヨガ　EFFECT*/
    .effect2col_discription_ttl {
        font-size: 1.6rem;
        margin-bottom: 2rem;
    }
    .effect2col_discription_ttl span {
        padding: 1rem 2rem;
        margin-right: 2rem;
    }
}

@media only screen and (max-width: 768px) {
    .main_txt {
        text-align: left;
    }
    .main_txt br {
        display: none;
    }
    .post .info_discription {
        line-height: 1.5;
    }
    .info_items {
        padding: 1rem;
    }
    .info_items_inner {
        padding: 0 3rem;
        height: 360px;
    }
    .post .info_ttl01 {
        font-size: 2.6rem;
        line-height: 1.3;
    }
    .view_more {
        font-size: 1.2rem;
        bottom: 20px;
        right: 26px;
    } 
    .view_more:after {
        width: 13.4rem;
    }
    .item03, .item04, .item05 {
        padding: 3rem 0;
    }
    body.headlogo-nonfix #header .logo img {
        width: 180px;
    }
    #footer {
        padding-bottom: 57px;
    }
    /*FAQ*/
    .post .faq_list {
        flex-direction: column;
    }
    .post .faq_list .faq_list_items {
        width: 100%;
    }
    /*RECRUIT*/
    .recruit {
        flex-direction: column;
    }
    .recruit .recruit_info, .recruit_img {
        width: 100%;
    }
    .recruit_img {
        margin-top: 3rem;
    }
}

/* sp */
@media only screen and (max-width: 767px) {
    .education_wrap .education_point {
        flex-direction: column;
        margin-bottom: 3rem;
    }
    .education_point .education_point_items {
        width: 100%;
        padding: 2rem;
        margin-bottom: 3rem;
    }
    .education_point .education_point_items:last-child {
        margin-bottom: 0;
    }
    .education_point .education_point_items dt {
        margin-bottom: 2rem;
    }
    .subPage_contact_wrap {
        margin: 8rem 0 0;
    }
    .subPage_contact div {
        width: 100%;
    }
    .link_bottom .link_bottom_items {
        width: 48%;
        padding: 0;
        margin: 0;
    }
    .link_bottom .link_bottom_items:nth-child(-n+2) {
        margin-bottom: 3rem;
    }
    #comparison_table .comparison_table_ttl_x br, #comparison_table .comparison_table_ttl_y br {
        display: block;
    }
    #subPage_comparison .comparison_bottom {
        width: 100%;
        padding: 3rem;
    }
    #subPage_comparison .comparison_bottom_inner:first-child {
        border-bottom: 1px dashed #000;
        margin-bottom: 3rem;
        padding-bottom: 3rem;
    }
    .post .sub_ttl .sub_ttl_inner {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
}
@media only screen and (max-width: 640px) {
	#footer ul{
		width: 90%;
		margin: 0 auto;
	    padding: 0;
	    box-sizing: border-box;
	}
	#footer ul li:after{
		width: 0;
	}
	#footer ul li{
		margin-bottom: 1.2rem;
		width: 49%;
	}
	#footer ul li a {
		padding: 0;
		text-align: center;
	}
	#footer #menu-footer-menu2-1 {
		padding: 2rem 0;
        border-top: 1px solid #242424;
        margin-top: 1rem;
	}
	#footer #menu-footer-menu2-1 li a{
		padding: 0;
		font-size: 90%;
    }
    /*岩盤ヨガ　EFFECT*/
    .effect2col_discription_ttl {
        font-size: 1.4rem;
        margin-bottom: 1rem;
    }
    .effect2col_discription_ttl span {
        padding: 0.5rem 1rem;
        margin-right: 1rem;
    }
    .effect2col_discription .main_txt {
        text-align: left;
        line-height: 1.5;
        margin-bottom: 3rem;
    }
    .effect2col:nth-last-of-type(-n+2) .effect2col_discription .main_txt {
        margin-bottom: 0;
    }  
}
@media only screen and (max-width: 559px) {

    /* common */
    .post .caution {
        display: block;
        font-size: 1.1rem;
    }

    #content.wide {
        padding: 8rem 0 0;
    }
    header#h1Header h1.title {
        font-size: 3rem;
    }
    .post h2 , .main_ttl {
        font-size: 4rem;
        color: var(--accent);
        letter-spacing: 0.3rem;
        margin-bottom: 3rem;
    }

    .post .main_ttl span {
        display: block;
        font-size: 1.1rem;
        padding-top: 1.5rem;
    }

    .post .main_read {
        color: var(--accent);
        font-size: 1.8rem;
        color: var(--accent);
        text-align: center;
        margin-bottom: 2rem;
    }

    .post .main_read br {
        display: none;
    }

    .post .main_read span {
        display: block;
    }

    .main_txt {
        font-size: 1.4rem;
        line-height: 2.2;
    }

    .main_txt br {
        display: none;
    }

    h1.title {
        font-size: 4rem;
    }

    h1.title span span {
        font-size: 1.1rem;
    }

    #pc-clpoint {
        right: 0;
        display: flex;
        width: 100%;
        max-width: unset;
    }
    .subPage_2col-2img {
        padding: 0;
        flex-direction: column;
    }
    .subPage_2col-2img_inner {
        width: 100%;
        padding: 3rem;
    }
    .subPage_2col-2img_inner:first-child {
        margin-bottom: 3rem;
    }
    .post .subPage_nav {
        margin-bottom: 5rem;
    }
    .subPage_2col-2img_ttl {
        font-size: 1.6rem;
        padding: 2rem 0;
    }
    .subPage_2col-2img_discription {
        line-height: 1.6;
        font-size: 1.4rem;
    }
    .post .sub_ttl {
        width: 100%;
        font-size: 3rem;
        margin: 8rem auto 7rem;
    }
    .post .sub_ttl .sub_ttl_inner span {
        display: block;
        font-size: 1.1rem;
        padding-top: 1.5rem;
    }
    .btn_common {
        width: 100%;
    }
    .reserve_type {
        font-size: 1.4rem;
        letter-spacing: 0.1rem;
    }

	/* campaign */
    
    .campaign_wrap {
        padding: 5rem 0;
    }

    .banner_wrap {
        flex-direction: column;
    }
    .banner_item {
        width: 100%;
        background-color: #fff;
    }
    .banner_item:first-child {
        margin-bottom: 2rem;
    }

    /* about */
    .about_wrap {
        padding: 8rem 0;
    }
    .post .info_ttl02 span {
        font-size: 1.1rem;
    }
    .about_wrap .main_txt {
        margin-bottom: 5rem;
        line-height: 2.2;
        text-align: left;
    }

    .info_items_wrap:first-child, .info_items_wrap:nth-child(2) {
        width: 100%;
    }
    .info_items_wrap:nth-child(3), .info_items_wrap:nth-child(4), .info_items_wrap:nth-child(5) {
        width: 100%;
    }
    .info_items_wrap {
        margin-bottom: 2rem;
    }

    /* feature */
    .feature_wrap {
        padding: 6rem 0;
    }
    .feature_wrap .main_ttl {
        width: 90%;
        font-size: 3rem;
        margin: 0 auto 2rem;
    }
    .feature_wrap .main_ttl:before, .feature_wrap .main_ttl:after {
        width: 20%;
        top: 25%;
    }
    .feature {
        width: 90%;
        flex-wrap: wrap;
        padding-bottom: 0;
    }
    .feature_ttl {
        display: flex;
        align-items: center;
        font-size: 1.6rem;
        padding: 0;
        height: 5rem;
    }
    .feature_ttl br {
        display: block;
    }
    .feature_discription {
        line-height: 1.6;
        font-size: 1.4rem;
    }

    /* news */
    .front_post_list {
        padding: 8rem 0 0;
    }
    .listTitle .frontlist {
        top: 380%;
    }
    .postlist .post_text {
        align-items: flex-start;
    }
    /*NEWS_詳細*/
    .post-template-default .content header .title {
        font-size: 1.8rem;
        line-height: 1.5;
        margin-bottom: 3rem;
        text-align: left;
    }
    .post-template-default .content header .dateLabel {
        font-size: 1.4rem;
        background: none;
        margin-bottom: 3rem;
    }
    .post-template-default .content .post {
        font-size: 1.3rem;
    }

    /*NEWS_一覧*/
    .archive .postlist {
        margin-bottom: 8rem;
    }

    /* banner_bottom */
    .wide .c3thumbWrap {
        margin: 8rem auto;
    }

    .wide .c3thumbWrap .sm-response {
        width: 32% !important;
    }

    .contact {
        padding: 5rem 0;
    }
    .contact_tel, .contact_mail , .contact_line {
        width: 100%;
        height: auto;
    }
    .contact_tel a , .contact_mail a , .contact_line a {
        padding: 16px;
        min-height: 70px;
    }
    .contact_tel a {
        height: 100%;
    }
    .contact_tel a .contact_tel_number {
        font-size: 3.8rem;
        margin-bottom: 4px;
        padding-left: 16px;
    }
    .contact_tel a .header_contact_txt {
        font-size: 1rem;
    }
    .footer_logo {
        padding-top: 8rem;
        margin-bottom: 2rem;
    }
    div#n2-ss-1 .n2-bar-justify-content-center {
        justify-content: center;
        margin-bottom: 2rem;
    }
    #copyright {
        padding: 3rem 0;
    }

    /*SUB PAGES*/
    .post .price_basic_ttl {
        width: 40%;
        font-size: 1.2rem;
        padding: 1rem 1rem;
    }
    .post .price_basic_detail {
        width: 60%;
        padding-left: 1rem;
    }
    .post .price_tickets_wrapTtl {
        padding: 0.5rem 0;
        font-size: 1.2rem;
    }
    .post .price_tickets_ttl {
        font-size: 1.2rem;
    }
    .subPage_price_banner {
        margin: 0 auto 5rem;
    }
    .link .link_read {
        text-align: left;
    }

    /*LOCATION*/
    .map {
        margin-top: 3rem;
        width: 100%;
        height: 240px;
    }

    /*FAQ*/
    .post .faq_list {
        width: 100%;
        display: flex;
        justify-content: space-between;
        flex-direction: row;
        flex-wrap: wrap;
        border: 1px solid #ccc;
        padding: 4rem 4rem 1rem;
        margin-bottom: 8rem;
    }
    .post .faq_list .faq_list_items {
        padding-left: 3.5rem;
        margin-bottom: 2rem;
    }
    .post .faq_list .faq_list_items a:before {
        width: 25px;
        height: 25px;
        font-size: 1.6rem;
        margin-left: -3.5rem;
        margin-top: -0.3rem;
    }
    .post .faq_detail {
        padding-bottom: 4rem;
        margin-bottom: 4rem;
    }
    .post .faq_detail .answer br {
        display: none;
    }
    .post .faq_detail .answer .btn_common {
        padding-top: 3rem;
        margin: 0 auto;
    }

    /*SITE MAP*/
    .post ul#sitemap_list li {
        margin-bottom: 1.5rem;
        padding: 0 0 1.5rem 1.2rem;
    }
    .post ul#sitemap_list li a {
        font-size: 1.4rem;
    }
    .post ul#sitemap_list li a span {
        font-size: 1rem;
    }

    /*PRICE*/
    #ai1ec-container {
        margin-bottom: 6rem;
    }

    /*banner_bottom*/
    .link_bottom {
        margin: 8rem auto;
    }
    .link_bottom .link_bottom_items:nth-child(-n+2) {
        margin-bottom: 2rem;
    }

    /*岩盤ヨガ*/
    .about_hotStoneYoga_inner .main_ttl {
        margin-bottom: 3rem;
    }
    .about_hotStoneYoga_inner {
        padding: 8rem 0;
    }
    #subPage_comparison .main_txt {
        margin-bottom: 0;
    }
    /*岩盤ヨガ　EFFECT*/
    .effect2col_wrap {
        width: 100%;
        padding: 0;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: stretch;
        justify-content: space-between;
    }
    .effect2col {
        width: 100%;
    }
    .effect2col_discription_ttl {
        font-size: 1.6rem;
        margin-bottom: 1rem;
    }
    .effect2col:nth-last-of-type(-n+2) .effect2col_discription .main_txt {
        margin-bottom: 3rem;
    }

    #subPage_reserve .usage {
        width: 90%;
        margin: 0 auto;
        background-color: #eee;
        padding: 3rem;
        margin-top: 6rem;
    }
}

/* Google Transrate*/
#google_language_translator {
    text-align: center;
}
.goog-te-gadget {
    color: #fff !important;
}
.goog-logo-link {
    color: #fff !important;
}
#google_language_translator select.goog-te-combo {
    margin: 30px 0 10px;
}

/*バージョンアップによる送信ボタンのズレ調整*/
.wpcf7-spinner {
    width: 0!important;
    margin: 0!important;
}


/*==============================================================
header修正202509
==============================================================*/
/* ヘッダーコンタクトエリア */
ul#header_contact {
    display: flex;
    align-items: center;
    gap: 8px;
}
ul#header_contact li {
    background: var(--black);
    border-radius: 10px;
}
ul#header_contact li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: var(--mincho);
    background: var(--accent);
    padding: 20px;
    border-radius: 10px;
    gap: 4px;
}
ul#header_contact .header_contact_tel {
    display: flex;
    flex-direction: column;
    background: none;
    border-radius: initial;
}
ul#header_contact .header_contact_tel p {
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.4;
}
ul#header_contact .header_contact_tel .header_contact_tel_number {
    position: relative;
    font-size: 3.6rem;
    line-height: 1.0;
    margin-bottom: 4px;
}
ul#header_contact .header_contact_tel .header_contact_tel_number::before {
    position: absolute;
    content: "";
    width: 20px;
    height: 30px;
    background: url(/wp-content/uploads/icon_tel.png) center no-repeat;
    background-size: contain;
    top: 50%;
    left: -26px;
    transform: translateY(-50%);
}
ul#header_contact .header_contact_tel .caution {
    display: block;
}

ul#header_contact .header_contact_line a {
    background: #06c755;
}
ul#header_contact .header_contact_icon {
    width: 30px;
    height: 30px;
    flex-grow: 1;
}
ul#header_contact li a img {
    width: 100%;
    height: auto;
}
ul#header_contact .header_contact_txt {
    line-height: 1.0;
    font-size: 15px;
}

@media print, screen and (min-width: 1024px) {
    #header .inner {
        max-width: initial;
    }
    #header-layout {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 32px;
        gap: 3%;
    }
    #header .logo {
        position: initial;
        padding-top: 0;
        transform: initial;
        display: flex;
        flex-direction: column;
    }
    .headlogo-nonfix #header .logo {
        display: block;
        width: 100%;
        max-width: 200px;
    }
    #header h1, #header .description {
        margin: 0;
        float: none;
        padding: 0;
        font-size: 1rem;
    }
    nav#mainNav {
        width: auto;
        margin: 0 0 0 auto;
    }
    nav#mainNav ul {
        margin-left: 0;
        text-align: left;
        display: flex;
        gap: 30px;
    }
    nav#mainNav ul li:nth-child(1), nav#mainNav ul li:nth-child(2), nav#mainNav ul li:nth-child(4), nav#mainNav ul li:nth-child(5) {
        margin-right: 0;
    }
    nav#mainNav ul li:nth-child(4) {
        margin-left: 0;
    }
    .header_contact_spmenu {
        display: none !important;
    }
}
@media screen and (min-width:1024px) and ( max-width:1920px) {
    ul#header_contact li a {
        padding: calc(20px + (1vw - 19.2px) * 0.8929); /* 20px(1920px) to 12px(1024px) */
    }
    ul#header_contact .header_contact_txt {
        font-size: calc(15px + (1vw - 19.2px) * 0.3348); /* 1.5rem(1920px) to 1.2rem(1024px) */
    }
    nav#mainNav ul li a {
        font-size: calc(15px + (1vw - 19.2px) * 0.3348); /* 1.5rem(1920px) to 1.2rem(1024px) */
    }
    nav#mainNav ul li a span {
        font-size: calc(1.2rem + (1vw - 19.2px) * 0.2232); /* 1.2rem(1920px) to 1.0rem(1024px) */
    }
    ul#header_contact .header_contact_tel p {
        font-size: calc(1.2rem + (1vw - 19.2px) * 0.2232); /* 1.2rem(1920px) to 1.0rem(1024px) */
        line-height: 1.4;
    }
    ul#header_contact .header_contact_tel .header_contact_tel_number {
        font-size: calc(3.6rem + (1vw - 19.2px) * 1.3393); /* 3.6rem(1920px) to 2.4rem(1024px) */
        line-height: 1.0;
    }
}
@media screen and (max-width: 1366px) {
    .sticky-header #header .description {
        margin-left: 0;
    }
}
@media print, screen and (max-width: 1200px) {
    #header-layout {
        padding: 16px;
    }
    ul#header_contact {
        gap: 4px;
    }
    nav#mainNav ul {
        gap: 20px;
    }
    body.headlogo-nonfix #header .logo img {
        max-width: 160px;
    }
}
@media print, screen and (max-width: 1023px) {
    body nav#mainNav {
        background: var(--black);
    }
    #header-layout {
        padding: 0;
    }
    #header .logo {
        display: flex;
        flex-direction: column;
        padding: 16px;
    }
    #header .description {
        font-size: 1rem;
        padding: 0;
        margin-bottom: 4px;
    } 
    ul#header_contact {
        display: none;
    }
    ul#header_contact.header_contact_spmenu {
        display: flex !important;
    }
    ul#header_contact li a {
        padding: 20px;
    }
    ul#header_contact .header_contact_txt {
        line-height: 1.0;
        font-size: 1.6rem;
    }
    nav#mainNav ul li a span {
        font-size: 1.2rem;
    }
    nav#mainNav #header_contact {
        gap: 8px;
        padding: 16px;
    }
    nav#mainNav #header_contact li {
        border-radius: 10px;
    }
    nav#mainNav #header_contact li a {
        display: flex;
        padding: 16px;
        height: 80px;
    }
    nav#mainNav #header_contact .header_contact_tel a {
        border: 1px solid #fff;
    }
    nav#mainNav #header_contact .header_contact_tel img {
        width: auto;
        height: 22px;
    }
    nav#mainNav #header_contact .header_contact_line a:hover {
        background: #06c755;
    }
    nav#mainNav #header_contact .header_contact_mail a {
        background: var(--accent);
    }
    nav#mainNav #header_contact .header_contact_mail a:hover {
        background: var(--accent);
    }
}
@media only screen and (max-width: 799px) {
    .mobile #header .logo {
        padding: 16px;
    }
}
@media print, screen and (max-width: 767px) {
    .mobile #header .logo {
        padding: 8px 16px;
    }
    .mobile #header .logo .mark {
        text-align: left;
    }
    #header-layout .logo .mark a {
        padding-left: 0;
    }
    body.headlogo-nonfix #header .logo img {
        max-width: 130px;
    }
    #header .description {
        text-align: left;
    }
    ul#header_contact .header_contact_txt {
        font-size: 1.4rem;
    }
}


/*-----------------------------------------
スティッキーヘッダー
-----------------------------------------*/
@media print, screen and (min-width: 1024px) {
    body.sticky-header nav#mainNav {
        position: initial !important;
        top: initial;
        transform: initial;
        -ms-transform: initial;
        width: auto;
        margin-left: auto;
    }
    .sticky-header > .site-header {
        top: -125px;
        transform: translateY(125px);
        -ms-transform: translateY( 125px );
        transition: all 0.8s ease-in-out;
        -ms-transition: all 0.8s ease-in-out;
    }
    .sticky-header #header ul {
        padding-top: 0;
    }
    .sticky-header #header .description {
        display: none;
    }
}


/*==============================================================
サイト全体の修正 202509
==============================================================*/
a {
    transition : all 0.5s;
}
a:hover, a:active {
    -webkit-transition: opacity .5s;
    -moz-transition: opacity .5s;
    -o-transition: opacity .5s;
    outline: none;
}


/*==============================================================
 料金ページ
==============================================================*/
.price__top{
    font-family: var(--font-family02);
    font-size: var(--px50);
    font-weight: 300;
    letter-spacing: 0rem;
    width: 100%;
    padding: var(--rem30) !important;
}

.price__contents--area{
    width: 100%;
    margin: 0 auto;
    padding: 0 24px;
    max-width: 1550px;
    display: flex;
    flex-direction: column;
    gap: min(calc(8rem + (1vw - 1.92rem) * 3.8835),8rem);
}

@media screen and (max-width: 768px) {
    .price__contents--area{
        padding: 0;
    }
}

.price__contents{
    background: var(--color-bg-grade);
    width: 100%;
    padding: var(--px62) 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: var(--px60);
    box-shadow: 20px 18px 29px 0 rgba(0,0,0,0.25);
}

.price__contents--title{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 442px;
    margin: 0 auto;
    gap: var(--24px);
}

.price__contents--title img{
    width: 100%;
    height: auto;
    object-fit: cover;
}

.price__contents--title p{
    font-size: var(--px50);
    letter-spacing: 0.05em;
    line-height: 2;
    font-family: var(--font-family02);

}
@media screen and (max-width: 768px) {
    .price__contents--title p{
        font-size: var(--px68);
    }
}

.price__contents--bottom{
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    background-color: var(--color-white);
    padding: var(--px40);
}

.price__contents--bottom-inner{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--rem24);
    margin: 0 auto;
}

.price__contents--bottom-header{
    width: 100%;
    display: block;
    position: relative;
}

.price__contents--bottom-header::after{
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color-font);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.price__contents--bottom-header p{
    font-size: var(--rem24);
    display: block;
    width: fit-content;
    padding: 12px 24px;
    background-color: var(--color-white);
    margin: 0 auto;
    font-family: var(--font-family02);
    position: relative;
    z-index: 1;
}


.price__contents--bottom-footer p{
    font-size: var(--rem24);
    font-family: var(--font-family02);
    text-align: center;
}

.price__contents--bottom-footer .large{
    font-size: var(--rem48);
    color: var(--color-primary);
}

.price__contents--bottom-footer .small{
    font-size: var(--rem16);
}

.price__contents--grid{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 50px;
}

@media screen and (max-width: 768px) {
 .price__contents--grid{
    grid-template-columns: 1fr;
}
}

.price__contents--grid .price__contents--title p{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
}

.price__contents--grid .price__contents--title p img{
    width: 100%;
    max-width: 50px;
    height: auto;
    object-fit: cover;
}
/*修正　20250924*/
.price__contents--area{
max-width: 1240px !important;
}
.price__contents--title p{
font-size: var(--px36) !important;
}
.price__strong {
font-family: var(--font-family02);
font-size: var(--px30);
font-weight: 300;
letter-spacing: 0rem;
width: 100%;
padding: var(--rem30) !important;
line-height: 40px;
}
.kyuukai{
  background-color:gray;
  padding:50px 10px;
}
.campaign__list{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--px32);
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.campaign__contents{
    border: 5px solid #D0D0D0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: var(--px48) 24px;
    gap: var(--rem30);
    width: 100%;
    box-shadow: 20px 18px 29px 0 rgba(0,0,0,0.1);
}

.campaign__contents--header{
    width: fit-content;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-primary);
    padding: var(--rem16) var(--px50);
    border-radius: 100px;
}

.campaign__contents--header p{
    color: var(--color-white);
    font-size: var(--px50);
    font-family: var(--font-family02);
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
}

.campaign__contents--middle{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    padding: 0 var(--rem30);
    margin: 0 auto;
    gap: var(--rem30);
}

.campaign__contents--middle:before{
    content: '';
    display: block;
    width: 1px;
    height: 120%;
    background-color: var(--color-font);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) rotate(-30deg);
}
.campaign__contents--middle:after{
    content: '';
    display: block;
    width: 1px;
    height: 120%;
    background-color: var(--color-font);
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(30deg);
}

.campaign__contents--middle p{
    font-family: var(--font-family02);
    font-size: var(--rem36);
    line-height: 1;
    letter-spacing: 0.05em;
}
.campaign__contents--middle .red{
    font-size: var(--px50);
    color: var(--color-primary);
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    .campaign__contents--middle .red{
        font-size: var(--rem48);
        text-align: center;
    }
}


.campaign__contents--middle .dot{
    position: relative;
}
.campaign__contents--middle .dot::after{
    content: '・';
    font-size: var(--rem20);
    position: absolute;
    top: -10%;
    left: 50%;
    transform: translateX(-50%);
}

.campaign__contents--bottom{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: var(--rem30);
}

.campaign__contents--bottom .small{
    font-size: var(--rem24);
    font-family: var(--font-family02);
    display: flex;
}

.campaign__contents--bottom .cancel{
    display: block;
    width: fit-content;
    position: relative;
}

.campaign__contents--bottom .cancel:after{
    content: '';
    width: 100%;
    height: 1px;
    background-color: var(--color-font);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);

}

.campaign__contents--bottom .price{
    font-size: var(--rem16);
    font-family: var(--font-family02);
    display: flex;
    align-items: baseline;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .campaign__contents--bottom .price{
        flex-direction: column;
    }
}


.campaign__contents--bottom .red{
    color: var(--color-primary);
    font-size: var(--px50);
    line-height: 1;
    font-weight: bold;
	margin-inline: auto;
}
@media screen and (max-width: 768px) {
    .campaign__contents--bottom .red{
        width: 100%;
        text-align: center;
        font-size: var(--rem60);
    }
}


.price__table td .inners {
    display: flex;
    align-items: center;
	justify-content: center;
}

.price__table .before{
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.price__table .before p{
    line-height: 1;
}

.price__table .before .cancel{
    display: block;
    width: fit-content;
    position: relative;
    font-size: var(--rem24);
    font-weight: bold;
}
.price__table .before .cancel:after{
    content: '';
    width: 100%;
    height: 1px;
    background-color: var(--color-font);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.price__table .before .small{
    font-size: 13px;
    text-align: center;
}

.price__table i{
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 16px solid var(--color-primary);
    border-right: 0;
}


.price__table .after .red{
    color: var(--color-primary);
    font-weight: bold;
    font-size: var(--px32);
}

.price__table .after .small{
    font-size: 13px;
    text-align: center;
}

.price__table th,.price__table td{
    align-content: center;
    text-align: center !important;
    font-size: var(--rem20);
}

.price__table th{
    background: var(--color-primary) !important;
    color: var(--color-white) !important;
}

.max_w900 {
	max-width: 900px;
}
.max_w960 {
	max-width: 960px;
}
.max_w1000 {
	max-width: 1000px;
}
.max_w1024 {
	max-width: 1024px;
}
.max_w1100 {
	max-width: 1100px;
}
.max_w1200 {
	max-width: 1200px;
}
.max_w1240 {
	max-width: 1240px;
}
.max_w1300 {
	max-width: 1300px;
}
.max_w1400 {
	max-width: 1400px;
}
.max_w1500 {
	max-width: 1500px;
}
.max_w1600 {
	max-width: 1600px;
}
.max_w1700 {
	max-width: 1700px;
}
.max_w1800 {
	max-width: 1800px;
}

/**------------------------------------------
spac
e--------------------------------------------*/

.mt0 {
	margin-top: 0 !important;
}
.mt1 {
	margin-top: 1rem !important;
}
.mt2 {
	margin-top: 2rem !important;
}
.mt3 {
	margin-top: 3rem !important;
}
.mt4 {
	margin-top: 4rem !important;
}
.mt5 {
	margin-top: 5rem !important;
}
.mt6 {
	margin-top: 6rem !important;
}
.mt7 {
	margin-top: 7rem !important;
}
.mt8 {
	margin-top: 8rem !important;
}
.mt9 {
	margin-top: 9rem !important;
}
.mt10 {
	margin-top: 10rem !important;
}
.mt15 {
	margin-top: 15rem !important;
}
.mt16 {
	margin-top: 16rem !important;
}
.mb0 {
	margin-bottom: 0rem !important;
}
.mb1 {
	margin-bottom: 1rem !important;
}
.mb2 {
	margin-bottom: 2rem !important;
}
.mb3 {
	margin-bottom: 3rem !important;
}
.mb4 {
	margin-bottom: 4rem !important;
}
.mb5 {
	margin-bottom: 5rem !important;
}
.mb6 {
	margin-bottom: 6rem !important;
}
.mb7 {
	margin-bottom: 7rem !important;
}
.mb8 {
	margin-bottom: 8rem !important;
}
.mb9 {
	margin-bottom: 9rem !important;
}
.mb10 {
	margin-bottom: 10rem !important;
}
.mb15 {
	margin-bottom: 15rem !important;
}
.mb16 {
	margin-bottom: 16rem !important;
}
@media screen and (max-width: 768px) {
	.mt1 {
		margin-top: 0.5rem !important;
	}
	.mt2 {
		margin-top: 1rem !important;
	}
	.mt3 {
		margin-top: 1.5rem !important;
	}
	.mt4 {
		margin-top: 2rem !important;
	}
	.mt5 {
		margin-top: 2.5rem !important;
	}
	.mt6 {
		margin-top: 3rem !important;
	}
	.mt7 {
		margin-top: 3.5rem !important;
	}
	.mt8 {
		margin-top: 4rem !important;
	}
	.mt9 {
		margin-top: 4.5rem !important;
	}
	.mt10 {
		margin-top: 5rem !important;
	}
	.mt15 {
		margin-top: 7.5rem !important;
	}
	.mt16 {
		margin-top: 8rem !important;
	}
	.mb1 {
		margin-bottom: 0.5rem !important;
	}
	.mb2 {
		margin-bottom: 1rem !important;
	}
	.mb3 {
		margin-bottom: 1.5rem !important;
	}
	.mb4 {
		margin-bottom: 2rem !important;
	}
	.mb5 {
		margin-bottom: 2.5rem !important;
	}
	.mb6 {
		margin-bottom: 3rem !important;
	}
	.mb7 {
		margin-bottom: 3.5rem !important;
	}
	.mb8 {
		margin-bottom: 4rem !important;
	}
	.mb9 {
		margin-bottom: 4.5rem !important;
	}
	.mb10 {
		margin-bottom: 5rem !important;
	}
	.mb15 {
		margin-bottom: 7.5rem !important;
	}
	.mb16 {
		margin-bottom: 8rem !important;
	}
}
.pt0 {
	padding-top: 0rem !important;
}
.pt1 {
	padding-top: 1rem !important;
}
.pt2 {
	padding-top: 2rem !important;
}
.pt3 {
	padding-top: 3rem !important;
}
.pt4 {
	padding-top: 4rem !important;
}
.pt5 {
	padding-top: 5rem !important;
}
.pt6 {
	padding-top: 6rem !important;
}
.pt7 {
	padding-top: 7rem !important;
}
.pt8 {
	padding-top: 8rem !important;
}
.pt9 {
	padding-top: 9rem !important;
}
.pt10 {
	padding-top: 10rem !important;
}
.pb0 {
	padding-bottom: 0rem !important;
}
.pb1 {
	padding-bottom: 1rem !important;
}
.pb2 {
	padding-bottom: 2rem !important;
}
.pb3 {
	padding-bottom: 3rem !important;
}
.pb4 {
	padding-bottom: 4rem !important;
}
.pb5 {
	padding-bottom: 5rem !important;
}
.pb6 {
	padding-bottom: 6rem !important;
}
.pb7 {
	padding-bottom: 7rem !important;
}
.pb8 {
	padding-bottom: 8rem !important;
}
.pb9 {
	padding-bottom: 9rem !important;
}
.pb10 {
	padding-bottom: 10rem !important;
}
.pd2 {
	padding: 2rem !important;
}
.pd3 {
	padding: 3rem !important;
}
.pd4 {
	padding: 4rem !important;
}
.pd5 {
	padding: 5rem !important;
}
@media screen and (max-width: 768px) {
	.pt1 {
		padding-top: 0.5rem !important;
	}
	.pt2 {
		padding-top: 1rem !important;
	}
	.pt3 {
		padding-top: 1.5rem !important;
	}
	.pt4 {
		padding-top: 2rem !important;
	}
	.pt5 {
		padding-top: 2.5rem !important;
	}
	.pt6 {
		padding-top: 3rem !important;
	}
	.pt7 {
		padding-top: 3.5rem !important;
	}
	.pt8 {
		padding-top: 4rem !important;
	}
	.pt9 {
		padding-top: 4.5rem !important;
	}
	.pt10 {
		padding-top: 5rem !important;
	}
	.pb1 {
		padding-bottom: 0.5rem !important;
	}
	.pb2 {
		padding-bottom: 1rem !important;
	}
	.pb3 {
		padding-bottom: 1.5rem !important;
	}
	.pb4 {
		padding-bottom: 2rem !important;
	}
	.pb5 {
		padding-bottom: 2.5rem !important;
	}
	.pb6 {
		padding-bottom: 3rem !important;
	}
	.pb7 {
		padding-bottom: 3.5rem !important;
	}
	.pb8 {
		padding-bottom: 4rem !important;
	}
	.pb9 {
		padding-bottom: 4.5rem !important;
	}
	.pb10 {
		padding-bottom: 5rem !important;
	}
	.pd2 {
		padding: 1rem !important;
	}
	.pd3 {
		padding: 1.5rem !important;
	}
	.pd4 {
		padding: 2rem !important;
	}
	.pd5 {
		padding: 2.5rem !important;
	}
}
@media screen and (max-width: 414px) {
	.mt16 {
		margin-top: 5rem !important;
	}
	.mb16 {
		margin-bottom: 5rem !important;
	}
}

/**------------------------------------------
responsive parts
--------------------------------------------*/

/*br*/
.spbr, table.sp_t, .post img.img_sp {
	display: none;
}
.pc_none {
	display: none;
}
@media screen and (max-width: 768px) {
	.spbr, table.sp_t, .post img.img_sp {
		display: block;
	}
	.pcbr, table.pc_t, .post img.img_pc {
		display: none;
	}
	.pc_none {
		display: inherit;
	}
	.sp_none {
		display: none;
	}
}
@media screen and (min-width: 769px) {
	.pc_center {
		text-align: center !important;
	}
	.pc_right {
		text-align: right !important;
	}
	.pc_left {
		text-align: left !important;
	}
}

/**------------------------------------------
flexbox
--------------------------------------------*/

.w10 {
	width: 10%;
}
.w20 {
	width: 20%;
}
.w30 {
	width: 30%;
}
.w40 {
	width: 40%;
}
.w50 {
	width: 50%;
}
.w60 {
	width: 60%;
}
.w70 {
	width: 70%;
}
.w80 {
	width: 80%;
}
.w90 {
	width: 90%;
}
.gap {
	gap: 5%;
}
.gap3 {
	gap: 3%;
}
.ai_center {
	align-items: center;
}
.ai_self_center {
	align-self: center;
}
.jc_center {
	justify-content: center;
}
.jc_between {
	justify-content: space-between;
}
.rev {
	flex-direction: row-reverse;
}
@media screen and (min-width: 769px) {
	.columns, .flexbox {
		display: flex;
	}
}
@media screen and (max-width: 768px) {
	.w10, .w20, .w30, .w40, .w50, .w60, .w70, .w80, .w90 {
		width: 100%;
		margin-bottom: 20px;
	}
	.flexbox.rev {
		flex-direction: row-reverse;
	}
	.sp_nowrap {
		display: flex;
	}
	.sp_nowrap .w10 {
		width: 10%;
	}
	.sp_nowrap .w20 {
		width: 20%;
	}
	.sp_nowrap .w30 {
		width: 30%;
	}
	.sp_nowrap .w40 {
		width: 40%;
	}
	.sp_nowrap .w50 {
		width: 50%;
	}
	.sp_nowrap .w60 {
		width: 60%;
	}
	.sp_nowrap .w70 {
		width: 70%;
	}
	.sp_nowrap .w80 {
		width: 80%;
	}
	.sp_nowrap .w90 {
		width: 90%;
	}
	.sp_ai_top {
		align-items: flex-start;
	}
	.sp_no_mb {
		margin-bottom: 0 !important;
	}
	.sp_no_pb {
		padding-bottom: 0 !important;
	}
}

/**------------------------------------------
Anchor Point
*------------------------------------------*/

.anchor_link::before {
	content: '';
	display: block;
	padding-top: 80px;
	margin-top: -80px;
}
.txt_l, .post .txt_l {
	text-align: left;
}
.txt_r, .post .txt_r {
	text-align: right;
}
.txt_c, .post .txt_c {
	text-align: center;
}