/*
Template: jin
Theme Name: jin-child
Author: CrossPiece
Version: 1.00
*/


.article_style2 .cps-post-box {
	padding-right: 0;
}

#header-box .header-box11-bg:before {
	border-radius: 30px !important;
}

#topheader{
    position: relative;/*h1の中央寄せ配置の起点とするためのrelative*/
	z-index:200;
    height: 450px;/*高さを全画面にあわせる*/
	background: url(/images/topimage.jpg) no-repeat;
	background-size:cover;
} 



@media (min-width: 1200px) {
  #header-box.header-style11 {
  position: fixed;  /* 位置を固定する */
    top: 15px;
    left: 0;
    right: 0;
    z-index: 3;
  }
}


/* PC版 トップページ以外のページで上部をグローバルナビ分間隔を取る */
@media (min-width:1200px) {
		#contents {
				margin-top: 120px;
				margin-bottom: 10px;
		}
		body.home #contents {
				margin-top: 0;
				margin-bottom: 10px;
		}
}

body, li , p {
	font-family: 'M PLUS 1p', sans-serif;
	font-weight: 500;
}

.cps-post-main p {
	line-height:2em;
}


body.page #wrapper {
	background: url(/images/bg_body.gif) 0 0 no-repeat;
	background-size: 100% 100%;
}


#header-box.header-style11,
.header-style11 #header {
	width: 1200px;
	padding: 0;
	z-index: 9999999;
}

#header-box.header-style10 {
	width: 1200px;
}

#drawernav3 ul.menu-box li.menu-item {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: bold;
}

#drawernav3 ul.menu-box li.menu-item a {
	padding: 3px 9px;
	font-size: 14px !important;
}


#drawernav3 ul.menu-box {
	margin-top:11px;
	padding-left: 10px;
}

#drawernav3 {
	margin-top: 18px;
	width: 980px;
	height: 55px;
	position: relative;
	background-color: rgba(69, 53, 49, 0.6);
	border: 1px solid #ffffff;
	border-radius: 99999px;
}

#drawernav3 ul.menu-box li:nth-last-child(1) {
	background-image: linear-gradient(0deg, rgba(219, 20, 53, 1), rgba(249, 19, 98, 1) 90%);
	border-radius: 99999px;
}

#drawernav3 ul.menu-box li:nth-last-child(2) {
	background-image: linear-gradient(0deg, rgba(219, 20, 53, 1), rgba(249, 19, 98, 1) 90%);
	border-radius: 99999px;
	margin-right: 5px;
}

#drawernav3 ul.menu-box li.menu-item a {
	height: auto !important;
	border-bottom: none !important;
	
}

#drawernav3 ul.menu-box li.menu-item-29 a {
	color: #ffffff !important;
}

#drawernav3 ul.menu-box li.menu-item a:after {
	height: 1px !important;
}
#drawernav3 ul.menu-box li.menu-item ul.sub-menu {
	top: 65px !important;
	background: rgba(255, 255, 255, 0.9) !important;
	border-radius: 8px;
}

#drawernav3 ul.menu-box li.menu-item ul.sub-menu li {
	background-image: none !important;
}

#drawernav3 ul.menu-box li.menu-item ul.sub-menu li.menu-item a {
	background : none !important;
}

#main-contents {
	margin-left: 0;
	width: 100%;
}


.top_7thstage_bnr {
	margin: 80px auto;
	width: 980px;
}
.top_7thstage_bnr img {
	width: 100%;
	margin-bottom: 0;
}

.top_7thstage_bnr .stage7th_text {
	display: block;
	padding: 8px;
	text-align: center;
	background: #0F1827;
	color:  #ffffff;
}

#topcontents01 {
	position: relative;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding-top: 55px;
	padding-bottom: 55px;
	background: url(/images/bg_topcontents01.gif);
}

body.home #contents {
	margin-top:0;
	padding-top:0;
}

body:not(.home) #contents {
	width: 910px;
}

#topcontents01_in {
	position:relative;
	z-index: 999999;
	width: 95%;
	padding: 60px 30px 60px;
	background: #ffffff;
	margin: -100px 0 0 5%;
	color: #333333;
	border-radius: 16px 0 0 16px;
	font-family: 'M PLUS 1p', sans-serif;
}

#topcontents01_in .arrow_btm {
	margin-top: 10px;
	margin-bottom: 10px;
}

#topcontents01_in h3.subcatch {
	margin-bottom: 40px;
	font-size: 30px;
	font-weight: 600;
	font-family: 'M PLUS 1p', sans-serif;
	color: #333333;
}

#topcontents01_in h4 {
    display: inline-block;
    position: relative;
    padding: 0 2.5em;
  text-align: center;
	font-size: 24px;
	font-weight: 600;
	font-family: 'M PLUS 1p', sans-serif;
	color: #d94278;
}

#topcontents01_in h4::before,
#topcontents01_in h4::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    width: 45px;
    height: 3px;
    background-color: #d94278;
}

#topcontents01_in h4::before {
    left: 0;
}

#topcontents01_in h4::after {
    right: 0;
}

#topcontents01_in .topcontents01_in_span {
	position: absolute;
	bottom: 0;
	left: -320px;
}

#topcontents01 .topcontents01_in_span2 {
	position: absolute;
	bottom: 0;
	right: 20px;
}

#topcontents01_in h2 {
	text-align: center;
	margin-bottom: 10px;
	font-size: 40px;
	font-weight: 700;
  font-family: "M PLUS 2", sans-serif;
	color: #333333;
}

#topcontents01_in .textC p {
	margin-top: 0;
}

.topcontents01_in_list {
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
	width: 90%;
	max-width: 1200px;
	margin: 80px auto 0;
}

.topcontents01_in_list .choice_in_comnt {
	width: 32%;
	margin-bottom: 1.4em;
	text-align: center;
	margin-bottom: 2em;
}

.topcontents01_in_list .choice_in_comnt img {
	max-width:100%;
}

.topcontents01_in_list .choice_in_comnt h3 {
	font-size: 24px;
	font-weight: bold;
}

body.page .topcontents01_in_list {
	width: auto;
}


.topcontents01_detailbox {
	text-align: center;
	margin: 20px auto;
	width: 32%;
	padding: 10px;
	background: rgba(255,255,255,0.9);
	border-radius: 8px;
	border: 1px solid #e95388;
}

.topcontents01_detailbox h4 {
	margin-top: 30px;
	margin-bottom: 30px;
	font-size: 20px;
	font-weight: 600;
	font-family: 'M PLUS 1p', sans-serif;
	color: #333333;
}

/* -----------------------------------------------------  topcontents02  ----------------------------------------------------- */

#topcontents02 {
	position: relative;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding-top: 0px;
	padding-bottom: 125px;
	background: url(/images/bg_topcontents01.gif);
}

#topcontents02_in {
	position:relative;
	z-index: 999999;
	width: 85%;
	padding: 60px 30px 60px;
	margin: 0 auto 0;
	color: #333333;
	border-radius: 8px;
	font-family: 'M PLUS 1p', sans-serif;
}

#topcontents02_in .topcontents02_in_p {
	margin-top: 50px;
	line-height: 2em;
	font-size: 18px;
}

#topcontents02_in .arrow_btm {
	margin-top: 10px;
	margin-bottom: 10px;
}

#topcontents02_in h2 {
	text-align: center;
	margin-bottom: 10px;
	font-size: 40px;
	font-weight: 700;
  font-family: "M PLUS 2", sans-serif;
	color: #333333;
}

#topcontents02_in h3.subcatch {
	margin-bottom: 40px;
	font-size: 30px;
	font-weight: 600;
	font-family: 'M PLUS 1p', sans-serif;
	color: #333333;
}

#topcontents02_in h4 {
    display: inline-block;
    position: relative;
    padding: 0 2.5em;
  text-align: center;
	font-size: 24px;
	font-weight: 600;
	font-family: 'M PLUS 1p', sans-serif;
	color: #d94278;
}

#topcontents02_in h4::before,
#topcontents02_in h4::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    width: 45px;
    height: 3px;
}

#topcontents02_in h4::before {
    left: 0;
}

#topcontents02_in h4::after {
    right: 0;
}

#topcontents02_in .topcontents02_in_p {
	text-align: center;
}

.scroll-infinity {
	margin-bottom:60px;
}

.scroll-infinity .scroll-infinity__wrap li.scroll-infinity__item {
	margin-right: 15px;
}

@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 6);
}
.scroll-infinity__item>img {
  width: 100%;
}



/* -----------------------------------------------------  topigusaitem  ----------------------------------------------------- */
#topigusaitem {
	position:relative;
	z-index: 999999;
	max-width: 980px;
	padding: 60px 10px 60px;
	margin: 0 auto;
	color: #333333;
	font-family: 'M PLUS 1p', sans-serif;
	line-height: 2em;
	font-size: 18px;
}

#topigusaitem h2 {
	text-align: center;
	margin-bottom: 10px;
	font-size: 40px;
	font-weight: 700;
  font-family: "M PLUS 2", sans-serif;
	color: #333333;
}

#topigusaitem h3 {
	margin-bottom: 40px;
	font-size: 16px;
	font-weight: 600;
	font-family: 'M PLUS 1p', sans-serif;
	color: #333333;
}


#topigusaitem_img {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
}

#topigusaitem_img img {
  width: 24%;
  box-sizing: border-box;
  vertical-align: bottom;
	margin-bottom: 10px;
	border-radius: 8px;
}


@media screen and (max-width: 767px) {
  #topigusaitem_img img {
    width: 49%;
  }
}



/* -----------------------------------------------------  topcontents03  ----------------------------------------------------- */

#topcontents03 {
	position: relative;
	width: 100%;
	margin: 0 0;
	padding-top: 55px;
	padding-bottom: 55px;
	background: #ffffff;
}

#topcontents03_in {
	position:relative;
	z-index: 999999;
	width: 900px;
	padding: 60px 30px 60px;
	margin: -140px auto 0;
	color: #333333;
	border-radius: 8px;
	font-family: 'M PLUS 1p', sans-serif;
	background: #ffffff;
}

#topcontents03_in .arrow_btm {
	margin-top: 10px;
	margin-bottom: 10px;
}

#topcontents03_in h2 {
	text-align: center;
	margin-bottom: 10px;
	font-size: 40px;
	font-weight: 700;
  font-family: "M PLUS 2", sans-serif;
	color: #333333;
}

#topcontents03_in h3.subcatch {
	margin-bottom: 40px;
	font-size: 30px;
	font-weight: 600;
	font-family: 'M PLUS 1p', sans-serif;
	color: #333333;
}

