@charset "UTF-8";


/* common ---------------------------------------*/



/* kv ---------------------------------------*/

.kv {
	/* height:640px; */
	height: 26vw;
	position: relative;
	min-height: 300px;
}

.kv-flow {
	background: url('../img/terapoke/flow/kv.jpg') no-repeat center center / cover;
}

.kv-classroom {
	background: url('../img/terapoke/classroom/kv.jpg') no-repeat center center / cover;
}

.kv-philosophy {
	background: url('../img/terapoke/philosophy/kv.jpg') no-repeat center center / cover;
}

.kv-contact {
	background: url('../img/terapoke/contact/kv.jpg') no-repeat center center / cover;
}

.kv::before {
	display: inline-block;
	content: '';
	background: url('../img/terapoke/kv_pict_01.png') no-repeat center center; 
	background-size: 100%;
	/* width: 245px;
	height: 320px; */
	width: 12vw;
  height: 100%;
	position: absolute;
	bottom:-147px;
	left: 5.5%;
}

.kv::after {
	display: inline-block;
	content: '';
	background: url('../img/terapoke/kv_pict_02.png') no-repeat center center; 
	background-size: 100%;
	/* width: 250px;
	height: 337px; */
	width: 12vw;
  height: 100%;
	position: absolute;
	bottom:-153px;
	right: 6.8%;
}

.kv-title{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 20px;
	font-size: 3.125vw;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.5;
	position: absolute;
	top: 56%;
	left: 50%;
	transform: translate(-50%, -50%);
	color:#fff;
}

.kv-title b{
	font-size: 46px;
	font-weight: 600;
}

.kv-title span{
	font-size: 18px;
	letter-spacing: 0.17em;
}



/* index ---------------------------------------*/

.indexkv-wrapper{
	background: url('../img/terapoke/index/kv.png') no-repeat center center / cover;
	height:60vw;
	margin-bottom: 13vw;
	position: relative;
}

.indexkv{
	padding: 24.8vw 50px 0;
}

.indexkv::before {
	display: inline-block;
	content: '';
	background: url('../img/terapoke/kv_pict_01.png') no-repeat center center; 
	background-size: 100%;
	width: 20.16vw;
	height: 26.30vw;
	position: absolute;
	bottom: -7vw;
	left: 6.3%;
}

.indexkv::after {
	display: inline-block;
	content: '';
	background: url('../img/terapoke/kv_pict_02.png') no-repeat center center; 
	background-size: 100%;
	width: 16.2vw;
	height: 22.1vw;
	position: absolute;
	bottom: -7vw;
	right: 4.4%;
}

.indexkv-inner{
	max-width:1380px;
	color:#fff;
	margin:0 auto;
	position: relative;
	z-index: 1;
}

.indexkv-shouldar {
	font-size: 1.46vw;
	font-weight: 700;
	letter-spacing: 0.17em;
	line-height: 1.9;
	margin-bottom: 21px;
}

.indexkv-shouldar span{
	display: block;
}

.indexkv-title{
	font-size: 3.13vw;
	font-weight: 700;
	letter-spacing: 0.168em;
	line-height: 1.5;
	margin-bottom: 35px;
}

.indexkv-text{
	font-size: 1.35vw;
	font-weight: 500;
	letter-spacing: 0.17em;
	line-height: 1.9;
}

.terapokeindex {
}

.terapokesection {
	padding: 0 50px;
}

.terapokemessage{}

.terapokemessage-main{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 60px;
	margin-bottom: 184px;
}

.terapokemessage-header{
	width: 452px;
	padding-top: 15px;
}

.terapokemessage-header-text{
	font-size: 18px;
	line-height: 2.8;
	letter-spacing: 0.142em;
	font-weight: 500;
	margin-top: 50px;
}

.terapokemessage-content{
	flex:1;
}

.terapokemessage-content-item {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 40px;
	margin-bottom: 70px;
}

.terapokemessage-content-item:last-of-type {
	margin-bottom: 0;
}

.terapokemessage-content-item-image {
	width: 80px;
	text-align: center;
}

.terapokemessage-content-item-image img {
}

.terapokemessage-content-item-detail {
	flex:1;
}

.terapokemessage-content-item-detail-title {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 15px;
}

.terapokemessage-content-item-detail-title span {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 1.5;
}

.terapokemessage-content-item-detail-title small {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.17em;
	line-height: 1.5;
}

.terapokemessage-content-item-detail-text {
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 2.2;
}

.terapokeconcept {
	margin-bottom: 200px;
	position: relative;
}

.terapokeconcept::before {
	display: inline-block;
	content: '';
	background: #A7C2D3;
	opacity: 0.15;
	width: 66.3%;
	height: 85.5%;
	border-radius: 0 60px 60px 0;
	position: absolute;
	top: 52%;
	transform: translateY(-50%);
	left: 0;
}

.terapokeconcept-block {
	position: relative;
}

.terapokeconcept-block::after {
	display: inline-block;
	content: '';
	background: url('../img/terapoke/index/img_concept.png') no-repeat left center / 100%;
	width: 475px;
	height: 260px;
	position: absolute;
	bottom: 0;
	right: 0;
}

.terapokeconcept-block-title {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 14px;
	padding-bottom: 40px;
	margin-bottom: 70px;
	border-bottom: 1px solid rgba(0,0,0,0.2);
	width: 568px;
	max-width: 100%;
	position: relative;
	z-index: 1;
}

.terapokeconcept-block-title small {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.5;
}

.terapokeconcept-block-title span {
	font-size: 32px;
	font-weight: 600;
	letter-spacing: 0.17em;
	line-height: 1.5;
}

.terapokeconcept-block-list {
	margin-bottom: 110px;
	position: relative;
	z-index: 1;
}

.terapokeconcept-block-list li {
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 0.15em;
	line-height: 2.2;
	padding-left: 27px;
	position: relative;
	margin-bottom: 30px;
}

.terapokeconcept-block-list li:last-of-type {
	margin-bottom: 0;
}

.terapokeconcept-block-list li::before {
	display:block;
	content:'';
	background:#000;
	background-size: 100%;
	width:5px;
	height:5px;
	border-radius: 50%;
	position:absolute;
	left:8px;
	top:24px;
}

.terapokeconcept-block-btn-wrapper {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 30px;
	position: relative;
	z-index: 1;
}

.terapokeconcept-block-btn {
	width: 448px;
	max-width: 100%;
	background: #fff;
	padding: 24px 60px 24px 42px;
	font-size: 18px;
	font-weight: 700;
	border-radius: 50px;
	letter-spacing: 0.15em;
	position: relative;
	transition: all 0.3s ease;
}

.terapokeconcept-block-btn:hover {
	color: #fff;
	background: #6CA2C4;
}

.terapokeconcept-block-btn::after {
	content: '';
	transform: translate(0,-50%);
	-webkit-mask-image: url('../img/terapoke/icon_anker_arrow.svg');
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: contain;
	mask-image: url('../img/terapoke/icon_anker_arrow.svg');
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: contain;
	display: inline-block;
	vertical-align: middle;
	width: 11px;
	height: 18px;
	background: #000;
	position: absolute;
	right: 43px;
	top: 50%;
	transition: all 0.3s ease;
}

.terapokeconcept-block-btn:hover::after {
	background: #fff;
}

.terapokeconcept-block-btn span {
}

.terapokebnr {
	margin-bottom: 145px;
}

.terapokebnr-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 90px;
}

.terapokebnr-list li {
	width: calc(50% - 45px);
	margin-bottom: 30px;
}

.terapokebnr-list-item {
	display: block;
	position: relative;
	box-shadow: 10px 10px 0 0 #6CA2C4;
	border-radius: 20px;
	margin-bottom: 20px;
	transition: all 0.3s ease;
}

.terapokebnr-list-item:hover {
	opacity: 0.7;
}

.terapokebnr-list-item img {
	width: 100%;
	border-radius: 20px;
}

.terapokebnr-list-item span {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.29em;
	line-height: 1.5;
	display: inline-block;
	position: absolute;
	bottom: -10px;
	left: 0;
	color: #fff;
	background: rgba(108,162,196,1);
	padding: 15px 42px;
}

