@charset "UTF-8";
/*
Theme Name: custom
*/
@font-face {
	font-family: "CONDENSEicon";
	src: url("img/CONDENSEicon.woff") format("woff"), url("img/CONDENSEicon.otf") format("opentype");
}

*,
*:before,
*:after {
	box-sizing: border-box;
}

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

mark {
	background-color: #ffff00;
	color: #000000;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

svg:not(:root) {
	overflow: hidden;
}

button,
input,
optgroup,
select,
textarea {
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
	        appearance: button;

	-webkit-appearance: button;
	   -moz-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	padding: 0;
	border-style: none;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

legend {
	display: table;
	max-width: 100%;
	padding: 0;
	color: inherit;
	white-space: normal;
}

progress {
	display: inline-block;
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	        appearance: textfield;

	-webkit-appearance: textfield;
	   -moz-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
	        appearance: none;

	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	font: inherit;
	        appearance: button;

	-webkit-appearance: button;
}

summary {
	display: list-item;
}

canvas,
time {
	display: inline-block;
}

[hidden] {
	display: none;
}

body {
	width: 100%;
	margin: 0;
	background: #ffffff;
	color: #000000;
	font-size: calc(0.75em + 0.5vw);
	line-height: 1.5;
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	letter-spacing: 0.1rem;

	text-size-adjust: 100%;
}

#wrapper {
	position: relative;
	overflow-x: hidden;
}

#wrapperFixed {
	width: 100%;
}

.bgFixed {
	position: fixed;
	height: 100%;
}

img {
	border-style: none;
	vertical-align: bottom;
}

a {
	background-color: transparent;
	color: #000000;
	transition: 0.5s cubic-bezier(0.4, 0, 0.5, 1);
}

a:hover {
	opacity: 0.7;
	text-decoration: none;
	transition: 0.3s cubic-bezier(0.4, 0, 0.5, 1);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 1rem 0;
}

ul,
ol,
li,
table,
p,
img,
.noImg {
	margin: 1rem 0;
}

section {
	margin: 3rem 0;
}

.mb {
	margin-bottom: 2.5rem !important;
}

.mbNone {
	margin-bottom: 0 !important;
}

p {
	line-height: 1.7;
}

p,
dt,
dd,
th,
td,
li,
input,
textarea,
select {
	font-size: 0.9rem;
}

small {
	display: inline-block;
	margin: 0.4rem 0;
	color: #999999;
	font-size: 0.85rem;
}

table {
	width: 100%;
	border-collapse: collapse;
}

th,
td {
	padding: 1.2rem 0.5rem;
	border-top: 1px solid #ededed;
	border-bottom: 1px solid #ededed;
	font-size: 0.7rem;
	text-align: left;
}
th {
	width: 24%;
	background: #fafafa;
	color: #e3409e;
	font-weight: normal;
	text-align: center;
}
.tablePrice td {
	text-align: right;
}

.tablePrice td span,
.tablePrice td small {
	text-align: left;
}


ul,
ol {
	margin-left: 1rem;
	padding-left: 0.5rem;
}

.frame {
	width: 100%;
	padding-right: 1rem !important;
	padding-left: 1rem !important;
}

.btnWrap {
	margin: 1rem 0;
	text-align: center;
}
.category-news .pagination .btnWrap{
	display: none;
}
.btn {
	display: inline-block;
	width: 70%;
	padding: 0.8rem 2rem;
	border: 1px solid #e3409e;
	border-radius: 2rem;
	background: #e3409e;
	color: #ffffff;
	font-weight: bold;
	font-size: 0.8rem;
	text-decoration: none;
	text-align: center;
}

.btnBright {
	border: 1px solid #e3409e;
	background: #ffffff;
	color: #e3409e;
}

.btn:hover {
	opacity: 1;
	border: 1px solid #e3409e;
	background: #ffffff;
	color: #e3409e;
}

.btnBright:hover {
	opacity: 1;
	background: #e3409e;
	color: #ffffff;
}

.icon {
	font-family: CONDENSEicon;
}

.circle {
	display: inline-block;
	position: relative;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: #e8dfe2;
}

.circle .icon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #e3409e;
	font-size: 10px;
}
.main_color {
	color: #e3409e;
}
.caution {
	color: #ec4c6a;
}
.txtRight {
	text-align: right;
}
.listNone {
	list-style: none;
	margin: 0;
	padding: 0;
}

.listDisc li,
.listDecimal li {
	margin: 1rem 0;
	font-weight: bold;
	font-size: 1.1rem;
}

.listFlow {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: num;
}

.listFlow li {
	position: relative;
	margin-bottom: 5rem;
	padding: 1rem;
	border: 1px solid #000000;
	border-radius: 7px;
}

.listFlow li:after {
	position: absolute;
	right: 0;
	bottom: -5.6rem;
	left: 0;
	width: 0;
	margin: auto;
	border: 2rem solid transparent;
	border-top-color: #eeeeee;
	content: "";
}

.listFlow li:last-child:after {
	content: none;
}

.listFlow li .title {
	position: relative;
	padding-left: 2.6rem;
	color: #000000;
	font-size: 1.1rem;
}

.listFlow li .title:after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 2rem;
	height: 2rem;
	margin: auto;
	padding-left: 0.1rem;
	border-radius: 50%;
	background: #000000;
	color: #ffffff;
	font-weight: bold;
	font-size: 1rem;
	line-height: 2;
	text-align: center;
	counter-increment: num;
	content: counter(num);
}



body:not(.home) #content:after {
	display: block;
	clear: both;
	content: "";
}

#main .wrapPost:not(.col) {
	margin: 3rem 0 1rem;
}

#main .thumb img,
#main .noImg {
	margin: 0;
}

#main a {
	text-decoration: none;
}

#main .wrapPost .content a:not(.btn),
#main .wrapPage .content a:not(.btn) {
	text-decoration: underline;
}

#main img {
	width: 100%;
	height: auto;
}

#main .meta {
	padding-top: 0.6rem;
	padding-bottom: 0.4rem;
}

#main .date {
	color: #999999;
	font-size: 0.8rem;
}

#main .wrapPost .category .listNone li {
	display: inline-block;
	margin: 0 0.3rem 0.55rem 0;
	font-size: 0.7rem;
}

#main .wrapPost .category .listNone a {
	display: inline-block;
	padding: 0.4rem 0.5rem;
	border: 1px solid #dddddd;
	border-radius: 7px;
	color: #999999;
}

#main .wrapPost .category .listNone a:hover {
	opacity: 1;
	border-color: #000000;
	background: #000000;
	color: #ffffff;
}

#main .titlePost {
	margin-bottom: 1rem;
	font-size: 1.3rem;
	text-align: left;
}

#main .author {
	padding: 1.1rem 0;
	color: #999999;
	font-size: 0.7rem;
}

#main .publisher {
	display: none;
}

#socialBtn {
	margin: 0.3rem 0 3rem;
	padding: 1.2rem 1.2rem 0.4rem;
	border-radius: 7px;
	background: #e8dfe2;
}

.wp_social_bookmarking_light_clear {
	display: none;
}

.wp_social_bookmarking_light {
	display: flex;
	flex-wrap: wrap;
}

.wp_social_bookmarking_light > div {
	height: 20px;
	margin: 0 0.8rem 0.8rem 0;
}

.wp_social_bookmarking_light > div iframe,
.wp_social_bookmarking_light > div #___plusone_0 {
	vertical-align: top !important;
}

.wsbl_line img {
	width: auto !important;
	margin: 0;
	vertical-align: top;
}

#relatedPost .title {
	margin-bottom: 1rem;
}

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

.wp_rp li {
	margin-bottom: 0.4rem;
}

.wp_rp li:after {
	display: block;
	clear: both;
	content: "";
}

.wp_rp li:last-child {
	margin: 0;
}

.wp_rp_thumbnail {
	float: left;
	width: 5rem;
	height: 5rem;
	margin-right: 0.5rem;
	background-size: 30%;
}

