@charset "utf-8";

/* article.css */

.article-head {
	display: flex;
	align-items: flex-end;
	height: 140px;
}

article h1 {
	line-height: 1.2;
	font-size: 2.9rem;
	color: #bc273b;
	transform: translate(0, -36px);
}

article p {
	margin-bottom: 1em;
	line-height: 1.8;
}

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

article .wp-block-separator {
	margin-top: 6rem;
	margin-bottom: 6rem;
	border-top: none;
	border-bottom: 1px solid #b4b4b4;
}

article a {
	text-decoration: underline;
	color: #006fb8;
}

article ul,
article ol {
	list-style: inherit;
	line-height: 1.5;
	padding-left: 1em;
	margin-bottom: 1em;
}

article ul li {
	margin-bottom: 0.5em;
}

article ol li {
	margin-bottom: 0.5em;
	list-style-type: decimal;
}

article .title {
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
	font-weight: bold;
}

article .wp-block-image img {
	border-radius: 8px !important;
}

article .wp-block-image.no-radius img {
	border-radius: 0 !important;
}

article .article-visual img {
	margin-bottom: 20px;
	border-radius: 8px;
}

.wp-block-image.is-style-rounded img {
	border-radius: 8px !important;
}

/* 目次 */
.index-box {
	margin: 0 0 20px;
	background-color: #f4f4f4;
	border-radius: 8px;
	padding: 20px;
}
.index-box .index-title {
	border-bottom: 1px solid #cbc9c9;
	color: #111;
	font-weight: bold;
	text-align: left;
}
.index-box .index-list {
	margin: 14px 0 0;
	padding-left: 1.4em;
	list-style: decimal;
	text-align: left;
}
.index-box .index-list li{
	padding: 0 0 5px;
}
.index-box .index-list li:last-of-type {
	padding: 0;
}
.anchor {
	position: relative;
}
.anchor > span {
	position: absolute;
	top: 0px;
	font-size: 0;
}

/* ブログカード */
.wp-block-embed {
/*
	margin-bottom: -2em;
*/
}
.wp-embedded-content {
	width: 100%;
	height: auto;
}

/* 横リンク */
.side-link {
	overflow-x: auto;
	overflow-y: hidden;
	border-bottom: 1px solid #b4b4b4;
}

.side-link ul {
	display: flex;
	flex-flow: row nowrap;
	white-space: nowrap;
}
.side-link ul {
	display: flex;
	flex-flow: row nowrap;
	margin: 0;
	padding: 0;
	line-height: 1;
	white-space: nowrap;
	list-style: none;
}

.side-link ul > li {
	margin-bottom: 0;
	font-size: 1.7rem;
}

.side-link ul > li:nth-of-type(n+2) {
	margin-left: 1.6em;
}

.side-link ul > li > a {
	display: block;
	padding: 0 0.2rem 0.8rem 0.2rem;
	border-bottom: 4px solid transparent;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
	text-decoration: none;
	font-weight: bold;
	color: #000000;
	transition: none;
}

.side-link ul > li.cur > a,
.side-link ul > li > a:hover {
	color: #bc273b;
	border-bottom: 4px solid #bc273b;
}

/* グループ ---------------------------------------- */
.bgc01 {
	padding-top: 1px;
	padding-bottom: 8rem;
	background-color: #f9f3ea;
}

/* 段落 ---------------------------------------- */
.msg01 {
	background-color: #fffef5;
	border: 1px solid #dcd8b8;
	border-radius: 8px;
	padding: 1em;
}

/* カラム ---------------------------------------- */
/* PC2列 */
.clm2-1 > div,
.clm2-2 > div {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-start;
}

.clm2-1 > div > *,
.clm2-2 > div > * {
	width: calc(97% / 2);
	margin-right: 3%;
}