#topcontents03_in h4 {
    display: inline-block;
    position: relative;
	margin-top: 20px;
    padding: 0 2.5em;
  text-align: center;
	font-size: 20px;
	font-weight: 600;
	font-family: 'M PLUS 1p', sans-serif;
	color: #222222;
}


.topcontents03_in_table {
	width: 480px;
	margin: 0 auto;
}

.topcontents03_in_table .price-table {
	border-top: 1px solid #dddddd;
	width: 100%;
}

.topcontents03_in_table .price-table td,
.topcontents03_in_table .price-table th {
	border-bottom: 1px solid #dddddd;
	padding: 20px;
}

.topcontents03_detailbox {
	margin-top:50px;
	background: #ebf4f8;
	border-radius: 14px;
	padding: 0 26px 26px;
	text-align: center;
}

.topcontents03_mini {
	font-size: 12px;
}



/* -----------------------------------------------------  topcontents04  ----------------------------------------------------- */

#topcontents04 {
	margin-bottom: 0;
	padding: 50px 0 40px;
	background: url(/images/bg_topcontents02.gif);
}

#topcontents04box {
	width: 980px;
	margin: 0 auto;
	padding: 20px 0;
}

#topcontents04box h2 {
	text-align: center;
	margin-bottom: 10px;
	font-size: 40px;
	font-weight: 700;
  font-family: "M PLUS 2", sans-serif;
	color: #333333;
}

#topcontents04box h2 span {
	display: block;
	text-align: center;
	font-size: 16px;
	font-weight: normal;
	color: #333333;
}

#topcontents04_in_list {
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
	margin-top:50px;
}
.topcontents04box_in {
	width: 32%;
	margin-bottom: 1.4em;
	text-align: center;
	margin-bottom: 2em;
}

#topcontents04_in_list::after{
  content:"";
  display: block;
  width:31%;
}

#topcontents04_in_list .casestudies_li {
	width: 32%;
	margin-bottom: 2em;
	list-style: none;
	margin-bottom: 20px;
	text-align: center;
}

#topcontents04_in_list .casestudies_li img {
	margin-bottom: 5px;
}

.topcontents04box_in img{
	width: 100%;
	border-radius: 8px;
}

#topcontents04box_in .blogname {
	display: block;
	text-align: center;
	color: #333333;
}

.topcontents04box_in .blogdate {
	font-size: 0.8125em;
	display: block;
	text-align: center;
	
}

.topcontents04box_in h3 {
	font-size: 22px;
}

body.archive .topcontents04box .topcontents04box_list .topcontents04box_in .blogname {
	color: #333333;
}




/* -----------------------------------------------------  topcontents05  ----------------------------------------------------- */

#topcontents05 {
	position: relative;
	width: 100%;
	margin: 0 0;
	padding-top: 100px;
	padding-bottom: 55px;
	background: #f2f2f2;
}

#topcontents05_in {
	position:relative;
	z-index: 999999;
	width: 900px;
	padding: 0 0 60px;
	margin: 0 auto 0;
	color: #333333;
	border-radius: 8px;
	font-family: 'M PLUS 1p', sans-serif;
}

#topcontents05_in .arrow_btm {
	margin-top: 10px;
	margin-bottom: 10px;
}

#topcontents05_in h2 {
	text-align: center;
	margin-bottom: 40px;
	font-size: 40px;
	font-weight: 700;
  font-family: "M PLUS 2", sans-serif;
	color: #333333;
}

#topcontents05_in_list {
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}

#topcontents05_in_list .flow_in_box {
	width: 270px;
	margin-bottom: 50px;
}

#topcontents05_in_list .flow_in_comnt {
	background: #ffffff;
	border: 1px solid #dadada;
	border-radius: 12px;
	padding: 12px;
}

#topcontents05_in_list .flow_in_box h3 {
	text-align: center;
	font-weight: bold;
	font-size: 18px;
}

#topcontents05_in_list .flow_in_box p {
	font-size: 15px;
	line-height: 1.8em;
}

.flow_in_comnt_attention {
	display: block;
	color: #990000;
	font-weight: bold;
}

#topcontents05_in_list .flowbox01 {
	padding-top: 60px;
	background: url(/images/flow01.png) no-repeat 0 0;
	text-align: center;
}

#topcontents05_in_list .flowbox02 {
	padding-top: 60px;
	background: url(/images/flow02.png) no-repeat 0 0;
	text-align: center;
}

#topcontents05_in_list .flowbox03 {
	padding-top: 44px;
	background: url(/images/flow03.png) no-repeat 0 0;
	text-align: center;
}

#topcontents05_in_list .flowbox04 {
	padding-top: 60px;
	background: url(/images/flow04.png) no-repeat 0 0;
	text-align: center;
}

#topcontents05_in_list .flowbox05 {
	padding-top: 84px;
	background: url(/images/flow05.png) no-repeat 0 0;
	text-align: center;
}

#topcontents05_in_list .flowbox06 {
	padding-top: 60px;
	background: url(/images/flow06.png) no-repeat 0 0;
	text-align: center;
}


/* -----------------------------------------------------  topcontents06  ----------------------------------------------------- */

#topcontents06 {
	position: relative;
	width: 100%;
	margin: 0 0;
	padding-top: 100px;
	padding-bottom: 55px;
}

#topcontents06_in {
	position:relative;
	z-index: 999999;
	width: 900px;
	padding: 0 0 60px;
	margin: 0 auto 0;
	color: #333333;
	border-radius: 8px;
	font-family: 'M PLUS 1p', sans-serif;
}

#topcontents06_in .arrow_btm {
	margin-top: 10px;
	margin-bottom: 10px;
}

#topcontents06_in h2 {
	text-align: center;
	margin-bottom: 40px;
	font-size: 40px;
	font-weight: 700;
  font-family: "M PLUS 2", sans-serif;
	color: #333333;
}

#topcontents06_in h3.subcatch {
	margin-bottom: 40px;
	font-size: 30px;
	font-weight: 600;
	font-family: 'M PLUS 1p', sans-serif;
	color: #333333;
}

#topcontents06_in h4 {
    display: inline-block;
    position: relative;
    padding: 0 2.5em;
  text-align: center;
	font-size: 24px;
	font-weight: 600;
	font-family: 'M PLUS 1p', sans-serif;
	color: #d94278;
}

#topcontents06_in h4::before,
#topcontents06_in h4::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    width: 45px;
    height: 3px;
    background-color: #d94278;
}

#topcontents06_in h4::before {
    left: 0;
}

#topcontents06_in h4::after {
    right: 0;
}

.accordion-003 {
    max-width: 100%;
    margin-bottom: 7px;
    border-bottom: 1px solid #d0d0d0;
}

.accordion-003 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
	font-size: 18px;
}

.accordion-003 summary::-webkit-details-marker {
    display: none;
}

.accordion-003 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .3s;
}

.accordion-003[open] summary::after {
    transform: rotate(225deg);
}

.accordion-003 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    color: #333333;
	line-height: 1.8em;
    transition: transform .5s, opacity .5s;
}

.accordion-003[open] p {
    transform: none;
    opacity: 1;
}




/* -----------------------------------------------------  topcontents07  ----------------------------------------------------- */

.pararax01 {
	background: url(/images/bg_pararax01.jpg);
	background-attachment: fixed;
	background-size: cover;
	background-position: center;
	height: 450px;
	position: relative;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
}

#topcontents07 {
	position: relative;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding-top: 55px;
	padding-bottom: 55px;
}

#topcontents07_in {
	position:relative;
	z-index: 999999;
	width: 95%;
	padding: 60px 30px 60px;
	background: #ffffff;
	margin: -400px 0 0 5%;
	color: #333333;
	border-radius: 16px 0 0 16px;
	font-family: 'M PLUS 1p', sans-serif;
	background: url(/images/bg_topcontents03.gif);
}

#topcontents07box {
	width: 980px;
	margin: 0 auto;
	padding: 20px 0;
}

#topcontents07box h2 {
	text-align: center;
	margin-bottom: 40px;
	font-size: 40px;
	font-weight: 600;
  font-family: "M PLUS 2", sans-serif;
	color: #333333;
}

#topcontents07box h2 span {
	display: block;
	text-align: center;
	font-size: 16px;
	font-weight: normal;
	color: #333333;
}

#topcontents07_in_list {
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}
.topcontents07box_in {
	width: 32%;
	margin-bottom: 1.4em;
	text-align: center;
	margin-bottom: 2em;
}

#topcontents07_in_list::after{
  content:"";
  display: block;
  width:31%;
}

.topcontents07box_in img{
	width: 100%;
	border-radius: 8px;
}

#topcontents07box_in .blogname {
	display: block;
	text-align: left;
	color: #333333;
}

.topcontents07box_in .blogname p {
	font-size: 0.8125em;
	display: block;
	text-align: left;
	
}

.topcontents07box_in h3 {
	font-size: 18px;
	text-align: left;
}

body.archive .topcontents07box .topcontents07box_list .topcontents07box_in .blogname {
	color: #333333;
}



/* ---------------------------------------------------------------------------------  buttonbox_button  ------------------------------------------------------------------------------------------ */
.buttonbox a.buttonbox_button {
    background: #80a52d;
    border-radius: 10px;
	border: 1px solid #999999;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 45px auto;
    max-width: 380px;
    padding: 10px 25px;
    color: #ffffff;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.buttonbox a.buttonbox_button:hover {
    background: #333;
    color: #FFF;
}
.buttonbox a.buttonbox_button:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.buttonbox a.buttonbox_button:hover:after {
    border-color: #FFF;
}


/* ---------------------------------------------------------------------------------  top_newslist  ------------------------------------------------------------------------------------------ */
.top_newslist {
	position: relative;
	padding-top: 80px;
	padding-bottom: 80px;
}

.top_newslist .top_newslist_span {
	position: absolute;
	top: 59px;
	right: 0;
}

.top_newslist h2 {
	margin-bottom: 10px;
	font-family: "Anton", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 40px;
	border-bottom: 1px solid #cccccc;
}

.top_newslist h2 span {
	padding-left: .5em;
	font-size: 20px;
	font-weight: 400;
	font-family: 'M PLUS 1p', sans-serif !important;
}

.newslist_block {
	padding: 8px 0;
}

.newslist_block li {
	list-style: none;
	border-bottom: 1px solid #cdcdcd;
}

.newslist_block a {
  position: relative;
	display: block;
	padding: 20px 0;
}

.newslist_block li .newstime {
	display: inline-block;
	padding-right: 1.5em;
}