.wp_rp_thumbnail img {
	height: 5rem;
	margin: 0;
}

.wp_rp_publish_date {
	display: block;
	color: #999999;
	line-height: 1.7;
}

#side .sideWidgetInner {
	margin-bottom: 1rem;
	border: 1px solid #eeeeee;
	border-radius: 7px;
	text-align: center;
}

#side .sideTitle {
	margin: 0;
	padding: 1.5rem 0;
	border-radius: 7px 7px 0 0;
	background: #f5f5f5;
	font-size: 1.1rem;
}

#side .widget_archive ul {
	height: 20rem;
	overflow-y: scroll;
}

#side ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#side li {
	margin: 0;
	border-top: 1px solid #eeeeee;
}

#side li a {
	display: block;
	padding: 1rem;
	text-decoration: none;
}
.noImg {
	display: block;
	height: 100%;
	min-height: 5rem;
	overflow: hidden;
	background-image: url(img/logo.svg);
	background-position: center;
	background-size: auto 50%;
	background-repeat: no-repeat;
}

#header {
	z-index: 1;
	width: 100%;
}

#header .nav {
	width: 100%;
	font-size: 0.9rem;
}

#header .nav a {
	text-decoration: none;
}

#header .nav .bg {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 2;
	width: 80%;
	background-color: #e3409e;
}
#header .nav .bg.spNav {
	height: 100%;
	overflow-y: auto;
}
#header .navBtn,
#header .navBtn span {
	display: inline-block;
	cursor: pointer;
	transition: 0.4s;
}

#header .navBtn {
	position: absolute;
	top: 0.8rem;
	right: 0.8rem;
	z-index: 3;
	width: 40px;
	height: 33px;
}

#header .navBtn span {
	position: absolute;
	right: 0;
	left: 0;
	width: 30px;
	height: 3px;
	margin: auto;
	border-radius: 3px;
	background-color: #e3409e;
}

#header .navBtn span:nth-child(1) {
	top: 6px;
}

#header .navBtn span:nth-child(2) {
	top: 15px;
}

#header .navBtn span:nth-child(3) {
	bottom: 6px;
}

#header .navBtn.open span {
	background: #ffffff;
}

#header .navBtn span.txt {
	bottom: -0.8rem;
	width: 100%;
	height: auto;
	background: none;
	font-weight: bold;
	font-size: 0.6rem;
	letter-spacing: 0;
	text-align: center;
}

#header .open span:nth-of-type(1) {
	transform: translateY(9px) rotate(-315deg);
}

#header .open span:nth-of-type(2) {
	opacity: 0;
}

#header .open span:nth-of-type(3) {
	transform: translateY(-9px) rotate(315deg);
}

@keyframes navOpenAnime {
	100% {
		height: 0;
	}
}

#header li {
	margin: 0;
}

#header .menu {
	visibility: hidden;
	opacity: 0;
	position: absolute;
	z-index: 2;
	width: 100%;
	padding-bottom: 100px;
	overflow-y: scroll;
	transition: 0.4s;
	transition: 0.4s;
	-webkit-overflow-scrolling: touch;
}

#header .navList {
	margin: 1rem 0 0;
}
#header .navList a {
	display: block;
	position: relative;
	margin: 0 0 1px;
	padding: 1rem;
	background: #d12689;
	color: #ffffff;
	font-weight: normal;
	font-size: 0.75rem;
}
#header .navList a::after {
	position: absolute;
	right: 0.5rem;
	color: #f3b4d9;
	font-family: "CONDENSEicon";
	content: "ú";
}

#header .btnEnglish a {
	display: inline-block;
	padding: 0.2rem 1rem;
	background: #000000;
	color: #ffffff;
	font-size: 0.6rem;
}
#header .btnEnglish a .icon {
	margin-right: 0.2rem;
	font-size: 1rem;
}

#header .btnNavLink {
	display: flex;
	margin: 1rem 0 0;
}
#header .btnNavLink li {
	display: flex;
	width: 100%;
}
#header .btnNavLink li + li {
	margin-left: 1px;
}
#header .btnNavLink a {
	display: block;
	width: 100%;
	padding: 0.5rem;
	background: #ffffff;
	color: #e3409e;
	font-weight: bold;
	text-align: center;
}
#header .btnNavLink a .icon {
	margin-right: 0.2rem;
	font-size: 1rem;
}
#header .btnNavLink a .iconTrial svg {
	width: 15px;
	height: 17px;
	margin-right: 0.2rem;
	vertical-align: middle;

	fill: #e3409e;
}

#header .logoNav {
	width: 100%;
}

#header .inner {
	padding: 0 !important;
}

#header .logo {
	position: relative;
	z-index: 2;
	width: 55px;
	margin: auto;
	padding: 15px 0;
	line-height: 1;
}

#header .logo img {
	width: 100%;
	margin: 0;
}

#header .logoNav {
	position: absolute;
	top: 0;
}

.headerLink {
	position: relative;
	z-index: 1;
}
#headerBtn {
	display: flex;
	padding: 12px 0;
}
#headerBtn li {
	margin: 0;
	padding: 0;
	font-size: 0.75rem;
}
#headerBtn li:nth-of-type( n+1 ) {
	border-left: 1px solid #f2ecee;
}
#headerBtn a {
	display: block;
	margin: 0;
	padding: 0 5px;
	color: #e3409e;
	font-size: 0.5rem;
	letter-spacing: 0;
	text-decoration: none;
	text-align: center;
}

#headerBtn .language {
	position: relative;
}
#headerBtn a.label {
	cursor: pointer;
}
#headerBtn .box_language {
	display: none;
	list-style: none;
	position: absolute;
	top: 40px;
	left: 0;
	margin: 0;
    background: #fff;
    padding: 10px;
    border: 1px solid #e3409e;
}
#headerBtn .box_language li {
	border: none;
}
#headerBtn .box_language li:first-child {
	padding-bottom: 8px;
}

#headerBtn .icon {
	display: block;
	font-size: 1.25rem;
	line-height: 100%;
	vertical-align: middle;
}
#headerBtn .iconTrial svg {
	display: block;
	width: 17px;
	height: 20px;
	margin: 0 auto;

	fill: #e3409e;
}


#headerList li {
	display: inline-block;
	margin: 0 0 0 10px;
	font-size: 0.65rem;
}
#headerList li a {
	text-decoration: none;
}
#headerList .circle {
	width: 11px;
	height: 11px;
	margin-right: 8px;
	vertical-align: middle;
}
#headerList .circle .icon {
	font-size: 6px;
	line-height: 1;
}


#mainVisual {
	display: block;
	position: relative;
}

#mainVisual .slick-slide {
	padding: 0;
}

#mainVisual .slick-slide div {
	margin: 0;
	padding: 0;
}

#mainVisual .slick-slide img {
	display: inline-block;
	width: 100%;
	margin: 0;
}

#mainVisual .txt {
	position: absolute;
	right: 0;
	bottom: -3vw;
	left: 0;
	margin: auto;
}

#mainVisual .txt img {
	width: 100%;
	margin: 0 auto;
}

#mainVisual .slick-arrow {
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 1;
	width: 30px;
	height: 30px;
	margin: auto;
	font-size: 0.7rem;
	cursor: pointer;
}

#mainVisual .slick-arrow.prev {
	left: 0;
}

#mainVisual .slick-arrow.next {
	right: 0;
}

#mainVisual .slick-dots {
	position: absolute;
	bottom: 0;
}
#mainVisual .slick-dots li {
	width: 16px;
	height: 26px;
}
#mainVisual .slick-dots li button::before {
	opacity: 1;
	color: #e8dfe2;
	font-size: 10px;
	line-height: 10px;
}
#mainVisual .slick-dots li.slick-active button::before {
	color: #e3409e;
}
#mainVisual .slick-dotted.slick-slider {
	margin: 0;
}