.clm2-1 > div > *:nth-of-type(2n),
.clm2-2 > div > *:nth-of-type(2n) {
	margin-right: 0;
}
/*################################################*/
.clm2-1 > div > *:nth-of-type(n+3),
.clm2-2 > div > *:nth-of-type(n+3) {
	margin-top: 3%;
}

/* PC3列 */
.clm3-1 > div,
.clm3-2 > div,
.clm3-2-1 > div {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-start;
}

.clm3-1 > div > *,
.clm3-2 > div > *,
.clm3-2-1 > div > * {
	width: calc(90% / 3);
	margin-right: 5%;
}

.clm3-1 > div > *:nth-of-type(3n),
.clm3-2 > div > *:nth-of-type(3n),
.clm3-2-1 > div > *:nth-of-type(3n) {
	margin-right: 0;
}
/*################################################*/
.clm3-1 > div > *:nth-of-type(n+4),
.clm3-2 > div > *:nth-of-type(n+4),
.clm3-2-1 > div > *:nth-of-type(n+4) {
	margin-top: 3rem;
}

/* PC4列 */
.clm4-1 > div,
.clm4-2 > div {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-start;
}

.clm4-1 > div > *,
.clm4-2 > div > * {
	width: calc(85% / 4);
	margin-right: 5%;
}

.clm4-1 > div > *:nth-of-type(4n),
.clm4-2 > div > *:nth-of-type(4n) {
	margin-right: 0;
}

.clm4-1 > div > *:nth-of-type(n+5),
.clm4-2 > div > *:nth-of-type(n+5) {
	margin-top: 3rem;
}

/* 右側に画像（角丸） */
.side-img > div:nth-of-type(1) {
	flex-basis: calc(100% - 290px) !important;
}

.side-img > div:nth-of-type(2) {
	flex-basis: 290px !important;
	margin-left: 0;
	padding-left: 20px;
}

.side-img .wp-block-image {
	border-radius: 8px;
}

.side-img .wp-block-image:last-child {
	margin-bottom: 0;
}

/* サムネイル（サークル） */
.thumb-list {
	margin-top: 0;
	margin-bottom: 0;
	gap: normal !important;
}

.thumb-list + .thumb-list {
	margin-top: 3rem;
}

.thumb-list > div:nth-of-type(1) {
	width: 130px;
	flex-basis: auto !important;
	align-self: flex-start;
	padding-right: 30px;
}

.thumb-list > div:nth-of-type(1) > .wp-block-image {
	width: 100px;
	border-radius: 50%;
	overflow: hidden;
}

.thumb-list > div:nth-of-type(2) {
	width: calc(100% - 130px);
	flex-basis: auto !important;
	align-self: flex-start;
	margin: 0 !important;
	padding: 0;
}

.thumb-list > div:nth-of-type(2) > .title {
	margin: 0 0 1rem 0;
	font-size: 1.7rem;
}

.thumb-list > div:nth-of-type(2) > p {
	margin-bottom: 1em;
	line-height: 1.65;
	font-size: 1.7rem;
}

.thumb-list > div:nth-of-type(1) > *:last-child,
.thumb-list > div:nth-of-type(2) > *:last-child {
	margin-bottom: 0;
}

/* メディアとテキスト ---------------------------------------- */
/* プロフィール */
.prof-box {
	display: grid;
	grid-template-columns: auto;
	grid-template-rows: auto;
}

.prof-box > .wp-block-media-text__media {
	grid-row: 1;
	grid-column: 1;
	justify-self: center;
	max-width: 100px;
}

.prof-box > .wp-block-media-text__media > img {
	border-radius: 50%;
}

.prof-box > .wp-block-media-text__content {
	grid-row: 2;
	grid-column: 1;
	padding: 1rem 0 0 0;
}

.prof-box > .wp-block-media-text__content > .title {
	margin-bottom: 0.2em;
	line-height: 1.65;
	font-size: 1.7rem;
}

.tile-box > .wp-block-media-text__content > .title > a {
	text-decoration: none;
	color: #000000;
}