.newslist_block li a:before {
  content: '';
  width: 26px;
  height: 26px;
  background: #ff0084;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.newslist_block li a:after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 0;
  right: 9px;
  bottom: 0;
  margin: auto;
}






/* ---------------------------------------------------------------------------------  top_choice  ------------------------------------------------------------------------------------------ */

.top_choice {
	width: 100%;
	margin-bottom: 0;
	padding: 50px 0 80px;
	background: url(/images/bg_topcontents01.gif);
}

.choicebox {
	width: 980px;
	margin: 0 auto;
	padding: 20px 0;
}

.choicebox h2 {
	margin: 20px 0 ;
	text-align: center;
	font-size: 40px;
	color: #ffffff;
}

.choicebox h2 span {
	display: block;
	text-align: center;
	font-size: 25px;
	color: #ffffff;
}

.choicebox_list {
	display: flex;
	justify-content: space-between;
}
.choicebox_in {
	width: 305px;
	padding: 0 15px 15px;
	background: #ffffff;
	border-radius: 6px;
	box-shadow: 10px 10px 0px 0px rgba(163, 131, 207, 0.4);
	overflow: hidden;
}
.choicebox_in h3 {
	font-size: 22px;
}

.choicebox_in img {
	width: 120%;
	margin-left: -15px;
	margin-bottom: 20px;
}






/* ---------------------------------------------------------------------------------  top_eventrepo  ------------------------------------------------------------------------------------------ */

.top_eventrepo {
	width: 100%;
	margin-bottom: 0;
	padding: 50px 0 40px;
	background: url(/images/home_eventrepo_bg.jpg) center center / cover;
}

.eventrepobox {
	width: 980px;
	margin: 0 auto;
	padding: 20px 0;
}

.eventrepobox h2 {
	margin: 20px 0 ;
	text-align: center;
	font-size: 40px;
	color: #ffffff;
}

.eventrepobox h2 span {
	display: block;
	text-align: center;
	font-size: 25px;
	color: #ffffff;
}

.eventrepobox_list {
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}
.eventrepobox_in {
	width: 220px;
	margin-bottom: 1.4em;
}
.eventrepobox_in img{
	width: 100%;
	border-radius: 8px;
}

.eventrepobox_in .eventname {
	display: block;
	text-align: center;
	color: #ffffff;
}

.eventrepobox_in .eventdate {
	font-size: 0.8125em;
	
}

.eventrepobox_in h3 {
	font-size: 22px;
}

body.archive .eventrepobox .eventrepobox_list .eventrepobox_in .eventname {
	color: #333333;
}







/* ---------------------------------------------------------------------------------  top_blog  ------------------------------------------------------------------------------------------ */

.top_blog {
	width: 100%;
	margin-bottom: 0;
	padding: 50px 0 40px;
}

.topblogbox {
	width: 980px;
	margin: 0 auto;
	padding: 20px 0;
}

.topblogbox h2 {
	margin: 20px 0 ;
	text-align: center;
	font-size: 40px;
	color: #333333;
}

.topblogbox h2 span {
	display: block;
	text-align: center;
	font-size: 25px;
	color: #333333;
}

.topblogbox_list {
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}
.topblogbox_in {
	width: 31%;
	margin-bottom: 1.4em;
	text-align: center;
	margin-bottom: 2em;
}

.topblogbox_list::after{
  content:"";
  display: block;
  width:31%;
}

.topblogbox_in img{
	width: 100%;
	border-radius: 8px;
}

.topblogbox_in .blogname {
	display: block;
	text-align: center;
	color: #333333;
}

.topblogbox_in .blogdate {
	font-size: 0.8125em;
	display: block;
	text-align: center;
	
}

.topblogbox_in h3 {
	font-size: 22px;
}

body.archive .topblogbox .topblogbox_list .topblogbox_in .blogname {
	color: #333333;
}




/* ---------------------------------------------------------------------------------  top_class  ------------------------------------------------------------------------------------------ */

.top_class {
	width: 100%;
	margin-bottom: 0;
	padding: 50px 0 40px;


	
  width: 100%;

  /*背景画像の位置を固定*/
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.top_classbox {
	width: 1080px;
	margin: 30px auto 0;
	padding: 40px 50px 80px;
	background: #ffffff;
	border-radius: 8px;
}

.top_classbox h2 {
	margin: 20px 0 ;
	text-align: center;
	font-size: 40px;
	color: #e95189;
}

.top_classbox h2 span {
	display: block;
	text-align: center;
	font-size: 25px;
	color: #e95189;
}

.top_classbox_list {
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}
.top_classbox_in {
	width: 230px;
	margin-bottom: 35px;
}
.top_classbox_in img{
	width: 100%;
	border-radius: 8px;
	border: 1px solid #dddddd;
}

.top_classbox_in span {
	display: block;
	text-align: center;
	color: #333333;
	font-weight: 400;
}

.top_classbox p {
	text-align: center;
}




/* ---------------------------------------------------------------------------------  top_teature  ------------------------------------------------------------------------------------------ */
.top_teature {
	width: 880px;
	margin: 60px auto ;
}

.top_teature h2 {
	margin: 20px 0 ;
	text-align: center;
	font-size: 40px;
	color: #e95189;
}

.top_teature h2 span {
	display: block;
	text-align: center;
	font-size: 25px;
	color: #e95189;
}

.top_teature_in {
	display: flex;
	flex-direction: row-reverse;
	flex-wrap:wrap;
	justify-content: space-between;
}

.top_teature_in_img {
	width: 36%;
}

.top_teature_in_img img {
	width: 100%;
	border-radius: 8px;
}

.top_teature_in_text {
	width: 62%;
}







/* ---------------------------------------------------------------------------------  top_voice  ------------------------------------------------------------------------------------------ */

.top_voice {
	width: 100%;
	margin-bottom: 0;
	padding: 50px 0 40px;
	background: url(/images/top_voice_bg.jpg) no-repeat;


	
  width: 100%;
  height: 100vh;
  /*背景画像の位置を固定*/
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.top_voicebox {
	width: 1080px;
	margin: 40px auto 0;
	padding: 40px 50px 80px;
	background: #ffffff;
	border-radius: 8px;
}

.top_voicebox h2 {
	margin: 20px 0 ;
	text-align: center;
	font-size: 40px;
	color: #e95189;
}

.top_voicebox h2 span {
	display: block;
	text-align: center;
	font-size: 25px;
	color: #e95189;
}

.top_voicebox_list {
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}
.top_voicebox_in {
	width: 230px;
	margin-bottom: 35px;
}
.top_voicebox_in img{
	width: 100%;
	border-radius: 8px;
	border: 1px solid #dddddd;
}

.top_voicebox_in span {
	display: block;
	text-align: center;
	color: #333333;
	font-weight: 400;
}

.top_voicebox p {
	text-align: center;
}








/* --------------------------------------------------------------------------------- archive_eventrepo  ------------------------------------------------------------------------------------------ */

.archive_eventrepo {
	width: 100%;
	margin-bottom: 0;
	padding: 0px 0 40px;
}

.archive_eventrepo .eventrepobox {
	padding-top: 0;
}

.archive_eventrepo .cps-post-title {
    margin: 42px;
    text-align: center;
    font-size: 2em !important;
}

body.single-events h1.entry-title {
	margin-top: 50px;
	text-align: center;
}

.eventdaydate {
	display: block;
	width: 10em;
	margin: 0 auto;
	padding: 8px;
	background: #EA5C82;
	color: #ffffff;
	text-align: center;
	border-radius: 30px;
}

.event_text {
	width: 960px;
	margin: 60px auto;
}



/* ---------------------------------------------------------------------------------  footer_contacts  ------------------------------------------------------------------------------------------ */
.footercontacts {
	padding: 85px 0 100px;
}

.footercontacts_in {
	position: relative;
	width: 910px;
	margin: 0 auto;
	display: flex;
	flex-wrap:wrap;
	flex-direction: row-reverse;
	justify-content: space-between;
}

.fc_contacts {
	position: relative;
	width: 300px;
	text-align: center;
	padding-top: 60px;
}

.fc_contacts h3 {
	padding: 16px 0;
	font-size: 34px;
	font-weight: 600;
	text-align: center;
   letter-spacing: .15em;
}

.fc_contacts h3 span {
	display: block;
	padding-top:0;
	text-align: center;
	font-size: 15px;
	color: #333333;
	font-weight: normal;
}

.fc_contacts a.fc_contacts_btn01 {
	display: block;
	margin-top: 15px;
	background: #2a77bb;
	border-radius: 999999px;
	text-align: center;
	padding: 15px;
	color: #ffffff;
	font-weight:bold;
}

.fc_contacts a.fc_contacts_btn02 {
	display: block;
	margin-top: 15px;
	background: #519325;
	border-radius: 999999px;
	text-align: center;
	padding: 15px;
	color: #ffffff;
	font-weight:bold;
}

.fc_instagram {
	position: relative;
	width: 550px;
}





/* ---------------------------------------------------------------------------------  map  ------------------------------------------------------------------------------------------ */



@media (min-width: 768px) {
  body#rm-style p {
    font-weight: normal;
  }
}

.map {
	position: relative;
	width: 910px;
	margin: 0 auto;
	padding-top: 30px;
	padding-bottom: 0;
	line-height: 100%;
}



.map iframe {
	position: relative;
    width: 100%;
	margin-bottom: 0;
	padding-bottom: 0;
	line-height: 100%;
	border-radius:10px;
	border: 4px solid #91b1bd !important;
}

#breadcrumb ul {
	margin-top: 0;
	padding-top: 20px;
}



/* ---------------------------------------------------------------------------------  classbox  ------------------------------------------------------------------------------------------ */

.classlist {
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}

.classlist::after{
  content:"";
  display: block;
  width:30%;
}

.classbox {
	width: 32%;
	margin: 20px 0;
	border-radius: 14px;
	padding: 12px;
}

.classbox h3{
	border: none;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	font-size: 22px;
}

.classbox.kids_class {
	background: url("/wp-content/uploads/2024/06/40.jpg") no-repeat 0 -20px #fee8f0;
	padding-top: 200px;
	background-size: contain;
}

.classbox.kidsm_class {
	background: url("/wp-content/uploads/19-11.jpg") no-repeat 0 -20px #fee8f0;
	padding-top: 200px;
	background-size: contain;
}

.classbox.juniorgirls_class {
	background: url("/wp-content/uploads/29-2.jpg") no-repeat 0 -20px #fee8f0;
	padding-top: 200px;
	background-size: contain;
}