.terapokebnr-list p {
}

.terapokebnr-list p span {
	display: inline-block;
	font-size: 16px;
	font-weight: 900;
	letter-spacing: 0.28em;
	line-height: 1.5;
	color: #fff;
	background: rgba(108,162,196,1);
	padding: 8px 20px;
}

.terapokeindexnews {
	padding-bottom: 450px;
}

.terapokeindexnews-block {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 145px;
}

.terapokeindexnews-header {
	width: 254px;
	padding-top: 20px;
}

.terapokeindexnews-header-inner {
}

.terapokeindexnews-header-title {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 60px;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(0,0,0,0.2);
	margin-bottom: 95px;
}

.terapokeindexnews-header-title small {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.5;
}

.terapokeindexnews-header-title span {
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 1.5;
}

.terapokeindexnews-header-image {
}

.terapokeindexnews-header-image img {
}

.terapokeindexnews-content {
	/* width: calc(100% - 300px); */
	flex:1;
}

.terapokeindexnews-content-list {
	margin-bottom: 50px;
}

.terapokeindexnews-content-list li {
	/* padding: 10px 0; */
	border-bottom: 1px solid rgba(0,0,0,0.2);
}

.terapokeindexnews-content-list-item {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 30px;
	padding: 25px 0;
}

.terapokeindexnews-content-list-item time {
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.5;
	/* padding-right: 30px; */
	border-right: 1px solid rgba(0,0,0,0.2);
	padding: 5px 45px 5px 0;
}

.terapokeindexnews-content-list-item span {
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.5;
	padding: 5px 0;
}

.terapokeindexnews-content-list-item-nopost {
	padding: 26px 20px 24px;
	font-size: 17px;
	font-weight: 500;
	line-height: 2.235;
	letter-spacing: 0.15em;
}

.terapokeindexnews-btn-wrapper {
}

.terapokeindexnews-btn {
	display: block;
	width: 300px;
	max-width: 100%;
	background: #fff;
	padding: 24px 48px 24px 43px;
	font-size: 18px;
	font-weight: 700;
	border-radius: 50px;
	letter-spacing: 0.15em;
	position: relative;
	transition: all 0.3s ease;
}

.terapokeindexnews-btn:hover {
	color: #fff;
	background: #6CA2C4;
}

.terapokeindexnews-btn::after {
	content: '';
	transform: translate(0,-50%);
	-webkit-mask-image: url('../img/terapoke/icon_anker_arrow.svg');
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: contain;
	mask-image: url('../img/terapoke/icon_anker_arrow.svg');
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: contain;
	display: inline-block;
	vertical-align: middle;
	width: 11px;
	height: 18px;
	background: #000;
	position: absolute;
	right: 38px;
	top: 50%;
	transition: all 0.3s ease;
}

.terapokeindexnews-btn:hover::after {
	background: #fff;
}


/* philosophy ---------------------------------------*/

.terapokephilosophy {
	padding-top: 206px;
	padding-bottom: 200px;
}

.terapokephilosophy-anker {
	max-width: 1380px;
	margin: 0 auto;
}

.terapokephilosophy-anker-top {
	margin-bottom: 137px;
}

.terapokephilosophy-anker-bottom {
	margin-top: 194px;
}

.terapokephilosophy-anker-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 25px 18px;
}

.terapokephilosophy-anker-list li {
	width: calc(33.333% - 12px);
}

.terapokephilosophy-anker-item {
	display: block;
	background: #fff;
	padding: 24px 52px 24px 43px;
	font-size: 18px;
	font-weight: 600;
	border-radius: 50px;
	letter-spacing: 0.15em;
	line-height: 1.5;
	position: relative;
	transition: all 0.3s ease;
}

.terapokephilosophy-anker-item:hover {
	color: #fff;
	background: #6CA2C4;
}
.terapokephilosophy-anker-item.is-current{
	color: #fff;
	background: #6CA2C4;
}

.terapokephilosophy-anker-item::after {
	content: '';
	transform: translate(0,-50%);
	-webkit-mask-image: url('../img/terapoke/icon_anker_arrow.svg');
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: contain;
	mask-image: url('../img/terapoke/icon_anker_arrow.svg');
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: contain;
	display: inline-block;
	vertical-align: middle;
	width: 11px;
	height: 18px;
	background: #000;
	position: absolute;
	right: 43px;
	top: 50%;
	transition: all 0.3s ease;
}

.terapokephilosophy-anker-item:hover::after {
	background: #fff;
}
.terapokephilosophy-anker-item.is-current::after{
	background: #fff;
}

.terapokephilosophy-section {
	margin-bottom: 145px;
}

.terapokephilosophy-section:last-child {
	margin-bottom: 0;
}

.terapokephilosophy-section-inner {
	max-width: 1380px;
	margin: 0 auto;
}

.terapokephilosophy-section-title {
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 26px;
	margin-bottom: 56px;
}

.terapokephilosophy-section-title small {
	-webkit-font-feature-settings: 'pkna';
	font-feature-settings: 'pkna';
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 15px;
	color: #6CA2C4;
	letter-spacing: 0.25em;
	width: 41px;
	font-weight: 900;
}

h3.terapokephilosophy-section-title-sub{
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.2em;
	padding-bottom: 5px;
	margin-bottom: 5px;
	border-bottom: 1px solid #6da3c4;
	margin-top: 40px;
}

.terapokephilosophy-section-title-inner {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 30px;
	padding-bottom: 4px;
}

.terapokephilosophy-section-title-inner span {
	font-size: 28px;
	font-weight:600;
	letter-spacing: 0.17em;
	line-height: 1.5;
	position: relative;
}

.terapokephilosophy-section-title-inner span::after {
    display: block;
    content: '';
    background: #6ABBB4;
    border-radius: 10px;
    width: 100%;
    height: 10px;
    position: absolute;
    left: 0;
    bottom: 0;
    opacity: 0.4;
}

.terapokephilosophy-section-flex{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
}
.terapokephilosophy-section-flex-inner{
	width: 47%;
}
.terapokephilosophy-section-flex-inner img{
	display: block;
	margin: 0 auto;
}
.program-content .terapokephilosophy-section-text{
	min-height: 150px;
}

.terapokephilosophy-section-text {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 2.14;
}

.terapokephilosophy-section-text .text-point {
	font-size: 17px;
	font-weight: 900;
	color: #295C7C;
	line-height: 1.9;
}

.terapokephilosophy-section-text + .terapokephilosophy-section-text {
	margin-top: 31px;
}

.copainfeature-image img{
	margin: 100px 0 0;
}


/* flow ---------------------------------------*/

.terapokeflow {
	padding-top: 180px;
	padding-bottom: 150px;
}

.terapokeflow-section {
}

.terapokeflow-section-inner {
	max-width:1380px;
	margin:0 auto;
}

.terapokeflow-section-block {
}

