/* CSS Document */

/* font の基準 */

html {
    color: #4d4d4d;
    font-size: 62.5%; /* 10px*/
}
body {
    font-size: 1.5rem; /* 15px*/
    /*  text-size-adjust: none;*/
}

a {
    color: #bc4d7b;
}
a:hover {
    color: #dd4d6c;
}
a[href^="tel:"] {
    text-decoration: none;
}

.tb_none {
    display: none !important;
}
.tb_pic {
    width: 100%;
    height: auto;
} /* 100％にしたい画像に */

p {
    margin-bottom: 2em;
}
p + h3 {
    margin-top: 2em;
}
p + h2 {
    margin-top: 2em;
}

/* TOP ===================================================================================================================== */

.top_wp {
    width: 100%;
}

/* header */

header {
    width: 100%;
}
header::after {
    content: "";
    clear: both;
    display: table;
}

.logo {
    position: absolute;
    width: 150px;
    height: auto;
    top: 5px;
    left: 5px;
}
.bn_cashless {
    position: absolute;
    top: 10px;
    left: 170px;
    width: 80px;
}

.top_course_col {
    background: #d6e2ea;
}

#mddNav {
    display: none;
}
#mddNav > ul > li.header_menu_line {
    display: none;
}

/* key */
.key_col {
    background: #a6a5a4;
    width: 100%;
}
.key {
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}
.key img {
    width: 100%;
}

/* keypc
.pc_non { display: block !important; }
.sp_non { display: none !important; }*/

/* keysp 
@media only screen and (max-width: 750px) {
.pc_non { display: none !important; }
.sp_non { display: block !important; }
}*/

/* Hx */
.top_ttl {
    text-align: center;
    font-size: 150%;
    font-weight: bold;
    margin: 0 0 1em;
    padding-top: 1.5em;
}

.top_ttl_midline {
    color: #444;
    display: flex;
    align-items: center;
    width: 100%;
    margin: 1em auto 1em;
    font-size: 150%;
    font-weight: bold;
}
.top_ttl_midline:before,
.top_ttl_midline:after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background: #444;
    display: block;
}
.top_ttl_midline:before {
    margin-right: 1em;
}
.top_ttl_midline:after {
    margin-left: 1em;
}

/* main btn */
.main_btn {
    margin: 0 0 30px;
    border-top: 1px solid #3e3a39;
    border-left: 1px solid #3e3a39;
}
.main_btn::after {
    content: "";
    clear: both;
    display: table;
}
.main_btn li {
    width: 25%;
    height: 97px;
    display: table;
    float: left;
}
.main_btn li a {
    display: table-cell;
    padding: 60px 0 0 0;
    text-decoration: none;
    border-bottom: 1px solid #3e3a39;
    border-right: 1px solid #3e3a39;
    font-weight: bold;
    font-size: 12px;
    text-align: center;
}
.main_btn_admission a {
    display: block;
    background: url(../images2/top/ic_admission.png) 50% 30% no-repeat;
    background-size: 24px auto;
    color: #f37282;
}
.main_btn_trial a {
    display: block;
    background: url(../images2/top/ic_trial.png) 50% 30% no-repeat #f7f8f8;
    background-size: 30px auto;
    color: #5472a4;
}
.main_btn_experience a {
    display: block;
    background: url(../images2/top/ic_experience.png) 50% 30% no-repeat #f7f8f8;
    background-size: 30px auto;
    color: #24818c;
}
.main_btn_location a {
    display: block;
    background: url(../images2/top/ic_location.png) 50% 30% no-repeat #f7f8f8;
    background-size: 30px auto;
    color: #bb99cf;
}
.main_btn_contact a {
    display: block;
    background: url(../images2/top/ic_contact.png) 50% 30% no-repeat #f7f8f8;
    background-size: 30px auto;
    color: #5979cf;
}

/* Limited Course 期間限定コース */

.top_course_bn {
    margin: 0 auto 4em;
}
.top_course_bn::after {
    content: "";
    clear: both;
    display: table;
}
.top_course_bn li {
    width: 23.5%;
    height: 128px;
    display: table;
    float: left;
    margin-right: 2%;
}
.top_course_bn li:last-child {
    margin-right: 0;
}
.top_course_bn li a {
    display: table-cell;
    vertical-align: middle;
    text-decoration: none;
    border: 1px solid #ccc;
    font-weight: bold;
    text-align: center;
    background-image: url(../images2/top/ic_arrow_wh01.png);
    background-repeat: no-repeat;
    background-position: 96% 50%;
    background-size: 1em auto;
    color: #333;
}
.top_course_bn li a:hover {
    color: #333;
    opacity: 0.8;
}

/* 気のトレーニングについて */
.ki_training_col {
    background: #f4eee6;
    padding: 20px 0 30px;
}
.ki_training_box,
.ki_training_box_4 {
    width: 100%; /*max-width: 768px;*/
    max-width: 90%;
    margin: 0 auto;
}

.ki_training_ttl {
    text-align: center;
    width: 80%;
    max-width: 760px;
    margin: 0 auto 1em;
}
.ki_training_ttl img {
    width: 100%;
    margin-top: -40px;
}

.ki_training_txt {
    font-weight: bold;
    text-align: center;
    margin-bottom: 2em;
}
.ki_training_txt2 {
    text-align: center;
    margin-bottom: 2em;
}

.ki_training_3col {
    width: 100%;
}
.ki_training_3col::after {
    content: "";
    clear: both;
    display: table;
}
.ki_training_3col li {
    width: 30%;
    float: left;
    line-height: 1;
    margin: 0 1%;
}
.ki_training_3col li img {
    width: 100%;
}

.ki_training_4col {
    width: 100%;
}
.ki_training_4col::after {
    content: "";
    clear: both;
    display: table;
}
.ki_training_4col li {
    width: 23%;
    float: left;
    line-height: 1;
    margin: 0 1%;
}
.ki_training_4col li img {
    width: 100%;
}

.ki_training_6col {
    width: 100%;
}
.ki_training_6col::after {
    content: "";
    clear: both;
    display: table;
}
.ki_training_6col li {
    width: 23%;
    float: left;
    line-height: 1;
    margin: 0 1%;
}
.ki_training_6col li img {
    width: 100%;
}

.ki_training_btn {
    box-sizing: border-box;
    display: inline-block;
    width: 100%;
    padding: 0.5em;
    border: 1px solid #756c63;
    background: url(../images2/top/ic_tri_black01.png) #fff no-repeat 90% 50%;
    background-size: 12px;
    text-decoration: none;
}
.ki_training_btn:hover {
    border: 1px solid #bc4d7b;
    color: #bc4d7b;
    background-color: #fef1f6;
}

/* 受講生の声  */
.voice_tbl2 {
    background: #f4eee6;
    padding: 1.5em;
    margin: 0 auto 30px;
}
.voice_col2_col {
    background: #f4eee6;
    width: 1122px;
    margin: 0 auto;
    padding-bottom: 40px;
}
.voice_col2::after {
    content: "";
    clear: both;
    display: table;
}

.voice_box {
    width: 100%;
    text-align: center;
    border-bottom: 1px solid #3e3a39;
    padding-top: 1.5em;
}
.voice_box::after {
    content: "";
    clear: both;
    display: table;
}
.voice_pic {
    width: 100px;
    height: auto;
    float: left;
    margin: 0 2% 1em 0;
}
.voice_txt {
    width: 76%;
    float: left;
    text-align: left;
    line-height: 1.8;
}

/* Limited Course 期間限定コース */

.top_course_col {
    background: #d6e2ea;
    padding: 1px 0 60px;
}
.top_course_col::after {
    content: "";
    clear: both;
    display: table;
}

.top_course_flex {
    display: flex;
    flex-wrap: wrap;
    width: 90%;
    margin: 0 auto;
}
.top_course_flex a {
    text-decoration: none;
}
.top_course_box {
    flex-basis: 33%;
    flex-wrap: wrap;
}

.top_course_txt {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1em;
    box-sizing: border-box;
    width: 100%;
    height: 70px;
    color: #fff;
    font-weight: bold;
    font-size: 13px;
    margin-bottom: 0;
    line-height: 1.2;
    /*background-image:url(../images2/ic_arrow_wh01.png) ; 
background-repeat: no-repeat; 
background-position: 50% 90% ; */
}

.crs01 .top_course_txt {
    background-color: #24818c;
}
.crs02 .top_course_txt {
    background-color: #f7a3a0;
}
.crs03 .top_course_txt {
    background-color: #f37282;
}
.crs04 .top_course_txt {
    background-color: #c3aed0;
}
.crs05 .top_course_txt {
    background-color: #f8b194;
}
.crs06 .top_course_txt {
    background-color: #5472a4;
    height: 170px;
    width: 100%;
}

.top_course_pic {
    width: 100%;
    height: 100px;
}
.crs01 .top_course_pic {
    background: url(../images2/top/top_course27_1912.png) no-repeat;
    background-size: cover;
}
.crs02 .top_course_pic {
    background: url(../images2/top/top_topics103.png) no-repeat;
    background-size: cover;
}
.crs03 .top_course_pic {
    background: url(../images2/top/top_jyoshi_1912.png) no-repeat;
    background-size: cover;
}
.crs04 .top_course_pic {
    background: url(../images2/top/top_wellness_1911.png) no-repeat;
    background-size: cover;
}
.crs05 .top_course_pic {
    background: url(../images2/top/top_course_other.png) no-repeat;
    background-size: cover;
}

/* PICK UP */
.pickup {
    width: 90%;
    margin: 0 auto 4em;
}
.pickup li {
    line-height: 1.2;
    margin: 0 10px;
}
.pickup li a {
    text-decoration: none;
    font-size: 10px;
}
.pickup li img {
    width: 100%;
    height: auto;
    margin-bottom: 0.5em;
    padding: 0;
}

/* 動画 */
.movie_col {
}
.movie {
    width: 90%;
    margin: 0 auto 4em;
}
.movie li {
    line-height: 1.2;
    margin: 0 10px;
}
.movie li a {
    text-decoration: none;
    font-size: 10px;
}
.movie li img {
    width: 100%;
    height: auto;
    margin-bottom: 0.5em;
    padding: 0;
}

.movie_col2 {
}
.movie2 {
    width: 90%;
    margin: 0 auto 4em;
}
.movie2 li {
    margin: 0 10px;
    text-align: center;
    line-height: 1.2;
    text-decoration: none;
    font-size: 15px;
    font-weight: bold;
    color: #dd4d6c;
}
.movie2 li a {
    text-decoration: none;
    font-size: 15px;
    font-weight: bold;
}
.movie2 li img {
    width: 100%;
    height: auto;
    margin-bottom: 0.5em;
    padding: 0;
}
.movie2 li iframe {
    width: 100%;
    margin-bottom: 0.5em;
    padding: 0;
    border: 1px solid #000;
}

/* スペシャルコンテンツ */

.spcont_col_top {
    background: #f4f2ef;
    padding: 1em 0 3em;
    margin-bottom: 4em;
}

.spcont_box_top {
    display: flex;
    flex-wrap: wrap;
    width: 90%;
    margin: 0 auto;
}
.spcont_box_top dl {
    flex-basis: 46%;
    margin: 0 2% 2em;
    box-sizing: border-box;
}

.spcont_box_top dl dt {
    font-size: 17px;
    font-weight: bold;
    padding: 0.3em 1em;
    margin-bottom: 1em;
}
.spcont_box_top dl dd {
    padding-left: 24px;
    color: #595959;
    background: url(../images2/top/ic_cir_gray01.svg) no-repeat center left;
    background-size: 20px;
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 0.5em;
}
.spcont_box_top dl dd a {
    text-decoration: none;
    color: #595959;
}
.spcont_box_top dl dd a:hover {
    text-decoration: underline;
}

.spcont_kokoro {
    background: #f37282;
    color: #fff;
    font-weight: bold;
}
.spcont_kenko {
    background: #24818c;
    color: #fff;
    font-weight: bold;
}
.spcont_jyosei {
    background: #bc4d7b;
    color: #fff;
    font-weight: bold;
}
.spcont_kin {
    background: #5472a4;
    color: #fff;
    font-weight: bold;
}

/* 気で開運TOP */
.ki_col3_01 {
    width: 33%;
    float: left;
    box-sizing: border-box;
    padding: 0 2%;
}
.ki_col3_02 {
    width: 33%;
    float: left;
    box-sizing: border-box;
    padding: 0 2%;
}
.ki_col3_03 {
    width: 33%;
    float: left;
    box-sizing: border-box;
    padding: 0 2%;
}
.ki_col3_01 img {
    max-width: 100%;
    height: auto;
}
.ki_col3_02 img {
    max-width: 100%;
    height: auto;
}
.ki_col3_03 img {
    max-width: 100%;
    height: auto;
}

.success_ul li,
.money_ul li,
.happiness_ul li {
    padding: 0 0 0 1.5em;
    position: relative;
    margin-bottom: 0.5em;
    font-size: 1.7rem;
}
.success_ul li a,
.money_ul li a,
.happiness_ul li a {
    color: #4d4d4d;
}
.success_ul li a:hover,
.money_ul li a:hover,
.happiness_ul li a:hover {
    color: #dd4d6c;
}

.success_ul li:before {
    content: "";
    position: absolute;
    top: 0.4em;
    left: 0;
    width: 1em;
    height: 1em;
    background-color: #eb6200;
    border-radius: 50%;
}
.money_ul li:before {
    content: "";
    position: absolute;
    top: 0.4em;
    left: 0;
    width: 1em;
    height: 1em;
    background-color: #ffde00;
    border-radius: 50%;
}
.happiness_ul li:before {
    content: "";
    position: absolute;
    top: 0.4em;
    left: 0;
    width: 1em;
    height: 1em;
    background-color: #f55bb0;
    border-radius: 50%;
}

/* 気で開運詳細 */
.ki_cont dl dt {
    font-weight: bold;
    font-size: 1.9rem;
    margin-bottom: 0.5em;
}
.ki_cont dl dd {
    margin-bottom: 2em;
}
.ki_cont_ttl {
    text-align: right;
    font-size: 1.4rem;
    margin-bottom: 1.5em;
}

.ki_cont {
    position: relative;
    box-sizing: border-box;
    padding: 2em;
    border-radius: 10px;
    margin-bottom: 3em;
}

.ki_cont:before {
    display: inline-block;
    position: absolute;
    top: -24px;
    left: 10px;
    content: "“";
    font-family: Arial, Helvetica, "sans-serif";
    color: #fff;
    font-size: 200px;
    line-height: 1;
}

.ki_cont:after {
    display: inline-block;
    position: absolute;
    bottom: -130px;
    right: 20px;
    text-align: center;
    content: "”";
    font-family: Arial, Helvetica, "sans-serif";
    color: #fff;
    font-size: 200px;
    line-height: 1;
}

.ki_cont.green {
    background: #daebec;
}
.ki_cont.blue {
    background: #e9eff7;
}
.ki_cont.pink {
    background: #fcedec;
}
.ki_cont.purple {
    background: #fdedf4;
}

/* NEWS */

.news_col {
    background: url(../images2/top/news_bkg.png) no-repeat;
    background-size: cover;
    padding: 1em 0 2em;
}
.news_box {
    width: 100%;
    max-width: 768px;
    margin: 0 auto 1em;
}

.news_tbl {
    background: #fff;
    padding: 1.5em;
    margin: 0 auto 30px;
    box-sizing: border-box;
}
.news_tbl table td {
    display: block;
    width: 100%;
    font-size: 13px;
    padding: 0.5em 0.3em 0 0;
    box-sizing: border-box;
}
.news_tbl table td a {
    color: #4d4d4d;
}

.tab_news {
    display: inline-block;
    background: #f37282;
    color: #fff;
    padding: 1em;
}
.tab_info {
    display: inline-block;
    background: #24818c;
    color: #fff;
    padding: 1em;
}

.news_col table td.inews {
    background: url(../images2/top/ic_news.png) no-repeat center left;
    background-size: 60px auto;
    padding-left: 70px;
}

/* 関連サイト */

.top_bn {
    width: 90%;
    margin: 0 auto 60px;
}
.top_bn::after {
    content: "";
    clear: both;
    display: table;
}
.top_bn li {
    float: left;
    margin: 0 1% 1%;
    width: 48%;
}
.top_bn li img {
    width: 100%;
}

/* その他 */
.top_bn_sp90 {
    text-align: center;
    margin-bottom: 2em;
} /* spだけ90％ */

/* 下層  ==================================================================================================================================================================================== */

.underlayer {
    background: #f7a3a0;
}

/* key --------------------------------------- */
.key2_col {
    display: table;
    margin: 0 auto 0em;
    width: 100%;
    height: 140px;
    box-sizing: border-box;
}
.key2_pic {
    display: table-cell;
    width: 60%;
    height: 160px;
    background-size: cover;
    box-sizing: border-box;
}
.key2_ttl {
    display: table-cell;
    height: 140px;
    background: #b44d7b;
    color: #fff;
    vertical-align: middle;
    font-size: 1.5rem;
    padding-left: 1em;
    box-sizing: border-box;
}

.key2_curriculum06 {
    background-image: url(../images2/key/curriculum06.png);
    background-repeat: no-repeat;
}
.key2_about {
    background-image: url(../images2/key/about.png);
    background-repeat: no-repeat;
}

/* colmun ------------------------------------------------------------------------------ */
.side_bn {
    position: fixed;
    right: 0;
    top: 20%;
    width: 40px;
}
.side_bn a img {
    width: 40px;
    height: auto;
}
.side_bn_sp {
    display: none;
}
.side_bn_cir {
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 234px;
    z-index: 9999; /* 他の要素より前に表示 */
    opacity: 0.7;
}
.side_bn_cir a img {
    width: 234px;
    height: auto;
}
.side_bn_cir_sp {
    display: none;
}

.wp {
    background: #fff;
    margin: 2% 40px;
    padding: 2% 4%;
    border-radius: 22px;
    box-sizing: border-box;
}
.wp::after {
    content: "";
    clear: both;
    display: table;
}

.col2_left {
    width: 50%;
    float: left;
    box-sizing: border-box;
    margin-right: 5%;
}
.col2_right {
    width: 50%;
    float: right;
    box-sizing: border-box;
    margin-left: 5%;
}

.col2_left_pic {
    width: 45%;
    float: left;
    box-sizing: border-box;
}
.col2_right_pic {
    width: 45%;
    float: right;
    box-sizing: border-box;
}
.col2_left_pic img,
.col2_right_pic img {
    max-width: 100%;
}

.col2_50per {
    width: 50%;
    padding: 0 2%;
    float: left;
    box-sizing: border-box;
}

.col2_60per_left {
    box-sizing: border-box;
}
.col2_40per_right {
    box-sizing: border-box;
}
.col2_40per_right img {
    max-width: 100%;
}

.col2_60per_right {
    box-sizing: border-box;
}
.col2_40per_left {
    box-sizing: border-box;
}
.col2_40per_left img {
    max-width: 100%;
}

.col2_70per_left {
    box-sizing: border-box;
}
.col2_30per_right {
    box-sizing: border-box;
}
.col2_30per_right img {
    max-width: 100%;
}

.col2_70per_right {
    box-sizing: border-box;
}
.col2_30per_left {
    box-sizing: border-box;
}
.col2_30per_left img {
    max-width: 100%;
}

.col2_80per_left {
    box-sizing: border-box;
}
.col2_20per_right {
    box-sizing: border-box;
}
.col2_20per_right img {
    max-width: 100%;
}

.col2_80per_right {
    box-sizing: border-box;
}
.col2_20per_left {
    box-sizing: border-box;
}
.col2_20per_left img {
    max-width: 100%;
}

/* bn slider --------------------------------------- */