.classbox.girls_class {
	background: url("/wp-content/uploads/25-5.jpg") no-repeat 0 -20px #fee8f0;
	padding-top: 200px;
	background-size: contain;
}

.classbox.boys_class {
	background: url("/wp-content/themes/jin-child/images/logoimages.jpg") no-repeat 0 -20px #fee8f0;
	padding-top: 200px;
	background-size: contain;
}

.classbox.madame_class {
	background: url("/wp-content/themes/jin-child/images/logoimages.jpg") no-repeat 0 -20px #fee8f0;
	padding-top: 200px;
	background-size: contain;
}

.classbox.other_class {
	background: url("/wp-content/themes/jin-child/images/logoimages.jpg") no-repeat 0 -20px #fee8f0;
	padding-top: 200px;
	background-size: contain;
}

.classbox.pilates_class {
	background: url("/wp-content/themes/jin-child/images/logoimages.jpg") no-repeat 0 -20px #fee8f0;
	padding-top: 200px;
	background-size: contain;
}





/* ---------------------------------------------------------------------------------  class details  ------------------------------------------------------------------------------------------ */

.classageandtime {
	margin: 0 auto 15px;
	text-align: center;
}

.subtitle {
	color: #e95189;
	font-size: 1em;
	font-weight: 600;
	text-align: center;
   margin-bottom: 60px;
}

.bordertop {
	border-top: 1px solid #dddddd;
	padding-top: 50px;
}

.classcontents_in100 {
	width: 950px;
	margin: 0 auto;
}

.classcontents_h2 h2 {
	font-size: 24px !important;
	border-left: #e95189 4px solid ;
	padding: 3px 0 3px 5px !important;
}


/* ---------------------------------------------------------------------------------  pre lesson  ------------------------------------------------------------------------------------------ */

.prelesson {
	border-top: 1px solid #cccccc;
	margin-top: 40px;
	padding-top: 60px;
}

.prelesson h2.wp-block-heading {
	text-align: center;
	font-size: 32px;
}

.prelesson_in {
	padding-top: 50px;
}

.prelesson01:after {
	content: "01";
	font-size: 120px;
	position: absolute;
		left: 15px;
		top: 15px;
	color: #febfd2;
	z-index: -999;
  font-family: "Anton", sans-serif;
}

.prelesson02:after {
	content: "02";
	font-size: 120px;
	position: absolute;
		left: 15px;
		top: 15px;
	color: #febfd2;
	z-index: -999;
  font-family: "Anton", sans-serif;
}

.prelesson03:after {
	content: "03";
	font-size: 120px;
	position: absolute;
		left: 15px;
		top: 15px;
	color: #febfd2;
	z-index: -999;
  font-family: "Anton", sans-serif;
}

.prelesson01 h3,
.prelesson02 h3,
.prelesson03 h3 {
	margin-top: 5px;
	border-bottom: none;
	text-align: center;
}

.prelesson01,
.prelesson02,
.prelesson03 {
	margin: 5px auto 0;
	padding: 20px;
	width: 75%;
	position: relative;
	background: #feeef2;
	border-radius: 8px;
	z-index: 9999;
	
}

.belongings {
	position: relative;
	border: 1px solid #dddddd;
	padding: 12px;
	border-radius: 8px;
    text-align: center;
    margin: 3.5em 0 1em;
	font-size: 16px;
}

.belongings h2 {
	    position: absolute;
    left: 0;
    right: 0;
    top: -1.5rem;
    margin: auto;
    font-size: 1.2rem;
    background-color: #fff;
    width: 32%;
    text-align: center;
}

.belongings ul {
	margin: 70px 0 50px !important;
	padding: 50px 0;
	display: flex;
	justify-content: space-between;
}

.belongings ul li {
	width: 29%;
	font-size: 24px;
	padding-left: 0;
}

.belongings ul li:before {
	content: none;
	position: relative;
	content: none !important;
	top: 0;
	left: 0;
}












.eventsgallaryboxli {
	
}

.eventsgallarybox a {
	display: inline;
	width: 24.5%;
}
.eventsgallarybox img {
	margin-bottom: 0.5%;
}

.eventsgallarybox::after {
    content: "";
    display:block;
	width: 24.5%;
}
.eventsgallarybox::before { 
    content: ""; 
    display:block;
	width: 24.5%;
    order: 1; /* アイテムの並び順 */
}

.eventyoutube {
	width: 100%;
  aspect-ratio: 16 / 9;
}

.eventyoutube iframe {
  width: 100%;
  height: 100%;
	border-radius: 8px;
}








/* ---------------------------------------------------------------------------------  flexbox  ------------------------------------------------------------------------------------------ */
.flexbox73 {
	display: flex;
	justify-content: space-between;
}

.flexbox {
	display: flex;
	justify-content: space-between;
}

.flexbox_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.flexbox_re {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}

.flexbox_in7 {
	width: 68%;
}

.flexbox_in3 {
	width: 28%;
}

.flexbox_in32 {
	width: 32%;
}

.flexbox_in6 {
	width: 58%;
}

.flexbox_in4 {
	width: 38%;
}

.flexbox_in48 {
	width: 48%;
}

	.flexbox73 img,
	.flexbox img,
	.flexbox_wrap img,
	.flexbox_re img {
		border-radius: 10px;
	}

	.flexbox73 .nomgb img,
	.flexbox .nomgb img,
	.flexbox_wrap .nomgb img,
	.flexbox_re .nomgb img {
		margin-bottom: 2px !important;
	}


@media (max-width: 767px) {	
	.flexbox73,
	.flexbox,
	.flexbox_wrap,
	.flexbox_re {
		display: block;
	}
	
	.flexbox_in7,
	.flexbox_in3,
	.flexbox_in32,
	.flexbox_in6,
	.flexbox_in4,
	.flexbox_in48 {
		width: 100%;
	}

}



/* ---------------------------------------------------------------------------------  はじめての方へ ページ  ------------------------------------------------------------------------------------------ */
body.page .flow_in_comnt h3 {
	background: none !important;
	font-size: 22px !important;
	font-weight: bold !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
	margin-top: 5px !important;
	margin-bottom: 5px !important;
}
body.page .flow_in_comnt h3::before {
    position: relative;
    left: 0;
    top: 0;
    width: 0;;
    height: auto !important;
}

body.page .flow_in_comnt p br {
	display: none !important;
}

body.page .flow_in_box .flow_in_img img {
	margin-bottom: 0 !important;
}




/* ---------------------------------------------------------------------------------  価格 ページ  ------------------------------------------------------------------------------------------ */

.tatami_score {
	display: block;
	background: #fff2f2;
	border-radius:6px;
	padding: 8px 4px 8px 4px;
	margin-bottom: 0.6em;
	text-align: center;
}

.tatami_score .scorepoint {
	font-size: 1em;
	font-weight:bold;
	color: #aa0000;
	margin-right: 1em;
}

.tatami_score .scorepoint:last-child {
	margin-right: 0;
}

.tatami_price {
	text-align: right;
}

.tatami_price .tatami_price_num {
	color: #aa0000;
	font-size: 1.4em;
	font-weight: bold;
}

.tatami_price_num2 {
	color: #aa0000;
	font-size: 1.4em;
	font-weight: bold;
}

/* ---------------------------------------------------------------------------------  contents in list   ------------------------------------------------------------------------------------------ */
.entry-content li {
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	border-bottom: 1px dashed #dddddd;
}
.entry-content li:before
.entry-content li:after {
	top:0.8em !important;
}

/* ---------------------------------------------------------------------------------  table   ------------------------------------------------------------------------------------------ */
.company-profile {
	border-top: 1px solid #dddddd !important;
	border-right: none !important;
	border-bottom: none !important;
	border-left: none !important;
}

.company-profile th,
.company-profile td {
	border-top: 1px solid #dddddd !important;
	border-right: none !important;
	border-bottom: 1px solid #dddddd !important;
	border-left: none !important;
	text-align: left;
	padding: 18px !important;
}

/* ---------------------------------------------------------------------------------  form   ------------------------------------------------------------------------------------------ */
.contacttable {
	border-top: 1px solid #dddddd !important;
	border-right: none !important;
	border-bottom: none !important;
	border-left: none !important;
}

.contacttable th,
.contacttable td {
	border-top: 1px solid #dddddd !important;
	border-right: none !important;
	border-bottom: 1px solid #dddddd !important;
	border-left: none !important;
	text-align: left;
	padding: 18px !important;
}

.contacttable td input,
.contacttable td textarea {
	border: 1px solid #777777;
	text-align: left;
	padding: 12px !important;
	width: 90% !important;
	max-width: 95% !important;
}

.contacttable td textarea {
	height: 8em !important;
}


.formtbl {
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}
@media screen and (max-width: 480px) {
  .Form {
    margin-top: 40px;
  }
}
.Form-Item {
  border-top: 1px solid #ddd;
  padding-top: 24px;
  padding-bottom: 24px;
  width: 100%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 480px) {
  .Form-Item {
    padding-left: 14px;
    padding-right: 14px;
    padding-top: 16px;
    padding-bottom: 16px;
    flex-wrap: wrap;
  }
}
.Form-Item:nth-child(5) {
  border-bottom: 1px solid #ddd;
}
.Form-Item-Label {
  width: 100%;
  max-width: 248px;
  letter-spacing: 0.05em;
  font-weight: bold !important;
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Label {
    max-width: inherit;
    display: flex;
    align-items: center;
    font-size: 15px;
  }
}
.Form-Item-Label.isMsg {
  margin-top: 8px;
  margin-bottom: auto;
}
@media screen and (max-width: 480px) {
  .Form-Item-Label.isMsg {
    margin-top: 0;
  }
}
.Form-Item-Label-Required {
  border-radius: 6px;
  margin-right: 8px;
  padding-top: 8px;
  padding-bottom: 8px;
  width: 48px;
  display: inline-block;
  text-align: center;
  background: #5bc8ac;
  color: #fff;
  font-size: 14px;
}
.Form-Item-Label-Required2 {
  border-radius: 6px;
  margin-right: 8px;
  padding-top: 8px;
  padding-bottom: 8px;
  width: 48px;
  display: inline-block;
  text-align: center;
  background: #b8d6f6;
  color: #fff;
  font-size: 14px;
}

