.typed-cursor {
  display: none;
}

/* .show_anim { opacity: 0; transition: 0.5s ease; }
.show_anim.visible { opacity: 1; } */

.head1 { display: flex; align-items: center; position: relative; }
.head1::after { position: absolute; content: ''; display: block; width: 100%; height: 1px; background-color: #000; left: 0; top: 0; bottom: 0; margin: auto; z-index: 0; }
.head1 span { display: block; font-size: 36px; font-weight: 600; background-color: #fff; position: relative; z-index: 1; }
.head1 small { font-size: 16px; display: inline-block; position: relative; z-index: 1; }
.head1 small span { font-size: 16px; display: block; padding: 2px 2rem 0; position: relative; z-index: 1; }

.type_anim span { opacity: 0; transition: 0.2s ease; }
.type_anim span.visible { opacity: 1; }

header .kv-area { width: 100%; }

.max1000 { margin: auto; width: 94%; max-width: 1000px; }

.kv h2 { padding: 2rem 0; font-size: 85px; font-size: clamp(16px, calc(7vw - 20px), 85px); font-weight: 600; line-height: 140%; }

.kv .row { max-width: 1100px; padding-top: 4rem; display: flex; justify-content: space-between; }
.kv .row .col { width: 49%; text-align: center; }
.kv .row .col h3 { font-size: 28px; color: #fff; border-radius: 50px; letter-spacing: 2px; overflow: hidden; position: relative; }
.kv .row .col h3::before { left: 0; top: 0; width: 0%; height: 100%; transition: 0.5s ease-out; content: ''; display: block; position: absolute; z-index: 0;  background: url(../img/philosophy/bg-2.png) no-repeat center center; background-size: cover; border-radius: 50px; }
.kv .row .col h3.show::before { width: 100%; }
.kv .row .col h3 span { position: relative; z-index: 1; }
.kv .row .col:first-child h3::before  { background-image: url(../img/philosophy/bg-1.png); }
.kv .row .col p { padding-top: 2rem; font-size: 29px; }
.kv .row .col p small,
.kv .row .col p span { font-weight: 600; line-height: 140%; } 

.kv .row .col p small { font-size: 23px; }

.mission { background-color: #f2f2f2; padding: 4rem 0; }
.mission dl { display: flex; border-top: 1px solid #BABABA; padding: 48px 0; }
.mission dl:first-child { border: none; }
.mission dl dt { width: 420px; font-size: 18px; }
.mission dl dt span { font-size: 36px; font-weight: 600; padding-right: 2rem; }
.mission dl dd { width: calc(100% - 420px); }
.mission dl dd .txt { font-size: 36px; font-weight: 600; }
.mission dl dd ul { display: flex; justify-content: space-between; flex-wrap: wrap; }
.mission dl dd ul li { margin-bottom: 14px; padding: 32px 16px; background-color: #fff; width: calc((100% - 14px) / 2); text-align: center; border-radius: 8px; 
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
}
.mission dl dd ul li img { width: 70%; height: auto; }
.mission dl dd ul li .ttl { font-size: 30px; font-weight: 600; }

.slogan { padding: 48px 0; }
.slogan .text-line-right { margin: 0; }
.slogan .graphic { padding: 4rem 0 2rem; text-align: center; }
.slogan .graphic img { width: 94%; max-width: 480px; height: auto; }
.slogan dl { display: flex; align-items: center; background-color: #f2f2f2; border-radius: 16px; margin-top: 2rem; }
.slogan dl dt { width: 220px; text-align: center; font-size: 50px; font-weight: 600; }
.slogan dl dd { width: calc(100% - 220px); padding: 32px 0; }
.slogan dl dd h4 { font-size: 30px; font-weight: 600; padding-bottom: 1rem; }
.slogan dl dd h4.indent { position: relative; margin-left: -12px; }
.slogan dl dd ul li { padding-left: 16px; position: relative; margin-top: 8px; }
.slogan dl dd ul li::before { width: 10px; height: 10px; background-color: #999999; border-radius: 50%; top: 8px; left: 0; position: absolute; display: block; content: ''; }

.corporate { padding: 32px 0 128px; }
.corporate .row { padding-top: 6rem; display: flex; align-items: flex-start; justify-content: space-between; }
.corporate .col { width: 60%; }
.corporate .col.graphic { width: 30%; text-align: center; }
.corporate .col.graphic img { width: 100%; height: auto; }
.corporate .row.whats .right { padding-top: 2rem; }
.corporate .row.whats .graphic img { width: 80%; }
.corporate .col h4 { font-size: 36px; font-weight: 600; }
.corporate .col h4 rt { font-size: 11px; letter-spacing: 0; font-weight: 400; }
.corporate .col .txt { padding-top: 2rem; line-height: 180%; }
.corporate .col ul { padding-top: 2rem; display: flex; justify-content: space-between; flex-wrap: wrap; }
.corporate .col ul li { width: 48%; margin-top: 30px; position: relative; padding-left: 20px; box-sizing: border-box; }
.corporate .col ul li::before { content: ''; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; background-color: #B2B2B2; border-radius: 2px; }
.corporate .col ul li .ttl { font-size: 20px; font-weight: 600; line-height: 120%; padding-bottom: 8px; }
.corporate .col ul li .txt { padding: 0; font-size: 15px; }

@media screen and (max-width: 1100px) {
	.mission dl dt { width: 36%; }
	.mission dl dd { width: 64%; }

	.mission dl dd .txt { font-size: clamp(20px, 7vw, 36px); }

	.head1 { display: block; }
	.head1::after { display: none; }
	.head1 span { line-height: 140%; }
	.head1 small { width: 100%; }
	.head1 small::after { content: ''; display: block; width: 100%; height: 1px; background-color: #000; position: absolute; top: 0; bottom: 0; left: 0; margin: auto; z-index: 0; }
	.head1 small span { padding-left: 0; padding-top: 0; display: inline-block; }
}

@media screen and (min-width: 769px) {
	.pc-none { display: none; }
}

@media screen and (max-width: 769px) {

	header { margin: auto; padding-bottom: 6rem; }
	.head1 span { font-size: 28px; word-break: keep-all; line-height: 120%; }

	.kv h2 { padding: 2rem 0 0;  font-size: 35px; font-size: clamp(16px, 10vw, 85px); }
	.kv .row { display: block; padding-top: 0; max-width: 520px; margin: auto; }
	.kv .row .col { width: 100%; padding-top: 3rem; }
	.kv .row .col h3 { font-size: 20px; padding: 2px 0; }
	.kv .row .col p { font-size: 20px; padding-top: 1rem; letter-spacing: 1px; }
	.kv .row .col p small { font-size: 16px; }

	.mission { padding-bottom: 0; }
	.mission dl { display: block; padding: 3rem 0; text-align: center; }
	.mission dl dt { padding-bottom: 2rem; width: 100%; font-size: 16px; }
	.mission dl dt span { display: block; padding: 0; font-size: 28px; }
	.mission dl dd { width: 100%; }
	.mission dl dd .txt { font-size: 22px; }

	.mission dl dd ul { max-width: 480px; margin: auto; }
	.mission dl dd ul li .ttl { padding-top: 1rem; font-size: 20px; }
	.mission dl dd ul li img { width: 80%; }

	.slogan .graphic img { width: 88%; }
	.slogan dl { display: block; box-sizing: border-box; padding: 2rem 6%; }
	.slogan dl dt { width: 100%; font-size: 42px; }
	.slogan dl dd { width: 100%; padding: 16px 0 0; }
	.slogan dl dd h4 { text-align: center; font-size: 24px; letter-spacing: -1px; }
	.slogan dl dd h4.indent { margin: 0; }

	.corporate { padding: 16px 0 64px; }
	.corporate .row { display: block; padding-top: 4rem; }
	.corporate .col { width: 100% !important; }
	.corporate .col.graphic img { width: 70%; }
	.corporate .row.whats .graphic img { width: 60%; }
	.corporate .col h4 { padding-top: 2rem; font-size: 28px; text-align: center; }
	.corporate .col ul li { padding-left: 16px; box-sizing: border-box; margin-top: 20px; }
	.corporate .col ul li .ttl { font-size: 18px; }
	.corporate .col ul li .txt { font-size: 13px; line-height: 140%; }
	.corporate .col ul li::before { width: 2px; }
	
}