.bn01_col {
    width: 768px;
    margin: 0 auto 2em;
}
.bn01 {
}
.bn01 li a img {
    width: 236px;
    height: auto;
}
.bn01 li {
    width: 236px !important;
    margin: 0 10px 0 !important;
    padding: 0 !important;
}

/* bread --------------------------------------- */
#pnav {
    padding: 4px 10px 4px;
    margin: 0 0 2em 0;
}
#pnav li {
    display: inline;
    font-size: 70%;
    color: #000;
}
#pnav li a:link,
ul#pnav li a:visited {
    color: #000;
    text-decoration: none;
}
#pnav li a:hover,
ul#pnav li a:active {
    color: #000;
    text-decoration: underline;
}

/* sns --------------------------------------- */
#pnav + .sns_col_2 {
    margin-top: -1.5em;
}
.sns_col_2 {
    text-align: right;
    margin-bottom: 2em;
}
.sns_col_2 span {
    vertical-align: baseline !important;
}

/* Hx --------------------------------------- */
.h1 {
    text-align: center;
    background: #000;
}
.h1_pink {
    color: #dd4d6c;
    position: relative;
    font-size: 3.2rem;
    margin: 0 0 1.5em;
    padding: 0 0 8px 0;
    text-align: center;
    font-weight: bold;
}
.h1_pink:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0px; /*線の上下位置*/
    display: inline-block;
    width: 140px; /*線の長さ*/
    height: 2px; /*線の太さ*/
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); /*位置調整*/
    background-color: #dd4d6c; /*線の色*/
}

.h1_purple {
    color: #b84d7b;
    position: relative;
    font-size: 3.2rem;
    margin: 0 0 1.5em;
    padding: 0 0 8px 0;
    text-align: center;
    font-weight: bold;
}
.h1_purple:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0px; /*線の上下位置*/
    display: inline-block;
    width: 140px; /*線の長さ*/
    height: 2px; /*線の太さ*/
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); /*位置調整*/
    background-color: #b84d7b; /*線の色*/
}

.h1_green {
    color: #248088;
    position: relative;
    font-size: 3.2rem;
    margin: 0 0 1.5em;
    padding: 0 0 8px 0;
    text-align: center;
    font-weight: bold;
}
.h1_green:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0px; /*線の上下位置*/
    display: inline-block;
    width: 140px; /*線の長さ*/
    height: 2px; /*線の太さ*/
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); /*位置調整*/
    background-color: #248088; /*線の色*/
}

.h1_blue {
    color: #5472a0;
    position: relative;
    font-size: 3.2rem;
    margin: 0 0 1.5em;
    padding: 0 0 8px 0;
    text-align: center;
    font-weight: bold;
}
.h1_blue:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0px; /*線の上下位置*/
    display: inline-block;
    width: 140px; /*線の長さ*/
    height: 2px; /*線の太さ*/
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); /*位置調整*/
    background-color: #5472a0; /*線の色*/
}

.h2_box_pink {
    color: #dd4d6c;
    border: 2px solid #dd4d6c;
    margin-bottom: 1em;
    padding: 16px 0.3em 13px 1em;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1;
}
.h2_box_purple {
    color: #b84d7b;
    border: 2px solid #b84d7b;
    margin-bottom: 1em;
    padding: 16px 0.3em 13px 1em;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1;
}
.h2_box_green {
    color: #248088;
    border: 2px solid #248088;
    margin-bottom: 1em;
    padding: 16px 0.3em 13px 1em;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1;
}
.h2_box_blue {
    color: #5472a0;
    border: 2px solid #5472a0;
    margin-bottom: 1em;
    padding: 16px 0.3em 13px 1em;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1;
}

.h3_line_pink {
    border-left: 13px solid #dd4d6c;
    margin-bottom: 1.5em;
    padding: 5px 0 5px 16px;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.4;
}
.h3_line_purple {
    border-left: 13px solid #b84d7b;
    margin-bottom: 1.5em;
    padding: 5px 0 5px 16px;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.4;
}
.h3_line_green {
    border-left: 13px solid #248088;
    margin-bottom: 1.5em;
    padding: 5px 0 5px 16px;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.4;
}
.h3_line_blue {
    border-left: 13px solid #5472a0;
    margin-bottom: 1.5em;
    padding: 5px 0 5px 16px;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.4;
}

.btn.ic_pink {
    text-align: right;
    color: #dd4d6c;
    font-weight: bold;
    padding-right: 30px;
    background: url(../images2/mark/ic_plus_pink.png) no-repeat 100% 0;
    background-size: 23px 23px;
}
.btn.ic_pink.open {
    text-align: left;
    text-indent: -9999px !important;
    padding-right: 30px;
    background: url(../images2/mark/ic_minus_pink.png) no-repeat 100% 0;
    background-size: 23px 23px;
}
.btn.ic_purple {
    text-align: right;
    color: #b84d7b;
    font-weight: bold;
    padding-right: 30px;
    background: url(../images2/mark/ic_plus_purple.png) no-repeat 100% 0;
    background-size: 23px 23px;
}
.btn.ic_purple.open {
    text-align: left;
    text-indent: -9999px !important;
    padding-right: 30px;
    background: url(../images2/mark/ic_minus_purple.png) no-repeat 100% 0;
    background-size: 23px 23px;
}
.btn.ic_green {
    text-align: right;
    color: #248088;
    font-weight: bold;
    padding-right: 30px;
    background: url(../images2/mark/ic_plus_green.png) no-repeat 100% 0;
    background-size: 23px 23px;
}
.btn.ic_green.open {
    text-align: left;
    text-indent: -9999px !important;
    padding-right: 30px;
    background: url(../images2/mark/ic_minus_green.png) no-repeat 100% 0;
    background-size: 23px 23px;
}

.toggle {
}
.box_blue_center {
    color: #000000;
    border: 2px solid #5472a0;
    margin-bottom: 1em;
    padding: 16px 0.3em 13px 1em;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
}
.box_blue {
    color: #5472a0;
    border: 2px solid #5472a0;
    margin-bottom: 1em;
    padding: 16px 0.3em 13px 1em;
    font-weight: bold;
    line-height: 1.5;
}
.box_blue2 {
    color: #5472a0;
    border: 2px solid #5472a0;
    margin-bottom: 1em;
    padding: 16px 0.3em 13px 1em;
    font-weight: bold;
    line-height: 1.5;
}

/* hr --------------------------------------- */

.hr_orange {
    border-bottom: 2px solid #f4ad90;
    border-left: none;
    border-right: none;
    border-top: none;
    clear: both;
    margin-bottom: 4em;
    padding-top: 4em;
}
.hr_orange_2em {
    border-bottom: 2px solid #f4ad90;
    border-left: none;
    border-right: none;
    border-top: none;
    clear: both;
    margin-bottom: 2em;
    padding-top: 2em;
}

/* ic_ --------------------------------------- */
/* 左にアイコン */
.ic_more_pink {
    display: inline-block;
    background: url(../images2/mark/ic_arrow_pink01.png) no-repeat 2px 3px;
    padding-left: 22px;
    font-weight: bold;
    background-size: 18px;
    color: #dd4d6c !important;
    text-decoration: none;
}
.ic_more_pink:hover {
    text-decoration: underline;
}

.ic_more_pink {
    display: inline-block;
    background: url(../images2/mark/ic_arrow_purple01.png) no-repeat 2px 3px;
    padding-left: 22px;
    font-weight: bold;
    background-size: 18px;
    color: #b84d7b !important;
    text-decoration: none;
}
.ic_more_pink:hover {
    text-decoration: underline;
}

.ic_more_green {
    display: inline-block;
    background: url(../images2/mark/ic_arrow_green01.png) no-repeat 2px 3px;
    padding-left: 22px;
    font-weight: bold;
    background-size: 18px;
    color: #248088 !important;
    text-decoration: none;
}
.ic_more_green:hover {
    text-decoration: underline;
}

.ic_more_blue {
    display: inline-block;
    background: url(../images2/mark/ic_arrow_blue01.png) no-repeat 2px 3px;
    padding-left: 22px;
    font-weight: bold;
    background-size: 18px;
    color: #5472a0 !important;
    text-decoration: none;
}
.ic_more_blue:hover {
    text-decoration: underline;
}

/* 右にアイコン */
.ic_more_pink02 {
    display: inline-block;
    background: url(../images2/mark/ic_arrow_pink01.png) no-repeat 98% 3px;
    padding-right: 22px;
    font-weight: bold;
    background-size: 18px;
    color: #dd4d6c !important;
    text-decoration: none;
}
.ic_more_pink02:hover {
    text-decoration: underline;
}

.ic_more_pink03 {
    display: inline-block;
    background: url(../images2/mark/ic_arrow_pink01.png) no-repeat 100% 6px;
    padding-right: 25px;
    font-size: 25px;
    font-weight: bold;
    background-size: 25px;
    color: #dd4d6c !important;
    text-decoration: none;
}
.ic_more_pink03:hover {
    text-decoration: underline;
}

.ic_more_purple02 {
    display: inline-block;
    background: url(../images2/mark/ic_arrow_purple01.png) no-repeat 98% 3px;
    padding-right: 22px;
    font-weight: bold;
    background-size: 18px;
    color: #b84d7b !important;
    text-decoration: none;
}
.ic_more_purple02:hover {
    text-decoration: underline;
}

.ic_more_green02 {
    display: inline-block;
    background: url(../images2/mark/ic_arrow_green01.png) no-repeat 98% 3px;
    padding-right: 22px;
    font-weight: bold;
    background-size: 18px;
    color: #248088 !important;
    text-decoration: none;
}
.ic_more_green02:hover {
    text-decoration: underline;
}

.ic_more_blue02 {
    display: inline-block;
    background: url(../images2/mark/ic_arrow_blue01.png) no-repeat 98% 3px;
    padding-right: 22px;
    font-weight: bold;
    background-size: 18px;
    color: #5472a0 !important;
    text-decoration: none;
}
.ic_more_blue02:hover {
    text-decoration: underline;
}

.bn_cir_box {
    margin: -1em 0 1em;
}
.bn_cir {
    width: 202px;
}
.bn_cir_box a:hover img {
    opacity: 0.8;
}

/* about --------------------------------------- */

.about_con {
    float: right;
    width: 60%;
    margin: 12px 0px 2.5em 0px;
}
.about_pic {
    float: left;
    width: 40%;
    text-align: center;
}

.about_con2 {
    float: left;
    width: 60%;
    margin: 12px 0px 2.5em 0px;
}
.about_pic2 {
    float: right;
    width: 40%;
    text-align: center;
}

.link_about {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 90%;
    margin: 0 auto;
}
.link_about a {
    color: #3a3a3a;
    text-decoration: underline;
}
.link_about a:hover {
    color: #3a3a3a;
    text-decoration: underline;
}

.tn_box {
    display: flex;
    flex-wrap: wrap;
    max-width: 90%;
    margin: 0 auto;
}

.tn_box ul {
    line-height: 1.3;
    margin-top: 3px;
} /* colomn div */

.tn_box ul li {
    white-space: normal;
    font-size: 80%;
    margin-right: 20px;
} /* book standard */

.tn_box ul li.bttl {
    color: #00c;
    font-size: 80%;
    margin-bottom: 2px;
} /* book title */

.tn_box ul li.sttl {
    font-size: 80%;
    padding-bottom: 5px;
    color: #00c;
} /* book subtitle */

.tn {
    width: 25%;
    padding-bottom: 2em;
}
.tn img {
    float: left;
    margin-right: 10px;
}

.gotop {
    text-align: right;
}
.gotop a {
    background: url(../images/mark/r_tri10_top.gif) no-repeat left center;
    padding-left: 1em;
    font-size: 88%;
}
.bpop {
    background: #000000;
}
#bpop {
    background: #000000;
    text-align: center;
}
#bpop img {
    text-align: center;
}
#bpop a {
    text-align: center;
}
#bpop02 {
    background: #000000;
    text-align: center;
}
#bpop02 img {
    text-align: center;
}
#bpop02 a {
    text-align: center;
}

/* 書籍紹介  --------------------------------------- */

.nondp {
    display: none;
}
.dpon {
    display: block;
}

.books_box01 {
    width: 170px;
    line-height: 1.4;
    margin: 0 30px;
    padding-bottom: 1.5em;
}

.summary_books01 {
    font-size: 12px;
}

.border_books {
    border-bottom: dotted 1px #9f9f9f;
    margin: 3em 0 3em 0;
}

a.bn_book_buy {
    display: inline-block;
    font-size: 92%;
    font-weight: bold;
    margin: 1em 0 0;
    padding: 0.3em 0 0.3em;
    color: #fff !important;
    text-align: center;
    background: url(../images2/mark/ic_arrow_white01.png) no-repeat 96% center
        #dd4d6c;
    background-size: 1em auto;
    text-decoration: none;
    width: 100%;
}
a.bn_book_buy:hover {
    text-decoration: none;
    opacity: 0.8;
}

a.bn_book_soldout {
    display: inline-block;
    font-size: 92%;
    font-weight: bold;
    margin: 1em 0 0;
    padding: 0.3em 0 0.3em;
    color: #fff !important;
    text-align: center;
    background: #ccc;
    text-decoration: none;
    width: 100%;
}
a.bn_book_soldout:hover {
    text-decoration: none;
}

a.bn_book_amazon {
    display: inline-block;
    font-size: 92%;
    font-weight: bold;
    margin: 1em 0 0;
    padding: 0.3em 0 0.3em;
    color: #fff !important;
    text-align: center;
    background: url(../images2/mark/ic_arrow_white01.png) no-repeat 96% center
        #ffae1a;
    background-size: 1em auto;
    text-decoration: none;
    width: 100%;
}
a.bn_book_amazon:hover {
    text-decoration: none;
    opacity: 0.8;
}