.prof-box > .wp-block-media-text__content > p {
	line-height: 1.65;
}

/* タイル（コース一覧等） */
.tile-box {
	display: grid;
	grid-template-columns: auto;
	grid-template-rows: auto;
}

.tile-box.has-media-on-the-right {
	grid-template-columns: auto;
}

.tile-box > .wp-block-media-text__media {
	grid-row: 1;
	grid-column: 1;
	justify-self: center;
	width: 100%;
}

.clm2-1 .tile-box > .wp-block-media-text__media,
.clm2-2 .tile-box > .wp-block-media-text__media {
	height: 203px;
}

.clm3-1 .tile-box > .wp-block-media-text__media,
.clm3-2 .tile-box > .wp-block-media-text__media,
.clm3-2-1 .tile-box > .wp-block-media-text__media {
	height: 255px;
}

/* blog用 */
article.type-blog .clm3-1 .tile-box > .wp-block-media-text__media,
article.type-blog .clm3-2 .tile-box > .wp-block-media-text__media,
article.type-blog .clm3-2-1 .tile-box > .wp-block-media-text__media {
	height: 203px;
}

@media (max-width: 1239px) {
	.clm2-1 .tile-box > .wp-block-media-text__media,
	.clm2-2 .tile-box > .wp-block-media-text__media {
		height: calc((100vw - 40px) * 0.485 * 0.35);
	}

	.clm3-1 .tile-box > .wp-block-media-text__media,
	.clm3-2 .tile-box > .wp-block-media-text__media,
	.clm3-2-1 .tile-box > .wp-block-media-text__media {
		height: 20.565vw;
	}
	/* blog用 */
	article.type-blog .clm3-1 .tile-box > .wp-block-media-text__media,
	article.type-blog .clm3-2 .tile-box > .wp-block-media-text__media,
	article.type-blog .clm3-2-1 .tile-box > .wp-block-media-text__media {
		height: calc((100vw - 40px) * 0.1692);
	}
}

.tile-box.has-media-on-the-right > .wp-block-media-text__media {
	grid-row: 2;
	grid-column: 1;
	justify-self: center;
}

.tile-box > .wp-block-media-text__media img {
	border-radius: 8px;
/**/
	object-fit: cover;
	display: block;
	width: 100%;
	height: 100%;
}

.tile-box > .wp-block-media-text__content {
	grid-row: 2;
	grid-column: 1;
	padding: 1rem 0 0 0;
}

.tile-box.has-media-on-the-right > .wp-block-media-text__content {
	grid-row: 1;
	grid-column: 1;
	padding: 0 0 1rem 0;
}

.tile-box > .wp-block-media-text__content > h4 {
	display: inline-block;
	margin: 0 0 0.2rem 0;
	line-height: 1.65;
	font-size: 1.7rem;
}

.tile-box > .wp-block-media-text__content > h4 a {
	text-decoration: none;
	color: #000000;
}

.tile-box > .wp-block-media-text__content > p {
	line-height: 1.65;
}

.tile-box .tile-feature {
	display: inline;
}

.tile-box .tile-feature li {
	display: inline-block;
	margin: 0 0 0.3rem 0.5em;
	padding: 0.5em;
	background-color: #4b4b4b;
	border-radius: 8px;
	font-size: 1.2rem;
	color: #ffffff;
}

/* テーブル ---------------------------------------- */
.wp-block-table table tr {
	border-bottom: 1px solid #b4b4b4;
	border-top: 1px solid #b4b4b4;
}

.wp-block-table table th,
.wp-block-table table td {
	padding: 1.0rem 2rem;
	line-height: 1.65;
}

.wp-block-table table td:first-of-type {
	width: 16rem;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
	font-weight: bold;
}

.wp-block-table.w-auto table td:first-of-type {
	width: auto;
}