@media screen and (max-width: 480px) {
  .Form-Item-Label-Required {
    border-radius: 4px;
    padding-top: 4px;
    padding-bottom: 4px;
    width: 32px;
    font-size: 10px;
  }
	.Form-Item-Label-Required2 {
	  border-radius: 6px;
	  margin-right: 8px;
	  padding-top: 8px;
	  padding-bottom: 8px;
	  width: 48px;
	  display: inline-block;
	  text-align: center;
	  background: #b8d6f6;
	  color: #fff;
	  font-size: 14px;
	}
}
.Form-Item-Input {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding-left: 1em;
  padding-right: 1em;
  height: 48px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #f2f2f2;
  font-size: 18px;
}

.Form-Item .mwform-radio-field br {
	display: none;
}

@media screen and (max-width: 480px) {
  .Form-Item-Input {
    margin-left: 0;
    margin-top: 18px;
    height: 40px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Item-Textarea {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding-left: 1em;
  padding-right: 1em;
  height: 216px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #f2f2f2;
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Textarea {
    margin-top: 18px;
    margin-left: 0;
    height: 200px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Btn {
  border-radius: 6px;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 280px;
  display: block;
  letter-spacing: 0.05em;
  background: #5bc8ac;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
	border: none;
}
@media screen and (max-width: 480px) {
  .Form-Btn {
    margin-top: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 160px;
    font-size: 16px;
  }
}



/* ---------------------------------------------------------------------------------  box 100%   ------------------------------------------------------------------------------------------ */

.box100per {
  margin: 0 calc(50% - 50vw) !important;
  width: 100vw !important
}

.lessonschedulebox {
	background: #EA5C82;
	padding: 20px 0;
	text-align: center;
}

/* ---------------------------------------------------------------------------------  box member   ------------------------------------------------------------------------------------------ */

.boxmember01 {
	position: relative;
	margin-bottom: 3em;
	padding: 2.5em 1.5em 1.5em;
	background: #e95388;
	border-radius: 12px;
	color: #ffffff;
}

.boxmember01:before {
	content: url(/images/boxmember01.png);
	position: absolute;
	top: -60px;
	right: 1em;
}

.boxmember02 {
	position: relative;
	margin-bottom: 3em;
	padding: 2.5em 1.5em 1.5em;
	background-color: #e95388;
	border-radius: 12px;
	color: #ffffff;
}

.boxmember03 {
	position: relative;
	margin-bottom: 3em;
	padding: 2.5em 1.5em 1.5em;
	background: #faeaef;
	border-radius: 12px;
}

.boxmember03:before {
	content: url(/images/boxmember01.png);
	position: absolute;
	top: -60px;
	right: 1em;
}

.fadeIn_right {
	opacity: 0;
	transform: translate(200px, 0);
	transition: 2s;
}
.fadeIn_right.is-show {
	transform: translate(0, 0);
	opacity: 1;
}




/* ---------------------------------------------------------------------------------  h2 title  ------------------------------------------------------------------------------------------ */


.page .cps-post-title {
	margin: 50px;
	text-align: center;
	font-size: 2em !important;
}

    .entry-content h2 {
        font-size: 1.6rem;
		font-weight: bold;
		color: #485e39;
		padding: 14px 14px 14px 0;
    }


.h2-style07 h2:after {
			display: none;
}


.h2-style07 h2 {
	margin-top: 65px;
}










.h2-style07 h2.wp-block-heading{
  display: flex !important;      /* テキストを円の上下中央に */
  align-items: center !important;
  column-gap: 5px !important;    /* 円の右端→文字まで5px */
  line-height: 1.3;
}


/* 行頭の円（90x90）+ 中央にアイコン（/images/bg_h2.png 90x56） */
.h2-style07 h2.wp-block-heading::before{
  /* まずJIN側の見出し装飾をリセット */
  position: static !important;
  transform: none !important;
  border: none !important;
  box-shadow: none !important;

  /* 円アイコン本体 */
  content: "" !important;
  flex: 0 0 60px !important;
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  border: 3px solid #cbd4c5 !important;
  background-color: #f2f6ff !important;          /* 円の地色はお好みで */
  background-image: url("/images/bg_h2.png") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 120px 75px !important;         /* 元サイズで中央配置（トリミングなし） */
}




/* ---------------------------------------------------------------------------------  h3 title  ------------------------------------------------------------------------------------------ */

.h3-style01 h3 {
    display: block;
    position: relative;
    padding-left: 18px;
    font-size: 22px;
    line-height: 30px;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-family: fot-tsukuardgothic-std, sans-serif;
	border-bottom: none !important;
	border-radius: 10px;
    padding: 16px 30px;
	background-color: #eef3ed;
}
.h3-style01 h3::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 20px;
    background-color: #6f964a;
    width: 2px;
    height: 22px;
}


/* ---------------------------------------------------------------------------------  マーカー  ------------------------------------------------------------------------------------------ */
.highlight_yellow {
  background-image: linear-gradient(0deg, #fbbf2480 0.5em, transparent 0.5em);
}


/* ---------------------------------------------------------------------------------  margin  ------------------------------------------------------------------------------------------ */
.mgnt0 { margin-top: 0; }
.mgnt10 { margin-top: 10px; }
.mgnt20 { margin-top: 20px; }
.mgnt30 { margin-top: 30px; }
.mgnt40 { margin-top: 40px !important; }
.mgnt50 { margin-top: 50px; }
.mgnt60 { margin-top: 60px; }
.mgnb10 { margin-bottom: 10px; }
.mgnb20 { margin-bottom: 20px; }
.mgnb30 { margin-bottom: 30px; }
.mgnb40 { margin-bottom: 40px; }
.mgnb50 { margin-bottom: 50px; }
.mgnb60 { margin-bottom: 60px; }
.mgnb70 { margin-bottom: 70px; }
.mgnb80 { margin-bottom: 80px; }
.mgnb90 { margin-bottom: 90px; }
.mgnb100 { margin-bottom: 100px; }



/* ---------------------------------------------------------------------------------  padding  ------------------------------------------------------------------------------------------ */
.pdngt0 { padding-top: 0 !important; }
.pdngt10 { padding-top: 10px; }
.pdngt20 { padding-top: 20px; }
.pdngt30 { padding-top: 30px; }
.pdngt40 { padding-top: 40px; }
.pdngt50 { padding-top: 50px; }
.pdngt60 { padding-top: 60px; }
.pdngb10 { padding-bottom: 10px; }
.pdngb20 { padding-bottom: 20px; }
.pdngb30 { padding-bottom: 30px; }
.pdngb40 { padding-bottom: 40px; }
.pdngb50 { padding-bottom: 50px; }
.pdngb60 { padding-bottom: 60px; }
.pdngr10 { padding-right: 10px; }
.pdngr20 { padding-right: 20px; }
.pdngr30 { padding-right: 30px; }
.pdngr40 { padding-right: 40px; }
.pdngr50 { padding-right: 50px; }
.pdngr60 { padding-right: 60px; }
.pdngl10 { padding-left: 10px; }
.pdngl20 { padding-left: 20px; }
.pdngl30 { padding-left: 30px; }
.pdngl40 { padding-left: 40px; }
.pdngl50 { padding-left: 50px; }
.pdngl60 { padding-left: 60px; }




/* ---------------------------------------------------------------------------------  box（ボックス）  ------------------------------------------------------------------------------------------ */


.boxdesign01 {
    padding: 0.5em 1em;
    margin: 2em 0;
    background: -webkit-repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
    background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
}

.boxdesign01 p strong {
	font-weight: bold !important;
}

.boxdesign01 p:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}




/* ---------------------------------------------------------------------------------  a btn  ------------------------------------------------------------------------------------------ */


/* aタグのリセットCSS（不要な場合、セレクタごと削除してください） */
a.classbtn {
  color: inherit;
  text-decoration: none;
}

/* buttonタグのリセットCSS（不要な場合、セレクタごと削除してください） */
.classbtn  {
  padding: 0;
  font-family: inherit;
  appearance: none;
  cursor: pointer;
  background-color: transparent;
  border: none;
}

/* ボタンのスタイル */
.buttonIconText02 {
  display: flex;
  gap: 8px;
  align-items: center;
  width: 100%;
  max-width: 320px;
  height: 54px;
  padding: 8px 64px 8px 8px;
  font-family: sans-serif;
  font-size: 16px;
  color: #ffffff !important;
  text-align: center;
  overflow-wrap: anywhere;
  background-color: #EA5C82;
  border-radius: 32px; /* (buttonの高さ / 2) の値 */
	text-decoration: none !important;
}

.buttonIconText02__reverse {
  flex-direction: row-reverse;
  padding: 8px 8px 8px 64px;
}

.buttonIconText02_icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 48px;
  aspect-ratio: 1;
  overflow: hidden;
}

.buttonIconText02_text {
  flex-shrink: 1;
  width: 100%;
}

@media (any-hover: hover) {
  .buttonIconText02 {
    transition: background-color 0.2s;
  }

  .buttonIconText02_icon {
    transition: transform 0.2s;
  }

  .buttonIconText02:hover {
    background-color: #ff1f5b;
  }

  .buttonIconText02:hover .buttonIconText02_icon {
    transform: translateX(4px);
  }

  .buttonIconText02:hover .buttonIconText02_icon__left {
    transform: translateX(-4px);
  }
}

/* 左矢印アイコンのスタイル */
.iconArrowLeft {
  rotate: 180deg;
}


.btn_ellipsebox {
	margin: 20px 0;
	text-align: center;
}

a.btn_ellipse {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 100vh;
	background: #e95189;
	color: #ffffff !important;
	letter-spacing: .15em;
	font-weight: 400;
	text-decoration: none;
}

a.btn_ellipse_line {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 100vh;
	background: #06c755;
	color: #ffffff !important;
	letter-spacing: .15em;
	font-weight: 400;
	text-decoration: none;
}


/* ------------------------------------------------------------------  newslist class page  --------------------------------------------------------------------------- */

.classnews {
	margin-top: 60px;
}

.classnews h2 {
	font-size: 2em;
	font-weight: 400;
	text-align: center;
	margin-bottom: 0;
}

.classnews .h2subtitle {
	color: #e95189;
    font-size: 1em;
    font-weight: 600;
    text-align: center;
    margin-bottom: 60px;
}

.classnews ul {
	padding-left: 0 !important;
	border-top: 1px solid #dddddd;
}

.classnews ul li {
	list-style: none;
	padding-left: 0;
	padding-top: 0;
	padding-bottom: 0;
	border-bottom: 1px solid #dddddd;
}

.classnews ul li a {
	display: block;
	padding-top: 14px;
	padding-bottom: 14px;
	text-decoration: none;
	color: #333333;
}

.classnews ul li span{
	display: inline-block;
	padding-right: 1.5em;
}

.classnews ul li:before {
	display: none !important;
	content: none;
}


/* ------------------------------------------------------------------  newslistbtn  --------------------------------------------------------------------------- */

a.newslistbtn {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	max-width: 23em;
	margin: 20px auto;
	padding: 0.5rem 2rem;
	font-weight: bold;
	border: 2px solid #e95189;
	color: #e95189 !important;
	border-radius: 100vh;
	transition: 0.5s;
}
a.newslistbtn:hover {
	color: #ffffff !important;
	background: #e95189;
}

/* ---------------------------------------------------- */
.pagination a {
	min-width: 38px;
	min-height: 37px;
	padding: 6px 14px;
	color: #333 !important;
	box-shadow: none;
  border-radius: 12px;
}



/* ------------------------------------------------------------------  flash mob  --------------------------------------------------------------------------- */
.flashmobbox {
    position: relative;
    width: 980px;
	padding: 50px;
    margin: 0 auto 30px;
    padding-top: 55px;
    padding-bottom: 55px;
    background: #fce5ed;
    border-radius: 8px;
    font-family: 'M PLUS 1p', sans-serif;
}

body#page-id-80 h2.wp-block-heading {
	font-size: 32px !important;
}

.flashmobbox h3 {
	margin-top: 0;
}

.flashmobbox h4,
.flashmobbox h5 {
	margin-top: 2em;
}




.flashmobbox ul {
	padding-left: 0 !important;
}
.flashmobbox li {
	border-top: 1px solid #ffffff;
	padding: 12px 0 12px 2em !important;
	margin-bottom: 0!important;
	list-style: none;
}

.flashmobbox li:last-child {
	border-bottom: 1px solid #ffffff;
}

.cps-post-main .flashmobbox ul>li:before, .cps-post-main .flashmobbox ol>li:before,
.flashmobbox .wp-block-list ul>li:before, .flashmobbox .wp-block-list ol>li:before {
	background-color: transparent !important;
}

.flashmobbox ul>li:before {
	display: inline-block;
	content: url('/images/list_icon.png') !important;
	background-color: transparent !important;
	margin-right: 5px;
	left:0 !important;
}

.flashmob_timeline {
  list-style: none;
}
.flashmob_timeline > li {
  margin-bottom: 60px;
}

/* for Desktop */
@media ( min-width : 640px ){
  .flashmob_timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
  }
  .timeline-date {
    width: 150px;
    float: left;
    margin-top: 20px;
  }
  .timeline-content {
    width: 75%;
    float: left;
    border-left: 3px #e5e5d1 solid;
    padding-left: 30px;
  }

}