.titleTop {
	position: relative;
	margin-bottom: 2rem;
	padding: 2rem 0 1rem;
	color: #121212;
	font-size: 1.2rem;
	text-align: center;
}
.titleTop:after {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 100px;
	height: 4px;
	margin: 0 0 0 -50px;
	background: #e3409e;
	content: "";
}

.loopTop .wrapPost {
	margin: 0;
}

.loopTop .wrapPost .img {
	display: block;
	position: relative;
	overflow: hidden;
	background: #f5f5f5;
}

.loopTop .wrapPost .img img,
.loopTop .wrapPost .img .noImg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.loopTop .wrapPost .titlePost {
	margin: 0;
	padding: 0;
	font-size: 1.1rem;
}

.loopTop .wrapPost .titlePost a {
	height: auto !important;
}

.loopTop .wrapPost .img {
	height: 42vw;
}

.loopTop .wrapPost .date {
	margin-bottom: 0.3rem;
}
#breadCrumbWrap {
	margin: 0;
}

.breadcrumb {
	padding: 0.5rem;
	background: #f5f5f5;
}
.breadcrumb li {
	display: inline-block;
	margin: 0.2rem 0.5rem 0.2rem 0;
	font-size: 0.6rem;
}
.breadcrumb li,
.breadcrumb li a {
	color: #000000;
}
.breadcrumb li svg {
	margin-right: 0.5rem;
}

#googleMap,
#mapRoppongi,
#mapNakameguro,
#mapGotanda,
#mapOkinawa,
#mapGinza {
	width: 100%;
	height: 63vh;
}

#googleMap img,
#mapRoppongi img,
#mapNakameguro img,
#mapGotanda img,
#mapOkinawa img,
#mapGinza img {
	margin: 0;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

#footer {
	background-color: #e3409e;
}

#footerSns {
	background: #f5f5f5;
}
#footerSns ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 10px 5px !important;
}
#footerSns li {
	width: 50%;
	margin: 0;
	padding: 10px 5px;
}
#footerSns li a {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50px;
	background: #ffffff;
	font-size: 0.8rem;
	letter-spacing: 0;
	text-decoration: none;
	text-align: center;
}
#footerSns li a img {
	width: 25px;
	margin-right: 5px;
	vertical-align: middle;
}
#footerSns .txt {
	max-width: 60%;
}

#footerLink {
	margin: 0;
	padding: 0 !important;
}
#footerLink li {
	margin: 0;
	border-bottom: 1px solid #ffffff;
	line-height: 1;
}
#footerLink li:last-child {
	border: none;
}
#footerLink a {
	display: block;
	padding: 0.75rem;
	color: #ffffff;
	font-size: 0.75rem;
	text-decoration: none;
}

#footerCopy {
	margin: 0;
	padding-bottom: 1rem;
	border-top: 1px solid #ffffff;
	color: #ffffff;
	text-align: center;
}

#footerCopy small {
	margin: 20px 0;
	color: #ffffff;
	font-size: 0.7rem;
}

#bottomCta {
	visibility: hidden;
	opacity: 0;
	position: fixed;
	bottom: 0;
	width: 100%;
	background: #fbfbfb;
	transition: 0.4s;
}

#bottomCta .frame {
	display: flex;
	justify-content: space-between;
	height: 60px;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

#bottomCta a {
	text-decoration: none;
}

#bottomCta .online {
	display: flex;
	width: 40%;
}

#main .photo {
	border: 7px solid #ffffff;
	border-radius: 5px;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}

.listLink {
	padding: 1rem;
}

.listLink .listNone {
	position: relative;
	border-radius: 7px;
}

.listLink .listNone:before,
.listLink .listNone:after {
	position: absolute;
	top: -0.5rem;
	width: 40px;
	height: 21px;
	background-size: contain;
	background-repeat: no-repeat;
	content: "";
}

.listLink .listNone:before {
	left: 0;
}

.listLink .listNone:after {
	right: 0;
}

.listLink .listNone li {
	margin: 0;
	padding-right: 1rem;
	padding-left: 1rem;
}

.listLink .listNone li a {
	align-items: center;
	padding: 1rem 0;
	border-bottom: 1px dashed #dddddd;
}

.listLink .listNone li:last-child a {
	border: none;
}

.listLink .listNone .txt {
	width: 71%;
	font-weight: bold;
}

.listLink .listNone .circle {
	width: 2rem;
	height: 2rem;
}

.listLink .listNone .circle .icon {
	font-size: 1rem;
}

.listLink .listNone .mind .circle {
	background: #eca0df;
}

.listLink .listNone .mind .arrow {
	color: #eca0df;
}

.listLink .listNone .shop .circle {
	background: #ff6091;
}

.listLink .listNone .shop .arrow {
	color: #ff6091;
}

.listLink .listNone .isamiya .circle {
	background: #96e169;
}

.listLink .listNone .isamiya .arrow {
	color: #96e169;
}

.listLink .listNone .access .circle {
	background: #e9d6c0;
}

.listLink .listNone .access .arrow {
	color: #e9d6c0;
}

.listLink .listNone .blog .circle {
	background: #ffb565;
}

.listLink .listNone .blog .arrow {
	color: #ffb565;
}

.listLink .listNone .preparation .circle {
	background: #fea0d3;
}

.listLink .listNone .preparation .arrow {
	color: #fea0d3;
}

.listLink1 .listNone {
	background-image: url(img/bg-gray.jpg);
	background-size: 128px auto;
	background-repeat: repeat;
}

.listLink1 .listNone:before {
	background-image: url(img/flag-left-bg1.png);
}

.listLink1 .listNone:after {
	background-image: url(img/flag-right-bg1.png);
}

.listLink2 {
	background: #f6fbff;
}

.listLink2 .listNone {
	background: #ffffff;
}

.listLink2 .listNone:before {
	background-image: url(img/flag-left-bg2.png);
}

.listLink2 .listNone:after {
	background-image: url(img/flag-right-bg2.png);
}

/* ---------- top ---------- */
/* news */
#topImportant,
#topTopics {
	margin: 0 0 60px;
}
#newsArchive {
	margin: 3rem 0;
}
#topImportant .icon,
#topTopics .icon,
#newsImportant .icon,
#newsTopics .icon,
#newsArchive .icon {
	color: #e3409e;
}
#topImportant .frame .colsBoth:first-child,
#topTopics .frame .colsBoth:first-child,
#newsImportant .frame .colsBoth:first-child,
#newsTopics .frame .colsBoth:first-child,
#newsArchive .frame .colsBoth:first-child {
	border-top: 1px solid #ededed;
}
#topImportant .colsBoth a,
#topTopics .colsBoth a,
#newsImportant .colsBoth a,
#newsTopics .colsBoth a,
#newsArchive .colsBoth a {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	margin: 0;
	padding: 1.5rem 0;
	border-bottom: 1px solid #ededed;
}
#topImportant .txt,
#topTopics .txt,
#newsImportant .txt,
#newsTopics .txt,
#newsArchive .txt {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}
#topImportant .txt .date,
#topTopics .txt .date,
#newsImportant .txt .date,
#newsTopics .txt .date,
#newsArchive .txt .date {
	align-self: flex-start;
	width: 100px;
	padding: 0.4rem 0;
	color: #ffffff;
	font-size: 0.75rem;
	text-align: center;
}
#topImportant .txt .date,
#newsImportant .txt .date {
	background: #000000;
}
#topTopics .txt .date,
#newsTopics .txt .date,
#newsArchive .txt .date {
	background: #e3409e;
}
#topImportant .txt .titlePost,
#topTopics .txt .titlePost,
#newsImportant .txt .titlePost,
#newsTopics .txt .titlePost,
#newsArchive .txt .titlePost {
	width: calc(100% - 120px);
	margin: 0 0 0 20px;
	font-weight: normal;
	font-size: 0.85rem;
}