/* ギャラリー ---------------------------------------- */
.wp-block-gallery .blocks-gallery-item,
.wp-block-gallery .wp-block-image {
	/* 最後の画像が大きく表示されないようにする */
	flex-grow: 0 !important;
}

.blocks-gallery-item img {
	border-radius: 8px;
}

/* フォーム ---------------------------------------- */
.form-table {
	width: 100%;
}

.form-table th {
	position: relative;
	width: 20%;
	text-align: left;
	vertical-align: top;
	padding: 2rem 6rem 1.5rem 2rem;
	line-height: 1.65;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	white-space: nowrap;
	background-color: #f7f7f7;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
	font-weight: bold;
}

.form-table th::after {
	content: "任意";
	position: absolute;
	right: 1em;
	top: 18px;
	display: inline-block;
	padding: 6px 8px 5px;
	background: #ffffff;
	border: 1px solid #a0a0a0;
	color: #a0a0a0;
	font-size: 1.3rem;
}

.form-table th.required::after {
	content: "必須";
	border: 1px solid #bc273b;
	color: #bc273b;
}

.form-table th.after-none::after {
	content: normal;
}

.form-table td {
	padding: 1.5rem 2rem;
	line-height: 1.65;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

.form-table input,
.form-table textarea {
	width: 100%;
	padding: 5px;
	border: solid 1px #000000;
	border-radius: 8px;
}

.form-table input[type="radio"],
.form-table input[type="select"],
.form-table input[type="checkbox"] {
	width: auto;
}

.form-table input[type="radio"] {
	margin: 0 1px 0 0.5rem;
	transform: scale(1.32);
}

.form-table select {
	padding: 5px;
	border: solid 1px #000000;
	border-radius: 8px;
	-moz-appearance: menulist-button;
	-webkit-appearance: menulist-button;
	appearance: menulist-button;
}

.form-table .is-course {
	display: none;
}

.form-table .mwform-radio-field.vertical-item {
	margin-bottom: 1rem;
}

.form-table .mwform-radio-field.vertical-item:last-of-type {
	margin-bottom: 0;
}

.mw_wp_form_confirm .form-note {
	display: none;
}

.form-agree {
	margin-top: 1em;
	text-align: center;
}

.form-btn {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}

.form-sendbtn,
.form-backbtn {
	position: relative;
	padding: 1em 1.2em;
	min-width: 240px;
	white-space: nowrap;
	background-color: #bc273b;
	border-radius: 2em;
	font-size: 1.7rem;
	color: #fff;
}

.form-sendbtn {
	min-width: 21rem;
}

.form-backbtn {
	min-width: 11rem;
	background-color: #666666;
}

.form-sendbtn:disabled {
	-webkit-appearance: none;
	background-color: #9da3a8;
	cursor: default;
}

.form-sendbtn-wrap {
	position: relative;
	display: inline-block;
	margin: 2em 0 0 0;
}

.form-sendbtn-wrap::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	display: inline-block;
	width: 1rem;
	height: 1rem;
	border-right: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	transform: translate(-200%,-50%) rotate(-45deg);
}

.form-backbtn-wrap {
	position: relative;
	display: inline-block;
	margin: 2em 1.5em 0 0;
}

.form-backbtn-wrap::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	display: inline-block;
	width: 1rem;
	height: 1rem;
	border-right: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	transform: translate(200%,-50%) rotate(135deg);
}

.mw_wp_form_input .form-backbtn-wrap {
	display: none;
}

.mw_wp_form_confirm .form-agree {
	display: none;
}

.mwform-checkbox-field {
	display: inline-block;
}

.mwform-checkbox-field.horizontal-item {
	margin-left: 0 !important;
	margin-right: 10px;
}

/* その他 ---------------------------------------- */
/* 横に並べる */
.side-by-side > div {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}

.side-by-side > div > * {
	margin-right: 4rem;
}

.side-by-side > div > :last-child {
	margin-right: 0;
}