@media (min-width: 768px) {
    #header-box.header-style11 {
		box-shadow: none !important;
	}
}

/* ------------------------------------------------------- タブレット ------------------------------------------------------- */

@media (max-width: 1199px) {
	body:not(.home) #contents {
		width: 90%;
	}
	
	#topcontents01_in {
		width: 75%;
		margin: 0 auto;
		border-radius: 18px;
		padding: 60px 15px 40px;
	}

	.topcontents01_in_list .choice_in_comnt {
		width: 80%;
		margin: 0 auto 50px;
	}

	.topcontents01_in_list .choice_in_comnt p br{
		display: none;
	}
	
	.cps-post .cps-post-header .cps-post-title {
		font-size: 2.2em;
		font-weight: bold;
	}

/* スマホハンバーガーメニュー */
  #navtoggle {
    display: none;
    overflow: hidden;
  }
  .sp-menu-open,
  .sp-menu-close {
    cursor: pointer;
    position: absolute;
    z-index: 9999;
    top: 4px;
    right: 3px;
  }
	.sp-menu-box {
		display: block !important;
		background-color: rgba(255, 255, 255, 0.8);
	}
	
  .sp-menu-close {
    pointer-events: none;
    width: auto;
    height: auto;
    transition: color 0.4s ease, background 0.4s ease, transform 0.4s ease, opacity 0.4s ease, border 0.4s ease, padding 0.4s ease, left 0.4s ease, box-shadow 0.4s ease;
  }
  #navtoggle:checked ~ .sp-menu-close {
    pointer-events: auto;
  }
  .sp-menu-open {
	  display: inline-block;
	background: #69993f;
	border-radius: 50%;
	top: 19px;
	right: 12px;
	position: fixed;
    width: 28px;
    height: 28px;
	padding-top: 8px !important;
	padding-right: 8px !important;
	padding-bottom: 8px !important;
	padding-left: 8px !important;
    transition: transform 0.4s ease-in-out;
    transform: translate3d(0, 0, 0);
  }

	.cps-icon-bar:first-child {
		margin-top: 7px;
	}

  .cps-icon-bar {
    height: 2px;
    background-color: #ffffff !important;
    color: #ffffff !important;
    display: block;
    margin-bottom: 5px;
    border-radius: 1px;
    transition: color 0.4s ease, background 0.4s ease, transform 0.4s ease, opacity 0.4s ease, border 0.4s ease, padding 0.4s ease, left 0.4s ease, box-shadow 0.4s ease;
    opacity: 1;
  }
  .sp-menu-box {
    z-index: 999;
    position: fixed;
    overflow: hidden;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.6);
    transform: translate3d(0, -100%, 0);
    transition: color 0.4s ease, background 0.4s ease, transform 0.4s ease, opacity 0.4s ease, border 0.4s ease, padding 0.4s ease, left 0.4s ease, box-shadow 0.4s ease;
  }
  .sp-menu-box .sp-menu-title {
    margin-top: 50px;
    text-align: center;
    font-size: 1.6rem;
  }
  .fixed-content {
    width: 100%;
    height: 100%;
    margin-top: 30px;
  }
  #navtoggle:checked + .sp-menu-open {
    position: fixed;
  }
  #navtoggle:checked + .sp-menu-open .cps-icon-bar {
    filter: opacity(1);
    background: #fff;
  }
  #navtoggle:checked + .sp-menu-open .cps-icon-bar:nth-child(1) {
    transform: translate(0, 7px) rotate(45deg);
  }
  #navtoggle:checked + .sp-menu-open .cps-icon-bar:nth-child(2) {
    transform: translate(-20px, 0);
    filter: opacity(0);
  }
  #navtoggle:checked + .sp-menu-open .cps-icon-bar:nth-child(3) {
    transform: translate(0, -7px) rotate(-45deg);
  }
  #navtoggle:checked ~ .sp-menu-box {
    transform: translate3d(0, 0, 0);
  }
  #scroll-content {
    transition: 0.6s;
    position: relative;
    z-index: 0;
  }
  #navtoggle:checked ~ .sp-menu-box ~ #scroll-content,
  #navtoggle:checked ~ .sp-menu-box ~ #header-box ~ #scroll-content {
    position: relative;
    overflow: hidden;
    transform: translateY(15px);
    width: 100%;
    height: 100%;
    filter: blur(10px);
  }
  #navtoggle:checked ~ .sp-menu-box ~ #scroll-content + .sp-sidemenu-wrapper .sp-sidemenu-btn,
  #navtoggle:checked ~ .sp-menu-box ~ #header-box ~ #scroll-content + .sp-sidemenu-wrapper .sp-sidemenu-btn,
  #navtoggle:checked ~ .sp-menu-box ~ #scroll-content + .sp-sidemenu-wrapper .sp-sidemenu-bg,
  #navtoggle:checked ~ .sp-menu-box ~ #header-box ~ #scroll-content + .sp-sidemenu-wrapper .sp-sidemenu-bg {
    transform: translateX(100px);
  }
  #navtoggle:checked ~ .sp-menu-box ~ .headsearch ~ #header-box {
    position: fixed;
    overflow: hidden;
  }
	
  ul.menu-box {
    width: 86%;
	  margin: 0 auto;
    height: 75%;
    padding: 0 8%;
    overflow: hidden;
    overflow-y: scroll;
    overflow-wrap: break-word;
    -webkit-overflow-scrolling: touch;
	  background: #f2f2f2;
	  border-radius: 10px;
  }
	ul.menu-box li {
		padding: 0.5em 0;
		border-bottom: 1px solid #aaaaaa;
	}
  ul.menu-box li a {
    display: block;
    padding-left: 0;
    position: relative;
    font-weight: 600;
    border-radius: 2px;
    transition: color 0.4s ease, background 0.4s ease, transform 0.4s ease, opacity 0.4s ease, border 0.4s ease, padding 0.4s ease, left 0.4s ease, box-shadow 0.4s ease;
  }
  ul.menu-box li a:active {
    background: rgba(50, 50, 50, 0.1);
  }
  ul.menu-box li a:before {
    content: "・";
    position: absolute;
    line-height: 10%;
    top: 19px;
    left: 8px;
    font-size: 1.8rem;
    color: #2b2b2b;
  }
	
  ul.menu-box li ul.sub-menu {
    margin-top: 0px;
    margin-left: 0px;
    padding-left: 20px;
	border-top: 1px solid #aaaaaa;
  }
  ul.menu-box li ul.sub-menu li {
    margin-left: 0;
  }
	ul.menu-box li ul.sub-menu li:last-child {
		border-bottom: none !important;
	}
	
  ul.menu-box li ul.sub-menu li a {
    font-size: 0.9rem;
    line-height: 1.25rem;
    padding: 6px;
    padding-left: 0;
    font-weight: 500;
  }
  ul.menu-box li ul.sub-menu li a:before {
    content: "";
    width: 1px;
    height: 24px;
    background: #aaa;
    top: 4px;
    left: 6px;
  }
  ul.menu-box li ul.sub-menu li ul.sub-menu li a {
    padding: 7px;
    padding-left: 16px;
    font-size: 0.75rem;
    line-height: 1.15rem;
    font-weight: 300;
  }
  .sp-sns-menu {
    position: absolute;
    z-index: 0;
    bottom: 0px;
    display: block;
    text-align: center;
    padding: 30px;
    width: 100%;
    background: transparent !important;
  }
  .sp-sns-menu ul {
    list-style: none;
    display: flex;
    justify-content: center;
    background: transparent !important;
    align-items: center;
  }
  .sp-sns-menu ul li {
    margin-bottom: 0;
    background: transparent !important;
  }
  .sp-sns-menu ul li a {
    transition: color 0.4s ease, background 0.4s ease, transform 0.4s ease, opacity 0.4s ease, border 0.4s ease, padding 0.4s ease, left 0.4s ease, box-shadow 0.4s ease;
    display: block;
    color: #fff;
    margin: 0 5px;
    overflow: hidden;
    width: 40px;
    background: rgba(255, 255, 255, 0.18);
    height: 40px;
    border-radius: 2px;
    padding: 10px;
    font-size: 18px;
    box-shadow: 0 1px 7px 3px rgba(0, 0, 0, 0.05);
  }
  .sp-sns-menu ul li a:hover {
    color: #f8b500 !important;
    transform: scale(1.1);
  }

	.buttonbox {
		max-width: 85%;
		margin-right: auto;
		margin-left: auto;
	}
	
	.topcontents02_in_p p br {
		display: none;
	}
	
	
	.scroll-infinity__item {
	  width: calc(100vw / 2);
	}
	.scroll-infinity__item>img {
	  width: 100%;
	}
	
	.topcontents03_in_table {
		width: 100%;
	}
	
	.topcontents03_in_table .price-table td {
		max-width: 28%;
		padding: 10px 5px;
	}
	
	#topcontents03_in {
		width: 95%;
	}
	
	#topcontents03_in h4 {
		padding: 0 0 0 0;
	}
	
	#topcontents04box {
		width: 100%;
	}
	
	#topcontents04_in_list,
	#topcontents04_in_list .casestudies_li{
		display: block;
		text-align: center;
	}