#topInformation {
	margin: 0 0 60px;
	padding: 1rem 0 60px;
	background: #e8dfe2;
}
#topInformation .frame .colsBoth:first-child {
	border-top: 1px solid #ededed;
}
#topInformation .colsBoth {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	margin: 0;
	padding: 0.5rem 0;
	border-bottom: 1px solid #ededed;
}
#topInformation .txt {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
}
#topInformation .choice {
	flex-basis: 50px;
	align-self: flex-start;
	margin: 0.5rem 0;
	padding: 0.4rem 0;
	color: #ffffff;
	font-size: 0.75rem;
	text-align: center;
}
#topInformation .change .choice {
	background: #e3409e;
}
#topInformation .cancel .choice {
	background: #000000;
}
#topInformation .date {
	flex-basis: 100px;
	align-self: flex-start;
	margin: 0.5rem 20px 0.5rem 0;
	padding: 0.4rem 0;
	background: rgba(255,255,255,0.5);
	font-size: 0.75rem;
	text-align: center;
}
#topInformation .change .date {
	color: #e3409e;
}
#topInformation .cancel .date {
	color: #000000;
}
#topInformation .lesson {
	flex-basis: 100%;
	margin: 0.5rem 0;
	font-weight: bold;
	font-size: 0.85rem;
}
#topInformation .detail {
	flex-basis: 100%;
	margin: 0.5rem 0;
	font-weight: normal;
	font-size: 0.85rem;
}

#topConcept {
	margin: 0;
	padding: 0 0 40px;
	background-image: url(img/top_bg_concept.png);
	background-position: 50% 115px;
	background-size: cover;
	background-repeat: no-repeat;
}
#topConcept img {
	border: 7px solid #eae1e5;
}
#topConcept .titleTopSub {
	color: #ffffff;
	font-size: 1.2rem;
	text-align: center;
}
#topConcept .titleTopSub .icon {
	margin-right: 0.5rem;
	font-weight: normal;
	font-size: 1.9rem;
	line-height: 1;
	vertical-align: middle;
}
#topConcept .txt {
	color: #ffffff;
}
#topContact {
	border-top: 1px solid #ffffff;
}
#topContact .titleTopSub {
	font-size: 1.2rem;
}
#topContact .titleTopSub small {
	color: #ffffff;
	font-size: 0.7rem;
}
#topContact li a {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 80px;
	border-radius: 60px;
	background: #ffffff;
	text-align: center;
}
#topContact li a .txt {
	margin: 0;
	color: #e3409e;
	font-weight: bold;
	font-size: 1.2rem;
	line-height: 1.2;
}
#topContact li a .txt .icon {
	font-weight: normal;
	font-size: 1.5rem;
}
#topContact li a .txt small {
	color: #e3409e;
	font-size: 0.7rem;
}

#topBnr {
	margin: 0;
}
#topBnr .frame {
	padding: 0 !important;
}
#topBnr ul {
	background-image: url(img/top_bg_bnr_sp.jpg);
	background-position: top center;
	background-size: cover;
	background-repeat: no-repeat;
}
#topBnr li {
	margin: 0;
	border-top: 1px solid #ffffff;
}
#topBnr li:first-child {
	border: none;
}
#topBnr li a {
	display: block;
	padding: 1.8rem 0;
	color: #ffffff;
	text-align: center;
}
#topBnr li a .txt {
	margin: 0;
}
#topBnr a .en {
	display: block;
	font-weight: bold;
	font-size: 1.4rem;
}

.topEc{
	margin: 0 0 60px;
}
.topEc li a {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 80px;
    border-radius: 60px;
    background: #e3409e;
	color: #fff;
    text-align: center;
}
.topEc li a .txt {
    margin: 0;
    color: #fff;
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1.2;
}

.topEc li a .txt .icon {
    font-size: 1.6rem;
}
@media screen and (min-width: 1120px) {
	.topEc{
		margin: 0 0 120px;
	}
	.topEc ul {
		display: flex;
		justify-content: center;
	}
	.topEc li {
		width: 470px;
		margin: 0 10px;
	}
	.topEc li a {
		min-height:120px;
	}
	.topEc li a .txt {
		font-size: 1.5rem;
	}
	.topEc li a .txt .icon {
		font-size: 2rem;
	}
}

/*下層ページ共通*/
/*
body:not(.home) #content {
  padding-bottom: 3rem;
}
*/
.titlePage {
	margin: 0;
	text-align: center;
}
#headTxt .titlePage {
	margin-bottom: 0;
	padding: 5rem 0;
	background-image: url(img/bg_pagettl.jpg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	color: #ffffff;
	font-size: 1.3rem;
}
#main .titleSection {
	position: relative;
	margin-bottom: 2rem;
	padding: 1rem 0;
	color: #121212;
	font-size: 1.2rem;
	text-align: center;
}
#main .titleSection:after {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 100px;
	height: 4px;
	margin: 0 0 0 -50px;
	background: #e3409e;
	content: "";
}

#main .titleGroup {
	position: relative;
	padding: 0.5rem 10px 0.5rem 25px;
	background: #e8dfe2;
	color: #e3409e;
	font-size: 1rem;
}
#main .titleGroup:after {
	position: absolute;
	top: 50%;
	left: 0;
	width: 12px;
	height: 4px;
	margin: -2px 0 0;
	background: #e3409e;
	content: "";
}

#main .titleSub1 {
	margin: 1rem 0;
	padding: 0.5rem 0;
	border-bottom: 1px solid #e3409e;
	font-weight: bold;
}

#main .titleSub2 {
	margin: 1rem 0;
	padding: 0.3rem 1rem;
	border-radius: 0.5rem;
	background: #f5f5f5;
	font-weight: bold;
	font-size: 0.9rem;
}

#main .loopTile {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	padding: 1rem 0 2rem;
}
#main .loopUnder {
	padding: 1rem 0 2rem;
}
#main .loopTile li,
#main .loopTile .wrapPost,
#main .loopUnder .wrapPost {
	margin-top: 1rem;
	padding: 0.5rem;
	text-align: center;
}
#main .loopTile li {
	margin-bottom: 0;
}
#main .loopTile li .titlePost {
	font-size: 1rem;
	text-align: center;
}

#main .loopTile .wrapPost:nth-child(2n) {
	margin-right: 0;
}
#main .loopTile .wrapPost {
	flex-grow: 0;
	flex-basis: 50%;
	max-width: 50%;
	margin-top: 1.5rem;
}

#main .loopTile .wrapPost .titlePost,
#main .loopUnder .wrapPost .titlePost {
	margin: 0.5rem 0 0;
	font-size: 0.8rem;
	text-align: center;
}
#main .loopTile li .size {
	margin-top: -0.5rem;
	font-size: 0.8rem;
}

.single .linkPrevNext .txt {
	margin: 0 0.5rem;
}
.single .linkPrevNext svg {
	font-size: 1rem;
	vertical-align: -3px;
}
.single .linkPrevNext .btn[rel="next"] {
	margin-left: auto;
}
/* slickで動かす要素の親以上にflexを指定すると、FFでslickの高さが異常に大きくなるバグを修正 */
* {
	min-width: 0;
	min-height: 0;
}

.tablePreparation .thead {
	display: none;
}
.tablePreparation th,
.tablePreparation td {
	border: 1px solid #dee6e6;
}
.tablePreparation th {
	background: #f3f7f7;
	color: #000000;
}
.tablePreparation td {
	display: block;
	font-size: 1rem;
}
.tablePreparation td:first-child {
	font-weight: bold;
}
.tablePreparation td:before {
	display: block;
	color: #999999;
	font-size: 0.7rem;
	content: attr(data-label);
}


.pagination {
	margin-bottom: 1rem;
}

.pagination span,
.pagination a {
    display: inline-block;
    width: 3rem;
    height: 3rem;
    margin: 0 0.5rem 0.5rem 0;
    border: 1px solid #eeeeee;
    line-height: 3.4;
    text-decoration: none;
    text-align: center;
}
.pagination .more {
    display: none;
}
.pagination .current {
    background: #f5f5f5;
}

.pagination .more {
	display: inline-block;
	width: auto;
	height: auto;
	margin: 0 0 1rem;
	border: none;
	line-height: normal;
	cursor: pointer;
}