/* 角丸 */
.border-radius {
	border-radius: 8px;
}

.no-border-radius {
	border-radius: 0 !important;
}

/* 共通 ---------------------------------------- */
.mt0 { margin-top: 0 !important; }
.mt2rem { margin-top: 2rem !important; }
.mt3rem { margin-top: 3rem !important; }
.mt4rem { margin-top: 4rem !important; }
.mt5rem { margin-top: 5rem !important; }
.mt6rem { margin-top: 6rem !important; }
.mt8rem { margin-top: 8rem !important; }
.mb0 { margin-bottom: 0 !important; }
.mb10 { margin-bottom: 10px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb2rem { margin-bottom: 2rem !important; }
.mb3rem { margin-bottom: 3rem !important; }
.mb4rem { margin-bottom: 4rem !important; }
.mb6rem { margin-bottom: 6rem !important; }
.mb8rem { margin-bottom: 8rem !important; }
.mr2em { margin-right: 2em !important; }

.w100per { width: 100%; }
.in-b { display: inline-block; }

@media (max-width: 767px) {

article h1 {
	transform: translate(0, 0);
}

.article-head {
	height: auto;
	padding: 2em 0;
}

/* カラム ---------------------------------------- */
.clm2-1 > div > * {
	width: 100%;
	margin-right: 0;
}

.clm2-1 > div > *:nth-of-type(n+2) {
	margin-top: 3rem;
}

.clm3-1 > div > * {
	width: 100%;
	margin-right: 0;
}

.clm3-2 > div > *,
.clm3-2-1 > div > * {
	width: calc(95% / 2);
}

.clm3-2 > div > *:nth-of-type(3n),
.clm3-2-1 > div > *:nth-of-type(3n) {
	margin-right: 5%;
}

.clm3-2 > div > *:nth-of-type(2n),
.clm3-2-1 > div > *:nth-of-type(2n) {
	margin-right: 0;
}

.clm4-1 > div > * {
	width: 100%;
	margin-right: 0;
}

.clm4-2 > div > * {
	width: calc(95% / 2);
}

.clm4-2 > div > *:nth-of-type(2n) {
	margin-right: 0;
}

/* 右側に画像（角丸） */
.side-img > div:nth-of-type(1) {
	flex-basis: 100% !important;
}

.side-img > div:nth-of-type(2) {
	flex-basis: 100% !important;
	padding-top: 10px;
	padding-left: 0;
}

/* サムネイル（サークル） */
/*
.thumb-list > div:nth-of-type(1) {
	margin-bottom: 10px;
	width: 100%;
	height: auto;
}

.thumb-list > div:nth-of-type(2) {
	width: 100%;
}

.thumb-list > div:nth-of-type(2) > .title {
	position: absolute;
	transform: translate(115px,calc(-60px - 50%));
	width: calc(100% - 155px);
}
*/
/* サムネイル（サークル） */
.thumb-list > div:nth-of-type(1) {
	width: 20%;
	padding-right: 2%;
}
.wp-block-columns.thumb-list:not(.is-not-stacked-on-mobile) > .wp-block-column {
	flex-basis: auto !important;
}
	
.thumb-list > div:nth-of-type(1) > .wp-block-image {
	width: 100%;
}

.thumb-list > div:nth-of-type(2) {
	width: 78%;
}

/* メディアとテキスト ---------------------------------------- */
/* プロフィール */
.prof-box {
	position: relative;
}

.prof-box:nth-of-type(n+2) {
	margin-top: 3rem;
}

.prof-box > .wp-block-media-text__media {
	justify-self: flex-start;
	width: 20%;
}

.prof-box > .wp-block-media-text__content > .title {
	position: absolute;
	top: 0;
	left: 110px;
	display: flex;
	align-items: center;
	height: 100px;
}

@media (max-width: 540px) {
	.prof-box > .wp-block-media-text__content > .title {
		left: 22%;
		height: calc((100vw - 40px) * 0.2);
	}
}

.thumb-list .prof-box > .wp-block-media-text__content > .title {
	height: calc((100vw - 170px) * 0.2);
}

/* タイル（1カラム） */
.clm2-1 .tile-box > .wp-block-media-text__media {
	height: calc((100vw - 40px) * 0.35);
}

.clm3-1 .tile-box {
	display: flex;
	justify-content: space-between;
	align-content: start;
}

.clm3-1 .tile-box:nth-of-type(n+2) {
	margin-top: 3rem;
}

.clm3-1 .tile-box > .wp-block-media-text__media {
	width: 35%;
	height: calc((100vw - 40px) * 0.2475);
	align-self: start;
}

.clm3-1 .tile-box > .wp-block-media-text__content {
	width: 60%;
	padding-top: 0;
	align-self: start;
}

/* タイル（2カラム） */
.clm3-2 .tile-box:nth-of-type(n+3),
.clm3-2-1 .tile-box:nth-of-type(n+3) {
	margin-top: 3rem;
}

.clm3-2 .tile-box > .wp-block-media-text__media,
.clm3-2-1 .tile-box > .wp-block-media-text__media {
	height: 31.844vw;
}

/* blog用 */
article.type-blog .clm3-1 .tile-box > .wp-block-media-text__media,
article.type-blog .clm3-2 .tile-box > .wp-block-media-text__media,
article.type-blog .clm3-2-1 .tile-box > .wp-block-media-text__media {
	height: calc((100vw - 40px) * 0.197);
}

/* テーブル ---------------------------------------- */
.wp-block-table table th,
.wp-block-table table td {
	display: block;
	padding: 0 2rem;
}

.wp-block-table table td:first-of-type {
	width: 100%;
	padding-top: 2rem;
}

.wp-block-table table td:last-of-type {
	padding-bottom: 2rem;
}

/* フォーム ---------------------------------------- */
.form-table th {
	display: block;
	width: 100%;
	padding: 0.5rem 0rem 0.5rem 2rem;
	border-bottom: none;
	font-size: 1.8rem;
}

.form-table th::after {
	content: normal;
}

.form-table th.required::after {
	position: static;
	margin-left: 1rem;
	padding: 0;
	background: no-repeat;
	border: none;
	font-size: inherit;
}

.form-table td {
	display: block;
	padding: 1.0rem 0 2.5rem 0;
	border: none;
}

.form-table tr:last-of-type td {
	padding-bottom: 0;
}

.form-table input,
.form-table textarea,
.form-table select,
.form-table .mwform-radio-field-text {
	font-size: 1.8285rem;
}

/* その他 ---------------------------------------- */
/* 横に並べる */
.side-by-side > div > * {
	margin-right: 2rem;
}

/* 共通 ---------------------------------------- */
.sp-mt0 { margin-top: 0 !important; }
.sp-mt4rem { margin-top: 4rem !important; }

.sp-none {
	display: none !important;
}

}	/* /max-width: 767px */

@media (max-width: 480px) {
	/* タイル（1カラム） */
	.clm3-2-1 > div > * {
		width: 100%;
		margin-right: 0 !important;
	}

	.clm3-2-1 .tile-box > .wp-block-media-text__media {
		height: auto;
	}

	.clm3-2-1 .tile-box:nth-of-type(n+2) {
		margin-top: 3rem;
	}
/*
	.clm3-2-1 .tile-box {
		display: flex;
		justify-content: space-between;
		align-content: start;
	}

	.clm3-2-1 .tile-box:nth-of-type(n+2) {
		margin-top: 3rem;
	}

	.clm3-2-1 .tile-box > .wp-block-media-text__media {
		width: 35%;
		height: 23.38vw;
		align-self: start;
	}

	.clm3-2-1 .tile-box > .wp-block-media-text__content {
		width: 60%;
		padding-top: 0;
		align-self: start;
	}
*/
}