#topcontents04_in_list .casestudies_li {
	width: 100%;
	margin-bottom: 30px;
}
	
	.topcontents04box_in {
		width: 60%;
		margin-bottom: 1.4em;
		text-align: center;
		margin: 0 auto 2em;
	}
	
	.topcontents04box_in .blogname {
		font-size: 18px;
	}
	
	#topcontents05_in {
		width: 100%;
	}
	
	#topcontents05_in_list .flow_in_box {
    width: 40%;
	padding-right: 2%;
	padding-left: 2%;
    margin: 0 auto 50px;
	}
	
	#topcontents06_in {
		width: 100%;
	}
	
	#topcontents06_in #topcontents06_in_list {
		width: 90%;
		margin: 0 auto;
	}
	
	#topcontents07box {
		width: 100%;
	}
	
	.topcontents07box_in {
 	width: 80%;
		margin-bottom: 1.4em;
		text-align: center;
		margin: 0 auto 2em;
	}
	
	#topcontents07box h2 {
		text-align: center;
		margin-bottom: 40px;
		font-size: 40px;
		font-weight: 600;
		font-family: "M PLUS 2", sans-serif;
		color: #333333;
		line-height: 1.1em;
	}
	
	.footercontacts_in {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	
	figure.wp-block-image.size-full {
		text-align: center;
	}
	.fc_instagram {
		position: relative;
		width: 100%;
		height: 300px;
		margin-bottom: 30px;
	}
	.fc_contacts, .fc_contacts_biz {
		height: auto !important;
	}
	
	.map {
		margin: 0 auto;
		width: 98%;
	}
	
	h1.entry-title {
		margin-bottom: 5px !important;
	}
}

/* --------------------------------------------------------------------------------------------------------------------------------------- */
svg {
  fill: #2b2b2b;
  will-change: transform;
}


@media (min-width: 768px) and  (max-width: 1199px) {	
	#header #site-info {
		clip-path: none !important;
		max-width: 75%;
        text-align: center;
        font-weight: 700;
        margin-top: 1px;
        letter-spacing: 1px;
        margin: 0 auto;
	}
	
	    .sp-menu-open {
			display: block !important;
        width: 28px;
        padding: 8px;
        padding-top: 12px;
        padding-bottom: 8px;
        transition: transform 0.4s ease-in-out;
        transform: translate3d(0, 0, 0);
        cursor: pointer;
        position: absolute;
        z-index: 9999;
        top: 4px;
        right: 3px;
		
    }
	
	
	#navtoggle {
    	display: none;
		overflow: hidden;
	}

	#drawernav3 {
		display: none !important;
	}
	
	#header {
		margin-bottom: 0;
	}
	#header-box.header-style11 {
		filter: opacity(1.0);
		margin-right: 20px;
		margin-left: 20px;
	}
	.sp-menu-box {
		background-color: rgba(255, 255, 255, 0.95);
	}
	.cps-icon-bar, #navtoggle:checked+.sp-menu-open .cps-icon-bar {
		color: #333333;
	}
	#header-box.header-style11,
	.header-style11 #header {
		width: auto;
		display: block;
		box-shadow: none !important;
	}
	
	.sp-logo-size img {
		width: auto !important;
	}

	#drawernav3::before {
		content: none;
	}
	.sp-menu-open {
		padding-top: 48px;
        padding-right: 20px;
	}
	#header #site-info {
		background: none;
		padding: 10px;
	}
	.top_7thstage_bnr {
		margin:0;
		padding:10px;
		width: auto;
	}
	#topcontents01_in {
	}
	#topcontents01_in h2 {
		font-size: 40px;
	}
	.topcontents01_in_span {
		display: none;
	}
	
	.top_newslist .top_newslist_span {
		top: 79px;
	}
	
	.top_newslist .top_newslist_span img {
		width: 220px;
	}
	
	#drawernav3 ul.menu-box {
		padding-bottom: 20px;
		padding-left: 10px;
	}
	
	#drawernav3 ul.menu-box li.menu-item {
		width: 30%;
		padding: 10px 10px 10px 10px !important;
		margin-bottom: 10px;
		border-top: 1px solid #dddddd;
	}
	
	#drawernav3 ul.menu-box li.menu-item a {
		font-size: 18px !important;
	}
	
	.top_newslist {
		padding:80px 15px;
	}
	
	.top_newslist .newstime {
		display: block !important;
	}
	
	.newslist_block a {
		padding: 20px 38px 20px 0;
	}
	.top_choice {
		padding-top: 0;
		padding-bottom: 0;
	}
	.choicebox {
		width: auto;
		padding: 20px 15px ;
	}
	.choicebox h2 {
		font-size: 28px;
	}
	.choicebox_list {
		display: block;
	}
	.choicebox_in {
		margin: 0 auto 25px;
	}
	.eventrepobox {
		width: auto;
		padding: 0 15px;
	}
	.eventrepobox_list .eventrepobox_in {
		width: 49%;
	}
	.eventrepobox h2 {
		font-size: 28px;
	}
	.topblogbox {
		width: auto;
		padding: 0 15px;
	}
	.topblogbox_list .topblogbox_in {
		width: 49%;
	}
	.topblogbox h2 {
		font-size: 28px;
	}
	.top_classbox {
		display: block;
		width: auto;
		padding: 30px 15px;
	}
	.top_classbox h2 {
		font-size: 28px;
	}
	.top_classbox_in {
		width: 49%;
	}
	.top_teature {
		width: auto;
		padding: 0 15px;
	}
	.top_teature h2 {
		font-size: 28px;
	}
	.top_teature_in {
		display: block;
	}
	.top_teature_in_img,
	.top_teature_in_text {
		width: 100%;
	}
	#onecolumn960 {
        width: calc(100% - 30px);
        float: left;
        margin-left: 15px;
        margin-bottom: 15px;
    }
	.footercontacts {
		padding: 60px 15px;
	}
	.footercontacts h2{
		font-size: 24px;
	}
	.footercontacts h2 span {
		text-align: left !important;
	}
	.footercontacts h2 span br {
		display: none;
	}
	
	.footercontacts_in {
		width: 100%;
		display: block;
		margin-top: 150px;
		margin-bottom: 155px;
	}
	.fc_lesson,
	.fc_contacts,
	.fc_contacts_biz {
		width: 100%;
		margin-bottom: 20px;
	}
	.fc_contacts,
	.fc_contacts_biz {
		height: 270px;
	}
	.archive-box {
		padding: 15px;
	}
	.prelesson_in.flexbox {
		display: block;
	}
	.prelesson_in .prelesson01,
	.prelesson_in .prelesson02,
	.prelesson_in .prelesson03 {
		width: 100%;
		border-top: 1px solid #dedede;
		margin-top: 20px;
		padding-top: 20px;
	}
	.belongings h2.wp-block-heading {
		font-size: 22px;
	}
	.belongings ul {
		display: block;
		margin: 30px 0 15px !important;
		padding: 0 0 0 0 !important;
	}
	.belongings ul li {
		display: block;
		width: auto ;
		font-size: 16px;
		border-bottom: 1px solid #dddddd;
		padding: 8px 0;
	}
	.Form-Item {
		display: block !important;
	}
	.formtbl .Form-Item select.Form-Item-Input,
	.formtbl .Form-Item .Form-Item-Input,
	.formtbl .Form-Item .Form-Item-Textarea {
		max-width: 90%;
	}
	.cps-post-header h1.cps-post-title {
		margin-right: 0;
		margin-left: 0;
		font-size: 32px !important;
		font-weight: bold;
	}
	.classcontents_in100 {
		width: auto;
		padding: 15px;
	}
	.classcontents_in100 .flexbox {
		display: block;
	}
	.classcontents_in100 .flexbox .flexbox_in6,
	.classcontents_in100 .flexbox .flexbox_in4 {
		display: block;
		width: 100%;
	}
	.fadeIn_right.is-show {
		transform: none !important;
	}
	.h2-style07 h2 {
		font-size: 1.7rem !important;
	}
	.boxmember02 {
		padding-bottom: 210px;
	}
	.boxmember02:before {
		right: 25%;
	}
	
	.classlist {
		display: block;
	}
	
	.classlist .classbox {
		width: 100%;
	}
	.classlist .classbox.kids_class,
	.classlist .classbox.kidsm_class,
	.classlist .classbox.juniorgirls_class,
	.classlist .classbox.girls_class,
	.classlist .classbox.boys_class,
	.classlist .classbox.madame_class,
	.classlist .classbox.other_class,
	.classlist .classbox.pilates_class {
		padding-top: 270px;
	}
	.buttonIconText02 {
		margin-right: auto;
		margin-left: auto;
	}
	.flexbox_re {
		display: block;
	}
	.flexbox_re .flexbox_in6,
	.flexbox_re .flexbox_in4 {
		width: 100%;
	}
	
	.eventsgallarybox a {
		display: inline;
		width: 49.5%;
	}
	
	.shiny_gallary {
		padding: 0 10px;
	}
}

/* ------------------ ご依頼について フッター ------------------ */
.iventsbox {
	border-top: 1px solid #cccccc;
	padding-top: 60px;
	display: flex;
	justify-content: space-between;
}

.ivents_inbox01,
.ivents_inbox02 {
	width: 49.5%;
	padding: 20px;
	background: #FED3DE;
	border-radius: 10px;
}