.pagination a:hover {
	opacity: 1;
	border-color: #000000;
	background: #000000;
	color: #ffffff;
}

.contentNone .box {
	border: 1px solid #eeeeee;
}

#main .contentNone .titlePage {
	padding-top: 3rem;
	padding-bottom: 0;
}

#main .contentNone .titlePost {
	margin: 0;
	padding: 1rem;
	border-bottom: 1px solid #eeeeee;
	background: #f5f5f5;
}

#main .contentNone .txt {
	padding: 1rem 1rem 0;
}

#main .contentNone ul {
	margin-bottom: 0;
}

#searchForm {
	margin-bottom: 1rem;
}

#searchForm > div {
	display: flex;
	padding: 0.5rem 0;
	border: 1px solid #dddddd;
	border-radius: 7px;
}

#searchForm input {
	width: 80%;
	border: none;
	border-right: 1px solid #dddddd;
	border-radius: 0;
	background: none;
	font-size: 1.15rem;
	        appearance: none;
	transition: 0.5s cubic-bezier(1, 0, 0.5, 1);

	-webkit-appearance: none;
	   -moz-appearance: none;
}

#searchForm button {
	margin: 0 auto;
	border: none;
	background: none;
	cursor: pointer;
}

#searchForm button:hover {
	opacity: 0.7;
}

#searchForm svg {
	font-size: 1.5rem;
}

#searchForm input,
#searchForm button {
	padding: 1rem;
}

#searchForm input:focus,
#searchForm button:focus {
	background: #f5f5f5;
	outline: none;
}

#searchForm input:-webkit-autofill,
#searchForm button:-webkit-autofill {
	box-shadow: 0 0 0 1000px white inset;
}


.wpcf7 p {
	margin: 2.4rem 0;
}

.wpcf7 .title {
	display: block;
	margin-bottom: 0.2rem;
	padding-left: 0.1rem;
	font-size: 1.2rem;
}

.wpcf7 .title .caution {
	display: inline-block;
	margin-left: 0.4rem;
	padding: 0.1rem 0.5rem 0;
	border-radius: 7px;
	background: #e9474b;
	color: #ffffff;
	font-size: 0.7rem;
	vertical-align: 0.2rem;
}

.wpcf7 .txt {
	display: block;
}

.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select {
	width: 100%;
	padding: 1rem 0.5rem;
	border: 1px solid #dddddd;
	border-radius: 7px;
	font-size: 1.15rem;
	        appearance: none;
	transition: 0.5s cubic-bezier(1, 0, 0.5, 1);

	-webkit-appearance: none;
	   -moz-appearance: none;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
	background: #f5f5f5;
	outline: none;
}

.wpcf7 input:-webkit-autofill,
.wpcf7 textarea:-webkit-autofill,
.wpcf7 select:-webkit-autofill {
	box-shadow: 0 0 0 1000px white inset;
}

.wpcf7 ::-webkit-input-placeholder {
	color: #999999;
}

.wpcf7 ::-moz-placeholder {
	opacity: 1;
	color: #999999;
}

.wpcf7 :-ms-input-placeholder {
	color: #999999;
}

.wpcf7 select {
	position: relative;
	background: none;
	background: linear-gradient(to bottom, #ffffff 0%, #f5f5f5 100%);
	text-indent: 0.01px;

	text-overflow: "";
}

.wpcf7 select::-ms-expand {
	display: none;
}

.wpcf7 select:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #999999;
}

.wpcf7 .select {
	position: relative;
}

.wpcf7 .select svg {
	position: absolute;
	top: 1rem;
	right: 1rem;
	font-size: 2rem;

	pointer-events: none;
}

.wpcf7 input[type="radio"],
.wpcf7 input[type="checkbox"] {
	position: relative;
	width: 2.2rem;
	height: 2.2rem;
	margin-right: 0.2rem;
	padding: 0;
	background: none;
	background: #f5f5f5;
	vertical-align: middle;
}

.wpcf7 input[type="radio"]:checked:before,
.wpcf7 input[type="checkbox"]:checked:before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 1.4rem;
	height: 1.4rem;
	margin: auto;
	border-radius: 7px;
	background: #000000;
	content: "";
}

.wpcf7 input[type="radio"],
.wpcf7 input[type="radio"]:checked:before {
	border-radius: 50%;
}

.wpcf7 .wpcf7-list-item {
	margin: 1rem 1rem 0 0;
}

.wpcf7 .wpcf7-list-item-label {
	pointer-events: none;
}

.wpcf7 .select select,
.wpcf7 .check input,
.wpcf7 .radio input,
.wpcf7 #submitBtn input {
	cursor: pointer;
}

.wpcf7 textarea {
	resize: none;
}

.wpcf7 #submitBtn {
	display: block;
	text-align: center;
}

.wpcf7 #submitBtn input {
	display: inline-block;
	padding: 1.6rem 2rem;
	border: 1px solid #e3409e;
	border-radius: 7px;
	background: #e3409e;
	color: #ffffff;
	transition: 0.5s cubic-bezier(1, 0, 0.5, 1);
}

.wpcf7 #submitBtn input:hover {
	opacity: 1;
	background: #ffffff;
	color: #e3409e;
}

.wpcf7 #submitBtn input:focus {
	outline: none;
}

.wpcf7 .wpcf7-not-valid-tip {
	margin: 0.2rem 0 0 0.2rem;
	color: #ec4c6a;
	font-weight: bold;
}

.wpcf7 .wpcf7-response-output {
	margin: 0;
	padding: 0.5rem 0;
	font-weight: bold;
	text-align: center;
}

.wpcf7 .wpcf7-validation-errors,
.wpcf7 .wpcf7-mail-sent-ng {
	margin-bottom: 1rem;
	border: 2px solid #ec4c6a;
	color: #ec4c6a;
}

.wpcf7 .wpcf7-mail-sent-ok {
	border: 2px solid #e3409e;
	color: #e3409e;
}

.wpcf7 .ajax-loader {
	display: block !important;
	width: 3rem !important;
	height: 3rem !important;
	margin: 1rem auto 0 !important;
	border-radius: 50%;
	background: #e3409e !important;
	animation: scaleout 1.0s infinite ease-in-out;
}

@keyframes scaleout {
	0% {
		transform: scale(0);
	}
	100% {
		opacity: 0;
		transform: scale(1);
	}
}


/* ---------- お問い合わせ ---------- */

#boxContact1 .listDisc li {
	font-size: 0.8rem;
}
#boxContact1 .btn {
	width: 100%;
}


/* ---------- インストラクター ---------- */

.post-type-archive .loopTile {
	margin: 2rem 0;
}
.post-type-archive .thumb {
	position: relative;
	width: 100%;
	padding-top: 100%;
	overflow: hidden;
	background: #f5f5f5;
}
.post-type-archive .thumb img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.single-instructor .content h3 {
	position: relative;
	padding: 0.5rem 10px 0.5rem 25px;
	background: #e8dfe2;
	color: #e3409e;
	font-size: 1rem;
}
.single-instructor .content h3:after {
	position: absolute;
	top: 50%;
	left: 0;
	width: 12px;
	height: 4px;
	margin: -2px 0 0;
	background: #e3409e;
	content: "";
}

/* ---------- 体験レッスン ---------- */

#boxTrial1 .txt {
	font-size: 1.2rem;
	text-align: center;
}
#boxTrial1 .txt strong {
	font-size: 1.5rem;
}
#boxTrial1 .titleTrialPlan {
	padding: 1.5rem 0 1rem;
	border-top: 1px solid #dddddd;
	color: #e3409e;
	font-size: 1.7rem;
	text-align: center;
}
#boxTrial1 .titleTrialPlan small {
	padding: 0 10px;
	background: #e3409e;
	color: #ffffff;
	font-size: 1rem;
}
#boxTrial1 .trialPlan {
	margin: 0 0 1rem;
	padding: 0 1rem;
	border: 5px solid #e3409e;
}
#boxTrial1 .trialPlan .titleSub1 {
	margin-top: 0;
	color: #e3409e;
	font-size: 1.2rem;
}
#boxTrial1 .trialPlan .titleSub1 .icon {
	font-size: 2rem;
}
#boxTrial1 .trialPlan .titleSub1 small {
	color: #000000;
}