.terapokeflow-section-block-head {
	width: 47.826%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.terapokeflow-section-block-head-item {
	width: 33.333%;
	padding: 25px 15px;
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 1.5;
	color: #fff;
}

.terapokeflow-section-block-head-item-a{
	background: #58CBB9;
}

.terapokeflow-section-block-head-item-b{
	background: #80BA39;
	position: relative;
}

.terapokeflow-section-block-head-item-b::before {
	content: '';
	display: block;
	width: 2px;
	height: 100%;
	background: #fff;
	position: absolute;
	top: 0;
	left: -1px;
}

.terapokeflow-section-block-head-item-c{
	background: #BA3838;
	position: relative;
}

.terapokeflow-section-block-head-item-c::before {
	content: '';
	display: block;
	width: 2px;
	height: 100%;
	background: #fff;
	position: absolute;
	top: 0;
	left: -1px;
}

.terapokeflow-section-block-body {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	border-bottom: 6px solid #fff;
}

.terapokeflow-section-block-body:last-of-type {
	border-bottom: none;
}

.terapokeflow-section-block-body-schedule {
	width: 47.826%;
}

.terapokeflow-section-block-body-schedule-time {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	height: 100%;
}

.terapokeflow-section-block-body-schedule-time-item {
	width: 33.333%;
	padding: 25px 10px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 5px;
}

.terapokeflow-section-block-body-schedule-time-item span{
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.terapokeflow-section-block-body-schedule-time-item-a {
	background: #DFF2EF;
}

.terapokeflow-section-block-body-schedule-time-item-b {
	background: #E9F2DE;
	position: relative;
}

.terapokeflow-section-block-body-schedule-time-item-b::before {
	content: '';
	display: block;
	width: 2px;
	height: 100%;
	background: #fff;
	position: absolute;
	top: 0;
	left: -1px;
}

.terapokeflow-section-block-body-schedule-time-item-c {
	background: #F2DEDE;
	position: relative;
}

.terapokeflow-section-block-body-schedule-time-item-c::before {
	content: '';
	display: block;
	width: 2px;
	height: 100%;
	background: #fff;
	position: absolute;
	top: 0;
	left: -1px;
}

.terapokeflow-section-block-body-schedule-time-item img {
}

.terapokeflow-section-block-body-detail {
	width: 52.174%;
	padding: 32px 40px 32px 47px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	flex-direction: column;
}

.terapokeflow-section-block-body-title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.87;
	letter-spacing: 0.15em;
	padding-left: 22px;
	position: relative;
}

.terapokeflow-section-block-body-title::before {	
	content: '';
	display: block;
	width: 5px;
	height: 100%;
	background: #6CA2C4;
	position: absolute;
	top: 0;
	left: 0;
}

.terapokeflow-section-block-body-title small {
	font-size: 12px;
}

.terapokeflow-section-block-body-text {
	font-size: 14px;
	font-weight: 500;
	line-height: 2.285;
	letter-spacing: 0.15em;
	margin-top: 7px;
	padding-left: 22px;
}

.terapokeflow-section-block-body-text + .terapokeflow-section-block-body-title {
	margin-top: 42px;
}

.terapokeflow-section-block-body-schedule-head {
	display: none;
}


/* classroom ---------------------------------------*/

.terapokeclassroom {
	padding-top: 276px;
	padding-bottom: 200px;
}

.terapokeclassroom-section {
}

.terapokeclassroom-section-inner {
	max-width:1380px;
	margin: 0 auto;
}

.terapokeclassroom-section-block {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 57px;
	margin-bottom: 132px;
}

.terapokeclassroom-section-block:last-of-type {
	margin-bottom: 0;
}

.terapokeclassroom-section-block-map {
	width: 50%;
}

.terapokeclassroom-section-block-map iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.terapokeclassroom-section-block-detail {
	flex:1;
	order: 1;
	padding-top: 6px;
}

.terapokeclassroom-section-block-title {
	font-size: 28px;
	margin-bottom: 72px;
}

.terapokeclassroom-section-block-list {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.terapokeclassroom-section-block-list dt {
	width:145px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 1.5;
}

.terapokeclassroom-section-block-list dd {
	flex:1;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.5;
}


/* contact ---------------------------------------*/

.terapokecontact {
	padding-top: 250px;
	padding-bottom: 200px;
}

.terapokecontact-inner {
	max-width: 1380px;
	margin: 0 auto;
}

.wpcf7 .form-submit .btn:hover {
	color: #fff;
	background: #6CA2C4;
}


/* news ---------------------------------------*/

.terapokehead {
	padding-top: 240px;
	padding-bottom: 138px;
}

.terapokehead-inner {
}

.terapokehead-title{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 13px;
	font-size: 3.125vw;
	font-weight: 600;
	line-height: 1.5;
	color: #222;
}

.terapokehead-title b{
	font-size: 46px;
	font-weight: 600;
	letter-spacing: 0.15em;
}

.terapokehead-title span{
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.12em;
}


.terapokenews {
	padding-bottom: 150px;
}

.terapokenews-inner {
	max-width: 1380px;
	margin: 0 auto;
}

.terapokenews-content {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 60px;
}

.terapokenews-main {
	flex:1;
	order: 1;
}

.terapokenews-main-inner {
	margin-bottom: 40px;
}

.terapokenews-item {
	border-bottom: 1px solid #CCCCCC;
	margin-bottom: 50px;
	padding-bottom: 25px;
	/* margin-left: 60px; */
}

.terapokenews-item:last-of-type {
	margin-bottom: 0;
}

.terapokenews-title {
	margin-bottom: 32px;
}

.terapokenews-title span {
	display: inline;
	background: linear-gradient(transparent 75%, rgba(108,162,196,0.3) 0%);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 2;
}

.terapokenews-info {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 16px;
}

.terapokenews-category {
	width: 130px;
	border-radius: 50px;
	background: #6CA2C4;
	color: #fff;
	text-align: center;
	padding: 6px 10px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.5;
}

.terapokenews-date {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.5;
}

.terapokenews-text {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin-bottom: 40px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}

.terapokenews-detail .terapokenews-text {
	margin-bottom: 0;
}

.terapokenews-more {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.5;
	color: #6CA2C4;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	transition: all 0.3s ease;
}

.terapokenews-more:hover {
	opacity: 0.7;
}

.terapokenews-more i {
	background: url('../img/terapoke/news/icon_arrow.svg') no-repeat center center / 100%;
	width: 11px;
	height: 18px;
}

.terapokenews-pagination {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 100px;
}

.terapokenews-pagination-prev,
.terapokenews-pagination-next {
	width: 340px;
	max-width: calc(50% - 15px);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.15em;
	line-height: 1.5;
	padding: 20px 40px 20px 40px;
	position: relative;
	background: #fff;
	border-radius: 50px;
	transition: all 0.3s ease;
}

.terapokenews-pagination-prev:hover,
.terapokenews-pagination-next:hover {
	color: #fff;
	background: #6CA2C4;
}

.terapokenews-pagination-prev {
	text-align: right;
}

.terapokenews-pagination-prev::before,
.terapokenews-pagination-next::before {
	content: '';
	-webkit-mask-image: url('../img/terapoke/news/icon_arrow.svg');
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: contain;
	mask-image: url('../img/terapoke/news/icon_arrow.svg');
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: contain;
	display: inline-block;
	vertical-align: middle;
	width: 11px;
	height: 18px;
	background: #000;
	position: absolute;
	top: 50%;
	transition: all 0.3s ease;
}

.terapokenews-pagination-prev::before {
	transform: translate(0,-50%) scaleX(-1);
	left: 30px;
}

.terapokenews-pagination-next::before {
	transform: translate(0,-50%);
	right: 30px;
}

.terapokenews-pagination-prev:hover::before,
.terapokenews-pagination-next:hover::before {
	background: #fff;
}

.terapokenews-pagination-prev.disabled,
.terapokenews-pagination-next.disabled {
	background: #ccc;
	color: #000;
	cursor: auto;
}

.terapokenews-pagination-prev.disabled:hover::before,
.terapokenews-pagination-next.disabled:hover::before {
	background: #000;
}

.terapokenews-sidebar {
	width: 300px;
}

.terapokenews-sidebar-search {
	margin-bottom: 52px;
}

.terapokenews-sidebar-title {
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.15em;
	line-height: 1.5;
	margin-bottom: 16px;
}

.search-form {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	width: 270px;
	max-width: 100%;
}

.search-input {
	flex:1;
	height: 44px;
	box-shadow: inset 1px 1px 2px rgba(0,0,0,0.16);
}

.search-button {
	background: #6ca2c4;
	color: #fff;
	height: 44px;
	line-height: 44px;
	border-radius: 6px;
	width: 81px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.search-button i {
	display: none;
}

.terapokenews-sidebar-archive {
}

.terapokenews-sidebar-archive-list {
}

.terapokenews-sidebar-archive-item {
	margin-bottom: 20px;
}

.terapokenews-sidebar-archive-item a {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.5;
	color: #6CA2C4;
	display: inline-block;
	position: relative;
	padding-left: 30px;
	transition: all 0.3s ease;
}

.terapokenews-sidebar-archive-item a:hover {
	opacity: 0.7;
}

.terapokenews-sidebar-archive-item a::before {
	display: inline-block;
	content: '';
	background: url('../img/terapoke/news/icon_arrow.svg') no-repeat center center / 100%;
	width: 11px;
	height: 18px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
}

.terapokenews-article {
	/* margin-left: 60px; */
}

.terapokenews-article-head {
	margin-bottom: 75px;
}

.terapokenews-article-head-title {
	margin-bottom: 32px;
}

.terapokenews-article-head-title span {
	display: inline;
	background: linear-gradient(transparent 75%, rgba(108,162,196,0.3) 0%);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 2;
}

.terapokenews-article-head-info {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.terapokenews-article-head-info-category {
	width: 130px;
	border-radius: 50px;
	background: #6CA2C4;
	color: #fff;
	text-align: center;
	padding: 6px 10px;
}

.terapokenews-article-head-info-date {
	display: block;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.5;
}


.terapokenews-article-content {
	
}


.terapokenews-article-content div {
	margin-bottom: 50px;
}

.terapokenews-article-content p {
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 3;
	margin-bottom: 50px;
}

.terapokenews-article-content ul,
.terapokenews-article-content ol {
	margin-bottom: 50px;
}

.terapokenews-article-content ul li {
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 3;
	padding-left: 22px;
	position: relative;
}

.terapokenews-article-content ul li::before {
	display:block;
	content:'';
	background:#000;
	background-size: 100%;
	width:4px;
	height:4px;
	border-radius: 50%;
	position:absolute;
	left:8px;
	top:19px;
}

.terapokenews-article-content ol li {
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 3;
	list-style: decimal inside;
}

.terapokenews-article-content figure {
	margin-bottom: 50px;
}

.terapokenews-article-content p:last-of-type,.terapokenews-article-content div:last-of-type {
	margin-bottom: 0;
}

.terapokenews-article-content strong {
	font-weight: 600 !important;
}

.terapokenews-article-content em {
	font-style: italic !important;
}

.terapokenews-article-content a {
	text-decoration: underline;
	color: #6CA2C4;
}
.terapokenews-article-content a:hover {text-decoration: none;}

.terapokenews-article-content blockquote {
	margin: 0 0 50px 20px;
	padding-left: 20px;
	border-left: 1px solid #222;
}


/* small pc */
@media screen and (min-width: 769px) and (max-width: 1480px){


	/* common ---------------------------------------*/


	/* index ---------------------------------------*/
		
	.kv-title b{
		font-size: 34px;
	}

	.kv-title span{
		font-size: 12px;
	}

	/* index ---------------------------------------*/

	.indexkv-wrapper {
		margin-bottom: 7vw;
	}

	.indexkv {
		padding: 20.5vw 50px 0;
	}
	
	.indexkv-inner{
		max-width:1200px;
	}

	.indexkv::before {
		width: 11.1vw;
		height: 15vw;
		bottom: -2.3vw;
		left: 9.2%;
	}

	.indexkv::after {
		width: 11.2vw;
		height: 15.5vw;
		bottom: -4vw;
		right: 9.4%;
	}

	.indexkv-shouldar {
		font-size: 1.22vw;
		margin-bottom: 18px;
	}

	.indexkv-title{
		font-size: 2.70vw;
		margin-bottom: 30px;
	}

	.indexkv-text{
		font-size: 1.15vw;
	}

	.terapokemessage-main {
		margin-bottom: 98px;
	}

	.terapokemessage-header {
		width: 384px;
	}

	.terapokemessage-header-text {
		font-size: 14px;
		margin-top: 44px;
	}

	.terapokemessage-content-item {
		gap: 26px;
		margin-bottom: 56px;
	}

	.terapokemessage-content-item-detail-title span {
		font-size: 24px;
	}

	.terapokemessage-content-item-detail-text {
		font-size: 16px;
	}

	.terapokeconcept {
		margin-bottom: 135px;
	}

	.terapokeconcept::before {
		width: 50.3%;
		height: 63.5%;
		border-radius: 0 40px 40px 0;
		top: 44%;
	}

	.terapokeconcept-block::after {
		width: 413px;
		height: 229px;
	}

	.terapokeconcept-block-title {
		gap: 18px;
		padding-bottom: 37px;
		margin-bottom: 34px;
		width: 495px;
	}

	.terapokeconcept-block-title small {
		font-size: 15px;
		font-weight: 500;
		letter-spacing: 0.15em;
		line-height: 1.5;
	}

	.terapokeconcept-block-title span {
		font-size: 26px;
		font-weight: 600;
		letter-spacing: 0.17em;
		line-height: 1.5;
	}

	.terapokeconcept-block-list {
		margin-bottom: 48px;
	}

	.terapokeconcept-block-list li {
		font-size: 18px;
		padding-left: 22px;
		margin-bottom: 11px;
	}

	.terapokeconcept-block-list li::before {
		width: 4px;
		height: 4px;
		top: 18px;
	}

	.terapokeconcept-block-btn {
		width: 390px;
		padding: 20px 50px 20px 37px;
		font-size: 17px;
	}

	.terapokeconcept-block-btn::after {
		right: 37px;
	}

	.terapokebnr {
		margin-bottom: 96px;
	}

	.terapokebnr-list-item {
		margin-bottom: 16px;
	}

	.terapokebnr-list-item span {
		font-size: 22px;
		padding: 14px 41px;
	}

	.terapokebnr-list p span {
		font-size: 13px;
		padding: 8px 18px;
	}


	/* flow ---------------------------------------*/

	.terapokeflow-section-block-body-title {
		font-size: 15px;
	}

	.terapokeflow-section-block-body-title small {
		font-size: 11px;
	}

	.terapokeflow-section-block-body-text {
		font-size: 13px;
	}


	/* classroom ---------------------------------------*/

	.terapokeclassroom-section-block-title {
		font-size: 24px;
	}


	/* news ---------------------------------------*/

	.terapokeindexnews-block {
		gap: 137px;
	}

	.terapokeindexnews-header {
		width: 212px;
		padding-top: 26px;
	}

	.terapokeindexnews-header-title {
		gap: 17px;
		padding-bottom: 37px;
		margin-bottom: 82px;
	}

	.terapokeindexnews-header-title small {
		font-size: 15px;
	}

	.terapokeindexnews-header-title span {
		font-size: 26px;
	}

	.terapokeindexnews-content-list {
		margin-bottom: 46px;
	}

	.terapokeindexnews-content-list-item {
		gap: 26px;
		padding: 22px 0;
	}

	.terapokeindexnews-content-list-item time {
		font-size: 15px;
		padding: 5px 38px 5px 0;
	}

	.terapokeindexnews-content-list-item span {
		font-size: 15px;
		padding: 5px 0;
	}

	.terapokeindexnews-btn {
		width: 262px;
		padding: 20px 42px 20px 38px;
		font-size: 18px;
	}

	.terapokeindexnews-btn::after {
		right: 33px;
	}


	/* news ---------------------------------------*/

	.terapokehead {
		padding-top: 193px;
		padding-bottom: 126px;
	}

	.terapokehead-title {
		gap: 17px;
	}

	.terapokehead-title b {
		font-size: 34px;
	}

	.terapokehead-title span {
		font-size: 13px;
	}

	.terapokenews-inner {
		max-width: 1200px;
	}

	.terapokenews-content {
		gap: 80px;
	}

	.terapokenews-item {
		margin-bottom: 44px;
		padding-bottom: 27px;
	}

	.terapokenews-title {
		margin-bottom: 18px;
	}

	.terapokenews-text {
		margin-bottom: 13px;
	}

	.terapokenews-article-head {
		margin-bottom: 66px;
	}

	.terapokenews-article-head-title {
		margin-bottom: 17px;
	}

	.terapokenews-article-content p {
		font-size: 15px;
		line-height: 2.8;
	}

	.terapokenews-article-content ul li,.terapokenews-article-content ol li {
		font-size: 15px;
		line-height: 2.8;
	}


	/* philosophy ---------------------------------------*/
	
	.terapokephilosophy {
		padding-top: 150px;
		padding-bottom: 200px;
	}
	
	.terapokephilosophy-anker {
		max-width: 1040px;
	}
	
	.terapokephilosophy-anker-top {
		margin-bottom: 102px;
	}

	.terapokephilosophy-anker-bottom {
		margin-top: 83px;
	}
	
	.terapokephilosophy-anker-list {
		gap: 20px 13px;
	}
	
	.terapokephilosophy-anker-list li {
		width: calc(33.333% - 13px);
	}
	
	.terapokephilosophy-anker-item {
		padding: 16px 30px 16px 40px;
		font-size: 16px;
	}

	.terapokephilosophy-anker-item::after {
		width: 9px;
		height: 15px;
		right: 22px;
	}

	.terapokephilosophy-section-inner {
		max-width: 1040px;
	}

	.terapokephilosophy-section-title {
		gap: 19px;
		margin-bottom: 50px;
	}

	.terapokephilosophy-section-title small {
		font-size: 10px;
		width: 37px;
	}

	.terapokephilosophy-section-title-inner {
		gap: 22px;
		padding-bottom: 0;
	}

	.terapokephilosophy-section-title-inner span {
		font-size: 22px;
	}

	.terapokephilosophy-section-text {
		font-size: 15px;
		line-height: 2.2;
	}

	.terapokephilosophy-section-text + .terapokephilosophy-section-text {
		margin-top: 37px;
	}

}


/* small pc */
@media screen and (min-width: 769px) and (max-width: 1280px){

	/* common ---------------------------------------*/


	/* index ---------------------------------------*/

	.kv::before {
		width: 159px;
		height: 210px;
		bottom: -76px;
		left: 9.7%;
	}

	.kv::after {
		width: 157px;
		height: 220px;
		bottom: -81px;
		right: 5.1%;
	}

	.kv-title b{
		font-size: 29px;
	}

	.kv-title span{
		font-size: 10px;
	}

	
	/* index ---------------------------------------*/

	.indexkv-wrapper {
		margin-bottom: 7vw;
	}

	.indexkv {
		padding: 18.8vw 50px 0;
	}
	
	.indexkv-inner{
		max-width:1000px;
	}

	.indexkv::before {
		left: 10.8%;
	}

	.indexkv::after {
		right: 10.9%;
	}

	.indexkv-shouldar {
		font-size: 1.09vw;
	}

	.indexkv-title{
		font-size: 2.66vw;
		margin-bottom: 27px;
	}

	.indexkv-text{
		font-size: 1.09vw;
	}

	.terapokemessage-main {
		margin-bottom: 60px;
	}

	.terapokemessage-header {
		width: 302px;
		padding-top: 11px;
	}

	.terapokemessage-header-text {
		font-size: 10px;
		margin-top: 40px;
	}

	.terapokemessage-content-item {
		gap: 26px;
		margin-bottom: 47px;
	}

	.terapokemessage-content-item-image {
		width: 68px;
	}

	.terapokemessage-content-item-image img {
		width: 85%;
	}

	.terapokemessage-content-item:nth-of-type(3) .terapokemessage-content-item-image img {
		width: 50%
	}

	.terapokemessage-content-item-detail-title {
		gap: 19px;
		margin-bottom: 5px;
	}

	.terapokemessage-content-item-detail-text {
		font-size: 15px;
	}

	.terapokemessage-content-item-detail-text br {
		display: none;
	}

	.terapokeconcept {
		margin-bottom: 112px;
	}

	.terapokeconcept::before {
		width: 50%;
		height: 69%;
		top: 45%;
	}

	.terapokeconcept-block::after {
		width: 344px;
		height: 197px;
	}

	.terapokeconcept-block-title {
		gap: 14px;
		padding-bottom: 35px;
		margin-bottom: 37px;
		width: 495px;
	}

	.terapokeconcept-block-title small {
		font-size: 10px;
		/* font-weight: 500;
		letter-spacing: 0.15em;
		line-height: 1.5; */
	}

	.terapokeconcept-block-title span {
		font-size: 19px;
		/* font-weight: 600;
		letter-spacing: 0.17em;
		line-height: 1.5; */
	}

	.terapokeconcept-block-list {
		margin-bottom: 58px;
	}

	.terapokeconcept-block-list li {
		font-size: 17px;
		padding-left: 20px;
		margin-bottom: 3px;
	}

	.terapokeconcept-block-list li::before {
		top: 17px;
		left: 7px;
	}

	.terapokeconcept-block-btn-wrapper {
		gap: 20px;
	}

	.terapokeconcept-block-btn {
		width: 324px;
		padding: 16px 40px 16px 30px;
	}

	.terapokeconcept-block-btn::after {
		right: 30px;
		width: 9px;
		height: 15px;
	}

	.terapokebnr {
		margin-bottom: 83px;
	}

	.terapokebnr-list-item {
		margin-bottom: 18px;
	}

	.terapokebnr-list-item span {
		font-size: 20px;
		padding: 10px 30px;
	}

	.terapokebnr-list p span {
		font-size: 11px;
		padding: 7px 15px;
	}


	/* flow ---------------------------------------*/

	.terapokeflow-section-block-body-schedule-time-item span {
		font-size: 22px;
	}

	/* classroom ---------------------------------------*/

	.terapokeclassroom-section-block-title {
		font-size: 18px;
	}

	.terapokeclassroom-section-block-list dt {
		font-size: 14px;
	}

	.terapokeclassroom-section-block-list dd {
		font-size: 14px;
	}


	/* news ---------------------------------------*/

	.terapokeindexnews-block {
		gap: 100px;
	}

	.terapokeindexnews-header {
		width: 180px;
		padding-top: 20px;
	}

	.terapokeindexnews-header-title {
		padding-bottom: 34px;
		margin-bottom: 70px;
	}

	.terapokeindexnews-header-title small {
		font-size: 11px;
	}

	.terapokeindexnews-header-title span {
		font-size: 20px;
	}

	.terapokeindexnews-content-list {
		margin-bottom: 36px;
	}

	.terapokeindexnews-content-list-item {
		gap: 21px;
		padding: 18px 0;
	}

	.terapokeindexnews-content-list-item time {
		font-size: 13px;
		padding: 3px 29px 3px 0;
	}

	.terapokeindexnews-content-list-item span {
		font-size: 13px;
		padding: 5px 0;
	}

	.terapokeindexnews-btn {
		width: 222px;
		padding: 16px 40px 16px 30px;
	}

	.terapokeindexnews-btn::after {
		right: 29px;
		width: 9px;
		height: 15px;
	}


	/* news ---------------------------------------*/

	.terapokenews-content {
		gap: 30px;
	}

	.terapokenews-inner {
		max-width: 1000px;
	}

	.terapokenews-item {
		margin-bottom: 24px;
		padding-bottom: 20px;
	}

	.terapokenews-title {
		margin-bottom: 14px;
	}

	.terapokenews-title span {
		font-size: 24px;
	}

	.terapokenews-info {
		margin-bottom: 13px;
	}

	.terapokenews-date {
		font-size: 14px;
	}

	.terapokenews-text {
		font-size: 14px;
		margin-bottom: 18px;
	}

	.terapokenews-more {
		font-size: 14px;
	}

	.terapokenews-more i {
		width: 9px;
		height: 15px;
	}


	/* philosophy ---------------------------------------*/
	
	.terapokephilosophy {
		padding-top: 130px;
		padding-bottom: 200px;
	}
	
	.terapokephilosophy-anker {
		max-width: 895px;
	}
	
	.terapokephilosophy-anker-top {
		margin-bottom: 61px;
	}

	.terapokephilosophy-anker-bottom {
		margin-top: 83px;
	}
	
	.terapokephilosophy-anker-list {
		gap: 5px 11px;
	}
	
	.terapokephilosophy-anker-list li {
		width: calc(33.333% - 11px);
	}
	
	.terapokephilosophy-anker-item {
		padding: 16px 30px 16px 28px;
	}

	.terapokephilosophy-anker-item::after {
		width: 9px;
		height: 15px;
		right: 22px;
	}

	.terapokephilosophy-section-inner {
		max-width: 895px;
	}

	.terapokephilosophy-section-title {
		gap: 19px;
		margin-bottom: 50px;
	}

	.terapokephilosophy-section-title small {
		font-size: 8px;
		width: 28px;
	}

	.terapokephilosophy-section-title-inner {
		gap: 17px;
		padding-bottom: 0;
	}

	.terapokephilosophy-section-title-inner span {
		font-size: 17px;
	}


}



@media screen and (max-width: 768px){


	/* kv ---------------------------------------*/

	.kv {
		height: 77vw;
	}

	.kv-flow {
		background: url('../img/terapoke/flow/kv_sp.png') no-repeat center center / 100%;
	}

	.kv-classroom {
		background: url('../img/terapoke/classroom/kv_sp.png') no-repeat center center / 100%;
	}

	.kv::before {
		background: url('../img/terapoke/kv_pict_01.png') no-repeat center center; 
		background-size: 100%;
		width: 101px;
		height: 132px;
		bottom:-50px;
		left: 5%;
	}

	.kv::after {
		background: url('../img/terapoke/kv_pict_02.png') no-repeat center center; 
		background-size: 100%;
		width: 103px;
		height: 139px;
		bottom:-50px;
		right: 5%;
	}

	.kv-title{
		gap: 5px;
		top: 55%;
		left: 50%;
		letter-spacing: 0.15em;
	}

	.kv-title b{
		font-size: 23px;
	}

	.kv-title span{
		font-size: 11px;
	}

	/* index ---------------------------------------*/

	
	.indexkv-wrapper{
		background: url('../img/terapoke/index/kv_sp.png') no-repeat center top / cover;
		height:214vw;
		margin-bottom: 34vw;
	}

	.indexkv{
		padding: 39vw 25px 0
	}

	.indexkv::before {
		/* display: inline-block;
		content: '';
		background: url('../img/terapoke/kv_pict_01.png') no-repeat center center; 
		background-size: 100%; */
		width: 25.9vw;
		height: 33.85vw;
		position: absolute;
		bottom: -3vw;
		left: 5%;
	}

	.indexkv::after {
		/* display: inline-block;
		content: '';
		background: url('../img/terapoke/kv_pict_02.png') no-repeat center center; 
		background-size: 100%; */
		width: 26.41vw;
		height: 35.64vw;
		position: absolute;
		bottom: -3vw;
		right: 5%;
	}

	.indexkv-inner{
	}

	.indexkv-shouldar {
		font-size: 2.31vw;
		font-weight: 700;
		letter-spacing: 0.2em;
		line-height: 1.9;
		margin-bottom: 2vw;
	}

	.indexkv-shouldar span{
		display: block;
	}

	.indexkv-sitename {
		font-size: 6.41vw;
		font-weight: 700;
		line-height: 1.5;
		margin-bottom: 12vw;
	}

	.indexkv-title{
		font-size: 6.41vw;
		font-weight: 700;
		line-height: 2;
		margin-bottom: 29vw;
	}

	.indexkv-text{
		font-size: 3.59vw;
		font-weight: 500;
		line-height: 2;
		padding-right: 20px;
	}


	.terapokeindex {
	}

	.terapokesection {
		padding: 0 20px;
	}

	.terapokemessage{}

	.terapokemessage-main{
		display: block;
		margin-bottom: 140px;
	}

	.terapokemessage-header{
		width: 100%;
		margin-bottom: 75px;
		padding-top: 0;
	}

	.terapokemessage-header-text{
		font-size: 9px;
		line-height: 2.2;
		font-weight: 500;
		margin-top: 22px;
	}

	.terapokemessage-content{
		width: 100%;
	}

	.terapokemessage-content-item {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
		gap: 20px;
		margin-bottom: 40px;
	}

	.terapokemessage-content-item-image {
		width: 75px;
		padding-left: 10px;
		text-align: center;
	}

	.terapokemessage-content-item-image img {
	}

	.terapokemessage-content-item:nth-of-type(1) .terapokemessage-content-item-image img {
		width: 59px;
	}

	.terapokemessage-content-item:nth-of-type(3) .terapokemessage-content-item-image img {
		width: 35px;
	}

	.terapokemessage-content-item-detail {
		flex:1;
	}

	.terapokemessage-content-item-detail-title {
		gap: 15px;
		margin-bottom: 15px;
	}

	.terapokemessage-content-item-detail-title span {
		font-size: 19px;
		font-weight: 700;
		letter-spacing: 0.15em;
		line-height: 1.5;
	}

	.terapokemessage-content-item-detail-title small {
		font-size: 10px;
		font-weight: 500;
		letter-spacing: 0.15em;
		line-height: 1.5;
	}

	.terapokemessage-content-item-detail-text {
		font-size: 13px;
		font-weight: 500;
		letter-spacing: 0.15em;
		line-height: 2;
	}

	.terapokeconcept {
		margin-bottom: 310px;
	}

	.terapokeconcept::before {
		width: 55%;
		height: 87%;
		top: 53%;
		border-radius: 0 20px 20px 0;
	}

	.terapokeconcept-block {
	}

	.terapokeconcept-block::after {
		display: inline-block;
		content: '';
		background: url('../img/terapoke/index/img_concept.png') no-repeat left center / 100%;
		width: 198px;
		height: 109px;
		position: absolute;
		bottom: -205px;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
	}

	.terapokeconcept-block-title {
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
		flex-direction: column;
		gap: 5px;
		padding-bottom: 12px;
		margin-bottom: 40px;
		border-bottom: 1px solid rgba(0,0,0,0.2);
		width: 568px;
		max-width: 100%;
	}

	.terapokeconcept-block-title small {
		font-size: 12px;
		font-weight: 500;
		letter-spacing: 0.15em;
		line-height: 1.5;
	}

	.terapokeconcept-block-title span {
		font-size: 19px;
		font-weight: 600;
		letter-spacing: 0.15em;
		line-height: 1.5;
	}

	.terapokeconcept-block-list {
		margin-bottom: 60px;
	}

	.terapokeconcept-block-list li {
		font-size: 15px;
		font-weight: 600;
		letter-spacing: 0.15em;
		line-height: 2.2;
		padding-left: 15px;
		margin-bottom: 0;
	}

	.terapokeconcept-block-list li::before {
		width: 4px;
		height: 4px;
		top: 16px;
		left: 0;
	}

	.terapokeconcept-block-btn-wrapper {
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
		flex-direction: column;
		gap: 15px;
		padding-left: 15px;
	}

	.terapokeconcept-block-btn {
		width: 270px;
		padding: 10px 20px;
		font-size: 14px;
		font-weight: 700;
		border-radius: 50px;
		letter-spacing: 0.15em;
	}

	.terapokeconcept-block-btn:hover {
		color: #000;
		background: #fff;
	}

	.terapokeconcept-block-btn::after {
		width: 6px;
		height: 11.5px;
		right: 15px;
	}

	.terapokeconcept-block-btn:hover::after {
		background: #000;
	}

	.terapokebnr {
		margin-bottom: 142px;
	}

	.terapokebnr-list {
		justify-content: flex-start;
		flex-direction: column;
		gap: 50px;
	}

	.terapokebnr-list li {
		width: 100%;
		margin-bottom: 0;
	}

	.terapokebnr-list-item {
		display: block;
		position: relative;
		box-shadow: 5px 5px 0 0 #6CA2C4;
		border-radius: 10px;
		margin-bottom: 10px;
	}

	.terapokebnr-list-item:hover {
		opacity: 1;
	}

	.terapokebnr-list-item img {
		border-radius: 10px;
	}

	.terapokebnr-list-item span {
		font-size: 17px;
		font-weight: 700;
		letter-spacing: 0.25em;
		line-height: 1.5;
		display: inline-block;
		position: absolute;
		bottom: -5px;
		left: 0;
		color: #fff;
		background: rgba(108,162,196,0.85);
		padding: 7px 20px;
		width: 150px;
		text-align: center;
	}

	.terapokebnr-list p {
	}

	.terapokebnr-list p span {
		font-size: 11px;
		letter-spacing: 0.32em;
		line-height: 1.5;
		padding: 2px 18px;
	}

	.terapokeindexnews {
		padding-bottom: 100px;
	}

	.terapokeindexnews-block {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
		gap: 14px;
	}

	.terapokeindexnews-header {
		width: 100%;
		padding-top: 0;
	}

	.terapokeindexnews-header-inner {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 20px;
	}

	.terapokeindexnews-header-title {
		gap: 8px;
		margin-bottom: 0;
		padding-bottom: 10px;
	}

	.terapokeindexnews-header-title small {
		font-size: 12px;
		font-weight: 500;
		letter-spacing: 0.15em;
		line-height: 1.5;
	}

	.terapokeindexnews-header-title span {
		font-size: 19px;
		font-weight: 700;
		letter-spacing: 0.15em;
		line-height: 1.5;
	}

	.terapokeindexnews-header-image {
		flex:1;
		text-align: center;
		padding-top: 16px;
	}

	.terapokeindexnews-header-image img {
		width: 127px;
		max-width: 100%;
	}

	.terapokeindexnews-content {
		flex:1;
	}

	.terapokeindexnews-content-list {
		margin-bottom: 40px;
	}

	.terapokeindexnews-content-list li {
		padding: 10px 0 6px;
		border-bottom: 1px solid rgba(0,0,0,0.2);
	}

	.terapokeindexnews-content-list-item {
		justify-content: flex-start;
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
		padding: 5px 0;
	}

	.terapokeindexnews-content-list-item time {
		font-size: 11px;
		letter-spacing: 0.15em;
		line-height: 1.5;
		border-right: none;
		padding: 0;
	}

	.terapokeindexnews-content-list-item span {
		font-size: 15px;
		letter-spacing: 0.15em;
		line-height: 1.5;
	}

	.terapokeindexnews-btn-wrapper {
	}

	.terapokeindexnews-btn {
		width: 250px;
		padding: 11px 20px 11px 20px;
		font-size: 14px;
		letter-spacing: 0.15em;
		margin: 0 auto;
	}

	.terapokeindexnews-btn:hover {
		color: #000;
		background: #fff;
	}

	.terapokeindexnews-btn::after {
		width: 6px;
		height: 11.5px;
		right: 15px;
	}

	.terapokeindexnews-btn:hover::after {
		background: #000;
	}

	/* philosophy ---------------------------------------*/

	.terapokephilosophy {
		padding-top: 137px;
		padding-bottom: 0;
	}

	.terapokephilosophy-anker-top {
		margin-bottom: 88px;
	}

	.terapokephilosophy-anker-bottom {
	}

	.terapokephilosophy-anker-list {
		display: block;
	}

	.terapokephilosophy-anker-list li {
		width: 100%;
		margin-bottom: 15px;
	}

	.terapokephilosophy-anker-list li:last-of-type {
		margin-bottom: 0;
	}

	.terapokephilosophy-anker-item {
		padding: 12px 20px 12px 20px;
		font-size: 13px;
		font-weight: 700;
		border-radius: 50px;
		/* letter-spacing: 0.15em;
		line-height: 1.5;
		position: relative; */
	}

	
	.terapokephilosophy-anker-item:hover {
		color: #000;
		background: #fff;
	}

	.terapokephilosophy-anker-item::after {
		width: 7px;
		height: 11px;
		right: 12px;
	}

	.terapokephilosophy-anker-item:hover::after {
		background: #000;
	}

	.terapokephilosophy-section {
		margin-bottom: 123px;
	}

	.terapokephilosophy-section-inner {
		max-width: 1380px;
		margin: 0 auto;
	}

	.terapokephilosophy-section-title {
		display: block;
		margin-bottom: 60px;
	}

	.terapokephilosophy-section-title small {
		display: none;
	}

	.terapokephilosophy-section-title-inner {
		display: flex;
		justify-content: center;
		align-items: flex-start;
		flex-wrap: wrap;
		flex-direction: column;
		gap: 8px;
		padding-bottom: 0;
	}

	.terapokephilosophy-section-title-inner span {
		font-size: 17px;
		font-weight: 600;
		letter-spacing: 0.15em;
		line-height: 1.5;
		position: relative;
	}
	h3.terapokephilosophy-section-title-sub{font-size: 16px;}

	.terapokephilosophy-section-title-inner span::after {
		display: block;
		content: '';
		background: #6ABBB4;
		border-radius: 10px;
		width: 100%;
		height: 10px;
		position: absolute;
		left: 0;
		bottom: 0;
		opacity: 0.4;
		z-index: -1;
	}

	.terapokephilosophy-section-text {
		font-size: 13px;
		font-weight: 500;
		letter-spacing: 0.15em;
		line-height: 2.3;
	}

	.terapokephilosophy-section-text .text-point {
		font-size: 15px;
		font-weight: 900;
		color: #295C7C;
		line-height: 1.9;
	}

	.terapokephilosophy-section-text + .terapokephilosophy-section-text {
		margin-top: 30px;
	}

	.terapokephilosophy-section-flex{display: block;}
	.terapokephilosophy-section-flex-inner{width: 100%;}
	.terapokephilosophy-section-flex-inner img{display: block;margin: 20px auto 0;}
	.program-content .terapokephilosophy-section-text{min-height: auto;}

	.copainfeature-image img {
		width: 586px;
		max-width: unset;
		margin: 0 0 0;
	}


	/* flow ---------------------------------------*/

	.terapokeflow {
		padding-top: 100px;
		padding-bottom: 0;
	}

	.terapokeflow-section-block-head {
		display: none;
	}

	.terapokeflow-section-block-body {
		display: block;
		border-bottom: none;
		margin-bottom: 50px;
	}

	.terapokeflow-section-block-body-schedule {
		width: 100%;
		margin-bottom: 20px;
	}

	.terapokeflow-section-block-body-schedule-time {
		height: auto;
	}

	.terapokeflow-section-block-body-schedule-time-item {
		padding: 15px 10px;
		gap: 5px;
	}

	.terapokeflow-section-block-body-schedule-time-item span{
		font-size: 12px;
		letter-spacing: 0.15em;
		line-height: 1.5;
	}

	.terapokeflow-section-block-body-schedule-time-item img {
		width: 36%;
	}

	.terapokeflow-section-block-body-detail {
		width: 100%;
		padding: 0;
		display: block;
	}

	.terapokeflow-section-block-body-title {
		font-size: 13px;
		line-height: 2;
		letter-spacing: 0.15em;
		padding-left: 15px;
		position: relative;
	}

	.terapokeflow-section-block-body-title::before {	
		width: 5px;
		height: 100%;
	}

	.terapokeflow-section-block-body-title small {
		font-size: 12px;
	}

	.terapokeflow-section-block-body-text {
		font-size: 12px;
		line-height: 2.285;
		letter-spacing: 0.15em;
		margin-top: 5px;
		padding-left: 15px;
	}

	.terapokeflow-section-block-body-text + .terapokeflow-section-block-body-title {
		margin-top: 10px;
	}

	.terapokeflow-section-block-body-schedule-head {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
	}

	.terapokeflow-section-block-body-schedule-head-item {
		width: 33.333%;
		padding: 10px 10px;
		text-align: center;
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.15em;
		line-height: 1.5;
		color: #fff;
	}

	.terapokeflow-section-block-body-schedule-head-item-a {
		background: #58CBB9;
	}

	.terapokeflow-section-block-body-schedule-head-item-b {
		background: #80BA39;
		position: relative;
	}

	.terapokeflow-section-block-body-schedule-head-item-b::before {
		content: '';
		display: block;
		width: 2px;
		height: 100%;
		background: #fff;
		position: absolute;
		top: 0;
		left: -1px;
	}

	.terapokeflow-section-block-body-schedule-head-item-c {
		background: #BA3838;
		position: relative;
	}

	.terapokeflow-section-block-body-schedule-head-item-c::before {
		content: '';
		display: block;
		width: 2px;
		height: 100%;
		background: #fff;
		position: absolute;
		top: 0;
		left: -1px;
	}

	/* classroom ---------------------------------------*/

	.terapokeclassroom {
		padding-top: 136px;
		padding-bottom: 0;
	}

	.terapokeclassroom-section {
	}

	.terapokeclassroom-section-block {
		flex-direction: column;
		gap: 17px;
		margin-bottom: 130px;
	}

	.terapokeclassroom-section-block-map {
		width: 100%;
		height: 100%;
		aspect-ratio: 1/1;
	}

	.terapokeclassroom-section-block-detail {
		order: unset;
		padding-top: 0;
	}

	.terapokeclassroom-section-block-title {
		font-size: 17px;
		margin-bottom: 20px;
	}

	.terapokeclassroom-section-block-list {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-wrap: wrap;
		margin-bottom: 18px;
	}

	.terapokeclassroom-section-block-list dt {
		width: 108px;
		font-size: 13px;
		letter-spacing: 0.15em;
		line-height: 1.5;
	}

	.terapokeclassroom-section-block-list dd {
		font-size: 12px;
		letter-spacing: 0.15em;
		line-height: 1.5;
	}


	/* contact ---------------------------------------*/

	.terapokecontact {
		padding-top: 100px;
		padding-bottom: 0;
	}


	/* news ---------------------------------------*/

	.terapokehead {
		padding-top: 105px;
		padding-bottom: 78px;
	}

	.terapokehead-inner {
	}

	.terapokehead-title{
		gap: 10px;
		color: #222;
	}

	.terapokehead-title b{
		font-size: 23px;
		letter-spacing: 0.15em;
	}

	.terapokehead-title span{
		font-size: 11px;
		letter-spacing: 0.12em;
	}

	.terapokenews {
		padding-bottom: 100px;
	}

	.terapokenews-content {
		display: block;
	}

	.terapokenews-main {
	}

	.terapokenews-main-inner {
		margin-bottom: 25px;
	}

	.terapokenews-item {
		margin-bottom: 35px;
		padding-bottom: 18px;
		margin-left: 0;
	}

	.terapokenews-title {
		margin-bottom: 13px;
	}

	.terapokenews-title span {
		font-size: 14px;
		line-height: 1.8;
	}

	.terapokenews-info {
		margin-bottom: 17px;
	}

	.terapokenews-date {
		font-size: 10px;
	}

	.terapokenews-text {
		font-size: 11px;
		letter-spacing: 0.02em;
		line-height: 1.6;
		margin-bottom: 15px;
		-webkit-line-clamp: 2;
	}

	.terapokenews-more {
		font-size: 13px;
		gap: 10px;
	}

	.terapokenews-more:hover {
		opacity: 1;
	}

	.terapokenews-more i {
		width: 6px;
		height: 10px;
	}

	.terapokenews-pagination {
		padding-bottom: 30px;
		border-bottom: 1px solid #CCCCCC;
		margin-bottom: 40px;
		margin-top: 30px;
	}

	.terapokenews-pagination-prev,
	.terapokenews-pagination-next {
		width: 120px;
		max-width: calc(50% - 15px);
		font-size: 9px;
		line-height: 1.5;
		padding: 13px 20px 13px 20px;
	}

	.terapokenews-pagination-prev:hover,
	.terapokenews-pagination-next:hover {
		color: #000;
		background: #fff;
	}

	.terapokenews-pagination-prev {
		text-align: right;
	}

	.terapokenews-pagination-prev::before,
	.terapokenews-pagination-next::before {
		width: 6px;
		height: 10px;
	}

	.terapokenews-pagination-prev::before {
		left: 15px;
	}

	.terapokenews-pagination-next::before {
		right: 15px;
	}

	.terapokenews-pagination-prev:hover::before,
	.terapokenews-pagination-next:hover::before {
		background: #000;
	}

	.terapokenews-sidebar {
		width: 100%;
	}

	.terapokenews-sidebar-search {
		margin-bottom: 40px;
	}

	.terapokenews-sidebar-title {
		font-size: 18px;
		font-weight: 600;
		letter-spacing: 0.15em;
		line-height: 1.5;
		margin-bottom: 20px;
	}

	.search-form {
		display: block;
		width: 100%;
	}

	.search-input {
		width: 100%;
		flex:1;
		height: 32px;
		box-shadow: inset 1px 1px 2px rgba(0,0,0,0.16);
		border-radius: 5px;
		margin-bottom: 8px;
	}

	.search-button {
		background: #6ca2c4;
		color: #fff;
		height: 38px;
		line-height: 38px;
		border-radius: 6px;
		width: 100%;
		font-size: 13px;
		font-weight: 600;
		letter-spacing: 0.12em;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		gap: 5px;
	}

	
	.search-button i {
		display: block;
		background: url('../img/terapoke/news/icon_search.svg') no-repeat center center / 100%;
		width: 12px;
		height: 12px;
	}

	.terapokenews-sidebar-archive {
	}

	.terapokenews-sidebar-archive-list {
	}

	.terapokenews-sidebar-archive-item {
		margin-bottom: 20px;
	}

	.terapokenews-sidebar-archive-item a {
		font-size: 16px;
		font-weight: 500;
		letter-spacing: 0.15em;
		line-height: 1.5;
		color: #6CA2C4;
		display: inline-block;
		position: relative;
		padding-left: 30px;
		transition: all 0.3s ease;
	}

	.terapokenews-sidebar-archive-item a:hover {
		opacity: 0.7;
	}

	.terapokenews-sidebar-archive-item a::before {
		display: inline-block;
		content: '';
		background: url('../img/terapoke/news/icon_arrow.svg') no-repeat center center / 100%;
		width: 11px;
		height: 18px;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translate(0,-50%);
	}

	.archive-select {
		position: relative;
		margin-bottom: 5px;
	}

	.archive-select .form-select {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		outline: none;
		padding: 0 10px;
		border: 1px solid #DEDEDE;
		width: 100%;
		background: #fff;
		box-shadow: inset 1px 1px 2px rgba(0,0,0,0.16);
		border-radius: 5px;
		line-height: 1;
		height: 32px;
		font-size: 12px;
		letter-spacing: 0.1em;
	}

	.archive-select::after {
		display: inline-block;
		content: '';
		background: url('../img/terapoke/news/icon_select.svg') no-repeat center center; 
		background-size: 12px;
		width: 12px;
		height: 7px;
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translate(0,-50%);
	}

	
	.terapokenews-article {
		margin-left: 0;
	}

	.terapokenews-article-head {
		margin-bottom: 35px;
	}

	.terapokenews-article-head-title {
		margin-bottom: 7px;
	}

	.terapokenews-article-head-title span {
		font-size: 16px;
		letter-spacing: 0.15em;
		line-height: 2.3;
	}

	.terapokenews-article-head-info-category {
		width: auto;
		min-width: 100px;
		max-width: 100%;
		font-size: 10px;
	}

	.terapokenews-article-head-info-date {
		display: block;
		font-size: 10px;
	}

	.terapokenews-article-content p {
		font-size: 13px;
		line-height: 2.2;
		margin-bottom: 28px;
		letter-spacing: 0.02em;
	}

	.terapokenews-article-content ul,.terapokenews-article-content ol {
		margin-bottom: 28px;
	}

	.terapokenews-article-content ul li,.terapokenews-article-content ol li {
		font-size: 13px;
		line-height: 2.2;
	}

	.terapokenews-article-content ul li {
		padding-left: 18px;
	}

	.terapokenews-article-content ul li::before {
		width: 3px;
		height: 3px;
		top: 13px;
		left: 6px;
	}

	.terapokenews-article-content ol li {
		font-size: 17px;
		font-weight: 500;
		letter-spacing: 0.15em;
		line-height: 3;
		list-style: decimal inside;
	}
	
	.terapokenews-article-content figure {
		margin-bottom: 28px;
	}
	
	.terapokenews-article-content blockquote {
		margin: 0 0 28px 6px;
		padding-left: 16px;
	}
	


}