.ivents_inbox01 h2,
.ivents_inbox02 h2 {
	font-size: 20px !important;
	border-left: #e95189 4px solid ;
	padding: 3px 0 3px 5px !important;
}



/* ------------------ Q&A  & 特徴 ------------------ */
.qandabox {
	width: 80%;
	margin: 0 auto;
	background: #feeef2;
	padding: 20px;
	border-radius: 10px;
}

.featuresbox {
	width: 80%;
	margin: 20px auto;
	background: #feeef2;
	padding: 20px;
	border-radius: 10px;
}

.qandabox h2 {
	font-size: 20px !important;
	border-left: #e95189 4px solid ;
	margin-top: 50px;
	padding: 3px 0 3px 5px !important;
}

.featuresbox h2 {
	font-size: 20px !important;
	border-left: #e95189 4px solid ;
	padding: 3px 0 3px 5px !important;
}


a.linebtn {
	display: block;
	background: #E95189;
	padding: 20px;
	text-align: center;
	border: 1px solid #ffffff;
	color: #ffffff;
	font-weight: bold;
}

a.instabtn {
	margin-top: 10px;
	display: block;
	background: #E95189;
	padding: 20px;
	text-align: center;
	border: 1px solid #ffffff;
	color: #ffffff;
	font-weight: bold;
}

a.linebtn:hover,
a.instabtn:hover {
	background: #E886A3;
}

.nav-links .page-numbers.current {
	display: inline-block;
	padding: 3px 10px 3px;
	background: #e95189;
	color: #ffffff;
}


.textC { text-align: center; }
.priceyen { color: #990000; font-size: 1.6em; font-weight: bold; }


.attention {
	color: #990000;
	font-weight: bold;
}

/* ------------------------------------------------------- スマホ 767px ------------------------------------------------------- */
@media (max-width: 767px) {	
	#header #site-info {
		clip-path: none !important;
	}
	
	#header {
		margin-bottom: 0;
	}
	#header-box.header-style11 {
		filter: opacity(1.0);
	}
	.sp-menu-box {
		background-color: rgba(255, 255, 255, 0.8);
	}
	.cps-icon-bar, #navtoggle:checked+.sp-menu-open .cps-icon-bar {
		color: #333333;
	}
	#header-box.header-style11,
	.header-style11 #header {
		width: auto;
	}
	.sp-menu-open {
		padding-top:25px;
	}
	#header #site-info {
		background: none;
		padding: 10px;
	}
	.top_7thstage_bnr {
		margin:0;
		padding:10px;
		width: auto;
	}
	#topcontents01_in {
		width: auto;
		margin: 0 10px;
		padding: 60px 15px 50px;
	}
	
	#topcontents01_in h2 {
		font-size: 30px;
	}
	
	#topcontents01_in h3 {
		font-size: 22px;
		font-weight: bold;
	}
	
	.topcontents01_in_span {
		display: none;
	}
	
	.top_newslist .top_newslist_span {
		top: 79px;
	}
	
	.top_newslist .top_newslist_span img {
		width: 220px;
	}
	
	.top_newslist {
		padding:80px 15px;
	}
	
	.top_newslist .newstime {
		display: block !important;
	}
	
	.newslist_block a {
		padding: 20px 38px 20px 0;
	}
	.top_choice {
		padding-top: 0;
		padding-bottom: 0;
	}
	.choicebox {
		width: auto;
		padding: 20px 15px ;
	}
	.choicebox h2 {
		font-size: 28px;
	}
	.choicebox_list {
		display: block;
	}
	.choicebox_in {
		margin: 0 auto 25px;
	}
	.eventrepobox {
		width: auto;
		padding: 0 15px;
	}
	.eventrepobox_list .eventrepobox_in {
		width: 49%;
	}
	.eventrepobox h2 {
		font-size: 28px;
	}
	
	.top_blog {
		padding-bottom: 0;
	}
	.topblogbox {
		width: auto;
		padding: 0 15px;
	}
	.topblogbox_list .topblogbox_in {
		width: 49%;
	}
	.topblogbox h2 {
		font-size: 28px;
	}
	.top_classbox {
		display: block;
		width: auto;
		padding: 30px 15px;
	}
	.top_classbox h2 {
		font-size: 28px;
	}
	.top_classbox_in {
		width: 49%;
	}
	.top_teature {
		width: auto;
		padding: 0 15px;
	}
	.top_teature h2 {
		font-size: 28px;
	}
	.top_teature_in {
		display: block;
	}
	.top_teature_in_img,
	.top_teature_in_text {
		width: 100%;
	}
	.footercontacts {
		padding: 0 15px 60px;
		padding-top: 0 !important;
	}
	.footercontacts h2{
		font-size: 24px;
	}
	.footercontacts h2 span {
		text-align: left !important;
	}
	.footercontacts h2 span br {
		display: none;
	}
	
	.footercontacts_in {
		width: 100%;
		display: block;
		margin-top: 150px;
		margin-bottom: 155px;
	}
	.fc_contacts {
		padding-top: 0 !important;
	}
	.footercontacts .map iframe {
		margin-top: 30px;
	}
	.fc_lesson,
	.fc_contacts,
	.fc_contacts_biz {
		width: 100%;
		margin-bottom: 20px;
	}
	.fc_contacts,
	.fc_contacts_biz {
		height: 270px;
	}
	.archive-box {
		padding: 15px;
	}
	.prelesson_in.flexbox {
		display: block;
	}
	.prelesson_in .prelesson01,
	.prelesson_in .prelesson02,
	.prelesson_in .prelesson03 {
		width: 100%;
		border-top: 1px solid #dedede;
		margin-top: 20px;
		padding-top: 20px;
	}
	.belongings h2.wp-block-heading {
		font-size: 22px;
	}
	.belongings ul {
		display: block;
		margin: 30px 0 15px !important;
		padding: 0 0 0 0 !important;
	}
	.belongings ul li {
		display: block;
		width: auto ;
		font-size: 16px;
		border-bottom: 1px solid #dddddd;
		padding: 8px 0;
	}
	.Form-Item {
		display: block !important;
	}
	.formtbl .Form-Item select.Form-Item-Input,
	.formtbl .Form-Item .Form-Item-Input,
	.formtbl .Form-Item .Form-Item-Textarea {
		max-width: 90%;
	}
	.cps-post-header h1.cps-post-title {
		margin-right: 0;
		margin-left: 0;
		font-size: 32px !important;
		font-weight: bold;
	}
	.classcontents_in100 {
		width: auto;
		padding: 15px;
	}
	.classcontents_in100 .flexbox {
		display: block;
	}
	.classcontents_in100 .flexbox .flexbox_in6,
	.classcontents_in100 .flexbox .flexbox_in4 {
		display: block;
		width: 100%;
	}
	.fadeIn_right.is-show {
		transform: none !important;
	}
	.h2-style07 h2 {
		font-size: 1.7rem !important;
	}
	.boxmember02:before {
		right: 25%;
	}
	.classlist {
		display: block;
	}
	
	.classlist .classbox {
		width: 100%;
	}
	.classlist .classbox.kids_class,
	.classlist .classbox.kidsm_class,
	.classlist .classbox.juniorgirls_class,
	.classlist .classbox.girls_class,
	.classlist .classbox.boys_class,
	.classlist .classbox.madame_class,
	.classlist .classbox.other_class,
	.classlist .classbox.pilates_class {
		padding-top: 270px;
	}
	.buttonIconText02 {
		margin-right: auto;
		margin-left: auto;
	}
	.flexbox_re {
		display: block;
	}
	.flexbox_re .flexbox_in6,
	.flexbox_re .flexbox_in4 {
		width: 100%;
	}

	.eventsgallarybox a {
		display: inline;
		width: 49.5%;
	}
	
	.shiny_gallary {
		padding: 0 10px;
	}
	
	.iventsbox {
	border-top: 1px solid #cccccc;
	padding-top: 40px;
	display: block;
	}

	.ivents_inbox01,
	.ivents_inbox02 {
		display: block;
		width: auto;
		margin: 10px 0;
	}
	
	.ivents_inbox01 h2,
	.ivents_inbox02 h2 {
		font-size: 20px !important;
		border-left: #e95189 4px solid ;
		padding: 3px 0 3px 5px !important;
	}
	
	.qandabox {
	width: 94%;
	margin: 0 auto;
	}
	
	.featuresbox {
	width: 94%;
	margin: 20px auto;
	}

	.qandabox h2 {
		font-size: 20px !important;
		border-left: #e95189 4px solid ;
		margin-top: 50px;
		padding: 3px 0 3px 5px !important;
	}

	.featuresbox h2 {
		font-size: 20px !important;
		border-left: #e95189 4px solid ;
		padding: 3px 0 3px 5px !important;
	}
	
	.sp-sidemenu-menu .menu-box li:nth-child(5), .sp-sidemenu-menu .menu-box li:nth-child(6), .sp-sidemenu-menu .menu-box li:nth-child(7), .sp-sidemenu-menu .menu-box li:nth-child(8) {
		display: list-item;
	}
	
	.sp-sidemenu-search {
		display: none;
	}
	
	
	[id^="topcontents0"],
	.footercontacts .map {
		width: 100% !important;
		margin-top: 20px;
	}
	
	#navtoggle:checked ~ .sp-menu-close {
        pointer-events: none;
    }
	
	ul.menu-box li a:before {
		content: none !important;
	}
	
	.topcontents01_in_list {
		margin-top: 15px;
		padding-right: 3%;
	}
	
	#topcontents05_in_list .flow_in_box {
    width: 75%;
	padding-right: 2%;
	padding-left: 2%;
    margin: 0 auto 50px;
	}
	
	#topcontents02_in {
		padding-top: 20px;
	}
	
	#topcontents03_in {
		padding-bottom: 0;
	}
	
	#topcontents05_in {
		padding-bottom: 0;
	}
	
	#topcontents07box {
		padding-right: 4%;
	}
	
	#topcontents02_in h2 {
		font-size: 30px;
	}
	
	#topcontents03_in h2 {
		font-size: 30px;
	}
	
	#topcontents04box h2 {
		font-size: 30px;
	}
	
	#topcontents05 {
		padding-top: 30px;
	}
	
	#topcontents05_in h2 {
		font-size: 30px;
	}
	
	#topcontents06_in h2 {
		font-size: 30px;
	}
	
}


.cps-post-main ol > li:before, .cps-post-main table ol li:before {
	top: 12px !important;
}

.cps-post-main ol > li:after, .cps-post-main table ol li:after {
	padding-top: 10px;
}

.cps-post-main ul.wp-block-list li:before {
	top:1.1em !important;
}