#boxTrial3 .listDisc li {
	font-size: 0.8rem;
}
#boxTrial3 .btn {
	width: 100%;
}
#main img.icon_img {
	display: block;
	float: left;
	width: 40px!important;
	height: auto;
	margin: 0 15px 15px 0;
	vertical-align: middle;
}


/* ---------- 初めての方へ ---------- */

.firstLesson .col {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 1rem 0.5rem;
	border: 10px solid #e8dfe2;
	box-shadow: 0 0 0 5px #ffffff inset;
	background: #e8dfe2;
	text-align: center;
}
.firstLessonInner {
	width: 100%;
	margin: 1rem;
}
.firstLesson .ttl {
	color: #e3409e;
	font-size: 1.4rem;
}
.firstLesson dl {
	display: flex;
	margin: 0.5rem 0;
}
.firstLesson dt,
.firstLesson dd {
	width: 100%;
	margin: 0;
	padding: 0.2rem;
}
.firstLesson dt {
	background: #e3409e;
	color: #ffffff;
}
.firstLesson dd {
	background: rgba(255,255,255,0.5);
}


/* ---------- レッスン案内 ---------- */

.lessonTtl {
	position: relative;
	background: #000000;
}
.lessonTtl img {
	opacity: 0.4;
	margin: 0;
}
.lessonTtl h3 {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	transform: translate(-50%, -50%);
	width: 100%;
	margin: 0;
	padding: 0;
	color: #ffffff;
	text-align: center;
}

.page-id-28 th,
.page-id-28 td {
	border: 1px solid #ededed;
}

.lessonList {
	margin: 3rem 0;
	text-align: center;
}
.lessonList li {
	display: block;
	margin: 0 0 0.5rem;
}
.lessonList li a {
	display: block;
	padding: 0.5rem 1.5rem;
	background: #e3409e;
	color: #ffffff;
	font-size: 0.75rem;
	text-decoration: none !important;
}

.btnL .btn {
	width: 100%;
	font-size: 1rem;
}


/* ---------- 料金案内 ---------- */
#boxPrice0 .txt {
	text-align: center;
}

#boxPrice1 .txt {
	font-size: 1.5rem;
	text-align: center;
}
.att_price .txt {
	font-size: 1.5rem;
	text-align: center;
}
/*
#boxPrice4 .btn {
  width: 80%;
}
*/
/* ---------- レッスンスケジュール ---------- 

.page-id-58 #content {
	text-align: center;
}
*/
/* ---------- よくある質問 ---------- */

#boxQa1 .titleGroup {
	padding-left: 3rem;
}
#boxQa1 .titleGroup:after {
	top: 0.5rem;
	left: 1rem;
	width: auto;
	height: auto;
	margin: 0;
	background: none;
	font-weight: bold;
	font-size: 1.1rem;
	content: "Q.";
}
#boxQa1 .txt {
	position: relative;
	margin-bottom: 2.5rem;
	padding-left: 3rem;
}
#boxQa1 .txt:after {
	position: absolute;
	top: 0;
	left: 1rem;
	margin: 0;
	color: #e3409e;
	font-weight: bold;
	font-size: 1.1rem;
	content: "A.";
}

/* ---------- レンタルスタジオ ---------- */

#boxRental2 .listDisc li {
	font-weight: normal;
	font-size: 0.9rem;
}

/* ---------- メディア掲載情報 ---------- */

.page-id-66 #content p {
	margin: 2.4rem 0;
}

#boxMedia1 .listDisc li {
	font-weight: normal;
	font-size: 1rem;
}

/* ---------- */

.center {
	text-align: center;
}

.btnContact .btn {
	width: 100%;
	font-size: 1.1rem;
}
.btnContact .btn small {
	margin: 0;
}

.cols {
	list-style: none;
	margin: 0;
	padding: 0;
}
/*
.col img, .colsBoth img {
  width: 100%;
  margin: 0 0 1rem;
  border: 7px solid #eae1e5;
}
*/
.colsBoth {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.colBoth {
	flex-basis: 48%;
	max-width: 48%;
}

.pc {
	display: none !important;
}

.show {
	visibility: visible !important;
	opacity: 1 !important;
	transition-delay: 0s !important;
}

/* ---------- 新料金表 ---------- */
table.layout-fixed tr th:first-child {
	width: 20%!important;
}
table.layout-fixed th {
	width: 40%;
	background-color: #e3409e;
	color: #ffffff;
}
table.layout-fixed th,
table.layout-fixed td {
	padding: 0.5rem 0.2rem;
	border: 1px solid #ededed;
	text-align: center;
	/*font-size: .35rem;*/
}

table.layout-fixed tr td:first-child {
	background-color: #fafafa;
}
table.layout-fixed td {
	word-break: break-all!important;
}
table.layout-fixed .col_line {
	background-color: #ffffff!important;
}
#main img.img_adjust {
	width: 100%;
	height: auto;
	text-align: center;
}


/* ---------- スタジオ案内 ---------- */

.access_anker ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 10px 5px !important;
}
.access_anker li {
	width: 50%;
	margin: 0;
	padding: 10px 5px;
}
.access_anker li a {
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #e3409e;
	border-radius: 50px;
	background: #ffffff;
	color: #e3409e;
	font-size: 0.8rem;
	letter-spacing: 0;
	text-decoration: none;
	text-align: center;
}
.access_anker li a.btn {
	width: 100%;
}
.access_anker li a:hover {
	opacity: 1;
	background: #e3409e;
	color: #ffffff;
}


/* ---------- ご入会について ---------- */

.joinCase {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 2.5rem;
	border: 1px solid #ededed;
}
.joinCaseTrial {
	border: 5px solid #ffcd34;
}
.joinCaseTtl {
	width: 100%;
	margin: 0;
	padding: 0.5rem;
	background: #e8dfe2;
	color: #e3409e;
	font-weight: bold;
	font-size: 1rem;
	text-align: center;
}
.joinCaseTrial .joinCaseTtl {
	background: #ffcd34;
}
.joinCaseTrial .joinCaseTtl .balloon {
	display: inline-block;
	position: relative;
	margin: 0 15px 0 0;
	padding: 5px 10px;
	border-radius: 30px;
	background: #ffffff;
	color: #ee0000;
	font-size: 0.8rem;
}
.joinCaseTrial .joinCaseTtl .balloon::after {
	position: absolute;
	top: 50%;
	right: -7px;
	width: 0;
	height: 0;
	margin-top: -5px;
	border-width: 5px 0 5px 8px;
	border-style: solid;
	border-color: transparent transparent transparent #ffffff;
	content: "";
}
.joinCaseTtlSub {
	margin: 0 0 1rem;
	padding: 0.3rem;
	background: #e3409e;
	color: #ffffff;
	font-weight: bold;
	text-align: center;
}
.joinCaseDetail {
	width: 100%;
	padding: 0.5rem;
}
.joinCaseDetail p {
	margin-top: 0;
	font-size: 0.8rem;
}
.joinCaseList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
}
.joinCaseList dt {
	align-self: flex-start;
	width: 20%;
}
.joinCaseList dt img {
	margin-top: 0;
}
.joinCaseList dd {
	align-self: center;
	width: 75%;
	margin: 0 0 1rem;
}
.joinCaseTrial .joinCaseList dd {
	font-weight: bold;
}
.joinCaseTrial .joinCaseList dd em {
	display: inline-block;
	padding: 2px 7px;
	background: #ee0000;
	color: #ffffff;
	font-style: normal;
	font-size: 0.8rem;
}
.joinCashless {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.joinCashless li {
	margin: 0 7px 15px;
}
#main .joinCashless li img {
	width: auto;
	height: 40px;
	margin: 0;
}
.btnJoin .btn {
	width: 100%;
}