/* ━━━━━ コース course ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* course一覧 */
.course_list {
    padding: 0 20px;
    background-color: #fff;
    margin: 0 0 3em;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.course_list dl {
    width: calc(50% - 20px);
    margin: 0 20px 2em 0;
    padding: 20px;
    border: 2px solid #ebebeb;
    box-sizing: border-box;
}

/*.course_list dl:nth-child(2n){ float:  right;}
.course_list dl:nth-child(2n+1){ float:left; }*/

.course_ttl {
    border-bottom: 2px solid #000;
    margin-bottom: 0.5em;
    padding-bottom: 0.3em;
    font-size: 24px;
    line-height: 1.2;
}

.course_more {
    margin-top: 1em;
    text-align: right;
}

.course_ttl_oyako {
    background-color: #fef87e;
    display: table;
    width: 100%;
    margin-bottom: 0.7em;
    line-height: 1.4 !important;
    min-height: 100px;
}
.course_ttl_kokoro {
    background-color: #baeda6;
    display: table;
    width: 100%;
    margin-bottom: 0.7em;
    line-height: 1.4 !important;
    min-height: 100px;
}
.course_ttl_jyoshi {
    background-color: #fdc6d2;
    display: table;
    width: 100%;
    margin-bottom: 0.7em;
    line-height: 1.4 !important;
    min-height: 100px;
}
.course_ttl_premium {
    background-color: #edbffc;
    display: table;
    width: 100%;
    margin-bottom: 0.7em;
    line-height: 1.4 !important;
    min-height: 100px;
}
.course_ttl_taiken {
    background-color: #f2bced;
    display: table;
    width: 100%;
    margin-bottom: 0.7em;
    line-height: 1.4 !important;
    min-height: 100px;
}
.course_ttl_taiken_sp {
    background-color: #f58ccf;
    display: table;
    width: 100%;
    margin-bottom: 0.7em;
    line-height: 1.4 !important;
    min-height: 100px;
}
.course_ttl_trial {
    background-color: #9bc0f8;
    display: table;
    width: 100%;
    margin-bottom: 0.7em;
    line-height: 1.4 !important;
    min-height: 100px;
}

.course_ttl_oyako a {
    display: table-cell;
    vertical-align: middle;
    padding: 0.5em;
    text-decoration: none;
    color: #333;
    font-size: 120%;
    font-weight: bold;
}
.course_ttl_kokoro a {
    display: table-cell;
    vertical-align: middle;
    padding: 0.5em;
    text-decoration: none;
    color: #333;
    font-size: 120%;
    font-weight: bold;
}
.course_ttl_jyoshi a {
    display: table-cell;
    vertical-align: middle;
    padding: 0.5em;
    text-decoration: none;
    color: #333;
    font-size: 120%;
    font-weight: bold;
}
.course_ttl_premium a {
    display: table-cell;
    vertical-align: middle;
    padding: 0.5em;
    text-decoration: none;
    color: #333;
    font-size: 120%;
    font-weight: bold;
}
.course_ttl_taiken a {
    display: table-cell;
    vertical-align: middle;
    padding: 0.5em;
    text-decoration: none;
    color: #333;
    font-size: 120%;
    font-weight: bold;
}
.course_ttl_taiken_sp a {
    display: table-cell;
    vertical-align: middle;
    padding: 0.5em;
    text-decoration: none;
    color: #333;
    font-size: 120%;
    font-weight: bold;
}
.course_ttl_trial a {
    display: table-cell;
    vertical-align: middle;
    padding: 0.5em;
    text-decoration: none;
    color: #333;
    font-size: 120%;
    font-weight: bold;
}

/* course_ttl を作成したときに下も作っておくと便利 */
/* 終了したキャンペーン inc2/campaignend.html に使用 */
.crs_chokatsu {
    background-color: #ffe200;
    color: #333;
}
.crs_oyako {
    background-color: #fef87e;
    color: #333;
}
.crs_kokoro {
    background-color: #baeda6;
    color: #333;
}
.crs_jyoshi {
    background-color: #fdc6d2;
    color: #333;
}
.crs_premium {
    background-color: #edbffc;
    color: #333;
}
.crs_topics34 {
    background-color: #f2bced;
    color: #333;
}
.crs_special {
    background-color: #f58ccf;
    color: #333;
}
.crs_trial {
    background-color: #9bc0f8;
    color: #333;
}

.campaignend_bn {
    margin: 0 auto;
}
.campaignend_bn::after {
    content: "";
    clear: both;
    display: table;
}
.campaignend_bn li {
    width: 48%;
    height: 80px;
    display: table;
    float: left;
    margin-right: 2%;
    margin-bottom: 2%;
}
.campaignend_bn li:last-child {
    margin-right: 0;
}
.campaignend_bn li a {
    display: table-cell;
    vertical-align: middle;
    text-decoration: none;
    border: 1px solid #ccc;
    font-weight: bold;
    text-align: center;
    background-image: url(../images2/top/ic_arrow_wh01.png);
    background-repeat: no-repeat;
    background-position: 96% 50%;
    background-size: 1em auto;
    color: #333;
    line-height: 1.4;
}
.campaignend_bn li a:hover {
    color: #333;
    opacity: 0.8;
}

.limited_bnr img {
    width: 100%;
    height: auto;
    margin-bottom: 0.5em;
}
.limited_bnr a:hover {
    opacity: 0.6;
}

.course_explanation {
    text-align: center;
    margin-bottom: 3em;
    font-weight: bold;
    font-size: 120%;
}
.course_explanation02 {
    font-weight: bold;
    font-size: 160%;
}
.course_explanation03 {
    font-weight: bold;
    font-size: 130%;
    margin-bottom: 0.5em;
}

/* course詳細　----------　 */

/* 外枠の基本 */
.bg_content_blue {
    border: 2px solid #54729c;
    padding: 36px 40px;
    margin-bottom: 2.5em;
}
.tao_bg_blue {
    text-align: center;
    font-size: 2.9rem;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.tao_bg_blue > span {
    display: inline-block;
    border-left: 13px solid #54729c;
    border-right: 13px solid #54729c;
    color: #54729c;
    padding: 0 1em;
}

.bg_content_green {
    border: 2px solid #248088;
    padding: 36px 40px;
    margin-bottom: 2.5em;
}
.tao_bg_green {
    text-align: center;
    font-size: 2.9rem;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.tao_bg_green > span {
    display: inline-block;
    border-left: 13px solid #248088;
    border-right: 13px solid #248088;
    color: #248088;
    padding: 0 1em;
}

.bg_content_pink {
    border: 2px solid #dd4d6c;
    padding: 36px 40px;
    margin-bottom: 2.5em;
}
.tao_bg_pink {
    text-align: center;
    font-size: 2.9rem;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.tao_bg_pink > span {
    display: inline-block;
    border-left: 13px solid #dd4d6c;
    border-right: 13px solid #dd4d6c;
    color: #dd4d6c;
    padding: 0 1em;
}

.bg_content_purple {
    border: 2px solid #b84d7b;
    padding: 36px 40px;
    margin-bottom: 2.5em;
}
.tao_bg_purple {
    text-align: center;
    font-size: 2.9rem;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.tao_bg_purple > span {
    display: inline-block;
    border-left: 13px solid #b84d7b;
    border-right: 13px solid #b84d7b;
    color: #b84d7b;
    padding: 0 1em;
}

/* 外枠の特別なデザイン */

/*タオ本コース*/
.box_6week {
    background: #5472a0;
    border: 1px solid #acacd0;
    width: 50%;
}
.box_slow {
    background: #248088;
    border: 1px solid #4fb272;
    width: 50%;
}

.box_6week24 {
    background: #bce2e8;
    border: 1px solid #acacd0;
    width: 33%;
}
.box_slow24 {
    background: #a6c8b2;
    border: 1px solid #4fb272;
    width: 33%;
}
.box_experience24 {
    background: #f2f2b0;
    border: 1px solid #acacd0;
    width: 33%;
}

.bg_6week2401 {
    background: #bce2e8;
    padding: 36px 40px 36px 50px;
    width: 100%;
    margin-bottom: 20px;
    box-sizing: border-box;
}
.bg_6week2401_inner {
    background: #fceef6;
    background-size: 56px auto;
    padding: 20px 40px;
    margin: 0 0 1.5em 0;
    border-radius: 20px;
}
.bg_slow2401 {
    background: #a6c8b2;
    padding: 36px 40px 36px 50px;
    margin-bottom: 2.5em;
}
.bg_slow2401_inner {
    background: #fceef6;
    background-size: 56px auto;
    padding: 20px 40px;
    margin: 0 0 1.5em 0;
    border-radius: 20px;
}
.bg_experience2401 {
    background: #f2f2b0;
    padding: 36px 40px 36px 50px;
    margin-bottom: 2.5em;
}
.bg_6week2401_inner {
    background: #fceef6;
    background-size: 56px auto;
    padding: 20px 40px;
    margin: 0 0 1.5em 0;
    border-radius: 20px;
}

/*TAOの美プレミアムコース用 外枠　*/
.bg_content01 {
    padding: 36px 4%;
    background-color: #f2d2f5;
    width: 100%;
    margin-bottom: 20px;
    box-sizing: border-box;
}
.bg_content01_inner {
    background: #fceef6;
    background-size: 56px auto;
    padding: 20px 40px;
    margin: 0 50px 1.5em 50px;
    border-radius: 20px;
}

.bg_content02 {
    padding: 36px 4%;
    background-color: #fdcaca /*ffbb61 ffbc7b ffe5ac ffee99*/;
    width: 100%;
    margin-bottom: 20px;
    box-sizing: border-box;
}
.bg_content02_inner {
    background: #fff3f6;
    background-size: 56px auto;
    padding: 20px 40px;
    margin: 0 50px 1.5em 50px;
    border-radius: 20px;
}

.h_base_trial06 {
    font-size: 124%;
    line-height: 1 !important;
    font-weight: bold;
    color: #fff;
    background: url(../images/mark/circle_white.png) 1em center no-repeat
        #2595c7;
    padding: 1.3em 0 1.1em 2.5em;
}
.trial_voice_box06 {
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
    border: 2px solid #2595c7;
    padding: 36px 40px 36px 50px;
    background: #ceeaee;
}
.trial_voice_box06_inner {
    background: #edf9f9;
    background-size: 56px auto;
    padding: 20px 40px;
    margin: 0 0 1.5em 0;
    border-radius: 20px;
}

.course_exp_ttl {
    margin-bottom: 0.5em;
    font-size: 130%;
    font-weight: bold;
    color: #0080e2;
    text-align: center;
}
.course_exp_name {
    text-align: right;
    margin-right: 50px;
    font-size: 12px;
}

/*親子で学ぶ気のトレーニング体験レッスン 外枠　*/
.bg_content_oyako01 {
    background: #fefaa7;
    padding: 36px 40px 36px 50px;
    margin-bottom: 2.5em;
}
.bg_content_oyako01_inner {
    background: #fff;
    padding: 20px 40px;
    margin: 0 0 1.5em;
    border-radius: 20px;
}
.tao_bg_oyako01 {
    text-align: center;
    font-size: 2.9rem;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.tao_bg_oyako01 > span {
    display: inline-block;
    border-left: 13px solid #248088;
    border-right: 13px solid #248088;
    color: #248088;
    padding: 0 1em;
}

/*【夏限定プログラム】Zoomで学ぶ気のオンライン初級・中級コース course37 外枠　*/
.bg_content_summer01 {
    background: #ceeaee;
    padding: 36px 40px 36px 50px;
    margin-bottom: 2.5em;
}
.bg_content_summer01_inner {
    background: #fff;
    padding: 20px 40px;
    margin: 0 0 1.5em;
    border-radius: 20px;
}
.tao_bg_summer01 {
    text-align: center;
    font-size: 2.9rem;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.tao_bg_summer01 > span {
    display: inline-block;
    border-left: 13px solid #248088;
    border-right: 13px solid #248088;
    color: #248088;
    padding: 0 1em;
}

.bg_content_summer02 {
    background: #ffffc1;
    padding: 36px 40px 36px 50px;
    margin-bottom: 2.5em;
}
.bg_content_summer02_inner {
    background: #fff;
    padding: 20px 40px;
    margin: 0 0 1.5em;
    border-radius: 20px;
}
.tao_bg_summer02 {
    text-align: center;
    font-size: 2.9rem;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.tao_bg_summer02 > span {
    display: inline-block;
    border-left: 13px solid #248088;
    border-right: 13px solid #248088;
    color: #248088;
    padding: 0 1em;
}

.bg_content_summer03 {
    background: #f8d2d1;
    padding: 36px 40px 36px 50px;
    margin-bottom: 2.5em;
}
.bg_content_summer03_inner {
    background: #fff;
    padding: 20px 40px;
    margin: 0 0 1.5em;
    border-radius: 20px;
}
.tao_bg_summer03 {
    text-align: center;
    font-size: 2.9rem;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.tao_bg_summer03 > span {
    display: inline-block;
    border-left: 13px solid #248088;
    border-right: 13px solid #248088;
    color: #248088;
    padding: 0 1em;
}

/*心と体を整える導引術 外枠　*/
.bg_content_kokoro01 {
    background: #d6fe96;
    padding: 36px 40px 36px 50px;
    margin-bottom: 1em;
}
.bg_content_kokoro01_inner {
    background: #fff;
    padding: 20px 40px;
    margin: 0 0 1.5em;
    border-radius: 20px;
}
.tao_bg_kokoro01 {
    text-align: center;
    font-size: 2.9rem;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.tao_bg_kokoro01 > span {
    display: inline-block;
    border-left: 13px solid #248088;
    border-right: 13px solid #248088;
    color: #248088;
    padding: 0 1em;
}

.bg_content_kokoro02 {
    background: #81efb0 /*#a3f49f*/;
    padding: 36px 40px 36px 50px;
    margin-bottom: 1em;
}
.bg_content_kokoro02_inner {
    background: #fff;
    padding: 20px 40px;
    margin: 0 0 1.5em;
    border-radius: 20px;
}
.tao_bg_kokoro02 {
    text-align: center;
    font-size: 2.9rem;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.tao_bg_kokoro02 > span {
    display: inline-block;
    border-left: 13px solid #248088;
    border-right: 13px solid #248088;
    color: #248088;
    padding: 0 1em;
}

/*女子体験　外枠　*/
.bg_content_jyoshi01 {
    background: #fee5dc;
    padding: 36px 4%;
    margin-bottom: 2.5em;
}
.bg_content_jyoshi01_inner {
    background: #fff;
    padding: 20px 40px;
    margin: 0 0 1.5em;
    border-radius: 20px;
}
.tao_bg_jyoshi01 {
    text-align: center;
    font-size: 2.9rem;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.tao_bg_jyoshi01 > span {
    display: inline-block;
    border-left: 13px solid #248088;
    border-right: 13px solid #248088;
    color: #248088;
    padding: 0 1em;
}

.jyoshi01_sub_ttl {
    font-size: 1.8rem !important;
}

/*初めての方　体験枠　*/
.bg_content_taiken_green {
    background: #ecf5e0;
    padding: 36px 4%;
    margin-bottom: 2.5em;
    width: 40%;
}
/*体験レッスン　外枠　*/
.bg_content_taiken {
    background: #fee5dc;
    padding: 36px 4%;
    margin-bottom: 2.5em;
}
.bg_content_taiken_inner {
    background: #fff;
    padding: 20px 40px;
    margin: 0 0 1.5em;
    border-radius: 20px;
}
.tao_bg_taiken {
    text-align: center;
    font-size: 2.9rem;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.tao_bg_taiken > span {
    display: inline-block;
    border-left: 13px solid #248088;
    border-right: 13px solid #248088;
    color: #248088;
    padding: 0 1em;
}

.bg_content_taiken01 {
    background: #bce2e8;
    padding: 36px 40px 36px 50px;
    margin-bottom: 2.5em;
}
.bg_content_taiken_inner01 {
    background: #fff;
    padding: 20px 40px;
    margin: 0 0 1.5em;
    border-radius: 20px;
}
.tao_bg_taiken01 {
    text-align: center;
    font-size: 2.9rem;
    font-weight: bold;
    margin-bottom: 1.5em;
}
.tao_bg_taiken01 > span {
    display: inline-block;
    border-left: 13px solid #248088;
    border-right: 13px solid #248088;
    color: #248088;
    padding: 0 1em;
}

/*ウェルネスコース用 外枠　*/
.bg_content_wellness01 {
    background-color: #ceeaee;
    padding: 36px 40px 36px 50px;
    width: 100%;
    margin-bottom: 20px;
    box-sizing: border-box;
}
.bg_content_wellness01_inner {
    padding: 20px 40px;
    margin: 0 0 1.5em;
    border-radius: 20px;
}
.bg_content_wellness02 {
    background-color: #c1fbb7;
    padding: 36px 40px 36px 50px;
    width: 100%;
    margin-bottom: 20px;
    box-sizing: border-box;
}
.bg_content_wellness02_inner {
    padding: 20px 40px;
    margin: 0 0 1.5em;
    border-radius: 20px;
}

/*　腸活　外枠　*/
.bg_content_chokatsu {
    background: #ffff8f;
    padding: 36px 40px 36px 50px;
    margin-bottom: 2.5em;
}
.bg_content_chokatsu_inner {
    background: #fff;
    padding: 20px 40px;
    margin: 0 0 1.5em;
    border-radius: 20px;
}

/* 項目 */
.t_note_green {
    background: url(../images2/mark/ic_note_green.png) no-repeat 0 5px;
    background-size: 28px auto;
    padding-left: 34px;
    margin-bottom: 0.5em;
    font-size: 24px;
    font-weight: bold;
    color: #248088;
}
.t_yen_green {
    background: url(../images2/mark/ic_yen_green.png) no-repeat 0 5px;
    background-size: 28px auto;
    padding-left: 34px;
    margin-bottom: 0.5em;
    font-size: 24px;
    font-weight: bold;
    color: #248088;
}
.t_gift_green {
    background: url(../images2/mark/ic_gift_green.png) no-repeat 0 3px;
    background-size: 28px auto;
    padding-left: 34px;
    margin-bottom: 0.5em;
    font-size: 24px;
    font-weight: bold;
    color: #248088;
}

p + .t_note_green {
    margin-top: 1.5em;
}
p + .t_yen_green {
    margin-top: 1.5em;
}
p + .t_gift_green {
    margin-top: 1.5em;
}

.course_exp {
    text-align: center;
    margin-bottom: 3em;
    font-weight: bold;
    font-size: 110%;
}

.present_item {
    padding: 1.5em 0 0 4.6em;
    line-height: 1.6;
    list-style: disc;
}
.present_item li {
    margin-bottom: 0.5em;
}

.course_privilege {
    position: relative;
    background: #fff;
    padding: 4em 1em 2em 2em;
}
.course_privilege_clearness {
    position: relative;
    padding: 0em 0em 1.5em 6em;
}
.ic_privilege {
    position: absolute;
    top: -40px;
    left: -15px;
}

/*特典　*/
.bg_content_privledge_inner {
    background: #fff;
    padding: 20px 4%;
    margin: 0 0 1.5em;
    border-radius: 20px;
}

/* タブ */
/* ベース */
.box_tao_course {
    margin-bottom: 1em;
    display: table;
    width: 100%;
    border-collapse: separate;
}
.box_tao_course:after {
    display: block;
    clear: both;
    content: "";
}
.box_tao_course a {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    padding: 2% 0.5% 1%;
    border: solid 2px #fff;
    color: #fff;
    text-decoration: none;
}
.box_tao_course a:hover {
    text-decoration: none;
}
.box_tao_course.course10 {
    width: 100% !important;
    margin: 0 auto;
}

.box_6week02 {
    background: #f2d2f5;
    border: 1px solid #f0caf3;
    width: 33.33%;
    color: #000 !important;
}
.box_slow02 {
    background: #fdcaca;
    border: 1px solid #c2e3ea;
    width: 33.33%;
    color: #000 !important;
}
.box_experience02 {
    background: #ceeaee;
    border: 1px solid #feb7b7;
    width: 50%;
    color: #000 !important;
}

.box_2days {
    background: #ffdbde;
    border: 1px solid #ffd4d8;
    width: 25%;
    color: #000 !important;
}
.box_experience {
    background: #ceeaee;
    border: 1px solid #feb7b7;
    width: 33.33%;
    color: #000 !important;
}

.box_1time01 {
    background: #d6fe96;
    border: 1px solid #ffd4d8;
    width: 50%;
    color: #000 !important;
}
.box_syokyu01 {
    background: #81efb0;
    border: 1px solid #feb7b7;
    width: 50%;
    color: #000 !important;
}

.box_kids {
    background: #dd4d6c;
    width: 33%;
}
.box_jr {
    background: #b84d7b;
    width: 33%;
}
.box_voice {
    background: #248088;
    width: 33%;
}

.box_wellness01_three {
    background: #ceeaee;
    border: 1px solid #f0caf3;
    width: 33%;
    color: #000 !important;
}
.box_wellness02_three {
    background: #c1fbb7;
    border: 1px solid #f0caf3;
    width: 33%;
    color: #000 !important;
}
.box_wellness03_three {
    background: #feb3bc; /*border: 1px solid #f0caf3;*/
    width: 33%;
    color: #000 !important;
    line-height: 1.2;
}

.box_wellness01 {
    background: #ceeaee;
    border: 1px solid #f0caf3;
    width: 50%;
    color: #000 !important;
}
.box_wellness02 {
    background: #c1fbb7;
    border: 1px solid #f0caf3;
    width: 50%;
    color: #000 !important;
}
.box_wellness03 {
    background: #feb3bc; /*border: 1px solid #f0caf3;*/
    width: 50%;
    color: #000 !important;
    line-height: 1.2;
}
.box_wellness04 {
    background: #f8d2d1; /*border: 1px solid #f0caf3;*/
    width: 50%;
    color: #000 !important;
    line-height: 1.2;
}
.box_wellness05 {
    background: #ffffc1; /*border: 1px solid #f0caf3;*/
    width: 50%;
    color: #000 !important;
    line-height: 1.2;
}
span.txt_s {
    font-weight: normal;
    font-size: 80%;
}

/* キャンペーン終了の告知 */
#campaignend02 {
    border: 2px solid #b11a0f;
    padding: 1em 2em;
    border-radius: 7px;
    margin: 0 0 2em;
    text-align: center;
}
.campaignendtxt {
    font-size: 125%;
    font-weight: 700;
    color: #b11a0f;
    margin: 0;
    padding: 0.5em 0 1em;
    border-bottom: 1px solid #b11a0f;
}
.campaignrecommend_txt {
    margin: 2em 0 1.5em;
    font-size: 106.53109%;
}
.campaignrecommend_txt:before,
.campaignrecommend_txt:after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 8px solid transparent;
    border-top: 8px solid #ff9c1a;
    box-sizing: border-box;
    position: relative;
    top: 7px;
}
.campaignrecommend_txt:before {
    margin-right: 5px;
}
.campaignrecommend_txt:after {
    margin-left: 5px;
}
.campaignrecommend_box {
    width: 100%;
    display: table;
    border-collapse: collapse;
}
.campaignrecommend_box a {
    display: table-cell;
    width: 50%;
    text-align: center;
}
.campaignrecommend_box a img {
    width: auto;
    height: auto;
}
.campaignrecommend_box a p {
    text-align: center;
}

/* ━━━━━ 体験談  ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.exp {
    box-sizing: border-box;
    margin: 0 0 3em;
    width: 100%;
}

.exp_bkg_bl01 {
    background: #aab9ce;
    padding: 1.5em;
    position: relative;
}
.exp_bkg_bl01:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #aab9ce;
}

.exp_bkg_bl02 {
    background: #e6effc;
    padding: 1.5em;
    position: relative;
}
.exp_bkg_bl02:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #e6effc;
}

.exp_bkg_gr01 {
    background: #92c0c2;
    padding: 1.5em;
    position: relative;
}
.exp_bkg_gr01:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #92c0c2;
}

.exp_bkg_gr02 {
    background: #e1fbfc;
    padding: 1.5em;
    position: relative;
}
.exp_bkg_gr02:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #e1fbfc;
}

.exp_bkg_ye01 {
    background: #f8d4c6;
    padding: 1.5em;
    position: relative;
}
.exp_bkg_ye01:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #f8d4c6;
}

.exp_bkg_ye02 {
    background: #ffebe3;
    padding: 1.5em;
    position: relative;
}
.exp_bkg_ye02:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #ffebe3;
}

.exp_bkg_pi01 {
    background: #eea6b6;
    padding: 1.5em;
    position: relative;
}
.exp_bkg_pi01:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #eea6b6;
}

.exp_bkg_pi02 {
    background: #f5dce2;
    padding: 1.5em;
    position: relative;
}
.exp_bkg_pi02:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #f5dce2;
}

.exp p {
}
.exp_ttl {
    border-bottom: 1px solid #fff;
    font-weight: bold;
    font-size: 102%;
    padding-bottom: 1em;
}
.exp_ttl2 {
    border-bottom: 1px solid #000;
    font-weight: bold;
    font-size: 102%;
    padding-bottom: 1em;
}

.exp_txt {
    line-height: 1.8;
    color: #000;
}
/*.exp_txt span{ border-bottom: 1px dotted #794910; }*/
.exp_name {
    font-weight: bold;
    text-align: right;
    font-size: 102%;
    margin: 0;
    padding-right: 2.3em;
    background: url(../images2/mark/ic_lotus.svg) no-repeat 100% 0%;
}
.exp_date {
    text-align: right;
    color: #999;
    font-size: 80% !important;
}
.exp_pic {
    float: left;
    margin: 0 1em 1em 0;
}

/* ━━━━━ イベント ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

ul.event_inner {
    margin-bottom: 1.3em;
    padding-top: 1.3em;
}
ul.event_inner_02 {
    border-bottom: 3px solid #f4ad90;
    padding-bottom: 2em;
} /* イベントごとに下線とpadding */
ul.event_inner.loc {
    border: none;
    padding-top: 0;
}

.event_tbl {
    display: table;
    margin-bottom: 1.5em;
}
.event_tbl li {
    display: table-cell;
    vertical-align: middle;
}

li.event_img {
    text-align: left;
    width: 20%;
    margin-right: 1em;
} /*float:left;*/
li.event_img img {
    width: 100%;
    border: 1px solid #cacaca;
}
li.event_img img.surface {
    margin-bottom: 1em;
}

li.event_img_center {
    text-align: center;
    margin-bottom: 1em;
}
li.event_img_center img {
    width: 200px;
    border: 1px solid #cacaca;
}
li.event_img_center img.surface {
    margin-bottom: 1em;
}

.event_ttl {
    font-size: 125%;
    font-weight: bold;
    background: #fddfe4;
    border-radius: 6px;
    box-sizing: border-box;
    margin: 1em;
    padding: 1em;
    box-sizing: border-box;
}
.event_ttl_s {
    font-size: 108%;
}

li.event_item {
    float: left;
    width: 67%;
}
li.event_item.no_img {
    width: 100%;
}

ul li.event_item dl dt {
    clear: left;
    float: left;
    width: 18%;
    font-weight: bold;
    background: #bc4d7b;
    border-radius: 7px;
    margin: 0 1em 1em 0;
    line-height: 1.5;
    padding: 0.4em 0;
    text-align: center;
    color: #fff;
}
ul li.event_item dl dd {
    float: left;
    width: 78%;
    margin: 0 0 1em;
    line-height: 2.2;
}
ul li.event_item dl dd p.event_det_link {
    margin: 0 0 0 1em;
    background: url(../images/mark/b_tri9.gif) no-repeat left center;
    padding-left: 1em;
}
ul li.event_item dl dd.event_txt p.event_det_link {
    margin-left: 0;
}

.event_lesson_ttl {
    margin-bottom: 1em;
}
.event_img_td {
    text-align: left;
    width: 30%;
    margin-right: 1em;
}
.event_img_td img {
    width: 200px;
    border: 1px solid #cacaca;
    margin-right: 1em;
}
.event_ttl_td {
    margin-bottom: 1em;
    vertical-align: middle !important;
}
.event_ttl02 {
    background: url(../images/mark/circle_red.gif) no-repeat left center;
    padding-left: 1.5em;
    font-size: 125%;
    font-weight: bold;
    line-height: 1.3;
}

/* 支部と出張ボタン */
ul.event_loc_btn_branch {
    margin: 0 auto 1.2em;
}
ul.event_loc_btn_branch li {
    display: inline-block;
}
ul.event_loc_btn_branch a:before {
    content: url(../images/mark/w_tri_02.png);
    display: inline-block;
    margin-right: 0.8em;
}
ul.event_loc_btn_branch a {
    display: inline-block;
    margin: 0 0.8em 0.8em 0;
    padding: 0.3em 0.8em;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    text-decoration: none;
    transition: all 0.3s ease;
}
ul.event_loc_btn_branch a:hover {
    opacity: 0.8;
}

ul.event_loc_btn_branch a {
    display: inline-block;
    margin: 0 0.8em 0.8em 0;
    padding: 0.3em 0.8em;
    color: #fff;
    filter: dropshadow(color=#bf8907, offX= 2, offY= 2);
    text-shadow: 0px 2px 2px #bf8907;
    background: #f1ba59;
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#f1ba59', endColorstr='#f5a923', GradientType=0)";
    background-image: -ms-linear-gradient(
        bottom,
        #f1ba59 0%,
        #f5a923 50%,
        #f5a923 100%
    );
    background-image: linear-gradient(
        to bottom,
        #f1ba59 0%,
        #f5a923 50%,
        #f5a923 100%
    );
    border: 1px solid #f1ba59;
    border-radius: 5px;
    box-shadow: inset #fff 0px 0px 1px;
}

ul.event_loc_btn_branch li a.event_btn_all {
    display: inline-block;
    margin: 0 0.8em 0.8em 0;
    padding: 0.3em 0.8em;
    color: #fff;
    text-align: center;
    filter: dropshadow(color=#d65000, offX= 2, offY= 2);
    text-shadow: 0px 2px 2px #d65000;
    background: #f37123;
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#f38848', endColorstr='#f37123', GradientType=0)";
    background-image: -ms-linear-gradient(
        bottom,
        #f38848 0%,
        #f37123 50%,
        #f37123 100%
    );
    background-image: linear-gradient(
        to bottom,
        #f38848 0%,
        #f37123 50%,
        #f37123 100%
    );
    border-radius: 5px;
    border: 1px solid #f38848;
    box-shadow: inset #fff 0px 0px 1px;
}

ul.event_loc_btn_branch li a.event_btn_shibu_s {
    display: inline-block;
    margin: 0 0.8em 0.8em 0;
    padding: 0.3em 0.8em;
    color: #fff;
    text-align: center;
    filter: dropshadow(color=#d65000, offX= 2, offY= 2);
    text-shadow: 0px 2px 2px #d65000;
    background: #f37123;
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#f38848', endColorstr='#f37123', GradientType=0)";
    background-image: -ms-linear-gradient(
        bottom,
        #f38848 0%,
        #f37123 50%,
        #f37123 100%
    );
    background-image: linear-gradient(
        to bottom,
        #f38848 0%,
        #f37123 50%,
        #f37123 100%
    );
    border-radius: 5px;
    border: 1px solid #f38848;
    box-shadow: inset #fff 0px 0px 1px;
}

/* 開催日のテーブル */
.event_schedule {
    width: 94%;
    margin: 0 auto;
}
.event_schedule th {
    font-weight: normal;
    padding: 1.2em 0.5em;
    border-bottom: 1px dotted #ccc;
    width: 28%;
    line-height: 1;
    vertical-align: middle;
    box-sizing: border-box;
}
.event_schedule td {
    padding: 0;
    border-bottom: 1px dotted #ccc;
    box-sizing: border-box;
    line-height: 1;
    vertical-align: middle;
}
.event_schedule td a {
    text-align: center;
    text-decoration: none;
    display: inline-block !important;
    margin: 3px 2px 2px 0;
    background-color: #fcb959;
    color: #fff;
    line-height: 1;
    text-decoration: none;
    padding: 0.4em 0.5em;
    border-radius: 3px;
    cursor: pointer;
    box-shadow:
        0 2px 2px 0 rgba(0, 0, 0, 0.14),
        0 1px 5px 0 rgba(0, 0, 0, 0.12),
        0 2px 1px -2px rgba(0, 0, 0, 0.2);
    -webkit-tap-highlight-color: transparent;
    transition: 0.3s ease-out;
}
.event_schedule td a:hover {
    color: #fff;
    background: #fec87c;
}

.event_schedule th.bg_blue {
    background: #e0ffff !important;
}
.event_schedule th.bg_red {
    background: #fee7eb;
}
.event_schedule th.month {
    font-weight: bold;
}

/*.event_schedule2{ width:94%; margin: 0 auto; }
.event_schedule2 th{ width: 31%; padding: 0.8em 1em; border-bottom: 1px dotted #AAA; box-sizing: border-box; line-height: 1.0; vertical-align: middle; font-weight: normal;   }
.event_schedule2 td{ width: 69%; padding: 0.3em 0; border-bottom: 1px dotted #AAA; box-sizing: border-box;  line-height: 1.0; vertical-align: middle; text-align:center;  }
.event_schedule2 td a{ text-decoration: underline; display:inline-block; padding: 0.5em;border-radius: 4px;  }
.event_schedule2 td a:hover{ color:#FFF; background:#fdcf8d;  }
.e_time{ display:inline-block; width: 33%; padding: 0; text-align:center; float: left; }
.e_line{ border-bottom: 1px dotted #ddd; width: 100%; height: 1px; clear:both; margin-bottom: 0.3em; padding-top: 0.2em; }
.event_schedule2 th.bg_blue{ background: #e0ffff !important; }
.event_schedule2 th.bg_red{background: #ffc0cb; }
.event_schedule2 th.month{ font-weight:  bold; }*/

/* ━━━━━  location ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* 全国道家＜道＞学院一覧　--------- */
.tbl_locationlist {
    border-top: 1px solid #878787;
    border-right: 1px solid #878787;
    width: 100%;
}
.tbl_locationlist td,
.tbl_locationlist th {
    border-bottom: 1px solid #878787;
    border-left: 1px solid #878787;
    vertical-align: middle;
}
.tbl_locationlist th {
    background: #e6b3cd;
    padding: 0.5em;
}
.tbl_locationlist td {
    line-height: 1.4;
    padding: 1em;
}
.tbl_locationlist td a[href^="tel:"] {
    text-decoration: none;
    color: #000;
}
.lname {
    width: 30%;
    background: #f4dee9;
} /* color td */
.lname a {
    text-decoration: none;
    color: #000;
}
.lname a:hover {
    text-decoration: underline;
}
.ladd {
    width: 70%;
} /* white td */
/*アンカーボタン */
.anker_navi li {
    float: left;
    margin-right: 20px;
    margin-bottom: 15px !important;
}
.button {
    display: inline-block;
    border-radius: 6px;
    font-size: 10pt;
    text-align: center;
    cursor: pointer;
    padding: 10px 10px;
    background: #ff7f7f;
    color: #ffffff;
    line-height: 1em;
    transition: 0.3s;
    border: 2px solid #ff7f7f;
    text-decoration: none;
}
.button:hover {
    color: #ff7f7f;
    background: #ffffff;
}
/* map icon */
.lmap {
    display: inline-block;
    margin: 0 0.5em;
    padding: 0.2em 0.8em;
    color: #fff !important;
    text-align: center;
    background: #dd4d6c;
    text-decoration: none;
    font-size: 84%;
    border-radius: 6px;
}
.lmap:hover {
    text-decoration: none !important;
    opacity: 0.8;
}

/* pink btn */
.btn_location {
    display: inline-block;
    margin: 0 1em 1em 0;
    padding: 0.1em 2.5em 0.1em 1em;
    background: url(../images2/mark/ic_arrow_pink01.png) no-repeat 92% 50%
        #f8e9f0;
    text-decoration: none;
    background-size: 1em auto;
    border-radius: 12px;
    color: #000;
}
.btn_location:hover {
    opacity: 0.8;
    color: #000;
    text-decoration: none !important;
}

/* float col  */
.ladd_txt {
}
.ladd_btn {
}

.ltel_box {
    margin: 1em 0em;
}

/* 各支部のページ　--------- */

.loc_slider {
} /* js + スライダー部分のベース*/

/* 札幌 */
.pic-location02 {
    max-width: 627px;
    width: 100%;
    margin: 0 auto 3em;
}
.pic-location02 li {
    text-align: center;
    width: 33%;
    box-sizing: border-box;
    display: inline-block;
}

/* 東京 */
.pic-location06 {
    display: grid;
    width: 100%;

    grid-template-rows: 50% 50% /*424px 424px*/;
    grid-template-columns: 45% 10% 45%;
    grid-template-areas:
        "areaA areaB areaC"
        "areaA areaB areaD";
}

.itemA {
    grid-area: areaA;
    grid-row: 1 / 3;
    grid-column: 1 / 2;
}
.itemB {
    grid-area: areaB;
    grid-row: 1 / 3;
    grid-column: 2 / 3;
}
.itemC {
    grid-area: areaC;
    grid-row: 1 / 2;
    grid-column: 3 / 4;
}

.itemD {
    grid-area: areaD;
    grid-row: 2 / 3;
    grid-column: 3 / 4;
}

.itemA img {
    width: 100%;
    height: auto;
}
.itemB img {
    width: 100%;
    height: auto;
}
.itemC img {
    width: 100%;
    height: auto;
}
.itemD img {
    width: 100%;
    height: auto;
}

.location_ad {
    border-top: 1px solid #828282;
    border-left: 1px solid #828282;
    margin-bottom: 1.5em;
    width: calc(100% - 240px);
    float: right;
    box-sizing: border-box;
}
.location_ad th,
.location_ad td {
    display: block;
    width: 100%;
    border-bottom: 1px solid #828282;
    border-right: 1px solid #828282;
    padding: 1em 1.5em;
    line-height: 2 !important;
    box-sizing: border-box;
}
.location_ad th {
    background: #b4c1d4;
    text-align: left;
    vertical-align: middle;
}
.location_ad td {
}

.location_ad_nopic {
    border-top: 1px solid #828282;
    border-left: 1px solid #828282;
    margin-bottom: 1.5em;
    width: 100%;
    box-sizing: border-box;
}
.location_ad_nopic th,
.location_ad_nopic td {
    display: block;
    width: 100%;
    border-bottom: 1px solid #828282;
    border-right: 1px solid #828282;
    padding: 1em 1.5em;
    line-height: 2 !important;
    box-sizing: border-box;
}
.location_ad_nopic th {
    background: #b4c1d4;
    text-align: left;
    vertical-align: middle;
}
.location_ad_nopic td {
}

/* 大阪 */
.pic-location09 {
    margin-bottom: 3em;
}
.pic-location09::after {
    content: "";
    clear: both;
    display: table;
}
.pic-location09 li {
    float: left;
    width: 50%;
    text-align: center;
    margin-bottom: 1.5em;
}
.pic-location09 li img {
    width: 98%;
}

.btn_map {
    display: inline-block;
    margin: 1em 0 0 0;
    padding: 0.1em 2.5em 0.1em 1em;
    background: url(../images2/mark/ic_arrow_blue01.png) no-repeat 92% 50%
        #cbd4e1;
    text-decoration: none;
    background-size: 1em auto;
    border-radius: 12px;
    color: #000;
}
.btn_map:hover {
    opacity: 0.8;
    color: #000;
}

.location_facade {
    float: left;
    width: 200px;
}

.show_nittei {
    font-size: 1.7rem;
    font-weight: bold;
    color: #dd4d6c;
}

.sns_list {
}
.sns_list li {
    margin-bottom: 7px;
    display: inline-block;
    margin-right: 1em;
}
.ic_instagram_pink {
    background: url("../images2/mark/ic_instagram_pink.png") no-repeat 0 3px;
    background-size: 1.5em auto;
    display: inline-block;
    padding-left: 2em;
}
.ic_facebook_pink {
    background: url("../images2/mark/ic_facebook_pink.png") no-repeat 0 3px;
    background-size: 1.5em auto;
    display: inline-block;
    padding-left: 2em;
}
.ic_twitter_pink {
    background: url("../images2/mark/ic_twitter_pink.png") no-repeat 0 3px;
    background-size: 1.5em auto;
    display: inline-block;
    padding-left: 2em;
}
.ic_blog_pink {
    background: url("../images2/mark/ic_blog_pink.png") no-repeat 0 3px;
    background-size: 1.5em auto;
    display: inline-block;
    padding-left: 2em;
}
.ic_blog_green {
    background: url("../images2/mark/ic_blog_green.png") no-repeat 0 3px;
    background-size: 1.5em auto;
    display: inline-block;
    padding-left: 2em;
}
.location06-tokyo .ic_instagram_sns {
    background: url("../images2/mark/ic_instagram_new.png") no-repeat 0 3px;
    background-size: 1.5em auto;
    display: inline-block;
    padding-left: 2em;
}
.location06-tokyo .ic_note_sns {
    background: url("../images2/mark/ic_note_black.svg") no-repeat 0 -0.45em;
    background-size: 2.7em auto;
    display: inline-block;
    padding-left: 2.4em;
}

/* ━━━━━ access ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.school {
    border-top: 1px solid #878787;
    border-right: 1px solid #878787;
}
.school td,
.school th {
    border-bottom: 1px solid #878787;
    border-left: 1px solid #878787;
    padding: 6px;
    vertical-align: middle;
}
.school th {
    background: #e6b3cd;
}
.school td {
    line-height: 1.4;
}

.school td a {
    text-decoration: none;
    color: #000;
}
.school td a:hover {
    text-decoration: underline;
    color: #000;
}

.school td p {
    width: 80%;
}

.sname {
    width: 20%;
    background: #f4dee9;
}
.sadd {
    width: 80%;
}

.smap {
    display: inline-block;
    margin: 0 0.5em;
    padding: 0.2em 0.8em;
    color: #fff !important;
    text-align: center;
    background: #dd4d6c;
    text-decoration: none;
    font-size: 84%;
    border-radius: 6px;
}
.smap:hover {
    text-decoration: none !important;
    opacity: 0.8;
}

.stel_box {
    margin-top: 0.5em;
}
.school td a[href^="tel:"] {
}

.school_facade {
    float: left;
    width: 200px;
}

/* ━━━━━ スペシャルコンテンツ(下層)  ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.spcont_box {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
}
.spcont_box dl {
    flex-basis: 30%;
    margin: 0 1.5% 2em;
    box-sizing: border-box;
}
.spcont_box dl dt {
    font-weight: bold;
    padding: 0.3em 1em;
    margin-bottom: 1em;
}
.spcont_box dl dd {
    padding-left: 24px;
    color: #595959;
    background: url(../images2/top/ic_cir_gray01.svg) no-repeat center left;
    background-size: 1em;
    font-weight: bold;
    margin-bottom: 0.5em;
}
.spcont_box dl dd a {
    text-decoration: underline;
    color: #595959;
}
.spcont_box dl dd a:hover {
    text-decoration: underline;
}

.spcont_ttl {
    min-width: 50%;
    display: inline-block;
    color: #5472a0;
    border: 2px solid #5472a0;
    margin: 0 1.5% 1em;
    padding: 13px 0.8em 10px 1em;
    font-weight: bold;
    font-size: 2.5rem;
    line-height: 1;
    box-sizing: border-box;
}

.spcont_sttl {
    font-size: 110%;
    font-weight: bold;
    padding-left: 2.5%;
}

.spcont_box_kin {
    margin-bottom: 3em;
}
.spcont_box_kin::after {
    content: "";
    clear: both;
    display: table;
}
.spcont_box_kin dl {
    margin: 0 1.5% 2em;
    box-sizing: border-box;
}
.spcont_box_kin dl dt {
    font-weight: bold;
    padding: 0.3em 1em;
    margin-bottom: 1em;
    width: 30%;
}
.spcont_box_kin dl dd {
    padding-left: 24px;
    color: #595959;
    background: url(../images2/top/ic_cir_gray01.svg) no-repeat center left;
    background-size: 1em;
    font-weight: bold;
    margin-bottom: 0.5em;
    width: 33%;
    box-sizing: border-box;
    float: left;
}
.spcont_box_kin dl dd a {
    text-decoration: underline;
    color: #595959;
}
.spcont_box_kin dl dd a:hover {
    text-decoration: underline;
}

.spcont_recommend_box {
    border: 2px solid #dd4d6c;
    padding: 1em;
    margin-bottom: 2em;
}
.spcont_recommend_ttl {
    font-size: 120%;
    font-weight: bold;
}
.spcont_recommend_ttl a {
    text-decoration: none;
    color: #000;
}
.recommend {
    padding: 0.1em 0.3em;
    font-size: 85%;
    background: #dd4d6c;
    color: #fff;
    margin-right: 1em;
}
img.img_shadow {
    border: 1px solid #e5e5e5;
    padding: 0.2em;
    box-shadow: 0 0 3px #d6d6d6;
    -moz-box-shadow: 0 0 3px #d6d6d6;
    -webkit-box-shadow: 0 0 3px #d6d6d6;
    -o-box-shadow: 0 0 3px #d6d6d6;
    background: #fff;
}
img.img_shadow02 {
    border: 1px solid #e5e5e5;
    padding: 0.4em;
    box-shadow: 0 0 3px #bfbfbf;
    -moz-box-shadow: 0 0 3px #bfbfbf;
    -webkit-box-shadow: 0 0 3px #bfbfbf;
    -o-box-shadow: 0 0 3px #bfbfbf;
    background: #fff;
}
.spcont_recommend_img {
    width: 100%;
    text-align: center;
}
.spcont_recommend_img img {
}

.spcont_linkbox {
    background: #f9ece7;
    padding: 0.7em;
    margin-bottom: 2.5em;
}
.spcont_linkbox .spcont_book {
    float: left;
}
.spcont_linkbox .spcont_book_txt {
    float: left;
}

.spcont_linkbox {
    background: #f9ece7;
    padding: 1em;
    margin-bottom: 2.5em;
}
.spcont_linkbox::after {
    content: "";
    clear: both;
    display: table;
}
.spcont_book {
    float: left;
    margin: 0 1em 0 5em;
}
.spcont_book_txt {
    float: left;
    padding-top: 1em;
}

.pager_wrapper {
    text-align: center;
    margin-bottom: 2em;
}
.pager_wrapper::after {
    content: "";
    clear: both;
    display: table;
}
.pager_wrapper ul {
    display: inline-block;
    font-size: 1.8rem;
}
.pager_wrapper ul li {
    margin: 0 10px 0 0;
    display: inline-block;
}
.pager_wrapper ul li.on {
    font-weight: bold;
    background: #f7a3a0;
    color: #fff;
    padding: 3px 10px;
    text-align: center;
    vertical-align: middle;
    box-sizing: border-box;
}
.pager_wrapper ul li a {
    display: inline-block;
    background: #dd4d6c;
    color: #fff;
    padding: 3px 10px;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
    box-sizing: border-box;
}
.pager_wrapper ul li a:hover {
    background-color: #fe577b;
    color: #fff;
    text-decoration: none;
}

.pager_wrapper ul li.pg_prev {
    margin: 0 20px 0 0;
}
.pager_wrapper ul li.pg_next {
    margin: 0 0 0 20px;
}

/*個別説明会までの流れを写真で見るボタン */
.btn_flow_nav {
    display: table;
    float: right;
    border-radius: 50px;
    margin-bottom: 1.5em;
    border: 2px solid #5472a0;
    background: #e2edfe;
}
.btn_flow_nav a {
    display: table-cell;
    padding: 0.5em 2.5em 0.5em 1.5em;
    vertical-align: middle !important;
    color: #5472a0;
    text-decoration: none;
    background: url("../images2/mark/ic_arrow_blue01.png") no-repeat 96% 50%;
    background-size: 1em;
}

.sc-list {
    margin-bottom: 2em;
}
.sc-list li {
    margin: 0 0 0.8em;
    padding: 0 0 0.5em 1.5em;
    border-bottom: 1px dashed #ccc;
    background: url("../images2/mark/ic_arrow_purple01.png") no-repeat 0px 7px;
    background-size: 1em;
}
.sc-list li span {
    padding-left: 1.5em; /*display:block;*/
    font-size: 85.71%;
}
.sc-list li a {
    text-decoration: none;
}
.sc-list li a:hover {
    text-decoration: underline;
}

/* ━━━━━ FAQ よくある質問  ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.h2_faq {
    border-left: 5px solid #dd4d6c;
    background: url("../images2/mark/ic_plus_purple.png") no-repeat 98% 50%
        #fcebeb;
    background-size: 1.5em;
    margin-bottom: 1em;
    padding: 1em 2em 1em 2.2em;
    font-size: 110%;
    text-indent: -1.2em;
    line-height: 1.4;
}
.h2_faq::before {
    content: "Q. ";
}

.h2_faq.faq_open {
    background: url("../images2/mark/ic_minus_purple.png") no-repeat 98% 50%
        #fcebeb;
    background-size: 1.5em;
}

.faq_box {
    border: 1px solid #dd4d6c;
    margin-bottom: 2em;
    padding: 1em 1em 1em 4em;
}
.faq_box p.ans {
    text-indent: -1.2em;
}
.faq_box p.ans::before {
    content: "A. ";
}

.faq_more {
    display: inline-block;
    background: url(../images2/mark/ic_arrow_pink01.png) no-repeat 98% 3px;
    padding-right: 22px;
    background-size: 18px;
    color: #dd4d6c !important;
    text-decoration: none;
}
.faq_more:hover {
    text-decoration: underline;
}

/* ━━━━━ 一個人掲載情報一覧  ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.col_wp {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 2em;
}

.col_box {
    text-decoration: none;
    margin-bottom: 2em;
    width: 48%;
    border: 1px solid #248088;
    box-sizing: border-box;
    padding: 0.5em;
}
.col_box:after {
    content: " ";
    display: block;
    clear: both;
}

.col_box dl dt {
    float: left;
    margin-right: 10px;
    line-height: 0;
}
.col_box dl dt img {
    width: 120px;
    height: auto;
}
.col_box dl dd {
    float: left;
    width: calc(100% - 130px);
}
.col_box:hover {
    text-decoration: none;
}

.col_ttl {
    border-bottom: 2px solid #248088;
    line-height: 1.2;
    margin: 0 0 7px 0;
    padding: 0 0 0.3em 0 !important;
    font-size: 120%;
    font-weight: bold;
    color: #248088 !important;
}
.col_ttl .mb0 {
    margin-bottom: 0;
}
.col_ttl02 {
    font-size: 94%;
    line-height: 1.4;
    color: #3a3a3a !important;
}
.col_chap {
    font-size: 82%;
    line-height: 1.2;
    color: #aaa;
    text-align: right;
    margin-bottom: 0;
}

.col_box:hover {
    color: #0c0 !important;
    background: #e5f2f3;
}

.ikkojin_list {
    border-top: 1px solid #878787;
    border-right: 1px solid #878787;
    margin: 0 auto 2em;
    width: 100%;
}
.ikkojin_list td {
    border-bottom: 1px solid #878787;
    border-left: 1px solid #878787;
    padding: 0.9em 1em;
}
.ikkojin_list td a {
    color: #4d4d4d;
}
.ikkojin_list tr td a:hover {
    color: #248088;
}
.ikkojin_list tr > td {
    width: 20%;
    background: #e5f2f3;
}
.ikkojin_list tr > td + td {
    width: 80%;
    background: #fff;
}

/* ━━━━━ info   ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.info_policy dt {
    color: #5472a0;
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 0.5em;
}
.info_policy dd {
    margin-bottom: 1em;
    margin-left: 1em;
}

ul.sitemap_ul {
    float: left;
    width: 47%;
    font-size: 90%;
    line-height: 1.5;
    margin-right: 3%;
    box-sizing: border-box;
}

ul.sitemap_ul li {
    margin: 0 0 0.6em 0.7em;
}
ul.sitemap_ul li.sitemap_item_ttl {
    font-weight: bold;
    color: #5472a0;
    padding: 0 0 0.5em 0.5em;
    border-bottom: 1px solid #5472a0;
    margin: 0 0 0.8em 0;
    background: none;
}
ul.sitemap_ul li.sitemap_item_ttl_blank {
    padding: 0 0 0.5em 0.5em;
    margin: 0 0 0.8em 0;
    background: none;
}
ul.sitemap_ul.wide li.sitemap_item_ttl {
}

ul.sitemap_ul li.list_end {
    margin-bottom: 2em;
}
ul.sitemap_ul li a {
    color: #000;
    text-decoration: none;
}
ul.sitemap_ul li a:hover {
    color: #000;
    text-decoration: underline;
}

/* 左がthのとき */
.tbl_base01 {
    border-top: 1px solid #828282;
    border-left: 1px solid #828282;
    margin-bottom: 1.5em;
    width: 100%;
    box-sizing: border-box;
}
.tbl_base01 th,
.tbl_base01 td {
    border-bottom: 1px solid #828282;
    border-right: 1px solid #828282;
    padding: 1.5em;
    line-height: 2 !important;
}
.tbl_base01 th {
    background: #b4c1d4;
    text-align: left;
    vertical-align: middle;
}
.tbl_base01 td {
}

/* 行ごとにthとtdのとき */
.tbl_base02 {
    border-top: 1px solid #828282;
    border-left: 1px solid #828282;
    margin-bottom: 1.5em;
    width: 100%;
    box-sizing: border-box;
}
.tbl_base02 th,
.tbl_base02 td {
    border-bottom: 1px solid #828282;
    border-right: 1px solid #828282;
    padding: 0.5em 1.5em;
    line-height: 2 !important;
    box-sizing: border-box;
}
.tbl_base02 th {
    background: #b4c1d4;
    text-align: left;
    vertical-align: middle;
}
.tbl_base02 td a {
    color: #000;
}
.tbl_base02 td {
    background: #e4eaf3;
    vertical-align: middle;
}
.tbl_base02 td + td {
    background: #fff;
}

.tbl_update {
    border-top: 1px solid #828282;
    border-left: 1px solid #828282;
    margin-bottom: 1.5em;
    width: 100%;
    box-sizing: border-box;
}
.tbl_update th,
.tbl_update td {
    border-bottom: 1px solid #828282;
    border-right: 1px solid #828282;
    padding: 0.5em 1.5em;
    line-height: 2 !important;
    box-sizing: border-box;
}
.tbl_update th {
    background: #b4c1d4;
    text-align: left;
    vertical-align: middle;
}
.tbl_update td a {
    color: #000;
    text-decoration: none;
}
.tbl_update td {
    background: #e4eaf3;
    vertical-align: middle;
}
.tbl_update td + td {
    background: #fff;
    width: 90%;
}

/* ━━━━━ seminar  ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.semi_topbox {
    margin: 0 auto;
    padding: 0 3% 0;
    box-sizing: border-box;
}
.semi_topbox + .semi_topbox {
    border-top: 1px solid #b1aba6;
    padding: 3em 3% 0;
}

.semi_month {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 1em;
}

.semi_ttl {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 1em;
}

.semi_toppic {
    float: right;
    margin-left: 14px;
    width: 200px;
}
.semi_toptxt {
    float: right;
    width: calc(100% - 214px);
}
.semi_toptxt.noimg {
    float: none;
    width: 100%;
}

.semi_detail {
    overflow: hidden;
    border-left: 4px solid #dd4d6c;
    padding: 0 0 0 1.8em;
    margin: 0 0 3em 0; /*margin:0.5em 0 1em 0;*/
}
.semi_detail dl {
    overflow: hidden;
    margin-bottom: 1em;
    font-size: 1.7rem;
}
.semi_detail dl dt {
    float: left;
    width: 5em;
    margin-bottom: 0.5em;
    font-weight: bold;
}
.semi_detail dl dd {
    float: left;
    width: calc(100% - 5em);
    margin-bottom: 0.5em;
}
.semi_detail p.annotation {
    line-height: 1;
} /* ※コメントが改行しているときに行間を詰める */

/* ━━━━━ topics  ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.book_info {
    background: #ecf6fb;
    padding: 1em;
    margin-bottom: 2em;
}
.book_info table {
    border-collapse: collapse;
}
.book_info th {
    text-align: left;
    font-weight: normal;
    border-bottom: 1px solid #ccc;
    width: 20%;
}
.book_info td {
    border-bottom: 1px solid #ccc;
}

/*.topics121_wp{  }
.topics121_col3{ width: 100%; max-width: 768px;  box-sizing: border-box; padding: 2.5em 4em; margin: 0 auto 1em; background: #D3DDEB ; }
.topics121_ttl{ background: #248088; color: #FFF; border-radius: 8px; padding: 0 0 0 1em; font-size: 18px;  }

.topics121_btn01{ width:10em; background: url("../images2/mark/ic_plus_green.png") #d3f1f4 no-repeat 90% 50%;background-size: 1.2em; border: 2px solid #248088; border-radius: 16px; padding: 0 1em; margin: 0 auto 1em; }
.topics121_btn01.open{ background: url( "../images2/mark/ic_minus_green.png") #d3f1f4 no-repeat 90% 50%; background-size: 1.2em; }


.topics121_review{ background: #FFF; padding: 1em; margin-bottom: 1em; border-radius: 12px; }
.topics121_review p{ line-height: 1.4; margin-bottom: 0; }*/
.topics121_wp {
}
.topics121_col3 {
    width: 100%;
    max-width: 768px;
    box-sizing: border-box;
    padding: 2.5em 4em;
    margin: 0 auto 1em;
    background: #d3ddeb;
}
.topics121_col4 {
    width: 100%;
    max-width: 768px;
    box-sizing: border-box;
    padding: 2.5em 4em;
    margin: 0 auto 1em;
    background: #efc5d9;
}
.topics121_ttl {
    background: #248088;
    color: #fff;
    border-radius: 8px;
    padding: 0 0 0 1em;
    font-size: 18px;
}
.topics121_col4_ttl {
    background: #d44064;
    color: #fff;
    border-radius: 8px; /* padding: 0 0 0 1em;*/
    font-size: 18px;
    text-align: center;
    padding: 1em 3em;
}
.topics121_btn01 {
    width: 10em;
    background: url("../images2/mark/ic_plus_green.png") #d3f1f4 no-repeat 90%
        50%;
    background-size: 1.2em;
    border: 2px solid #248088;
    border-radius: 16px;
    padding: 0 1em;
    margin: 0 auto 1em;
}
.topics121_btn01.open {
    background: url("../images2/mark/ic_minus_green.png") #d3f1f4 no-repeat 90%
        50%;
    background-size: 1.2em;
}

.topics121_review {
    background: #fff;
    padding: 1em;
    margin-bottom: 1em;
    border-radius: 12px;
}
.topics121_review p {
    line-height: 1.4;
    margin-bottom: 0;
}
.frame-wrapper__video {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
    margin-bottom: 50px;
}
.addmission_video {
    width: 100%;
    max-width: 768px;
    box-sizing: border-box;
    padding: 2.5em 4em;
    margin: 0 auto 1em;
}
.frame-wrapper__video iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.topics34_video {
    width: 100%;
    max-width: 768px;
    box-sizing: border-box;
    padding: 2.5em 4em;
    margin: 0 auto 1em;
}
.frame-wrapper__video iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

/* movie?? */

.youtube_col80 {
    width: 80%;
    margin: 0 auto;
}
.youtube_col60 {
    width: 60%;
    margin: 0 auto;
}

.youtube_box {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
}
.youtube_box iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

.book_box01 {
    box-sizing: border-box;
    padding: 1.5em;
    background: #d3ddeb;
    text-align: center;
}

/* ━━━━━ stepmail  ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.stepmail_box {
    border: 4px solid #f1f5f3;
    margin: 0 auto 1.5em;
    padding: 1em 2em 2em;
    box-sizing: border-box;
    width: 100%;
}
.stepmail_box_ttl {
    border-bottom: 4px solid #f1f5f3;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    color: #7f7f7f;
}

.stepmail_apply {
    width: 100%;
}
.stepmail_apply th,
.stepmail_apply td {
    font-size: 110%;
    padding: 0.5em 1em;
    display: block;
    width: 100%;
    text-align: center;
}
.stepmail_apply td input[type="text"] {
    width: 80%;
    font-size: 110%;
}

.btn_stepmail_send {
    background: url(../images2/mark/ic_arrow_white01.png) no-repeat 96% center
        #dd4d6c;
    background-size: 1em auto;
    border: none;
    width: 200px;
    margin: 1em 0 0 0;
    padding: 0.3em;
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    text-align: center;
}
.bn_contact {
    width: 450px;
}

/* ━━━━━ mail_mag ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.mag_box {
    border: solid 3px #5472a0;
    background-color: #fff;
    padding: 2em 3em;
}

.ar_mag {
    background: url("../images2/mark/ic_arrow_purple01.png") no-repeat left
        center;
    background-size: 1em 1em;
    padding-left: 1.5em;
}

.tbl_mag {
    border-top: 1px solid #878787;
    border-right: 1px solid #878787;
    width: 100%;
}
.tbl_mag td,
.tbl_mag th {
    border-bottom: 1px solid #878787;
    border-left: 1px solid #878787;
    vertical-align: middle;
    padding: 0.5em 1em;
}
.tbl_mag th {
    height: 40px;
    width: 200px;
    vertical-align: middle;
    background: #e6b3cd;
}
.tbl_mag td {
    width: 407px;
    background: #f8f8f8;
}
.tbl_mag td input[type="text"] {
    width: 387px;
}

input.btn_submit {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
} /*初期化*/

input.btn_submit.purple {
    background: #fff;
    width: 220px !important;
    padding: 0.5em 1em;
    color: #fff;
    font-weight: bold;
    font-size: 22px;
    text-align: center;
}
input.btn_submit.pink {
    background: #dd4d6c;
    width: 100px;
    color: #fff;
    font-weight: bold;
    border: none;
}
input.btn_submit.purple {
    background: #b84d7b;
    width: 100px;
    color: #fff;
    font-weight: bold;
    border: none;
}
input.btn_submit.green {
    background: #248088;
    width: 100px;
    color: #fff;
    font-weight: bold;
    border: none;
}
input.btn_submit.blue {
    background: #5472a0;
    width: 100px;
    color: #fff;
    font-weight: bold;
    border: none;
}

.mlmg_present_box {
    text-align: center !important;
    padding: 1.5em;
    margin: 0 4% 1em;
    border: 2px solid #ccc;
    background: #f8f8f8;
}
.mlmg_present_box .box01,
.mlmg_present_box .box02,
.mlmg_present_box .box03 {
    font-weight: bold;
}
.mlmg_present_box .box01 {
    border-bottom: 1px dotted #248088;
    color: #248088;
    margin-bottom: 0.8em;
    padding-bottom: 0.5em;
}
.mlmg_present_box .box02,
.mlmg_present_box .box03 {
    text-align: center;
}
.mlmg_present_box .box03 {
    margin-bottom: 0.5em;
}
.mlmg_present_box .box04 {
    width: 80%;
    margin: 0 0 0 4em;
    text-indent: -1em;
    text-align: left;
    font-size: 85.71%;
}

.mlmg_notes {
    border: 1px solid #808080;
    padding: 10px;
    margin-top: 1em;
}

/* ━━━━━ admission 予約  ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.gakuin_col {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.gakuin_box {
    width: 50%;
    box-sizing: border-box;
    padding: 0 20px;
}

a.gakuin {
    color: #fff;
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
    background-image: -moz-linear-gradient(top, #b44d7b, #c54c82);
    background-image: -webkit-linear-gradient(top, #b44d7b, #c54c82);
    background-image: linear-gradient(to bottom, #b44d7b, #c54c82);
    border-bottom: solid 3px #a45176;
    /*border:1px solid #b44d7b;*/
    text-decoration: none;
    display: block;
    font-size: 17px;
    text-align: center;
    padding: 3% 1.8%;
    margin: 1.3em 0 0.5em;
    border-radius: 4px;
    box-sizing: border-box;
}
a.gakuin:hover {
    color: #fff;
    background: #d17896;
    border-bottom: solid 3px #b86683;
    transition: 0.3s;
}
.gakuin_pink {
    color: #fff;
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
    background-image: -moz-linear-gradient(top, #b44d7b, #c54c82);
    background-image: -webkit-linear-gradient(top, #b44d7b, #c54c82);
    background-image: linear-gradient(to bottom, #b44d7b, #c54c82);
    border-bottom: solid 3px #a45176;
    /*border:1px solid #b44d7b;*/
    text-decoration: none;
    display: block;
    font-size: 17px;
    text-align: center;
    padding: 3% 1.8%;
    margin: 1.3em 0 0.5em;
    border-radius: 4px;
    box-sizing: border-box;
}
table#admission_form {
    width: 100%;
    border: 1px solid #e8d7c1;
    border-collapse: collapse;
}
table#admission_form tr {
}
table#admission_form th {
    border: 1px solid #e8d7c1;
    border-collapse: collapse;
    font-weight: normal;
}
table#admission_form td {
    border: 1px solid #e8d7c1;
    border-collapse: collapse;
    padding: 0.5em 2%;
}
table#admission_form td a {
    border-radius: 5px;
    padding: 0.5% 1%;
    width: 29%;
    margin: 0 0.3em 0.3em 0;
    display: inline-block;
    box-sizing: border-box;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    color: #fff;
    line-height: 1.4;
    background-image: -moz-linear-gradient(top, #b44d7b, #c54c82);
    background-image: -webkit-linear-gradient(top, #b44d7b, #c54c82);
    background-image: linear-gradient(to bottom, #b44d7b, #c54c82);
}

table#admission_form td a.btn_zoom {
    background-image: -moz-linear-gradient(top, #f55f72, #f37282);
    background-image: -webkit-linear-gradient(top, #f55f72, #f37282);
    background-image: linear-gradient(to bottom, #f55f72, #f37282);
}

table#admission_form td a.map_sp {
    color: #fff;
    background: #f89838;
    text-decoration: none;
    border-radius: 5px;
    padding: 0;
    margin: 0;
    display: inline-block;
    text-align: center;
    font-weight: bold;
    font-size: 100%;
    width: 22%;
}
table#admission_form td.tit {
    background-color: #f3e6d5;
    font-weight: bold;
    text-align: center;
    line-height: 2;
}
table#admission_form td.date {
    background-color: #fff9f2;
    text-align: center;
    font-weight: bold;
}
table#admission_form td span.sat {
    color: blue;
}
table#admission_form td span.sun {
    color: red;
}

table.tbl_form {
    width: 100%;
    border-collapse: separate;
    border-spacing: 3px;
}
table.tbl_form th {
    text-align: left;
    background: #eee;
    line-height: 1.5;
    padding: 1% 3%;
    width: 30%;
}
table.tbl_form td {
    padding: 1.5% 3%;
}

table.tbl_form input,
select {
    padding: 5px;
}
.ipw100 {
    width: 100%;
    box-sizing: border-box;
}
.ipw {
    width: calc(100% - 1.5em);
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    display: inline;
}
.nichi {
    width: 25em;
}

.form_item {
    margin-bottom: 0.5em;
}
.form_item_col2 {
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block;
    word-break: break-all;
    white-space: nowrap;
}
/*.form_item_col2 + .form_item_col2{ margin-left: 1em!important;}*/
.form_item_enq {
    margin: -0.2em 0 0.5em 2em;
}
.form_note {
    font-size: 84%;
    color: #787878;
}

.req {
    display: inline-block;
    background: #f65050;
    color: #fff;
    padding: 0.4em 0.5em;
    font-size: 76%;
    margin-left: 0.5em;
    line-height: 1;
}

#zm {
    display: inline-block;
    font-size: 90%;
    font-weight: bold;
    color: #c10000;
}

.tbl_form td input[type="checkbox"] {
    height: 2em;
    width: 2em;
    position: relative;
    top: 0.5em;
    margin: 0 0 1em;
}
.tbl_form td input[type="radio"] {
    height: 2em;
    width: 2em;
    position: relative;
    top: 0.5em;
    margin: -0.5em 0 1em;
}

a.blomb {
    display: inline-block;
    border: none;
    border-radius: 5px;
    padding: 0.5% 3%;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    font-size: 85%;
    color: #fff;
    font-weight: bold;
    background-image: -moz-linear-gradient(top, #b44d7b, #c54c82);
    background-image: -webkit-linear-gradient(top, #b44d7b, #c54c82);
    background-image: linear-gradient(to bottom, #b44d7b, #c54c82);
}

.ad_form_btn {
    padding: 1em 2.5em;
    font-size: 110%;
    font-weight: bold;
    color: #fff;
    border: none;
    border-radius: 4px;
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
    background-image: -moz-linear-gradient(top, #b44d7b, #c54c82);
    background-image: -webkit-linear-gradient(top, #b44d7b, #c54c82);
    background-image: linear-gradient(to bottom, #b44d7b, #c54c82);
    border-bottom: solid 3px #a45176;
}

.back_form_btn {
    padding: 1em 2.5em;
    font-size: 110%;
    font-weight: bold;
    color: #fff;
    border: none;
    border-radius: 4px;
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
    background-image: -moz-linear-gradient(top, #818181, #888888);
    background-image: -webkit-linear-gradient(top, #818181, #888888);
    background-image: linear-gradient(to bottom, #818181, #888888);
    border-bottom: solid 3px #7a7a7a;
}

.btn_size {
    padding: 3px;
}
.btn_size02 {
    padding: 5px;
    font-size: 14px;
}

/* ━━━━━ inquiry 予約  ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.form_otherlink {
    float: right;
}
.form_otherlink::after {
    content: "";
    clear: both;
    display: table;
}
.form_otherlink li {
    display: inline-block;
    background: url("../images2/mark/ic_arrow_purple01.png") no-repeat 0% 50%;
    background-size: 0.7em auto;
    padding: 0 1em 0 0.8em;
}
.form_otherlink li a {
    text-decoration: none;
}
.form_otherlink li a:hover {
    text-decoration: underline;
}
.input_com {
    width: 90%;
    height: 8em;
}

/*.tbl_form_inq{ border-top: 1px solid #878787; border-right: 1px solid #878787; width: 100%; margin-bottom: 2.5em;   }
.tbl_form_inq td, .tbl_form_inq th{ border-bottom: 1px solid #878787; border-left: 1px solid #878787; vertical-align: middle; padding: 0.5em 1em; }
.tbl_form_inq th{ width: 30%; vertical-align:middle; background:#E6B3CD; text-align: left;   }
.tbl_form_inq td{ background: #F8F8F8;  }
.tbl_form_inq td input{ font-size: 16px; }
.tbl_form_inq td input[type="text"]{}

.ov_ad2{ font-size: 13px; line-height: 1.3;  }

.tbl_cap{ border: none;  }
.tbl_cap th, .tbl_cap td{ border: none; }

.btn_size03{padding:5px;font-size:14px; padding: 0.3em 1.5em 0.3em 1em; color:#FFF; text-align:center; font-size: 2.4rem;  background:url(../images2/mark/ic_arrow_white01.png) no-repeat 98% center #DD4D6C;  background-size: 1em auto; text-decoration: none; min-width: 13em; border: none;  }

.btn_size04{padding:5px;font-size:14px; padding: 0.3em 1.5em 0.3em 1.5em; color:#FFF; text-align:center; font-size: 2.4rem; background:#5472a4; text-decoration: none; border: none;  }*/

/* ━━━━━ index_event.php  ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.facility-search {
    padding: 0 4%;
} /* 親要素 */

.area2 {
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 6px;
    background-color: #f1f1f1;
    background-image: url(../images2/mark/no_selected.png);
    background-repeat: no-repeat;
    background-position: 98% 50%;
    width: 100%;
    padding: 1em 1em 1em 2em;
    margin-bottom: 0.8em;
    cursor: pointer;
    font-weight: bold;
    font-size: 110%;
}

.area2.on {
    background-image: url(../images2/mark/selected.png);
    background-repeat: no-repeat;
    background-position: 98% 50%;
}

.facility-search > ul,
.facility-search > ul > li > ul {
    display: none;
    padding: 0;
    margin: 0;
}

.pref {
    background: #ffe4e7;
    padding: 0.7em 0 0.7em 1.5em;
    margin: 0 0.5em 0.5em;
    border-radius: 6px;
}

.facility-search ul > li,
.facility-search > ul > li > ul > li {
    cursor: pointer;
}

.city {
    margin-bottom: 2em;
}
.city li {
    background: #f2f1f0 !important;
    padding: 0.8em 0 0.8em 1.5em;
    margin: 0 0.5em 0.7em 2em;
    box-sizing: border-box;
    border-radius: 6px;
    color: #aaa;
}
.city li:last-child {
    margin-bottom: 1.5em;
}

.city li.active {
    padding: 0;
    color: #666;
    background: #fdefd8 !important;
    border-radius: 6px;
}

.city li.active a {
    display: block;
    padding: 0.8em 0 0.8em 1.5em;
    color: #666;
    border-radius: 6px;
    text-decoration: none;
    background: url(../images/mark/arrow_black01.png) no-repeat 15% center;
}
.city li.active a:hover {
    opacity: 0.8;
}

/* ━━━━━ 汎用的なボタン btn ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.btn_base_pink {
    display: inline-block;
    padding: 0.3em 1.5em 0.2em 1em;
    color: #fff;
    text-align: center;
    font-size: 2.4rem;
    background: url(../images2/mark/ic_arrow_white01.png) no-repeat 98% center
        #dd4d6c;
    background-size: 1em auto;
    text-decoration: none;
    min-width: 13em;
}
.btn_base_purple {
    display: inline-block;
    padding: 0.3em 1.5em 0.2em 1em;
    color: #fff;
    text-align: center;
    font-size: 2.4rem;
    background: url(../images2/mark/ic_arrow_white01.png) no-repeat 98% center
        #b84d7b;
    background-size: 1em auto;
    text-decoration: none;
    min-width: 13em;
}
.btn_base_blue {
    display: inline-block;
    padding: 0.3em 1.5em 0.2em 1em;
    color: #fff;
    text-align: center;
    font-size: 2.4rem;
    background: url(../images2/mark/ic_arrow_white01.png) no-repeat 98% center
        #5472a0;
    background-size: 1em auto;
    text-decoration: none;
    min-width: 13em;
}
.btn_base_green {
    display: inline-block;
    padding: 0.3em 1.5em 0.2em 1em;
    color: #fff;
    text-align: center;
    font-size: 2.4rem;
    background: url(../images2/mark/ic_arrow_white01.png) no-repeat 98% center
        #248088;
    background-size: 1em auto;
    text-decoration: none;
    min-width: 13em;
}

.btn_base_pink:hover {
    color: #fff;
    opacity: 0.8;
}
.btn_base_purple:hover {
    color: #fff;
    opacity: 0.8;
}
.btn_base_blue:hover {
    color: #fff;
    opacity: 0.8;
}
.btn_base_green:hover {
    color: #fff;
    opacity: 0.8;
}

/* ━━━━━ お問い合わせのBOX ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.contact_box {
    border: 3px #ee7280 solid;
    margin: 0 auto;
    border-collapse: collapse;
    width: 90%;
}
.contact_box th {
    background: #ee7280;
    color: #fff;
    vertical-align: middle;
    font-weight: bold;
    font-size: 18px;
    width: 100%;
    display: block;
    box-sizing: border-box;
    padding: 0.3em;
}
.contact_box th span {
    background: url("../images2/mark/ic_mail.svg") no-repeat 0 4px;
    background-size: 1em 1em;
    padding-left: 1.5em;
    margin-left: -0.8em;
}
.contact_box td {
    text-align: center;
    border-bottom: 1px #ee7280 solid;
    padding: 1em 0 1em 0.5em;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
}

.tel_box {
    display: inline-block;
    background: url("../images2/mark/ic_tel.svg") no-repeat 0 center;
    margin-right: 40px;
    padding-left: 40px;
    background-size: 34px 34px;
    line-height: 1.2;
    box-sizing: border-box;
    font-size: 11px;
}
a.tel_txt {
    font-size: 23px;
    font-weight: bold;
    text-decoration: none;
    color: #000;
}

.time_box {
    display: inline-block;
    background: url("../images2/mark/ic_time.svg") no-repeat 0 center;
    padding-left: 44px;
    background-size: 34px 34px;
    line-height: 1.4;
    box-sizing: border-box;
}
.time_txt {
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    color: #000;
}

.contact_box_s01 {
    border: 3px #ee7280 solid;
    margin: 0 auto;
    border-collapse: collapse;
    width: 90%;
    max-width: 560px;
}
.contact_box_s01 th {
    background: #ee7280;
    color: #fff;
    vertical-align: middle;
    font-weight: bold;
    font-size: 18px;
    width: 100%;
    display: block;
    box-sizing: border-box;
    padding: 0.3em;
}
.contact_box_s01 th span {
    background: url("../images2/mark/ic_mail.svg") no-repeat 0 4px;
    background-size: 1em 1em;
    padding-left: 1.5em;
    margin-left: -0.8em;
}
.contact_box_s01 td {
    text-align: center;
    border-bottom: 1px #ee7280 solid;
    padding: 1em 0 1em 0.5em;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
}

.tel_box_s01 {
    display: inline-block;
    background: url("../images2/mark/ic_tel.svg") no-repeat 0 center;
    margin-right: 40px;
    padding: 0 0 0 40px;
    background-size: 34px 34px;
    line-height: 1.2;
    box-sizing: border-box;
    font-size: 11px;
}
a.tel_txt_s01 {
    font-size: 23px;
    font-weight: bold;
    text-decoration: none;
    color: #000;
}
.time_box_s01 {
    display: inline-block;
    background: url("../images2/mark/ic_time.svg") no-repeat 0 center;
    padding-left: 44px;
    background-size: 34px 34px;
    line-height: 1.4;
    box-sizing: border-box;
}
.time_txt_s01 {
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    color: #000;
}

/* ━━━━━  pager ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.pager {
    margin: 40px 0 10px;
}
.pager::after {
    content: "";
    clear: both;
    display: table;
}
.next {
    background: url(../images2/mark/ic_next.png) no-repeat right center;
    padding-right: 20px;
    font-weight: bold;
    background-size: 13px;
    text-decoration: none;
    float: right;
}
.next:hover {
    text-decoration: underline;
}
.prev {
    background: url(../images2/mark/ic_prev.png) no-repeat left center;
    padding-left: 20px;
    font-weight: bold;
    background-size: 13px;
    text-decoration: none;
    float: left;
}
.prev:hover {
    text-decoration: underline;
}

/* footer ==================================================================================================================================================================================== */

footer {
    background: #bc4d7b;
}

.sns_col {
    padding: 1em 0;
    text-align: center !important;
}
.sns_col a {
    display: inline-block;
    margin: 0 10px;
}
.sns_col a img {
    width: 45px;
    height: auto;
    margin: 0 20px;
    box-sizing: border-box;
}

.footer_col {
    margin: 0 auto;
    padding: 2.5em 0 0;
}

ul.footer_ul {
    float: left;
    font-size: 80%;
    line-height: 1.5;
    margin: 0 1em 0;
    color: #fff;
}
ul.wide {
    margin: 0 0 3.2em;
}
ul.footer_ul li {
    margin: 0 0 0.6em 0;
    padding-left: 0.6em;
}
ul.footer_ul li.footer_item_ttl {
    font-weight: bold;
    color: #fff;
    padding: 0 0 0.5em 0.5em;
    border-bottom: 1px solid #fff;
    margin: 0 0 0.8em 0;
    background: none;
}
ul.footer_ul li.footer_item_info {
    color: #fff;
    padding: 0 0 0.5em 0.5em;
    margin: 0 0 0.8em 0;
    background: none;
}
ul.footer_ul li.footer_item_ttl_blank {
    padding: 0 0 0.5em 0.5em;
    margin: 0 0 0.8em 0;
    background: none;
}
ul.footer_ul.wide li.footer_item_ttl {
}
/*ul.footer_ul li.list_menu{ background:url(../images2/mark/footer_ic.png) no-repeat left center;padding-left:1.2em;margin-left:0em;} 大項目の前につけていたアイキャッチ */
ul.footer_ul li.list_end {
    margin-bottom: 2em;
}
ul.footer_ul li a {
    color: #fff;
    text-decoration: none;
}
ul.footer_ul li a:hover {
    color: #fff;
    text-decoration: underline;
}

.footer_bookshop {
    width: 280px;
    height: auto;
    margin: 1em auto 1em;
    display: block;
}

.footer_logo {
    width: 220px;
    height: auto;
    margin: 1em auto 1em;
    display: block;
}
.footer_access {
    width: 113px;
    float: left;
    color: #fff;
}
.footer_address {
    clear: both;
    padding-top: 1em;
    border-top: 1px solid #fff;
    margin: 1em 0;
    color: #fff;
    text-align: center;
}
.footer_tel {
    width: 2em;
    height: auto;
}
.copy {
    text-align: center;
    margin-bottom: 0;
    padding: 1em;
    color: #fff;
    font-size: 83.3%;
}

/* ━━━━━新ショップ━━━━━ */
.addCart {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    width: 120px;
    height: 30px;
    padding: 3px 3px !important;
    background: #248088; /* ボタンの色指定*/
    color: #fff; /* ボタンの文字色指定*/
    font-size: 12px;
    line-height: 2;
    font-weight: bold;
    cursor: pointer;
}

.addCart2 {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    width: 120px;
    height: 30px;
    padding: 3px 3px !important;
    background: #dd4d6c; /* ボタンの色指定*/
    color: #fff; /* ボタンの文字色指定*/
    font-size: 12px;
    line-height: 2;
    font-weight: bold;
    cursor: pointer;
}

.addCart3 {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    width: 120px;
    height: 40px;
    padding: 3px 3px !important;
    background: url(../images2/mark/ic_arrow_white01.png) no-repeat 96% center
        #dd4d6c;
    background-size: 1em auto;
    text-decoration: none;
    width: 100%; /* ボタンの色指定*/
    color: #fff; /* ボタンの文字色指定*/
    font-size: 12px;
    line-height: 2;
    font-weight: bold;
    cursor: pointer;
}

.addCart4 {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    width: 120px;
    height: 30px;
    padding: 3px 3px !important;
    background: #7d7d7d; /* ボタンの色指定*/
    color: #fff; /* ボタンの文字色指定*/
    font-size: 12px;
    line-height: 2;
    font-weight: bold;
    cursor: pointer;
}

.bg_6week2401.bg_6week2401--blue,
.box_6week24.box_6week24--blue {
    background-color: #ceeaee;
}

.bg_slow2401.bg_slow2401--purple,
.box_slow24.box_slow24--purple {
    background-color: #d6daef;
}

.bg_experience2401.bg_experience2401--yellow,
.box_experience24.box_experience24--yellow {
    background-color: #fffdd9;
}

.image-wrapper {
    width: 100%;
}

.image-wrapper img {
    width: 100%;
    height: 100%;
    aspect-ratio: 800 / 450;
    object-fit: cover;
}

.bg_content_taiken_inner.bg_content_taiken_inner--yellow {
    background-color: #fffff7;
}

.tablet_none {
    display: none !important;
}
.tablet_space {
    line-height: 1.5;
}
.tablet_fontl {
    font-size: 1.6rem;
}
p {
    margin-bottom: 2em;
}
p + h3 {
    margin-top: 2em;
}
p + h2 {
    margin-top: 2em;
}

.movie {
    padding-top: 17px;
    width: 80%;
}

.movie iframe {
    width: 100%;
    height: 100%;
    object-fit: contain;
    aspect-ratio: 16 / 9;
}

/* ━━━━━ topics34 20241106 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.topics34_box {
    border: solid 3px #ff0000;
    background-color: #fff;
    padding: 2em 3em;
}

.ml1em.ml1em--sp {
    margin-left: 0 !important;
}

.top-imag-banner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.ki_training_col.mt4em.mb2em.custom-top-20.custom-top-20 {
    margin-top: 30px !important;
}

.text-large {
    font-size: 2.5rem;
    font-weight: 600;
}

.text-red {
    color: #b24a75;
}
.massage__img-text {
    display: flex;
    /* align-items: center; */
    gap: 30px;
}

.massage__img-text_pre {
    display: flex;
    align-items: center;
    gap: 50px;
    flex-direction: row-reverse;
    justify-content: flex-end;
}

.message__img {
    width: 100%;
    max-width: 300px;
}

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

.message__text {
    font-size: 1.7rem;
}

.top-margin {
    margin-top: 50px;
}

.message__img-group {
    display: flex;
    justify-content: center;
    gap: 20px;
}

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

.message-button {
    background-color: #ffffff;
    padding-block: 30px;
    padding-inline: 50px;
    border-radius: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    .layout-buttom-text {
        display: block;
        margin-bottom: 15px;
    }
}

.message-button-link {
    padding-block: 30px;
    width: 80%;
    /* padding-inline: 200px; */
    border-radius: 50px;
    background-color: #b24a75;
    color: #ffffff;
    text-decoration: none;
    font-size: 2.5rem;
    font-weight: 600;
}

.message {
    .center {
        text-align: left !important;
    }
}

.p-reservation__center {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 50px;
}
.p-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6.7829%;
}

.p-card {
    width: 100%;
}

.p-card__img {
    width: 100%;

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

.p-card__button-link.btn_base_pink {
    width: 100%;
    min-width: initial;
    padding: initial;
}

.u-sp {
    display: none;
}

@media (max-width: 768px) {
    .u-sp {
        display: block;
    }
}

.u-sptb {
    display: block;
}

.p-contact__box {
    margin-top: 100px;
}

.video-box {
    position: relative;
    width: 100%;
    max-width: 600px;
    aspect-ratio: 16/9;
    margin-inline: auto;
    overflow: hidden;
}

.video-box iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.about-box {
    display: flex;
    column-gap: 50px;
    align-items: center;
}

.about-box .about_pic {
    width: 300px;
}

.about-box--reverse {
    flex-direction: row-reverse;
}

.about-box .about_pic .caption {
    text-align: left;
    font-size: 0.85em;
}

.about-box-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 50px;

    .about_pic {
        width: 100%;
    }

    .about_pic:nth-child(2) {
        order: 3;
    }

    .about_pic:nth-child(3) {
        order: 2;
    }
}

.about-box2 {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
    align-items: center;
}

.about-box2:not(:first-child) {
    margin-block-start: 30px;
}

.about-box2 .about_pic {
    width: 50%;
    img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}

.about-box2 .about_pic.about_pic--height {
    width: 40%;
    img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}
.about-box2__title {
    margin-block-start: 60px;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1;
}

.about-box2 p {
    margin: 0;
    width: 100%;
}

.about-box2--reverse {
    flex-direction: row-reverse;
}

.about-box2 .about_pic .caption {
    text-align: left;
    font-size: 0.85em;
    /* width: 300px; */
    margin-inline: auto;
}

/* ============================================
   body.page-about01 専用（早島天來ページ）
   ============================================ */
body.page-about01 .wp {
    padding-left: 6%;
    padding-right: 6%;
}

/* body.page-about01 .about01-lead {
    font-size: 1.06em;
    line-height: 1.95;
    max-width: 52em;
    margin-inline: auto;
} */
body.page-about01 p {
    font-size: 1.08em;
    line-height: 2;
}
/* body.page-about01 .about01-portrait-caption {
    margin-top: 0.75em;
    font-size: 0.92em;
    color: #555;
} */

body.page-about01 .about01-profile-title {
    margin-block-start: 0;
    padding-block-start: 1.75rem;
    /* border-top: 1px solid #c0c0c0; */
    line-height: 1.5;
    text-align: center;
    width: 100%;
}

body.page-about01 .about01-timeline-list {
    width: 100%;
    align-self: stretch;
}

body.page-about01 .about01-timeline-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0.65rem 1rem;
    margin-bottom: 1.25em;
    line-height: 1.85;
}

body.page-about01 .about01-timeline-row:last-child {
    margin-bottom: 0;
}

body.page-about01 .about01-timeline-year {
    flex: 0 0 7.4em;
    box-sizing: border-box;
    font-weight: 600;
    color: #252525;
    font-size: 1.03em;
}

body.page-about01 .about01-timeline-body {
    flex: 1 1 auto;
    min-width: 0;
    color: #4d4d4d;
    border-left: 3px solid #d6d6d6;
    padding-left: 0.9em;
}

body.page-about01 .about01-photo-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 28px;
    align-items: start;
    width: 100%;
    padding-block-start: 30px;
}

body.page-about01 .about01-photo-pair .about_pic,
body.page-about01 .about01-photo-pair .about01-photo-pair__item {
    float: none;
    width: 100%;
}

body.page-about01 .about01-books-heading {
    margin-top: 7rem;
}

body.page-about01 .about01-text-bold {
    font-weight: 700;
}

body.page-about01 .about01-text-marker {
    color: inherit;
    background: linear-gradient(
        transparent 0.55em,
        rgba(255, 236, 160, 0.92) 0.55em,
        rgba(255, 236, 160, 0.92) 100%
    );
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    padding: 0 0.08em;
}

/* ============================================
# トップページ 体験談
=============================================== */
.voice-top {
    width: 90%;
    margin: 0 auto;
}

.voice-top .voice-top_inner {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    /* align-items: flex-start;
    gap: 20px; */

    gap: 18px;
    align-items: stretch;
}

.voice-top .voice_box {
    width: 100%;
    flex: 1 1 0;
    margin: 0;
    padding: 0;
    text-align: left;
    border-bottom: none;

    background-color: #ffffff;
    /* border: 2px solid #e5b8c6; */
    border-radius: 6px;
    padding: 18px 18px 16px;
    box-sizing: border-box;
    text-align: left;
}

.voice-top .voice-top__head {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 14px;
    margin-bottom: 0.85em;
}

.voice-top .voice-top__badge {
    flex-shrink: 0;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: radial-gradient(
        circle at 28% 22%,
        #f0f9fd 0%,
        #ec9dae 45%,
        #dd4d6c 100% /* #f0f9fd 0%, #d4eef8 45%, #9fd2ea 100%*/
    );
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.voice-top .voice-top__badge.voice-top__badge--pink {
    background: radial-gradient(
        circle at 28% 22%,
        #f0f9fd 0%,
        #ec9dae 45%,
        #dd4d6c 100%
    );
}
.voice-top .voice-top__badge.voice-top__badge--purple {
    background: radial-gradient(
        circle at 28% 22%,
        #f7f3fc 0%,
        #d4c4e4 45%,
        #bb99cf 100%
    );
}
.voice-top .voice-top__badge.voice-top__badge--green {
    background: radial-gradient(
        circle at 28% 22%,
        #eaf5f6 0%,
        #5ca9b3 45%,
        #569da6 100%
    );
}
.voice-top .voice-top__badge.voice-top__badge--pink1 {
    background: radial-gradient(
        circle at 28% 22%,
        #f0f9fd 0%,
        #f5c7d1 45%,
        #ec9dae 100%
    );
}
.voice-top .voice-top__badge.voice-top__badge--pink2 {
    background: radial-gradient(
        circle at 28% 22%,
        #f7fbfd 0%,
        #ec9dae 45%,
        #dd4d6c 100%
    );
}
.voice-top .voice-top__badge.voice-top__badge--pink3 {
    background: radial-gradient(
        circle at 28% 22%,
        #fdf6f8 0%,
        #e58a9e 35%,
        #c13e5a 100%
    );
}

.voice-top .voice-top__badge.voice-top__badge--img {
    background: none;
    display: block;
    width: 70px;
    height: 70px;
    object-fit: contain;
}

.voice-top__content {
    display: flex;
    flex-direction: column;
}

.voice-top .voice-top__badge-txt {
    text-align: center;
    line-height: 1.2;
    text-decoration: none;
    font-size: 15px;
    letter-spacing: 0.06em;
    font-weight: bold;
    color: rgb(221, 77, 108);
}

.voice-top .voice-top__badge-num {
    font-size: 19px;
    font-weight: 700;
    margin-top: 2px;
}

.voice-top .voice-top__meta {
    margin: 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.5;
}

.voice-top .voice_txt {
    width: 100%;
    margin: 0;
    text-align: left;
}

.voice-top > p.clear {
    clear: both;
    margin: 0;
    padding: 0;
    height: 0;
    line-height: 0;
    overflow: hidden;
}
/* ============================================
# location03_pre2用
=============================================== */
.location03_pre2 .h1_pink {
    display: block;
    width: fit-content;
    margin-inline: auto;
}
.location03_pre2 .h1_pink::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    display: inline-block;
    width: 140px;
    height: 2px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #dd4d6c;
}
.location03_pre2 .h1_pink span {
    display: block;
    font-size: 0.65em;
    color: #333333;
    font-weight: normal;
    line-height: 1.4;
    margin-bottom: 0.2em;
}

/* ボタン2連 */
.location03_pre2 .button-flex {
    margin-block-start: 30px !important;
    display: flex;
    gap: 3rem;
    row-gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;

    a.btn_base_pink:first-child {
        width: 320px;
        max-width: 100%;
        color: #ffffff;
        border: 1px solid #dd4d6c;
        padding: 10px 20px;
        padding-inline-end: 40px;
        font-size: 1.5rem;
        font-weight: bold;
        text-decoration: none;
        transition: all 0.3s ease;
        &:hover {
            opacity: 0.8;
        }
    }
    a.btn_base_pink:nth-child(2) {
        width: 320px;
        max-width: 100%;
        background: url(../images2/mark/ic_arrow_pink01.png) no-repeat 98%
            center #ffffff;
        background-size: 1em auto;
        color: #dd4d6c;
        border: 1px solid #dd4d6c;
        padding: 10px 20px;
        padding-inline-end: 40px;
        font-size: 1.5rem;
        font-weight: bold;
        text-decoration: none;
        transition: all 0.3s ease;
        &:hover {
            opacity: 0.8;
        }
    }
}

/* 詳しく見るボタン：2つとも白バージョン（location03_pre.html 146行目のみ button-flex--uniform） */
.location03_pre2 .button-flex.button-flex--uniform a.btn_base_pink {
    background: url(../images2/mark/ic_arrow_pink01.png) no-repeat 98%
        center #fef8f8;
    background-size: 1em auto;
    border: 1px solid #e5b8c6;
    color: #DD4D6C;
}

/* 日程確認ボタン：左アイコン・ピル型（location03_pre.html のみ btn-schedule 使用） */
.location03_pre2 a.btn-schedule {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45em;
    text-align: center;
    border-radius: 50px;
    box-sizing: border-box;
}

.location03_pre2 a.btn-schedule .btn-schedule__icon {
    width: 1.35em;
    height: 1.35em;
    flex-shrink: 0;
    object-fit: contain;
}

/* セクションタイトル（左ボーダーピンク化） */
.location03_pre2 .h3_line_blue {
    margin: 0;
    margin-block-start: 80px !important;
    border-left: 8px solid #dd4d6c;
    font-size: 2.2rem;
    color: #333333;
    padding: 4px 0 4px 14px;
    line-height: 1.4;
}

/* 小見出し（ボックス） */
.location03_pre2 .loc03pre2-subTitle {
    display: block;
    clear: both;
    width: fit-content;
    margin: 0 0 1.5em;
    padding: 8px 18px;
    background-color: #fef8f8;
    border: 2px solid #e5b8c6;
    border-radius: 6px;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 1.8rem;
    color: #dd4d6c;
    line-height: 1.4;
}

/* タブレット：PC用レイアウト画像を表示（sp用を非表示） */
.location03_pre2 .pc_none {
    display: none !important;
}

.location03_pre2_text {
    margin-block-start: 30px !important;
    margin-block-end: initial !important;
    /* padding-inline-start: 16px; */
    line-height: 1.8;
}

/* 2カラム（画像右＋テキスト左）：東京ページ同様に高さ揃え */
.location03_pre2 .col2_right_pic + .pc_none + .location03_pre2_text {
    margin-block-start: 0 !important;
    margin-bottom: initial !important;
}

.location03_pre2 .col2_right_pic img {
    width: 100%;
    height: auto;
}

/* location03_pre2: 学べること／お声（カード表示） */
.location03_pre2 .loc03pre2-cardList.voice-top {
    margin-block-start: 30px !important;
    width: 100%;
    max-width: 100%;
}

.location03_pre2 .loc03pre2-cardList .voice-top_inner {
    gap: 18px;
    align-items: stretch;
}

.location03_pre2 .loc03pre2-cardList .voice_box {
    background-color: #fef8f8;
    border: 2px solid #e5b8c6;
    border-radius: 6px;
    padding: 18px 18px 16px;
    box-sizing: border-box;
    text-align: left;
}

.location03_pre2 .loc03pre2-cardList .voice-top__head {
    justify-content: flex-start;
    align-items: flex-end;
    margin-bottom: 0.6em;
}

.location03_pre2 .loc03pre2-cardList .voice-top__badge-txt {
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    color: #dd4d6c;
    text-align: left;
}

.voice_box.voice_box--top-card {
    .voice-top__badge-txt {
        font-size: 18px;
    }
}

.location03_pre2 .loc03pre2-cardList .voice_txt {
    line-height: 1.75;
}

/* ご参加の流れ（ステップ） */
.wp.location03_pre2 .flowSteps {
    margin-block-start: 30px !important;
    display: flex;
    gap: 0;
    border: 2px solid #e5b8c6;
    border-radius: 6px;
    overflow: hidden;
    background: #fef8f8;
}

.wp.location03_pre2 .flowStep {
    position: relative;
    flex: 1 1 0;
    padding: 1.1em 0.8em 0.9em;
    text-align: center;
    background: transparent;
}

.wp.location03_pre2 .flowStep + .flowStep {
    border-left: 2px solid #e5b8c6;
}

.wp.location03_pre2 .flowStep:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 9px;
    height: 9px;
    box-sizing: border-box;
    border-right: 2px solid #e5b8c6;
    border-bottom: 2px solid #e5b8c6;
    border-top: 0;
    border-left: 0;
    transform: translate(60%, -50%) rotate(-45deg);
    pointer-events: none;
    z-index: 2;
}

.wp.location03_pre2 .flowStep:not(:last-child)::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -3px;
    translate: 0 -50%;
    width: 4px;
    height: 12px;
    background: #fef8f8;
    pointer-events: none;
    z-index: 1;
}

.wp.location03_pre2 .flowStep__meta {
    font-size: 1.5rem;
    color: #dd4d6c;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-bottom: 0.7em;
    line-height: 1;
}

.wp.location03_pre2 .flowStep__ttl {
    font-size: 1.7rem;
    font-weight: 700;
    color: #333333;
    line-height: 1.3;
    letter-spacing: 0.04em;
    margin-bottom: 0.6em;
}

.wp.location03_pre2 .flowStep__sub {
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    color: #333333;
    line-height: 1;
}

/* よくあるご質問 */
.loc03pre2-faqList {
    margin-block-start: 30px;
    padding: 14px 16px;
    border-radius: 6px;
    background: #fef8f8;
    strong {
        font-size: 1.8rem;
        line-height: 2;
        font-weight: 700;
    }
}

.loc03pre2-faqList p {
    margin: 0;
    line-height: 1.8;
}

.loc03pre2-faqList + .loc03pre2-faqList {
    margin-block-start: 16px;
}

/* カードリスト共通の補足テキスト */
.loc03pre2-cardDesc {
    margin-block-start: 30px;
    padding-inline-start: 16px;
    line-height: 1.8;
}

.loc03pre2-linkCards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1rem 1.25rem;
    margin-top: 0.75rem;
}

.loc03pre2-linkCard {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    /* box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06); */
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s ease;
}

.loc03pre2-linkCard:hover {
    opacity: 0.8;
}

.loc03pre2-linkCard__body {
    display: flex;
    flex-direction: column;
    gap: 0.35em;
    min-width: 0;
    text-align: left;
}

.loc03pre2-linkCard__ttl {
    display: block;
    font-weight: 700;
    font-size: 1.6rem;
    color: #222;
    line-height: 1.4;
}

.loc03pre2-linkCard__desc {
    display: block;
    font-weight: 400;
    font-size: 1.35rem;
    color: #666;
    line-height: 1.5;
}

.loc03pre2-linkCard__btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    background-color: #dd4d6c;
    background-image: url(../images2/mark/ic_arrow_white01.png);
    background-repeat: no-repeat;
    background-position: 55% 50%;
    background-size: 0.8rem auto;
}

/* 日程確認リンクカード（location03_pre2.html） */
.location03_pre2 .loc03pre2-linkCards--schedule {
    margin-block-start: 30px;
}

.location03_pre2 .loc03pre2-linkCard__ttl.ic_schedule_calendar,
.location03_pre2 .loc03pre2-linkCard__ttl.ic_schedule_note {
    display: inline-block;
    padding-left: 2.15em;
}

.location03_pre2 .loc03pre2-linkCard__ttl.ic_schedule_calendar {
    position: relative;
}

.location03_pre2 .loc03pre2-linkCard__ttl.ic_schedule_calendar::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    translate: 0 -50%;
    width: 1.35em;
    height: 1.35em;
    background: url(../images2/mark/ic_calendar.png) no-repeat center / contain;
    filter: brightness(0) saturate(100%) invert(42%) sepia(55%) saturate(1200%)
        hue-rotate(310deg) brightness(95%);
}

.location03_pre2 .loc03pre2-linkCard__ttl.ic_schedule_note {
    background: url(../images2/mark/ic_note_pink.png) no-repeat 0 center;
    background-size: 1.35em auto;
}

/* 末尾のお問い合わせ前メッセージ */
.loc03pre2-contact {
    margin-block-start: 80px;

    p {
        margin: 0;
        padding: 0;
    }

    .loc03pre2-contact__ttl {
        text-align: center;

        span {
            font-size: 2rem;
            line-height: 2;
        }
    }

    .loc03pre2-contact__text {
        text-align: center;
    }
}

.h1_pink.about01-title {
    margin-block-end: 10px !important;
    font-size: 1.8rem;
    min-height: calc(4.5em + 14px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.h1_pink.about01-title:before {
    width: 65px;
    bottom: 5px;
}

.voice_box.about01-voice-box {
    display: flex;
    flex-direction: column;
    align-items: center;

    .voice-top__head {
        width: 100%;
        max-height: 250px;
    }
}

.voice_box.about01-voice-box .voice-top__head img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.voice_txt.about01-voice-text {
    text-align: center;
}

.voice-top__content.about01-voice-content,
.button-flex.about01-button-flex {
    width: 100%;
    max-width: 200px;
}

/* location03_preページ：チェックリスト（.wp.location03_pre2 内の ul のみ対象） */
.wp.location03_pre2 ul.location03_pre2_text-lead {
    list-style: none;
    margin: 0.5em 0 1em;
    padding: 1em 1.1em;
    width: 100%;
}

.wp.location03_pre2 ul.location03_pre2_text-lead li {
    display: flex;
    align-items: flex-start;
    gap: 0.7em;
    margin: 0;
    padding: 0.5em 0;
    font-size: 1.05em;
    font-weight: 400;
    color: #222;
    text-align: left;
    line-height: 1.65;
    font-weight: 700;
}

.wp.location03_pre2 ul.location03_pre2_text-lead li:first-child {
    padding-top: 0;
}

.wp.location03_pre2 ul.location03_pre2_text-lead li:last-child {
    padding-bottom: 0;
}

.wp.location03_pre2 ul.location03_pre2_text-lead li::before {
    content: "";
    flex-shrink: 0;
    width: 1.35em;
    height: 1.35em;
    margin-top: 0.12em;
    background: url(../images2/location/check-icon.svg) no-repeat center /
        contain;
}

/* mail_mag01_pre.html 専用 */
.wp.mail_mag01_pre .mailmag-line-promo {
    max-width: 720px;
    margin: 0 auto 2em;
}

.wp.mail_mag01_pre .mailmag-line-promo__headline {
    color: #06c755;
    text-align: center;
    margin: 0 0 0.8em;
    font-weight: bold;
}

.wp.mail_mag01_pre .mailmag-line-promo__box {
    display: flex;
    align-items: center;
    gap: 1em;
    background: #faf6f0;
    border: 1px solid #e5ddd0;
    border-radius: 12px;
    padding: 1.2em 1.5em;
}

.wp.mail_mag01_pre .mailmag-line-promo__icon {
    flex-shrink: 0;
    width: 48px;
    height: auto;
}

.wp.mail_mag01_pre .mailmag-line-promo__text {
    flex: 1;
    text-align: left;
    line-height: 1.7;
}

.wp.mail_mag01 .mailmag-line-promo__brand,
.wp.mail_mag01_pre .mailmag-line-promo__brand {
    word-break: normal;
    overflow-wrap: break-word;
}

/* mail_mag01_pre.html 専用 */

.mailmag-line-link-box {
    max-width: 480px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: 1em;

    a.btn_base_pink {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        min-width: 0;
    }
}

.wp.mail_mag01 .small {
    font-size: 0.8em;
}

.btn_base_pink.line-button {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6em;
    padding-left: 1.2em;
    background-color: #06c755;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-width: 0;
    display: flex;
}

.btn_base_pink.line-button .line-button__icon {
    width: 2em;
    height: 2em;
    flex-shrink: 0;
}

.line-button_under-text {
    display: block;
    color: #06c755;
    text-align: center;
    font-weight: 700;
}

.button_under-text {
    display: block;
    text-align: center;
    font-weight: 700;
}

.wp.mail_mag01 .mailmag-line-promo {
    max-width: 550px;
    margin-block-end: 2em;
}

.wp.mail_mag01 .mailmag-line-promo__box {
    display: flex;
    align-items: center;
    gap: 1em;
    background: #faf6f0;
    border: 1px solid #e5ddd0;
    /* border-radius: 12px; */
    padding: 1.2em 1.5em;
}

.wp.mail_mag01 .mailmag-line-promo__icon {
    flex-shrink: 0;
    width: 48px;
    height: auto;
}

.wp.mail_mag01 .mailmag-line-promo__text {
    font-weight: 700;
}

.layout-top-mag01 {
    margin-top: 50px;
}

.location06-tokyo p,
.topics34 p {
    margin-bottom: initial !important;
}

.topics34 .mb2em {
    margin-bottom: 2em !important;
}

.location06-tokyo .h2base {
    display: none;
}

.location06-tokyo .pc_none {
    display: none !important;
}

.location06-tokyo .loc06-intro-row {
    clear: both;
    overflow: hidden;
}

.location06-tokyo .box_blue {
    width: 50%;
}

.location06-tokyo .location_facade {
    margin-bottom: 2em;
    width: auto;
}

.location06-tokyo .location_ad {
    width: 100%;
    min-width: initial;
}

.location06-sns {
    padding: 16px 1em 13px 1em;
}

.location06-sns .ic_instagram_sns,
.location06-sns .ic_blog_green,
.location06-sns .ic_note_sns {
    line-height: 2;
}

/* application-list・topics34・select_zm：PCフローティング（ご予約はこちら）を非表示 */
body.page-application-list .side_bn_cir.u-pc,
body.page-topics34 .side_bn_cir.u-pc,
body.page-select-zm .side_bn_cir.u-pc {
    display: none;
}

.col2_right_pic--event {
    width: 40%;
    img {
    width: 70% !important;
    min-width: 220px;
  }
}

.h2_box_blue.h2_box_blue--full {
    display: block;
    width: fit-content; 
    margin-inline: auto;
    text-align: center;
    line-height: 1.2;
}

.location03_pre2:has(.event-text-box) {
    max-width: 730px;
    margin-inline: auto;
}

.event-text-box p{
  margin-block-start: initial !important;
}

.event-text-box a.btn-schedule {
    font-size: 1.7rem;
    margin-block-start: 2em;
    margin-inline-start: -2em;
  }

  .event-text-box__note {
   text-align: center;
    margin-inline-start: -3em;
  }

/* ━━━━━ topics34_pre 8月キャンペーン (kmAug) TB ━━━━━━━━━━━━━━━ */
.kmAug {
    margin: 0 auto;
    color: #4d4d4d;
}

.kmAug img {
    max-width: 100%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 8px;
}

.kmAug a.kmAug-cta {
    margin-block-start: 10px;
    display: inline-block;
    background: url(../images2/mark/ic_arrow_white01.png) no-repeat 97% center #DD4D6C;
    background-size: 1em auto;
    color: #fff;
    font-weight: 700;
    font-size: 1.5rem;
    padding: 12px 40px 12px 22px;
    border-radius: 6px;
    text-decoration: none;
    line-height: 1.3;
}

.kmAug a.kmAug-cta:hover {
    color: #fff;
    opacity: 0.8;
}

.kmAug a.kmAug-cta-wide {
    display: block;
    text-align: center;
}

.kmAug h1 {
    margin: 0;
    font-weight: 900;
    color: #5472A0;
    font-size: 3.0rem;
    line-height: 1.45;
}

.kmAug h2 {
    text-align: center;
    margin: 0 0 28px;
    font-weight: 700;
    color: #5472A0;
    font-size: 2.7rem;
}

/* HERO */
.kmAug .kmAug-hero {
    position: relative;
    padding: 32px 16px 0;
    background: url(../images2/topics/topic34_leaves-bg.webp) center top / cover no-repeat;
    overflow: hidden;
}

.kmAug .kmAug-hero-inner {
    display: grid;
    grid-template-columns: minmax(90px, 120px) minmax(0, 1fr) minmax(200px, 260px);
    column-gap: 8px;
    align-items: end;
    max-width: 960px;
    margin: 0 auto;
    min-height: 360px;
    position: relative;
    padding-right: 24px;
}

.kmAug .kmAug-hero-illust {
    width: 110px;
    max-width: 100%;
    height: auto;
    align-self: end;
    justify-self: start;
    border-radius: 0;
    position: relative;
    z-index: 2;
    margin: 0 0 6px 4px;
}

.kmAug .kmAug-hero-copy {
    align-self: center;
    text-align: center;
    padding: 16px 4px 10px;
    position: relative;
    z-index: 2;
}

.kmAug .kmAug-hero-copy h1 {
    font-size: 2.6rem;
    line-height: 1.4;
    color: #3d5a80;
    white-space: nowrap;
}

.kmAug .kmAug-eyebrow {
    color: #c45a5a;
    font-weight: 700;
    font-size: 1.5rem;
    margin: 0 0 10px;
}

.kmAug .kmAug-price-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 16px 0 0;
}

.kmAug .kmAug-price-arrow {
    flex: 0 0 auto;
    font-size: 1.4rem;
    color: #DD4D6C;
    line-height: 1;
}

.kmAug .kmAug-price-normal {
    flex: 0 1 auto;
    text-align: center;
    white-space: nowrap;
}

.kmAug .kmAug-price-normal small {
    display: block;
    font-size: 1.1rem;
    color: #666;
}

.kmAug .kmAug-price-normal strong {
    font-size: 1.7rem;
    text-decoration: line-through;
    color: #666;
}

.kmAug .kmAug-price-normal span {
    font-size: 1.0rem;
    color: #666;
}

.kmAug .kmAug-price-special {
    flex: 0 1 auto;
    background: #fdeef1;
    border-radius: 10px;
    border: none;
    padding: 6px 12px;
    text-align: center;
    white-space: nowrap;
}

.kmAug .kmAug-price-special small {
    display: block;
    font-size: 1.05rem;
    font-weight: 700;
    color: #DD4D6C;
}

.kmAug .kmAug-price-special strong {
    font-size: 1.9rem;
    font-weight: 900;
    color: #DD4D6C;
}

.kmAug .kmAug-price-special span {
    font-size: 1.0rem;
    color: #DD4D6C;
}

.kmAug .kmAug-price-note {
    margin: 8px 0 14px;
    font-size: 1.15rem;
    color: #555;
}

.kmAug .kmAug-hero-cta {
    margin-top: 4px;
}

.kmAug .kmAug-hero-photo {
    position: relative;
    width: 100%;
    max-width: 220px;
    height: auto;
    align-self: end;
    justify-self: end;
    margin: 0;
    border-radius: 0;
    background: none;
}

.kmAug .kmAug-hero-photo img {
    width: 100%;
    height: auto;
    border-radius: 0;
    object-fit: contain;
    object-position: bottom center;
}

.kmAug .kmAug-hero-vertical {
    writing-mode: vertical-rl;
    color: #5472A0;
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.6;
    margin: 0;
    position: absolute;
    right: -18px;
    top: 10%;
}

/* SYMPTOMS */
.kmAug .kmAug-symptoms {
    background: #fbf6e7;
    padding: 40px 30px;
}

.kmAug .kmAug-symptom-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 30px;
}

.kmAug .kmAug-symptom-card {
    background: #fff;
    border-radius: 10px;
    padding: 16px 8px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .05);
}

.kmAug .kmAug-symptom-card .check {
    display: block;
    color: #DD4D6C;
    font-weight: 900;
    font-size: 1.5rem;
    margin-bottom: 6px;
}

.kmAug .kmAug-symptom-card b {
    display: block;
    font-size: 1.15rem;
    line-height: 1.35;
    white-space: normal;
    font-weight: 700;
}

.kmAug .kmAug-symptom-card .icon {
    margin-top: 8px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 64px;
    height: auto;
}

/* 2カラム共通 */
.kmAug .kmAug-two-col {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    flex-wrap: wrap;
    flex-direction: column;
}

.kmAug .kmAug-two-col p,
.kmAug .kmAug-about-copy p {
    font-size: 1.5rem;
    line-height: 1.85;
    margin: 0 0 14px !important;
}

.kmAug .kmAug-sky-photo {
    width:100%;
    max-width: 300px;
    height: auto;
    border-radius: 8px;
    margin-inline: auto;
}

/* ABOUT */
.kmAug .kmAug-about {
    padding: 40px 30px;
}

.kmAug .kmAug-about .lead {
    font-weight: 700;
    color: #5472A0;
    font-size: 2.0rem;
    margin: 0 0 18px;
}

.kmAug .kmAug-tags {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.kmAug .kmAug-tags span {
    background: #eaf5ff;
    border: 1px solid rgba(84, 114, 160, .4);
    color: #5472A0;
    font-size: 1.2rem;
    font-weight: 700;
    padding: 7px 14px;
    border-radius: 20px;
    white-space: nowrap;
}

.kmAug .kmAug-lookup-photo {
    margin-inline: auto;
    width:100%;
    max-width: 300px;
    height: auto;
    border-radius: 8px;
}

/* TESTIMONIAL */

.kmAug .kmAug-testimonial {
    background: #fbf6e7;
    padding: 40px 30px;
}

.kmAug .kmAug-testimonial-row {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}

.kmAug .kmAug-badge {
    order: 1;
    flex: 0 0 auto;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
    padding: 10px;
}

.kmAug .kmAug-badge strong {
    color: #DD4D6C;
    font-size: 1.3rem;
    line-height: 1.4;
}

.kmAug .kmAug-badge span {
    font-size: 1.1rem;
    color: #666;
    margin-top: 6px;
}

.kmAug .kmAug-testimonial blockquote {
    max-width: 500px;
    width: 100%;
    margin-inline: auto;
    order: 2;
    font-size: 1.5rem;
    line-height: 1.85;
    text-align: center;
}

.kmAug .kmAug-testimonial blockquote p {
    margin: 0 0 10px;
}

.kmAug .kmAug-stretch-photo {
    order: 3;
    flex: 0 0 100%;
    width: 100%;
    height: auto;
    background: none;
}

.kmAug .kmAug-stretch-photo img {
    width: 100%;
    max-width: 300px;
    height: auto;
    margin: 0 auto;
    border-radius: 8px;
}

/* CLOSING / OFFER */
.kmAug .kmAug-closing {
    padding: 40px 30px;
}

.kmAug .kmAug-closing-copy {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    font-size: 1.5rem;
    line-height: 1.85;
    margin-bottom: 30px;
}

.kmAug .kmAug-closing-copy p {
    flex: 1;
    min-width: 260px;
    margin: 0;
}

.kmAug .kmAug-offer {
    border: 2px solid rgba(221, 77, 108, .4);
    border-radius: 12px;
    padding: 24px;
    background: #fff;
}

.kmAug .kmAug-offer h3 {
    font-weight: 700;
    color: #DD4D6C;
    font-size: 2.0rem;
    margin: 0 0 14px;
}

.kmAug .kmAug-offer-row {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.kmAug .kmAug-offer-copy {
    flex: 1;
    min-width: 220px;
    font-size: 1.5rem;
    line-height: 1.8;
    margin: 0;
}

.kmAug .kmAug-offer-prices {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

/* 「5,500円」と「期日バッジ」を縦並びにして横幅を抑える */
.kmAug .kmAug-price-stack {
    flex: 0 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.kmAug .kmAug-mini-price {
    flex: 0 1 auto;
    text-align: center;
    white-space: nowrap;
}

.kmAug .kmAug-mini-price div:first-child {
    font-size: 1.1rem;
    color: #666;
}

.kmAug .kmAug-mini-price div:last-child {
    font-size: 1.7rem;
    font-weight: 700;
    text-decoration: line-through;
    color: #666;
}

/* 折り返さないため、矢印はコンパクトに */
.kmAug .kmAug-offer-prices > div:not([class]) {
    flex: 0 0 auto;
    font-size: 1.4rem !important;
    line-height: 1;
}

.kmAug .kmAug-big-price {
    flex: 0 1 auto;
    background: #fef8f8;
    border: 2px solid #e5b8c6;
    border-radius: 8px;
    padding: 6px 12px;
    text-align: center;
    white-space: nowrap;
}

.kmAug .kmAug-big-price div:first-child {
    font-size: 1.05rem;
    font-weight: 700;
    color: #DD4D6C;
}

.kmAug .kmAug-big-price div:last-child {
    font-size: 1.9rem;
    font-weight: 900;
    color: #DD4D6C;
}

.kmAug .kmAug-big-price span {
    font-size: 1.0rem;
    font-weight: 500;
}

.kmAug .kmAug-deadline {
    flex: 0 0 auto;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #DD4D6C;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 1.0rem;
    font-weight: 700;
    line-height: 1.35;
}

.kmAug .kmAug-offer-note {
    text-align: center;
    font-size: 1.2rem;
    color: #666;
    margin: 10px 0 0;
}

.kmAug .kmAug-reassurance {
    margin: 28px 0 0;
    border-radius: 10px;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    gap: 16px;
    background: #eaf5ff;
}

.kmAug .kmAug-reassurance p {
    flex: 1;
    font-size: 1.4rem;
    line-height: 1.8;
    margin: 0;
}

.kmAug .kmAug-closing-cta {
    margin: 28px 0 0;
    line-height: 1.8;
}

.topics34-taiken-wrapper {
    padding-inline: 24px;
}



/* ━━━━━ お問い合わせ・資料請求 選択ページ ━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.inquiry_select {
  margin: 0 auto 2.5em;
  max-width: 920px;
}

.inquiry_select__lead {
  text-align: center;
  font-size: 1.55rem;
  line-height: 1.9;
  margin: 0 0 1.1em;
  color: #333;
}

.inquiry_select__faq {
  text-align: center;
  margin: 0 0 2em;
}

.inquiry_select__faq a {
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
  color: #248088;
  font-weight: bold;
  text-decoration: none;
  font-size: 1.5rem;
}

.inquiry_select__faq a::before {
  content: "?";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.4em;
  height: 1.4em;
  border: 2px solid #248088;
  border-radius: 50%;
  font-size: 0.95em;
  line-height: 1;
  box-sizing: border-box;
}

.inquiry_select__faq a::after {
  content: "";
  display: inline-block;
  width: 0.45em;
  height: 0.45em;
  border-top: 2px solid #248088;
  border-right: 2px solid #248088;
  transform: rotate(45deg);
  margin-left: 0.15em;
}

.inquiry_select__faq a:hover {
  text-decoration: underline;
}

.inquiry_select__cards {
  display: flex;
  gap: 20px;
  margin-bottom: 1.8em;
}

.inquiry_select__card {
  flex: 1;
  box-sizing: border-box;
  border-radius: 12px;
  padding: 1.8em 1.2em 1.6em;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.inquiry_select__card--pink {
  background: #fef8f8;
  border: 2px solid #e5b8c6;
}

.inquiry_select__card--green {
  background: #f3faf9;
  border: 2px solid #9ec9cb;
}

.inquiry_select__icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1em;
}

.inquiry_select__card--pink .inquiry_select__icon {
  background: #DD4D6C;
}

.inquiry_select__card--green .inquiry_select__icon {
  background: #248088;
}

.inquiry_select__icon svg,
.inquiry_select__icon img {
  width: 34px;
  height: 34px;
  display: block;
}

.inquiry_select__card--green .inquiry_select__icon svg {
  width: 39px;
  height: 39px;
}

.inquiry_select__card--green .inquiry_select__icon svg path,
.inquiry_select__card--green .inquiry_select__icon svg polygon {
  fill: #ffffff !important;
  stroke: none;
}

.inquiry_select__ttl {
  font-size: 2.2rem;
  font-weight: bold;
  margin: 0 0 0.8em;
  line-height: 1.3;
}

.inquiry_select__ttl::after {
  content: "";
  display: block;
  width: 2.4em;
  height: 4px;
  margin: 0.5em auto 0;
  background-image: radial-gradient(circle, currentColor 1.2px, transparent 1.3px);
  background-size: 6px 4px;
  background-repeat: space;
  background-position: center;
}

.inquiry_select__card--pink .inquiry_select__ttl {
  color: #DD4D6C;
}

.inquiry_select__card--green .inquiry_select__ttl {
  color: #248088;
}

.inquiry_select__txt {
  font-size: 1.35rem;
  line-height: 1.8;
  margin: 0 0 1.4em;
  color: #444;
  flex-grow: 1;
}

.inquiry_select__txt br {
  display: none;
}

.inquiry_select__btn {
  display: inline-block;
  min-width: 13em;
  padding: 0.65em 2em 0.65em 1.2em;
  border-radius: 999px;
  color: #fff !important;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  text-decoration: none;
  background-image: url(../images2/mark/ic_arrow_white01.png);
  background-repeat: no-repeat;
  background-position: 92% center;
  background-size: 0.85em auto;
  box-sizing: border-box;
}

.inquiry_select__btn--pink {
  background-color: #DD4D6C;
}

.inquiry_select__btn--green {
  background-color: #248088;
}

.inquiry_select__btn:hover {
  opacity: 0.85;
}

.inquiry_select__note {
  display: flex;
  align-items: flex-start;
  gap: 0.9em;
  background: #f3f3f3;
  border-radius: 10px;
  padding: 1.2em 1.3em;
  margin: 0 0 2.2em;
  box-sizing: border-box;
}

.inquiry_select__note-icon {
  flex-shrink: 0;
  width: 1.55em;
  height: 1.55em;
  margin-top: 0.15em;
  color: #248088;
}

.inquiry_select__note-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.inquiry_select__note ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.inquiry_select__note li {
  position: relative;
  padding-left: 1em;
  font-size: 1.35rem;
  line-height: 1.75;
  color: #555;
}

.inquiry_select__note li::before {
  content: "・";
  position: absolute;
  left: 0;
}

.inquiry_select__note span {
  white-space: nowrap;
}

/* お見舞いメッセージ*/
.condolence-message {
  background-color: #f9f9f9;
  padding: 35px 0;
}

.condolence-message__inner {
  width: 1022px;
  max-width: 90%;
  margin: 0 auto;
  text-align: center;
}

.condolence-message__title {
  margin: 0 0 16px;
}

.condolence-message__text {
  margin: 0;
}

.condolence-message__text + .condolence-message__text {
  margin-top: 1em;
}