@media screen and (min-width: 1120px) {
	.sp {
		display: none !important;
	}
	.pc {
		display: block !important;
	}
	body {
		font-size: 1rem;
	}
	th,
	td {
		padding: 1.2rem 1rem;
		font-size: 0.9rem;
	}
	th {
		background-size: auto;
	}
	.frame {
		max-width: 1120px;
		margin-right: auto;
		margin-left: auto;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}
	.btn {
		width: 45%;
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
	#main {
		float: none;
		width: 100%;
		/*float: left;
    width: 70%;*/
	}
	.home #main,
	.page #main,
	.post-type-archive-brand #main,
	.tax-cat-brand #main,
	.single-brand #main,
	.error404 #main,
	.category-blog #main,
	.categoryid-2 #main {
		float: none;
		width: 100%;
	}
	#side {
		/*float: right;
    width: 25%;*/
	}
	#side .sideTitle {
		font-size: 0.9rem;
	}
	#header .logoNav {
	}
	#header .inner {
		padding: 0;
	}
	#header .logo {
		width: 160px;
		margin: 0;
		padding-top: 12px;
	}
	#header .nav {
	}
	#header .nav .bg {
		position: static;
		width: 100%;
		background-color: #ffffff;
	}
	#header .nav .bg.fixedNav {
		position: fixed;
		z-index: 1;
		transition: 0.4s;
	}
	#header .navBtn {
		display: none;
	}
	#header .menu {
		display: flex;
		justify-content: flex-end;
		visibility: visible;
		opacity: 1;
		position: static;
		width: 1120px;
		padding-bottom: 0;
		overflow-y: visible;
	}
	#header .menu > li {
		position: relative;
		text-align: center;
	}
	#header .menu > li.long {
		width: 120%;
	}
	#header .menu > li:after {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 1px;
		height: 20px;
		margin: auto;
		background: #a3a3a3;
		content: "";
	}
	#header .menu > li:last-child::after {
		content: none;
	}
	#header .menu a,
	#header .menu .toggleBtn {
		display: block;
		padding: 2rem 1.5rem;
		color: #000000;
	}
	#header .menu a:hover {
		opacity: 1;
		color: #e3409e;
	}
	.home #header .inner {
		/*height: 213px;*/
	}

	.headerLink .inner {
		display: flex;
		flex-direction: row-reverse;
		justify-content: right;
		align-items: center;
	}

	#headerBtn {
		position: static;
		margin: 0 0 0 15px;
		padding: 0;
	}
	#headerBtn li {
		display: inline-block;
		margin: 0 0 0 1px;
		border: none !important;
	}
	#headerBtn a {
		display: block;
		width: 130px;
		background: #e3409e;
		color: #ffffff;
		font-size: 0.75rem;
		line-height: 42px;
		text-decoration: none;
		text-align: center;
	}
	#headerBtn .english a {
		background: #000000;
	}
	#headerBtn .language {
		width: 130px;
		position: relative;
	}
	#headerBtn .language a.label {
		cursor: pointer;
		width: 100%
	}
	#headerBtn .language ul.box_language {
		box-sizing: border-box;
		width: 100%;
		height: auto;
		position: absolute;
		left: -1px;
		top: 42px;
		padding: 0;
		margin: 0 0 0 1px;
		background: #fff;
		font-size: 13px;
		font-weight: 500;
		transition: all 200ms ease;
		display: none;
		border: none;
	}
	#headerBtn .language ul.box_language li {
		margin: 0;
	}
	#headerBtn .box_language li:first-child {
		padding-bottom: 0;
	}
	#headerBtn .language.active ul {
		display: inline-block
	}
	#headerBtn .icon {
		display: inline-block;
		margin-right: 8px;
		font-size: 1.25rem;
		line-height: 100%;
		vertical-align: middle;
	}
	#headerBtn .iconTrial svg {
		display: inline-block;
		width: 17px;
		height: 20px;
		margin-right: 8px;
		vertical-align: middle;
		fill: #ffffff;
	}

	#mainVisual {
		padding: 0;
	}
	#mainVisual .slick-slide div {
		margin: 0;
		padding: 0;
	}
	#mainVisual .txt {
		top: 555px;
		bottom: auto;
	}
	#mainVisual .txt img {
		display: block;
		width: auto;
		max-width: 100%;
	}
	#mainVisual .slick-arrow {
		width: 50px;
		height: 50px;
		font-size: 1rem;
	}
	#mainVisual .circle {
		background: rgba(255,255,255,0.7);
	}
	#mainVisual .circle .icon {
		color: #e3409e;
		font-size: 18px;
	}
	#footer {
	}
	#footerSns li {
		width: 25%;
		padding: 40px 10px;
	}
	#footerLink {
		display: flex !important;
		flex-wrap: wrap;
		justify-content: center;
		width: 1120px;
		margin: 40px auto;
	}
	#footerLink li {
		margin: 0.5rem 0;
		padding: 0 0.5rem;
		border: none;
		border-right: 1px solid #ffffff;
		line-height: 1;
	}
	#footerLink li.borderNone {
		border: none;
	}
	#footerLink a {
		display: inline-block;
		padding: 0;
		color: #ffffff;
		font-size: 0.75rem;
		text-decoration: none;
	}
	#footerCopy small {
		margin: 40px 0;
	}
	#bottomCta .frame {
		height: 70px;
	}
	#bottomCta .online {
		align-items: center;
		width: 44%;
	}
	#bottomCta .online .img img {
		width: auto;
		margin: 0 0.8rem;
	}
	#bottomCta .online .txt {
		margin-right: 0.7rem;
		font-size: 1.1rem;
		line-height: 1;
		letter-spacing: 1px;
	}
	#bottomCta .online .txt .blue {
		width: auto;
		margin-top: 0;
	}
	#bottomCta .listNone {
		/*width: 56%;*/
	}
	#bottomCta .listNone li {
		width: 70px;
	}
	#bottomCta .listNone li.tel {
		width: 210px;
	}
	#bottomCta .listNone li a {
		padding: 0;
	}
	#bottomCta .listNone li .icon {
		margin-top: 0;
		font-size: 2rem;
	}
	#bottomCta .listNone li .txt {
		font-size: 0.8rem;
	}
	#bottomCta .listNone .tel a {
		flex-wrap: nowrap;
	}
	#bottomCta .listNone .tel a .icon {
		font-size: 1.5rem;
	}
	#bottomCta .listNone .tel a .txt {
		width: 73%;
		font-weight: bold;
		font-size: 1.2rem;
		letter-spacing: 1px;
	}
	/* IE11    */ _:lang(x)::-ms-backdrop,
	#bottomCta .listNone .tel a .txt {
		font-size: 1.1rem;
	}
	/* Edge    */ _:-ms-lang(x)::backdrop,
	#bottomCta .listNone .tel a .txt {
		font-size: 1.1rem;
	}
	#bottomCta .listNone .tel a .txt .hour {
		display: block;
		margin-top: -0.2rem;
		font-weight: normal;
		font-size: 0.8rem;
		letter-spacing: 0;
	}
	#bottomCta .listNone .pagetop a {
		background: #e3409e;
	}
	#main .photo {
		border: 16px solid #ffffff;
		border-radius: 10px;
	}
	.titleTop {
		margin-bottom: 3rem;
		padding: 3rem 0 1.5rem;
		font-size: 1.4rem;
	}

	#topImportant,
	#topTopics {
		margin-bottom: 120px;
	}

	#topImportant2 {
		margin-top: 30px;
		border-top: none;
	}

	#topImportant2 ul {
		display: flex;
		justify-content: center;
	}

	#topImportant2 li {
		width: 420px;
		margin: 0 10px;
	}

	#topInformation {
		padding: 20px 0 120px;
	}
	#topInformation .detail {
		flex-basis: auto;
	}
	#topInformation .lesson:after {
		margin: 0 1rem;
		color: #e3409e;
		font-weight: normal;
		content: "/";
	}

	#topConcept {
		padding: 0 0 90px;
	}
	#topConcept ul {
		display: flex;
		justify-content: space-between;
	}
	#topConcept li {
		width: 350px;
	}
	#topContact {
		margin-top: 60px;
		border-top: none;
	}
	#topContact .titleTopSub small {
		display: block;
		color: #ffffff;
	}
	#topContact ul {
		justify-content: center;
	}
	#topContact li {
		width: 470px;
		margin: 0 10px;
	}
	#topContact li a {
		min-height: 120px;
	}
	#topContact li a .txt {
		font-size: 1.5rem;
	}
	#topContact li a .txt .icon {
		font-size: 2rem;
	}
	#topContact li a .txt small {
		font-size: 0.8rem;
	}

	#topBnr {
		margin: 120px 0;
	}
	#topBnr ul {
		display: flex;
		flex-wrap: wrap;
		background-image: url(img/top_bg_bnr.jpg);
	}
	#topBnr li,
	#topBnr li:first-child {
		margin: 0;
		border: 1px solid #ffffff;
	}
	#topBnr li:nth-child(1),
	#topBnr li:nth-child(2),
	#topBnr li:nth-child(3) {
		width: calc(100% / 3);
	}
	#topBnr li:nth-child(1) a,
	#topBnr li:nth-child(2) a,
	#topBnr li:nth-child(3) a {
		height: 300px;
	}
	#topBnr li:nth-child(4),
	#topBnr li:nth-child(5) {
		width: 50%;
	}
	#topBnr li:nth-child(4) a,
	#topBnr li:nth-child(5) a {
		height: 250px;
	}
	#topBnr li a {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		padding: 1.8rem 0;
	}
	#topBnr li a:hover {
		opacity: 1;
		background: rgba(227,64,158,0.5);
	}
	#topBnr a .en {
		width: 100%;
		font-size: 1.8rem;
	}

	.listLink {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
	.listLink1 {
		padding-top: 0;
	}
	.listLink .listNone {
		display: flex;
		justify-content: space-around;
		max-width: 1120px;
		margin: 0 auto;
	}
	.listLink .listNone:before,
	.listLink .listNone:after {
		top: -1rem;
		width: 81px;
		height: 42px;
	}
	.listLink .listNone:before {
		left: -1rem;
	}
	.listLink .listNone:after {
		right: -1rem;
	}
	.listLink .listNone li {
		padding: 0;
	}
	.listLink .listNone li a {
		padding: 1.5rem 0;
		border-bottom: none;
	}
	.listLink .listNone .txt {
		width: auto;
		padding: 0 1rem;
	}
	.listLink .listNone .circle {
		width: 3.5rem;
		height: 3.5rem;
	}
	.listLink .listNone .circle .icon {
		font-size: 1.5rem;
	}
	.listLink .listNone .arrow .icon {
		font-size: 1.3rem;
	}
	.listLink1 .listNone {
		background-size: auto;
	}

	/*下層ページ共通*/
	#headImg .titlePage {
		padding: 4rem 0;
		font-size: 1.7rem;
	}
	#headImg .box {
		position: absolute;
		top: 10rem;
		left: 3rem;
		width: 53%;
		padding: 0 2rem 2rem;
		background: rgba(255, 255, 255, 0.9);
	}
	#headImg .box .titleSection {
		font-size: 1.2rem;
	}
	#headImg .box .txt {
		font-size: 0.9rem;
	}

	#headTxt .titlePage {
		max-width: 1120px;
		margin: 0 auto;
		padding: 10rem 0;
		font-size: 1.4rem;
	}

	#main .titleSection {
		margin-bottom: 3rem;
		padding: 1.5rem 0;
		font-size: 1.4rem;
	}

	#main .loopTile {
	}
	#main .loopTile li,
	#main .loopTile .wrapPost {
		flex-basis: 18.4%;
		max-width: 18.4%;
		margin-right: 2%;
		padding: 1rem;
	}
	#main .loopUnder .wrapPost {
		padding: 1rem;
	}
	#main .loopTile li:nth-child(5n),
	#main .loopTile .wrapPost:nth-child(3n) {
		margin-right: 0;
	}
	#main .loopTile .wrapPost {
		flex-grow: 0;
		flex-basis: 33.3%;
		max-width: 33.3%;
		margin-top: 1.5rem;
		margin-right: 0;
	}
	#main .loopUnder .wrapPost,
	#main .loopUnder .wrapPost .titlePost {
		text-align: left;
	}
	#main .loopUnder .wrapPost .footer,
	#main .loopUnder .wrapPost .author {
		text-align: right;
	}

	#main .wrapPost:not(.col) {
		margin: 3rem 0;
	}

	.single .boxLink {
		position: relative;
		margin-bottom: 3rem;
	}
	.single .boxLink .btn.btnDark {
		position: relative;
		z-index: 0;
		width: 25%;
		margin: auto;
	}
	.single .linkPrevNext {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
	}
	.single .linkPrevNext .btn {
		flex-basis: 25%;
		max-width: 25%;
	}


	#boxContact1 .btn,
	.wpcf7 #submitBtn input {
		width: 54%;
	}


	/* ---------- 新料金表 ---------- */

	table.layout-fixed tr th:first-child {
		width: 20%!important;
	}
	table.layout-fixed th {
		width: 40%;
		background-color: #e3409e;
		color: #ffffff;
	}
	table.layout-fixed th,
	table.layout-fixed td {
		padding: 1rem 0.8rem;
		border: 1px solid #ededed;
		font-size: 0.8rem;
		text-align: center;
	}

	table.layout-fixed tr td:first-child {
		background-color: #fafafa;
	}
	table.layout-fixed .col_line {
		background-color: #ffffff!important;
	}

	/* ---------- 新料金表 ---------- */

	#main img.icon_img {
		display: inline-block;
		float: none;
		width: 40px!important;
		height: auto;
		margin: 0 15px 0 0;
		vertical-align: middle;
	}
	#main img.img_adjust {
		width: 50%;
		height: auto;
		text-align: left;
	}

	/* ---------- スタジオ案内 ---------- */

	.access_anker li {
		width: 25%;
		padding: 40px 10px;
	}
	.access_anker li a.btn {
		width: 100%;
	}

	/* ---------- 初めての方へ ---------- */

	.firstLesson .col.only {
		max-width: 560px;
		margin: 1rem auto;
	}

	/* ---------- レッスン案内 ---------- */

	.lessonList li {
		display: inline-block;
	}

	/* ---------- */
	.btnContact .btn {
		font-size: 1.4rem;
	}

	.pagination span,
	.pagination a {
		display: inline-block;
		width: 3rem;
		height: 3rem;
		margin: 0 0.5rem 0.5rem 0;
		border: 1px solid #eeeeee;
		line-height: 2.7;
		text-decoration: none;
		text-align: center;
	}
	.pagination .more {
		display: none;
	}
	.pagination .current {
		background: #f5f5f5;
	}
	.cols,
	.colsBoth.cols4 {
		display: flex;
		margin-top: -1rem;
		margin-right: -1rem;
		margin-left: -1rem;
	}
	.colsBoth.cols4 {
		flex-wrap: nowrap;
	}
	.col,
	.colsBoth.cols4 .colBoth {
		flex-grow: 1;
		flex-shrink: 1;
		flex-basis: 0;
		padding: 1rem;
	}
	.breadcrumb {
		padding: 0.5rem 1rem !important;
	}
	.breadcrumb li {
		font-size: 0.7rem;
	}

	/* ---------- ご入会について ---------- */

	.joinCaseDetail {
		width: 50%;
		padding: 0.5rem;
	}
	.joinCaseDetail + .joinCaseDetail {
		border-left: 1px solid #ededed;
	}
	.joinCaseList dt {
		width: 15%;
		margin-left: 5%;
	}
	.joinCaseList dd {
		width: 75%;
	}
	.joinCashless li {
		margin: 0 12px 20px;
	}
	#main .joinCashless li img {
		height: 55px;
	}
}