@charset "UTF-8";
/* CSS Document */

/********************************************************************

reset

*********************************************************************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}

ol, ul{
    list-style:none;
}

table{
    border-collapse: collapse; 
    border-spacing:0;
}


/****************************************

          Clearfix

*****************************************/
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.clearfix {
	display: inline-block;
}
/* clearfix for ie7 */
.clearfix {
	display: block;
}


/****************************************

          CSS3 MEMO

*****************************************/

テキストシャドウ {
	text-shadow: 1px 1px 3px #002336;
}

テキストシャドウ {
	text-shadow: 1px 1px 3px #002336;
}

ボックスシャドウ {
	-moz-box-shadow: 1px 1px 3px #002336;
	-webkit-box-shadow: 1px 1px 3px #002336;
	box-shadow: 1px 1px 3px #002336;
}

ボックスシャドウ内側 {
	-moz-box-shadow: inset 1px 1px 3px #002336;
	-webkit-box-shadow: inset 1px 1px 3px #002336;
	box-shadow: inset 1px 1px 3px #002336;
}

/****************************************

          General Setting

*****************************************/

html {
	height: 100%;
	font-size: 62.5%;
}

body {
	font-family: "GenJyuuGothicX";
	width: 100%;
	min-width: 32rem;
	height: 100%;
	color: #002336;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	font-size: 1.6rem;
	line-height: 180%;
}

img {
	vertical-align: bottom;
}

* {-webkit-box-sizing: border-box;
   -ms-box-sizing: border-box;
   -moz-box-sizing: border-box;
   -o-box-sizing: border-box;
   box-sizing: border-box;
}

span.marker {
	background: linear-gradient(rgba(255, 255, 255, 0) 50%, #fff100 60%);
	font-weight: bold;
}

span.pink {
	font-weight: bold;
	color: #00a0cf;
}

.bold {
	font-weight: bold;
}

.grecaptcha-badge { visibility: hidden; }

/******************************************************************************************************

SP

******************************************************************************************************/

@media screen and (max-width: 599px) {
	
	div#about,
	div#feature {
		padding-top: 10vw;
		margin-top: -10vw;
		display: block;
	}
	
	body {
		font-size: 14px;
	}
	
	br.br-pc {
		display: none;
	}
	
	div.header-nav {
		width: 100%;
		height: 7rem;
		overflow: hidden;
		display: flex;
		align-items: center;
		justify-content: space-between;0
		position: relative;
	}
	
	div.header-nav div.logo-area img.logo {
		position: fixed;
		top: 2rem;
		left: 1rem;
		width: auto;
		height: 3rem;
		z-index : 999999;
	}
	
	div.header-nav h1 p.text {
		font-size: 1.1rem;
		color: #b3b3b3;
		font-weight: bold;
		float: left;
		margin-left: 2rem;
		line-height: 150%;
		display: none;
	}
	
	/*　ハンバーガーボタン　*/

	.hamburger {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 1rem;
		top   : 1rem;
		width : 5rem;
		height: 5rem;
		cursor: pointer;
		text-align: center;
		background-color: #f2fafc;
		border-radius: 2.5rem;
	}

	.hamburger span {
	  display : block;
	  position: absolute;
	  width: 2.4rem;
	  height: 0.2rem;
	  left: 1.3rem;
	  background : #00a0cf;
	  transition: 0.3s ease-in-out;
	}

	.hamburger span:nth-child(1) {
	  top: 1.7rem;
	}

	.hamburger span:nth-child(2) {
	  top: 2.4rem;
	}

	.hamburger span:nth-child(3) {
	  top: 3.1rem;
	}

	/* ナビが開いてる時 */

	.hamburger.active {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 0;
		top   : 1rem;
		width : 6rem;
		height: 6rem;
		cursor: pointer;
		text-align: center;
		background: none;
	}

	.hamburger.active span:nth-child(1) {
		top : 2.5rem;
		left: 1.3rem;
		background: #00a0cf;
		transform: rotate(-45deg);
	}

	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top: 2.5rem;
		background: #00a0cf;
		transform: rotate(45deg);
	}

	div.header-nav nav {
		position: fixed;
		z-index : 9999;
		top  : 0;
		left : 0;
		transform: translateX(100%);
		transition: all 0.6s;
		width: 100%;
		height: 100%;
		background : #f2fafc;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	div.header-nav nav ul.gnav li.default a {
		text-decoration :none;
	}

	div.header-nav nav ul.gnav li.default a p.ja {
		font-size: 1.4rem;
		font-weight: bold;
		color: #002336;
		line-height: 300%;
		text-align: center;
	}

	div.header-nav nav ul.gnav li.contact {
		margin-left: 1rem;
		padding: 0;
		font-weight: bold;
	}
	
	div.header-nav nav ul.gnav li.contact a {
		font-size: 1.4rem;
		font-weight: bold;
		color: #fff;
		line-height: 5rem;
		display: inline-block;
		margin-top: 1rem;
		padding: 0 2rem 0 4.6rem;
		border-radius: 2.5rem;
		white-space: nowrap;
		background: url("../img/icon-contact.png") no-repeat left 2rem center /2rem auto #00a0cf;
		transition: 0.3s;
		text-decoration: none;
	}

	/* このクラスを、jQueryで付与・削除する */
	div.header-nav nav.active {
	  transform: translateX(0%);
	}
	
	div.main-visual {
		width: 100%;
		height: 72vw;
		background-image: url("../img/main-visual.jpg") ;
		background-repeat: no-repeat;
		background-size: cover;
		position: relative;
	}
	
	div.main-visual h1 {
		width: 90%;
		min-width: 36rem;
		position: absolute;
		left: 5%;
		bottom: 5rem;
		font-size: 5vw;
		line-height: 150%;
		color: #fff;
		font-weight: bold;
	}
	
	div.main-visual a div.top-button {
		position: absolute;
		left: 50%;
		bottom: -9rem;
		width: 60%;
		min-width: 32rem;
		margin-left: -16rem;
		background : #00a0cf;
		box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.2);
		border-radius: 1.5rem;
		padding: 1.2rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		transition: 0.3s;
	}
	
	div.main-visual a div.top-button img {
		width: 9rem;
		height: auto;
		border-radius: 0.5rem;
	}
	
	div.main-visual a:hover div.top-button img {
		opacity: 1;
	}
	
	div.main-visual a div.top-button div.txt-area p.title {
		font-size: 1.4rem;
		line-height: 150%;
		color: #fff;
		font-weight: bold;
	}
	
	div.main-visual a div.top-button div.txt-area p.txt {
		font-size: 1.1rem;
		line-height: 150%;
		margin-top: 1rem;
		color: #fff;
		font-weight: bold;
	}
	
	div.arrow-right {
		display: inline-block;
		width: 1.2rem;
		height: 1.2rem;
		margin: 0;
		border-top: 0.3rem solid #fff;
		border-right: 0.3rem solid #fff;
		transform: rotate(45deg);
	}
	
/******************************

私たちについて

******************************/		

	section {
		width: 100%;
		padding: 10vw 0;
	}
	
	section.blue {
		background: #f2fafc;
	}
	
	section h2.title-jp {
		font-size: 2.4rem;
		color: #002336;
		font-weight: bold;
		text-align: center;
		margin-bottom: 0.5rem;
		line-height: 150%;
	}
	
	section h2.title-en {
		font-size: 1.1rem;
		color: #00a0cf;
		font-weight: bold;
		text-align: center;
		margin-bottom: 3rem;
		line-height: 150%;
	}
	
	section.about {
		padding-top: 12rem;
	}
	
	section.about div.about-wrap {
		width: 100%;
	}
	
	section.about div.about-wrap.reverse {
		flex-direction: row-reverse;
	}
	
	p.main-txt {
		font-size: 1.4rem;
		line-height: 180%;
		color: #002336;
		margin-top: 4vw;
	}
	
	section.about div.about-wrap div.txt-area {
		width: 94vw;
		max-width: 48rem;
		margin: 0 auto;
	}
	
	section.about div.about-wrap div.img-area {
		width: 90vw;
		height: 60vw;
		background: url("../img/about-img01.jpg") no-repeat center center / cover ;
		border-radius: 3vw 0 0 3vw;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 0 10vw 10vw;
	}
	
/******************************

選ばれる3つの理由

******************************/	
	
	section.feature {
		position: relative;
		padding: 65vw 0 10vw 0;
	}
	
	section.feature div.img-area {
		position: absolute;
		width: 70vw;
		height: 50vw;
		max-height: 600px;
		top: 0;
		left: 0;
		background: url("../img/purpose-img01.jpg") no-repeat left top / cover ;
		border-radius: 0 3vw 3vw 0 ;
		z-index: -1;
	}
	
	ul.feature {
		width: 94vw;
		max-width: 48rem;
		margin: 3rem auto 0 auto;
		z-index: 1;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 8vw;
	}
	
	ul.feature li {
		width: 100%;
	}
	
	ul.feature li h3.title {
		font-size: 2rem;
		color: #002336;
		font-weight: bold;
		line-height: 150%;
		text-align: center;
	}
	
	ul.feature li p.number {
		font-size: 2.6rem;
		font-weight: bold;
		line-height: 200%;
		color: #00a0cf;
		margin-top: 1rem;
		text-align: center;
	}
	
	ul.feature li div.icon-area {
		width: 100%;
		height: 60vw;
		max-height: 32rem;
		border-radius: 3vw;
		background: #f2fafc;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	ul.feature li div.icon-area img.no01 {
		width: auto;
		max-height: 25rem;
		height: 50vw;
	}
	
	ul.feature li div.icon-area img.no02 {
		width: auto;
		height: 52vw;
		max-height: 26rem;
	}
	
/******************************

サービス内容

******************************/
	
	section.service {
		background: #014961 url("../img/service-bg.png") repeat-y left top / cover;
	}
	
	section.service h2.title-jp,
	section.service h2.title-en {
		color: #fff;
	}
	
	section div.inner {
		width: 94vw;
		margin: 0 auto;
	}
	
	ul.service {
		width: 100%;
		max-width: 48rem;
		margin: 0 auto;
	}
	
	ul.service li {
		width: 100%;
		background: #fff;
		border-radius: 3vw;
		filter: drop-shadow(0px 0px 20px rgba(0,0,0,.3));
		-webkit-filter: drop-shadow(0px 3px 20px rgba(0,0,0,.3));
	}
	
	ul.service li:first-child {
		margin-bottom: 8vw;
	}
	
	ul.service li h3 {
		font-size: 2rem;
		font-weight: bold;
		color: #00a0cf;
		margin-bottom: 6vw;
		text-align: center;
	}
	
	ul.service li img {
		width: 100%;
		height: auto;
		border-radius: 3vw 3vw 0 0;
	}
	
	ul.service li div.txt-area {
		width: 100%;
		padding: 8vw 4vw 4vw 4vw;
	}
	
	span.large {
		font-size: 1.8rem;
		font-weight: bold;
	}
	
	a.service-button {
		width: 100%;
		height: 6rem;
		font-size: 1.6rem;
		font-weight: bold;
		color: #fff;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 2vw;
		margin-top: 3rem;
		background: #00a0cf;
	}
	
/******************************

会社概要

******************************/
	
	table.company {
		width: 100%;
		border-top: 0.1rem solid #ddd;
		text-align: left;
	}
	
	table.company th {
		font-size: 1.4rem;
		color: #002336;
		font-weight: bold;
		padding: 1.5rem 0 0 1.5rem;
		line-height: 200%;
		width: 100%;
		display: block;
	}
	
	table.company td {
		font-size: 1.4rem;
		color: #002336;
		padding: 0.5rem 0 1.5rem 1.5rem;
		line-height: 200%;
		width: 100%;
		border-bottom: 0.1rem solid #ddd;
		display: block;
	}
	
	div.gmap {
		width: 100%;
		height: 30rem;
	}
	
/******************************

お問い合わせ

******************************/
	
	table.contact-form {
		width: 100%;
	}

	table.contact-form th,
	table.contact-form td {
		vertical-align: middle;
		font-size: 1.4rem;
		overflow: hidden;
		background: #fff;
		display: block;
	}

	table.contact-form th {
		font-weight: bold;
		text-align: left;
		width: 100%;
		padding: 1.5rem  0 0 1.5rem;
		line-height: 240%;
	}
	
	table.contact-form th span {
		font-weight: bold;
	}

	table.contact-form td {
		width: 100%;
		text-align: left;
		padding: 1rem 1.5rem 1.5rem 1.5rem;
		line-height: 240%;
		border-bottom: 1rem solid #f2fafc;
	}

	.formbtn {
		padding: 1.5rem 5rem;
		background: #009fd1;
		font-size: 2.4rem;
		color: #fff;
		cursor: pointer;
		outline: none;
		border-radius: 4rem;
		border: none;
		margin: 3rem auto 0 auto;
		display: block;
		-webkit-appearance: none;
		font-family: "GenJyuuGothicX", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
		font-weight: bold;
	}

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {
		width: 60%;
		border: 0.1rem solid #ccc;
		padding: 0.5rem;
		font-size: 1.4rem;
		font-family: "GenJyuuGothicX", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	input[type="email"],
	textarea {
		width: 100%;
	}

	textarea {
		height: 15rem;
		vertical-align: bottom;
	}

	input[type="select"],
	select {
		font-family: "GenJyuuGothicX", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	.must {
		display: inline-block;
		background: red;
		padding: 0.15rem 0.8rem;
		font-size: 1.2rem;
		font-weight: bold;
		color: #fff;
		margin: 0 0 0 1rem;
		line-height: 200%;
	}

	table.contact-form input,
	table.contact-form select,
	table.contact-form textarea {
		padding: 0.8rem;
		border: 0.1rem solid #ddd;
		border-radius: 0;
	}

	table.contact-form input:focus,
	table.contact-form select:focus,
	table.contact-form textarea:focus {
		border: 0.1rem solid #009fd1;
		outline: 0;
	}
	
	.wpcf7 form.sent .wpcf7-response-output {/* 送信ボタン下完了時 */
		font-size: 1.2rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #333!important;
		text-align: center!important;
	}
	.wpcf7 form.invalid .wpcf7-response-output,
	.wpcf7 form.unaccepted .wpcf7-response-output {/* 送信ボタン下未入力警告 */
		border: none!important;
		background-color: red;
		font-size: 1.2rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #fff!important;
		text-align: center!important;
	}
	
	p.privacy {
		font-size: 1.2rem;
		text-align: center;
		line-height: 180%;
		margin-top: 3rem;
		color: #666;
	}
	
	p.privacy a {
		color: #999;
		text-decoration: underline;
	}
	
/******************************

フッター

******************************/
	
	footer {
		background: #014961;
	}
	
	footer div.inner {
		width: 100%;
		margin: 0 auto;
		padding: 6vw 0;
		text-align: center;
	}
	
	footer p {
		font-size: 1.2rem;
		color: #fff;
	}
	
	footer p a {
		width: fit-content;
		color: #fff;
		text-decoration: none;
		transition: 0.3s;
		display: block;
		margin: 0 auto 4vw auto;
	}
	
/******************************

下層共通

******************************/
	
	header.lower {
		height: auto;
		min-height: auto;
	}
	
	div.main-visual.lower {
		width: 100%;
		height: 40vw;
		background: none;
		border-radius: 0;
		border-top: 1px solid #eee;
	}
	
	div.main-visual.lower h1 {
		text-align: center;
		font-size: 6vw;
		line-height: 150%;
		font-weight: bold;
		color: #00a0cf;
		left: 0;
		right: 0;
		bottom: 0;
		top: 0;
		margin: auto;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	p.breadcrumbs {
		font-size: 1.2rem;
		line-height: 150%;
		position: absolute;
		left: 1rem;
		top: 1rem;
		z-index: 1;
	}
	
	p.breadcrumbs a {
		color: #999;
	}
	
/******************************

AI講師

******************************/
	
	section.top {
		padding: 0 0 10vw 0;
	}
	
	ul.strength {
		display: grid;
		grid-template-columns: 1fr;
		gap: 6vw;
		width: 94vw;
		max-width: 48rem;
		margin: 0 auto;
	}
	
	ul.strength li {
		position: relative;
	}
	
	ul.strength li img {
		width: 100%;
		height: auto;
		border-radius: 3vw;
		
	}
	
	ul.strength li h3 {
		position: absolute;
		left: 0;
		bottom: 0;
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 150%;
		border-radius: 0 0 3vw 3vw;
		text-align: center;
		z-index: 1;
		color: #fff;
		width: 100%;
		padding: 6rem 0 2rem 0;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
	}
	
	ul.strength li div.number-triangle {
		width: 24vw;
		height: 24vw;
		position: absolute;
		left: 0;
		top: 0;
		font-size: 6vw;
		font-weight: bold;
		line-height: 1;
		border-radius: 3vw 0 0 0;
		z-index: 1;
		color: #fff;
		padding: 3.5vw 0 0 3.5vw;
	}
	
	ul.strength li div.number-triangle.no01 {
		background-image: linear-gradient(135deg, #002336 16vw, transparent 0);
	}
	
	ul.strength li div.number-triangle.no02 {
		background-image: linear-gradient(135deg, #014961 16vw, transparent 0);
	}
	
	ul.strength li div.number-triangle.no03 {
		background-image: linear-gradient(135deg, #007598 16vw, transparent 0);
	}
	
	ul.strength li div.number-triangle.no04 {
		background-image: linear-gradient(135deg, #009fd1 16vw, transparent 0);
	}
	
	ul.voice {
		width: 94vw;
		max-width: 48rem;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 10vw;
		margin: 0 auto;
	}
	
	ul.voice li.wrapper {
		width: 100%;
		border-radius: 3vw;
	}
	
	ul.voice li.wrapper h3 {
		height: 15vw;
		font-size: 1.8rem;
		font-weight: bold;
		color: #fff;
		line-height: 12vw;
		text-align: center;
		border-radius: 3vw 3vw 0 0;
	}
	
	ul.voice li.wrapper h3.individual {
		background: #00a0cf;
	}
	
	ul.voice li.wrapper h3.company {
		background: #007598;
	}
	
	ul.voice li.wrapper ul.item-wrapper {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		gap: 10vw;
		padding: 10vw 6vw;
		border-radius: 3vw;
		background: #fff;
		margin-top: -3vw;
	}
	
	ul.voice li.wrapper ul.item-wrapper.individual {
		border-left: 3px solid #00a0cf;
		border-right: 3px solid #00a0cf;
		border-bottom: 3px solid #00a0cf;
	}
	
	ul.voice li.wrapper ul.item-wrapper.company {
		border-left: 3px solid #007598;
		border-right: 3px solid #007598;
		border-bottom: 3px solid #007598;
	}
	
	ul.voice li.wrapper ul.item-wrapper li.item img {
		width: auto;
		height: 15rem;
		display: block;
		margin: 0 auto;
	}
	
	ul.voice li.wrapper ul.item-wrapper li.item h4 {
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 150%;
		text-align: center;
		margin-top: 2rem;
	}
	
	ul.recommend {
		width: 94vw;
		max-width: 48rem;
		display: grid;
		grid-template-columns: 1fr;
		gap: 6vw;
		margin: 0 auto;
	}
	
	ul.recommend li.recommend-wrapper {
		background: #fff;
		border-radius: 3vw;
		padding: 6vw;
	}
	
	ul.recommend li.recommend-wrapper h3 {
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 1;
		display: flex;
		align-items: center;
	}
	
	ul.recommend li.recommend-wrapper h3 img {
		width: auto;
		height: 2.4rem;
		margin-right: 1rem;
	}
	
	ul.default {
		margin-top: 6vw;
		padding-left: 2rem;
		list-style-type: disc;
	}
	
	ul.default li {
		font-size: 1.4rem;
		line-height: 180%;
		margin-top: 1rem;
	}
	
	ul.default.privacy li {
		margin-top: 2rem;
	}
	
	h2.title-jp.small {
		font-size: 2.4rem;
		margin-bottom: 6vw;
	}
	
	section.profile div.inner {
		width: 94vw;
		margin: 0 auto;
	}
	
	section.profile div.inner div.txt-area {
		width: 100%;
	}
	
	section.profile div.inner img.photo {
		width: 80%;
		max-width: 36rem;
		height: auto;
		border-radius: 50%;
		display: block;
		margin: 0 auto 2rem auto;
	}
	
	p.job {
		font-size: 1.2rem;
		font-weight: bold;
		color: #00a0cf;
		text-align: center;
	}
	
	p.profile-name {
		font-size: 2rem;
		font-weight: bold;
		line-height: 150%;
		text-align: center;
		margin-bottom: 3rem;
	}
	
	div.profile-contact {
		width: 100%;
		margin-top: 3rem;
		display: flex;
		align-items: center;
	}
	
	div.profile-contact div {
		margin-right: 2rem;
	}
	
	div.profile-contact img {
		width: 10rem;
		height: auto;
	}
	
	section.privacy-policy div.inner {
		width: 94vw;
		margin: 0 auto;
	}
	
}

/******************************************************************************************************

SP補足

******************************************************************************************************/

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



}

/******************************************************************************************************

タブレット

******************************************************************************************************/

@media screen and (min-width:600px) and ( max-width:959px) {
	
	div#about,
	div#feature {
		padding-top: 8vw;
		margin-top: -8vw;
		display: block;
	}
	
	body {
		font-size: 1.4rem;
	}
	
	.pc {
		display: none;
	}
	
	.ta {
		display: block;
	}
	
	.sp {
		display: none;
	}
	
	div.header-nav {
		width: 100%;
		height: 9rem;
		overflow: hidden;
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: relative;
	}
	
	div.header-nav div.logo-area img.logo {
		position: fixed;
		width: auto;
		height: 4rem;
		top: 2.5rem;
		left: 2rem;
		z-index : 999999;
	}
	
	/*　ハンバーガーボタン　*/

	.hamburger {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 2rem;
		top   : 15;
		width : 6rem;
		height: 6rem;
		cursor: pointer;
		text-align: center;
		background-color: #f2fafc;
		border-radius: 3rem;
	}

	.hamburger span {
	  display : block;
	  position: absolute;
	  width: 2.4rem;
	  height: 0.2rem;
	  left: 1.8rem;
	  background : #00a0cf;
	  transition: 0.3s ease-in-out;
	}

	.hamburger span:nth-child(1) {
	  top: 2.1rem;
	}

	.hamburger span:nth-child(2) {
	  top: 2.9rem;
	}

	.hamburger span:nth-child(3) {
	  top: 3.7rem;
	}

	/* ナビが開いてる時 */

	.hamburger.active {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 2rem;
		top   : 1.5rem;
		width : 6rem;
		height: 6rem;
		cursor: pointer;
		text-align: center;
		background: none;
	}

	.hamburger.active span:nth-child(1) {
		top : 3rem;
		left: 1.8rem;
		background: #00a0cf;
		transform: rotate(-45deg);
	}

	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top: 3rem;
		background: #00a0cf;
		transform: rotate(45deg);
	}

	div.header-nav nav {
		position: fixed;
		z-index : 9999;
		top  : 0;
		left : 0;
		transform: translateX(100%);
		transition: all 0.6s;
		width: 100%;
		height: 100%;
		background : #f2fafc;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	div.header-nav nav ul.gnav li.default a {
		text-decoration :none;
	}

	div.header-nav nav ul.gnav li.default a p.ja {
		font-size: 1.6rem;
		font-weight: bold;
		color: #002336;
		line-height: 300%;
		text-align: center;
	}

	div.header-nav nav ul.gnav li.contact {
		margin-left: 1rem;
		padding: 0;
		font-weight: bold;
	}
	
	div.header-nav nav ul.gnav li.contact a {
		font-size: 1.6rem;
		font-weight: bold;
		color: #fff;
		line-height: 5rem;
		display: inline-block;
		margin-top: 1.5rem;
		padding: 0 3rem 0 6rem;
		border-radius: 2.5rem;
		white-space: nowrap;
		background: url("../img/icon-contact.png") no-repeat left 3rem center /2.4rem auto #00a0cf;
		transition: 0.3s;
		text-decoration: none;
	}

	/* このクラスを、jQueryで付与・削除する */
	div.header-nav nav.active {
	  transform: translateX(0%);
	}
	
	div.main-visual {
		width: 100%;
		height: 60vw;
		background-image: url("../img/main-visual.jpg");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		position: relative;
	}
	
	div.main-visual h1 {
		position: absolute;
		left: 5%;
		bottom: 6rem;
		font-size: 4vw;
		line-height: 150%;
		color: #fff;
		font-weight: bold;
	}
	
	div.main-visual a div.top-button {
		position: absolute;
		left: 50%;
		bottom: -9rem;
		width: 36rem;
		height: 13rem;
		margin-left: -18rem;
		background : #00a0cf;
		box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.2);
		border-radius: 1.5rem;
		padding: 1.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		transition: 0.3s;
	}
	
	div.main-visual a div.top-button img {
		width: 10rem;
		height: auto;
		margin-right: 1.5rem;
		border-radius: 1rem;
	}
	
	div.main-visual a:hover div.top-button img {
		opacity: 1;
	}
	
	div.main-visual a div.top-button div.txt-area p.title {
		font-size: 1.4rem;
		line-height: 150%;
		color: #fff;
		font-weight: bold;
	}
	
	div.main-visual a div.top-button div.txt-area p.txt {
		font-size: 1.2rem;
		line-height: 150%;
		margin-top: 1rem;
		color: #fff;
		font-weight: bold;
	}
	
	div.arrow-right {
		display: inline-block;
		width: 1.2rem;
		height: 1.2rem;
		margin: 0 1rem;
		border-top: 0.3rem solid #fff;
		border-right: 0.3rem solid #fff;
		transform: rotate(45deg);
	}
	
/******************************

私たちについて

******************************/		

	section {
		width: 100%;
		padding: 8vw 0;
	}
	
	section.blue {
		background: #f2fafc;
	}
	
	section h2.title-jp {
		font-size: 2.8rem;
		color: #002336;
		font-weight: bold;
		text-align: center;
		margin-bottom: 0.5rem;
		line-height: 150%;
	}
	
	section h2.title-en {
		font-size: 1.1rem;
		color: #00a0cf;
		font-weight: bold;
		text-align: center;
		margin-bottom: 4rem;
		line-height: 150%;
	}
	
	section.about {
		padding-top: 14rem;
	}
	
	section.about div.about-wrap {
		width: 100%;
	}
	
	section.about div.about-wrap.reverse {
		flex-direction: row-reverse;
	}
	
	p.main-txt {
		font-size: 1.4rem;
		line-height: 180%;
		color: #002336;
		margin-top: 2rem;
	}
	
	section.about div.about-wrap div.txt-area {
		width: 48rem;
		margin: 0 auto;
	}
	
	section.about div.about-wrap div.img-area {
		width: 90%;
		height: 55vw;
		background: url("../img/about-img01.jpg") no-repeat center center / cover ;
		border-radius: 2rem 0 0 2rem;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 0 4rem 10%;
	}
	
/******************************

選ばれる3つの理由

******************************/	
	
	section.feature {
		position: relative;
	}
	
	section.feature div.img-area {
		position: absolute;
		width: 26%;
		max-width: 500px;
		height: 32vw;
		max-height: 600px;
		top: 0;
		left: 0;
		background: url("../img/purpose-img01.jpg") no-repeat left bottom / cover ;
		border-radius: 0 2rem 2rem 0 ;
		z-index: -1;
	}
	
	ul.feature {
		width: 48rem;
		margin: 4rem auto 0 auto;
		z-index: 1;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 8vw;
	}
	
	ul.feature li {
		width: 100%;
	}
	
	ul.feature li h3.title {
		font-size: 2rem;
		color: #002336;
		font-weight: bold;
		line-height: 150%;
		text-align: center;
	}
	
	ul.feature li p.number {
		font-size: 2.6rem;
		font-weight: bold;
		line-height: 200%;
		color: #00a0cf;
		margin-top: 1rem;
		text-align: center;
	}
	
	ul.feature li div.icon-area {
		width: 100%;
		height: 32rem;
		border-radius: 2rem;
		background: #f2fafc;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	ul.feature li div.icon-area img.no01 {
		width: auto;
		height: 25rem;
	}
	
	ul.feature li div.icon-area img.no02 {
		width: auto;
		height: 26rem;
	}
	
/******************************

サービス内容

******************************/
	
	section.service {
		background: #014961 url("../img/service-bg.png") repeat-y left top / cover;
	}
	
	section.service h2.title-jp,
	section.service h2.title-en {
		color: #fff;
	}
	
	section div.inner {
		width: 100%;
		margin: 0 auto;
	}
	
	ul.service {
		width: 48rem;
		margin: 0 auto;
	}
	
	ul.service li {
		width: 100%;
		background: #fff;
		border-radius: 2rem;
		filter: drop-shadow(0px 0px 20px rgba(0,0,0,.3));
		-webkit-filter: drop-shadow(0px 3px 20px rgba(0,0,0,.3));
	}
	
	ul.service li:first-child {
		margin-bottom: 8vw;
	}
	
	ul.service li h3 {
		font-size: 2.2rem;
		font-weight: bold;
		color: #00a0cf;
		margin-bottom: 3rem;
		text-align: center;
	}
	
	ul.service li img {
		width: 100%;
		height: auto;
		border-radius: 2rem 2rem 0 0;
	}
	
	ul.service li div.txt-area {
		width: 100%;
		padding: 4rem 3rem 3rem 3rem;
	}
	
	span.large {
		font-size: 1.8rem;
		font-weight: bold;
	}
	
	a.service-button {
		width: 100%;
		height: 6rem;
		font-size: 1.8rem;
		font-weight: bold;
		color: #fff;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 1rem;
		margin-top: 3rem;
		background: #00a0cf;
	}
	
/******************************

会社概要

******************************/
	
	section div.inner.narrow {
		width: 100%;
		max-width: 60rem;
		margin: 0 auto;
		padding: 0 2rem;
	}
	
	table.company {
		width: 100%;
		border-top: 0.1rem solid #ddd;
		text-align: left;
	}
	
	table.company th {
		font-size: 1.4rem;
		color: #002336;
		font-weight: bold;
		padding: 2rem 0 0 2rem;
		line-height: 240%;
		width: 100%;
		display: block;
	}
	
	table.company td {
		font-size: 1.4rem;
		color: #002336;
		padding: 1rem 0 2rem 2rem;
		line-height: 240%;
		width: 100%;
		border-bottom: 0.1rem solid #ddd;
		display: block;
	}
	
	div.gmap {
		width: 100%;
		height: 40rem;
	}
	
/******************************

お問い合わせ

******************************/
	
	table.contact-form {
		width: 100%;
	}

	table.contact-form th,
	table.contact-form td {
		vertical-align: middle;
		font-size: 1.4rem;
		overflow: hidden;
		background: #fff;
		display: block;
	}

	table.contact-form th {
		font-weight: bold;
		text-align: left;
		width: 100%;
		padding: 2rem 0 0 2rem;
		line-height: 240%;
	}
	
	table.contact-form th span {
		font-weight: bold;
	}

	table.contact-form td {
		width: 100%;
		text-align: left;
		padding: 1rem 2rem 2rem 2rem;
		line-height: 240%;
		border-bottom: 1rem solid #f2fafc;
	}

	.formbtn {
		padding: 1.5rem 5rem;
		background: #009fd1;
		font-size: 2.4rem;
		color: #fff;
		cursor: pointer;
		outline: none;
		border-radius: 4rem;
		border: none;
		margin: 3rem auto 0 auto;
		display: block;
		-webkit-appearance: none;
		font-family: "GenJyuuGothicX", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
		font-weight: bold;
		transition: 0.3s;
	}

	.formbtn:hover {
		opacity: 0.7;
	}

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {
		width: 60%;
		border: 0.1rem solid #ccc;
		padding: 0.5rem;
		font-size: 1.4rem;
		font-family: "GenJyuuGothicX", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	input[type="email"],
	textarea {
		width: 100%;
	}

	textarea {
		height: 15rem;
		vertical-align: bottom;
	}

	.must {
		display: inline-block;
		background: red;
		padding: 0.15rem 0.8rem;
		font-size: 1.2rem;
		font-weight: bold;
		color: #fff;
		margin: 0 0 0 1rem;
		line-height: 200%;
	}

	table.contact-form input,
	table.contact-form select,
	table.contact-form textarea {
		padding: 0.8rem;
		border: 0.1rem solid #ddd;
		border-radius: 0;
	}

	table.contact-form input:focus,
	table.contact-form select:focus,
	table.contact-form textarea:focus {
		border: 0.1rem solid #009fd1;
		outline: 0;
	}
	
	.wpcf7 form.sent .wpcf7-response-output {/* 送信ボタン下完了時 */
		font-size: 1.4rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #333!important;
		text-align: center!important;
	}
	.wpcf7 form.invalid .wpcf7-response-output,
	.wpcf7 form.unaccepted .wpcf7-response-output {/* 送信ボタン下未入力警告 */
		border: none!important;
		background-color: red;
		font-size: 1.4rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #fff!important;
		text-align: center!important;
	}
	
	p.privacy {
		font-size: 1.4rem;
		text-align: center;
		line-height: 180%;
		margin-top: 3rem;
		color: #666;
	}
	
	p.privacy a {
		color: #999;
		text-decoration: underline;
	}
	
/******************************

フッター

******************************/
	
	footer {
		background: #014961;
	}
	
	footer div.inner {
		width: 100%;
		height: 6rem;
		margin: 0 auto;
		padding: 0 2rem;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	footer p {
		font-size: 1.2rem;
		color: #fff;
	}
	
	footer p a {
		color: #fff;
		text-decoration: none;
	}
	
/******************************

下層共通

******************************/
	
	header.lower {
		height: auto;
		min-height: auto;
	}
	
	div.main-visual.lower {
		width: 100%;
		height: 30vw;
		background: none;
		border-radius: 0;
		border-top: 1px solid #eee;
	}
	
	div.main-visual.lower h1 {
		text-align: center;
		font-size: 4.8vw;
		line-height: 150%;
		font-weight: bold;
		color: #00a0cf;
		left: 0;
		right: 0;
		bottom: 0;
		top: 0;
		margin: auto;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	p.breadcrumbs {
		font-size: 1.4rem;
		line-height: 150%;
		position: absolute;
		left: 2rem;
		top: 1rem;
		z-index: 1;
	}
	
	p.breadcrumbs a {
		color: #999;
	}
	
/******************************

AI講師

******************************/
	
	section.top {
		padding: 0 0 8vw 0;
	}
	
	ul.strength {
		display: grid;
		grid-template-columns: 1fr;
		gap: 6vw;
		width: 48rem;
		margin: 0 auto;
	}
	
	ul.strength li {
		position: relative;
	}
	
	ul.strength li img {
		width: 100%;
		height: auto;
		border-radius: 2rem;
		
	}
	
	ul.strength li h3 {
		position: absolute;
		left: 0;
		bottom: 0;
		font-size: 2rem;
		font-weight: bold;
		line-height: 150%;
		border-radius: 0 0 2rem 2rem;
		text-align: center;
		z-index: 1;
		color: #fff;
		width: 100%;
		padding: 6rem 0 2rem 0;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
	}
	
	ul.strength li div.number-triangle {
		width: 12rem;
		height: 12rem;
		position: absolute;
		left: 0;
		top: 0;
		font-size: 2.6rem;
		font-weight: bold;
		line-height: 1;
		border-radius: 2rem 0 0 0;
		z-index: 1;
		color: #fff;
		padding: 2rem 0 0 2rem;
	}
	
	ul.strength li div.number-triangle.no01 {
		background-image: linear-gradient(135deg, #002336 8rem, transparent 0);
	}
	
	ul.strength li div.number-triangle.no02 {
		background-image: linear-gradient(135deg, #014961 8rem, transparent 0);
	}
	
	ul.strength li div.number-triangle.no03 {
		background-image: linear-gradient(135deg, #007598 8rem, transparent 0);
	}
	
	ul.strength li div.number-triangle.no04 {
		background-image: linear-gradient(135deg, #009fd1 8rem, transparent 0);
	}
	
	ul.voice {
		width: 48rem;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 6rem;
		margin: 0 auto;
	}
	
	ul.voice li.wrapper {
		width: 100%;
		border-radius: 2rem;
	}
	
	ul.voice li.wrapper h3 {
		height: 8rem;
		font-size: 2rem;
		font-weight: bold;
		color: #fff;
		line-height: 6rem;
		text-align: center;
		border-radius: 2rem 2rem 0 0;
	}
	
	ul.voice li.wrapper h3.individual {
		background: #00a0cf;
	}
	
	ul.voice li.wrapper h3.company {
		background: #007598;
	}
	
	ul.voice li.wrapper ul.item-wrapper {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		gap: 4rem;
		padding: 4rem;
		border-radius: 2rem;
		background: #fff;
		margin-top: -2rem;
	}
	
	ul.voice li.wrapper ul.item-wrapper.individual {
		border-left: 3px solid #00a0cf;
		border-right: 3px solid #00a0cf;
		border-bottom: 3px solid #00a0cf;
	}
	
	ul.voice li.wrapper ul.item-wrapper.company {
		border-left: 3px solid #007598;
		border-right: 3px solid #007598;
		border-bottom: 3px solid #007598;
	}
	
	ul.voice li.wrapper ul.item-wrapper li.item img {
		width: auto;
		height: 15rem;
		display: block;
		margin: 0 auto;
	}
	
	ul.voice li.wrapper ul.item-wrapper li.item h4 {
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 150%;
		text-align: center;
		margin-top: 2rem;
	}
	
	ul.recommend {
		width: 48rem;
		display: grid;
		grid-template-columns: 1fr;
		gap: 3rem;
		margin: 0 auto;
	}
	
	ul.recommend li.recommend-wrapper {
		background: #fff;
		border-radius: 2rem;
		padding: 3rem;
	}
	
	ul.recommend li.recommend-wrapper h3 {
		font-size: 2.2rem;
		font-weight: bold;
		line-height: 1;
		display: flex;
		align-items: center;
	}
	
	ul.recommend li.recommend-wrapper h3 img {
		width: auto;
		height: 3rem;
		margin-right: 1rem;
	}
	
	ul.default {
		margin-top: 3rem;
		padding-left: 2rem;
		list-style-type: disc;
	}
	
	ul.default li {
		font-size: 1.4rem;
		line-height: 180%;
		margin-top: 1rem;
	}
	
	ul.default.privacy li {
		margin-top: 2rem;
	}
	
	h2.title-jp.small {
		font-size: 3rem;
		margin-bottom: 6vw;
	}
	
	section.profile div.inner {
		width: 60rem;
		margin: 0 auto;
	}
	
	section.profile div.inner div.txt-area {
		width: 100%;
	}
	
	section.profile div.inner img.photo {
		width: 36rem;
		height: auto;
		border-radius: 50%;
		display: block;
		margin: 0 auto 2rem auto;
	}
	
	p.job {
		font-size: 1.2rem;
		font-weight: bold;
		color: #00a0cf;
		text-align: center;
	}
	
	p.profile-name {
		font-size: 2rem;
		font-weight: bold;
		line-height: 150%;
		text-align: center;
	}
	
	div.profile-contact {
		width: 100%;
		margin-top: 3rem;
		display: flex;
		align-items: center;
	}
	
	div.profile-contact div {
		margin-right: 6rem;
	}
	
	div.profile-contact img {
		width: 12rem;
		height: auto;
	}
	
	section.privacy-policy div.inner {
		width: 60rem;
		margin: 0 auto;
	}
	
}

/******************************************************************************************************

PC1

******************************************************************************************************/

@media screen and (min-width:960px) and ( max-width:1200px) {
	
	body {
		font-size: 14px;
	}
	
	div#about,
	div#feature,
	div#service,
	div#company,
	div#contact {
		padding-top: 10rem;
		margin-top: -10rem;
		display: block;
	}
	
	.pc {
		display: block;
	}
	
	.ta {
		display: none;
	}
	
	.sp {
		display: none;
	}
	
	a img {
		transition: 0.3s;
	}
	
	a:hover img {
		opacity: 0.7;
	}
	
	header {
		width: 100%;
		height: 100%;
		min-height: 64rem;
		max-height: 70rem;
		position: relative;
		padding-top: 10rem;
	}
	
	div.header-nav {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		overflow: hidden;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	
	div.header-nav div.logo-area img.logo {
		position: fixed;
		width: auto;
		height: 4rem;
		top: 3rem;
		left: 2rem;
		z-index: 100;
	}
	
	div.header-nav nav {
		position: fixed;
		top: 1.5rem;
		right: 1rem;
		background-color: rgba(255,255,255, 0.8);
		border-radius: 3.5rem;
		height: 7rem;
		display: flex;
		align-items: center;
		padding: 0 1rem 0 2rem;
		z-index: 100;
	}
	
	div.header-nav nav ul.gnav {
		display: flex;
		align-items: center;
	}
	
	div.header-nav nav ul.gnav li {
		padding: 0 1rem;
	}
	
	div.header-nav nav ul.gnav li a {
		text-align: center;
		text-decoration: none;
		position: relative;
		display: inline-block;
	}
	
	div.header-nav nav ul.gnav li.default a::after{
		position: absolute;
  		bottom: -0.4rem;
  		left: 0;
  		content: '';
  		width: 100%;
  		height: 0.2rem;
  		background: #00a0cf;
  		transform: scale(0, 1);
  		transform-origin: left top;
  		transition: transform 0.3s;
	}
	
	div.header-nav nav ul.gnav li.default a:hover::after {
		transform: scale(1, 1);
	}
	
	div.header-nav nav ul.gnav li.default a p.ja {
		font-size: 1.4rem;
		font-weight: bold;
		color: #002336;
		line-height: 150%;
	}
	
	div.header-nav nav ul.gnav li.contact {
		margin-left: 1rem;
		padding: 0;
		font-weight: bold;
	}
	
	div.header-nav nav ul.gnav li.contact a {
		font-size: 1.4rem;
		font-weight: bold;
		color: #fff;
		line-height: 5rem;
		display: inline-block;
		padding: 0 2rem 0 4.6rem;
		border-radius: 2.5rem;
		white-space: nowrap;
		background: url("../img/icon-contact.png") no-repeat left 2rem center /2rem auto #00a0cf;
		transition: 0.3s;
	}
	
	div.header-nav nav ul.gnav li.contact a:hover {
		opacity: 0.7;
	}
	
	div.main-visual {
		width: 88%;
		height: 100%;
		background-image: url("../img/main-visual.jpg") ;
		background-repeat: no-repeat;
		background-position: bottom 50% left;
		background-size: cover;
		border-radius: 0 4rem 0 0;
		position: relative;
	}
	
	div.main-visual h1 {
		position: absolute;
		left: 5%;
		bottom: 10%;
		font-size: 3.4vw;
		line-height: 150%;
		color: #fff;
		font-weight: bold;
	}
	
	div.main-visual a div.top-button {
		position: absolute;
		right: -8vw;
		bottom: 10%;
		width: 36rem;
		height: 13rem;
		background: #00a0cf;
		box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.2);
		border-radius: 1.5rem;
		padding: 1.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		transition: 0.3s;
	}
	
	div.main-visual a:hover div.top-button {
		transform: scale(1.05);
	}
	
	div.main-visual a div.top-button img {
		width: 10rem;
		height: auto;
		margin-right: 1.5rem;
		border-radius: 1rem;
	}
	
	div.main-visual a:hover div.top-button img {
		opacity: 1;
	}
	
	div.main-visual a div.top-button div.txt-area p.title {
		font-size: 1.4rem;
		line-height: 150%;
		color: #fff;
		font-weight: bold;
	}
	
	div.main-visual a div.top-button div.txt-area p.txt {
		font-size: 1.2rem;
		line-height: 150%;
		margin-top: 1rem;
		color: #fff;
		font-weight: bold;
	}
	
	div.arrow-right {
		display: inline-block;
		width: 1.2rem;
		height: 1.2rem;
		margin: 0 1rem;
		border-top: 0.3rem solid #fff;
		border-right: 0.3rem solid #fff;
		transform: rotate(45deg);
	}
	
/******************************

私たちについて

******************************/		

	section {
		width: 100%;
		padding: 8rem 0;
	}
	
	section.blue {
		background: #f2fafc;
	}
	
	section h2.title-jp {
		font-size: 3.6rem;
		color: #002336;
		font-weight: bold;
		text-align: center;
		margin-bottom: 0.5rem;
		line-height: 150%;
	}
	
	section h2.title-en {
		font-size: 1.2rem;
		color: #00a0cf;
		font-weight: bold;
		text-align: center;
		margin-bottom: 4rem;
		line-height: 150%;
	}
	
	section.about div.about-wrap {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	
	section.about div.about-wrap h2.title-jp,
	section.about div.about-wrap h2.title-en {
		text-align: left;
	}
	
	section.about div.about-wrap.reverse {
		flex-direction: row-reverse;
	}
	
	p.main-txt {
		font-size: 1.4rem;
		line-height: 180%;
		color: #002336;
		margin-top: 2rem;
	}
	
	section.about div.about-wrap div.txt-area {
		width: 38%;
		margin-left: 6%;
		padding: 5vw 0;
	}
	
	section.about div.about-wrap div.img-area {
		width: 52.6%;
		background: url("../img/about-img01.jpg") no-repeat center center / cover ;
		border-radius: 3rem 0 0 3rem;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
/******************************

選ばれる3つの理由

******************************/	
	
	section.feature {
		position: relative;
	}
	
	section.feature div.img-area {
		position: absolute;
		width: 26%;
		max-width: 500px;
		height: 32vw;
		max-height: 600px;
		top: 0;
		left: 0;
		background: url("../img/purpose-img01.jpg") no-repeat left bottom / cover ;
		border-radius: 0 3rem 3rem 0 ;
		z-index: 0;
	}
	
	ul.feature {
		width: 100%;
		max-width: 120rem;
		padding: 0 2rem;
		margin: 4rem auto 0 auto;
		display: flex;
		justify-content: space-between;
		position: relative;
		z-index: 1;
	}
	
	ul.feature li {
		width: 31%;
	}
	
	ul.feature li h3.title {
		font-size: 2rem;
		color: #002336;
		font-weight: bold;
		line-height: 150%;
		text-align: center;
	}
	
	ul.feature li p.number {
		font-size: 2.6rem;
		font-weight: bold;
		line-height: 200%;
		color: #00a0cf;
		margin-top: 2rem;
		text-align: center;
	}
	
	ul.feature li div.icon-area {
		width: 100%;
		height: 22vw;
		border-radius: 2rem;
		background: #f2fafc;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	ul.feature li div.icon-area img.no01 {
		width: auto;
		height: 18vw;
	}
	
	ul.feature li div.icon-area img.no02 {
		width: auto;
		height: 19vw;
	}
	
/******************************

サービス内容

******************************/
	
	section.service {
		background: #014961 url("../img/service-bg.png") repeat-y left top / cover;
	}
	
	section.service h2.title-jp,
	section.service h2.title-en {
		color: #fff;
	}
	
	section div.inner {
		width: 100%;
		padding: 0 2rem;
		margin: 0 auto;
	}
	
	ul.service {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	
	ul.service li {
		width: 48%;
		background: #fff;
		border-radius: 3rem;
		filter: drop-shadow(0px 0px 20px rgba(0,0,0,.3));
		-webkit-filter: drop-shadow(0px 3px 20px rgba(0,0,0,.3));
	}
	
	ul.service li h3 {
		font-size: 2.2rem;
		font-weight: bold;
		color: #00a0cf;
		margin-bottom: 3rem;
		text-align: center;
	}
	
	ul.service li img {
		width: 100%;
		height: auto;
		border-radius: 3rem 3rem 0 0;
	}
	
	ul.service li div.txt-area {
		width: 100%;
		padding: 4rem 3rem 3rem 3rem;
	}
	
	span.large {
		font-size: 1.8rem;
		font-weight: bold;
	}
	
	a.service-button {
		width: 100%;
		height: 6rem;
		font-size: 1.8rem;
		font-weight: bold;
		color: #fff;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 1rem;
		margin-top: 3rem;
		background: #00a0cf;
		transition: .3s;
	}
	
	a:hover.service-button {
		opacity: 0.7;
	}
	
/******************************

会社概要

******************************/
	
	section div.inner.narrow {
		width: 100%;
		max-width: 100rem;
		margin: 0 auto;
		padding: 0 2rem;
	}
	
	table.company {
		width: 100%;
		border-top: 0.1rem solid #ddd;
		text-align: left;
	}
	
	table.company th {
		color: #002336;
		font-weight: bold;
		padding: 2rem 0 2rem 2rem;
		line-height: 240%;
		width: 30%;
		border-bottom: 0.1rem solid #ddd;
	}
	
	table.company td {
		color: #002336;
		padding: 2rem 0 2rem 2rem;
		line-height: 240%;
		width: 70%;
		border-bottom: 0.1rem solid #ddd;
	}
	
	div.gmap {
		width: 100%;
		height: 60rem;
	}
	
/******************************

お問い合わせ

******************************/
	
	table.contact-form {
		width: 100%;
	}

	table.contact-form th,
	table.contact-form td {
		vertical-align: middle;
		font-size: 1.4rem;
		overflow: hidden;
		border-bottom: 1rem solid #f2fafc;
		background: #fff;
	}

	table.contact-form th {
		font-weight: bold;
		text-align: left;
		width: 30%;
		padding: 2rem  0 2rem 2rem;
		line-height: 240%;
	}
	
	table.contact-form th span {
		font-weight: bold;
	}

	table.contact-form td {
		width: 70%;
		text-align: left;
		padding: 2rem;
		line-height: 240%;
	}

	.formbtn {
		padding: 1.5rem 5rem;
		background: #009fd1;
		font-size: 2.4rem;
		color: #fff;
		cursor: pointer;
		outline: none;
		border-radius: 4rem;
		border: none;
		margin: 3rem auto 0 auto;
		display: block;
		-webkit-appearance: none;
		font-family: "GenJyuuGothicX", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
		font-weight: bold;
		transition: 0.3s;
	}

	.formbtn:hover {
		opacity: 0.7;
	}

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {
		width: 40%;
		border: 0.1rem solid #ccc;
		padding: 0.5rem;
		font-size: 1.4rem;
		font-family: "GenJyuuGothicX", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	input[type="email"],
	textarea {
		width: 100%;
	}

	textarea {
		height: 15rem;
		vertical-align: bottom;
	}

	input[type="select"],
	select {
		font-family: "GenJyuuGothicX", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	.must {
		display: inline-block;
		background: red;
		padding: 0.2rem 1rem;
		font-size: 1.2rem;
		font-weight: bold;
		color: #fff;
		margin: 0 0 0 1rem;
		line-height: 200%;
	}

	table.contact-form input,
	table.contact-form select,
	table.contact-form textarea {
		padding: 0.8rem;
		border: 0.1rem solid #ddd;
		border-radius: 0;
	}

	table.contact-form input:focus,
	table.contact-form select:focus,
	table.contact-form textarea:focus {
		border: 0.1rem solid #009fd1;
		outline: 0;
	}
	
	.wpcf7 form.sent .wpcf7-response-output {/* 送信ボタン下完了時 */
		font-size: 1.4rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #333!important;
		text-align: center!important;
	}
	.wpcf7 form.invalid .wpcf7-response-output,
	.wpcf7 form.unaccepted .wpcf7-response-output {/* 送信ボタン下未入力警告 */
		border: none!important;
		background-color: red;
		font-size: 1.4rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #fff!important;
		text-align: center!important;
	}
	
	p.privacy {
		font-size: 1.4rem;
		text-align: center;
		line-height: 180%;
		margin-top: 3rem;
		color: #666;
	}
	
	p.privacy a {
		color: #999;
		text-decoration: underline;
		transition: .3s;
	}
	
	p.privacy a:hover {
		text-decoration: none;
	}
	
/******************************

フッター

******************************/
	
	footer {
		background: #014961;
	}
	
	footer div.inner {
		width: 100%;
		max-width: 100rem;
		height: 6rem;
		margin: 0 auto;
		padding: 0 2rem;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	footer p {
		font-size: 1.4rem;
		color: #fff;
	}
	
	footer p a {
		color: #fff;
		text-decoration: none;
		transition: 0.3s;
	}
	
	footer p a:hover {
		opacity: 0.7;
	}
	
/******************************

下層共通

******************************/
	
	header.lower {
		height: auto;
		min-height: auto;
	}
	
	div.main-visual.lower {
		width: 100%;
		height: 24vw;
		background: none;
		border-radius: 0;
		border-top: 1px solid #eee;
	}
	
	div.main-visual.lower h1 {
		text-align: center;
		font-size: 4.8rem;
		line-height: 150%;
		font-weight: bold;
		color: #00a0cf;
		left: 0;
		right: 0;
		bottom: 0;
		top: 0;
		margin: auto;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	p.breadcrumbs {
		font-size: 1.4rem;
		line-height: 150%;
		position: absolute;
		left: 2rem;
		top: 1rem;
		z-index: 1;
	}
	
	p.breadcrumbs a {
		color: #999;
	}
	
	p.breadcrumbs a:hover {
		text-decoration: none;
	}
	
/******************************

AI講師

******************************/
	
	section.top {
		padding: 0 0 8rem 0;
	}
	
	ul.strength {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 6rem;
	}
	
	ul.strength li {
		position: relative;
	}
	
	ul.strength li img {
		width: 100%;
		height: auto;
		border-radius: 2rem;
		
	}
	
	ul.strength li h3 {
		position: absolute;
		left: 0;
		bottom: 0;
		font-size: 2rem;
		font-weight: bold;
		line-height: 150%;
		border-radius: 0 0 2rem 2rem;
		text-align: center;
		z-index: 1;
		color: #fff;
		width: 100%;
		padding: 6rem 0 2rem 0;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
	}
	
	ul.strength li div.number-triangle {
		width: 12rem;
		height: 12rem;
		position: absolute;
		left: 0;
		top: 0;
		font-size: 2.6rem;
		font-weight: bold;
		line-height: 1;
		border-radius: 2rem 0 0 0;
		z-index: 1;
		color: #fff;
		padding: 2rem 0 0 2rem;
	}
	
	ul.strength li div.number-triangle.no01 {
		background-image: linear-gradient(135deg, #002336 8rem, transparent 0);
	}
	
	ul.strength li div.number-triangle.no02 {
		background-image: linear-gradient(135deg, #014961 8rem, transparent 0);
	}
	
	ul.strength li div.number-triangle.no03 {
		background-image: linear-gradient(135deg, #007598 8rem, transparent 0);
	}
	
	ul.strength li div.number-triangle.no04 {
		background-image: linear-gradient(135deg, #009fd1 8rem, transparent 0);
	}
	
	ul.voice {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 6rem;
	}
	
	ul.voice li.wrapper {
		width: 100%;
		border-radius: 3rem;
	}
	
	ul.voice li.wrapper h3 {
		height: 10rem;
		font-size: 2.4rem;
		font-weight: bold;
		color: #fff;
		line-height: 70px;
		text-align: center;
		border-radius: 3rem 3rem 0 0;
	}
	
	ul.voice li.wrapper h3.individual {
		background: #00a0cf;
	}
	
	ul.voice li.wrapper h3.company {
		background: #007598;
	}
	
	ul.voice li.wrapper ul.item-wrapper {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		column-gap: 6rem;
		padding: 4rem;
		border-radius: 3rem;
		background: #fff;
		margin-top: -3rem;
	}
	
	ul.voice li.wrapper ul.item-wrapper.individual {
		border-left: 3px solid #00a0cf;
		border-right: 3px solid #00a0cf;
		border-bottom: 3px solid #00a0cf;
	}
	
	ul.voice li.wrapper ul.item-wrapper.company {
		border-left: 3px solid #007598;
		border-right: 3px solid #007598;
		border-bottom: 3px solid #007598;
	}
	
	ul.voice li.wrapper ul.item-wrapper li.item img {
		width: auto;
		height: 15rem;
		display: block;
		margin: 0 auto;
	}
	
	ul.voice li.wrapper ul.item-wrapper li.item h4 {
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 150%;
		text-align: center;
		margin-top: 2rem;
	}
	
	ul.recommend {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 3rem;
	}
	
	ul.recommend li.recommend-wrapper {
		background: #fff;
		border-radius: 2rem;
		padding: 3rem;
	}
	
	ul.recommend li.recommend-wrapper h3 {
		font-size: 2.2rem;
		font-weight: bold;
		line-height: 1;
		display: flex;
		align-items: center;
	}
	
	ul.recommend li.recommend-wrapper h3 img {
		width: auto;
		height: 3rem;
		margin-right: 1rem;
	}
	
	ul.default {
		margin-top: 3rem;
		padding-left: 2rem;
		list-style-type: disc;
	}
	
	ul.default li {
		font-size: 1.4rem;
		line-height: 180%;
		margin-top: 1rem;
	}
	
	ul.default.privacy li {
		margin-top: 2rem;
	}
	
	h2.title-jp.small {
		font-size: 3rem;
		margin-bottom: 6rem;
	}
	
	section.profile div.inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: row-reverse;
	}
	
	section.profile div.inner div.txt-area {
		width: 60%;
	}
	
	section.profile div.inner img.photo {
		width: 35%;
		height: auto;
		border-radius: 50%;
	}
	
	p.job {
		font-size: 1.2rem;
		font-weight: bold;
		color: #00a0cf;
	}
	
	p.profile-name {
		font-size: 2rem;
		font-weight: bold;
		line-height: 150%;
	}
	
	div.profile-contact {
		width: 100%;
		margin-top: 3rem;
		display: flex;
		align-items: center;
	}
	
	div.profile-contact div {
		margin-right: 6rem;
	}
	
	div.profile-contact img {
		width: 12rem;
		height: auto;
	}
	
}

/******************************************************************************************************

PC2

******************************************************************************************************/

@media screen and (min-width:1201px) {
	
	a#about,
	a#feature,
	a#service,
	a#company,
	a#contact {
		display: block;
		padding-top: 12rem;
		margin-top: -12rem;
	}
	
	.pc {
		display: block;
	}
	
	.ta {
		display: none;
	}
	
	.sp {
		display: none;
	}
	
	a img {
		transition: 0.3s;
	}
	
	a:hover img {
		opacity: 0.7;
	}
	
	header {
		width: 100%;
		height: 100%;
		min-height: 72rem;
		position: relative;
		padding-top: 12rem;
	}
	
	div.header-nav {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		overflow: hidden;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 2rem 0 2rem 3rem;
	}
	
	div.header-nav div.logo-area img.logo {
		position: fixed;
		width: auto;
		height: 5rem;
		top: 3.5rem;
		left: 3rem;
		z-index: 100;
	}
	
	div.header-nav nav {
		position: fixed;
		top: 1.5rem;
		right: 1.5rem;
		background-color: rgba(255,255,255, 0.8);
		border-radius: 4.5rem;
		height: 9rem;
		display: flex;
		align-items: center;
		padding: 0 1.5rem 0 2.5rem;
		z-index: 100;
		backdrop-filter: blur(10px);
	}
	
	div.header-nav nav ul.gnav {
		display: flex;
		align-items: center;
	}
	
	div.header-nav nav ul.gnav li {
		padding: 0 1.5rem;
	}
	
	div.header-nav nav ul.gnav li a {
		text-align: center;
		text-decoration: none;
		position: relative;
		display: inline-block;
	}
	
	div.header-nav nav ul.gnav li.default a::after{
		position: absolute;
  		bottom: -0.4rem;
  		left: 0;
  		content: '';
  		width: 100%;
  		height: 0.2rem;
  		background: #00a0cf;
  		transform: scale(0, 1);
  		transform-origin: left top;
  		transition: transform .3s;
	}
	
	div.header-nav nav ul.gnav li.default a:hover::after {
		transform: scale(1, 1);
	}
	
	div.header-nav nav ul.gnav li.default a p.ja {
		font-size: 1.6rem;
		font-weight: bold;
		color: #002336;
		line-height: 200%;
	}
	
	div.header-nav nav ul.gnav li.contact {
		margin-left: 1.5rem;
		padding: 0;
		font-weight: bold;
	}
	
	div.header-nav nav ul.gnav li.contact a {
		font-size: 1.6rem;
		font-weight: bold;
		color: #fff;
		line-height: 6rem;
		display: inline-block;
		padding: 0 3rem 0 6rem;
		border-radius: 3rem;
		white-space: nowrap;
		background: url("../img/icon-contact.png") no-repeat left 3rem center /2.4rem auto #00a0cf;
		transition: 0.3s;
	}
	
	div.header-nav nav ul.gnav li.contact a:hover {
		opacity: 0.7;
	}
	
	div.main-visual {
		width: 88%;
		height: 100%;
		background-image: url("../img/main-visual.jpg") ;
		background-repeat: no-repeat;
		background-size: cover;
		border-radius: 0 8rem 0 0;
		position: relative;
	}
	
	div.main-visual h1 {
		position: absolute;
		left: 5%;
		bottom: 8%;
		font-size: 3.6vw;
		line-height: 150%;
		color: #fff;
		font-weight: bold;
	}
	
	div.main-visual a div.top-button {
		position: absolute;
		right: -10vw;
		bottom: 10%;
		width: 42rem;
		height: 16rem;
		background: #00a0cf;
		box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.2);
		border-radius: 1.5rem;
		padding: 1.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		transition: 0.3s;
	}
	
	div.main-visual a:hover div.top-button {
		transform: scale(1.05);
	}
	
	div.main-visual a div.top-button img {
		width: 13rem;
		height: auto;
		margin-right: 1.5rem;
		border-radius: 1rem;
	}
	
	div.main-visual a:hover div.top-button img {
		opacity: 1;
	}
	
	div.main-visual a div.top-button div.txt-area p.title {
		font-size: 1.6rem;
		line-height: 150%;
		color: #fff;
		font-weight: bold;
	}
	
	div.main-visual a div.top-button div.txt-area p.txt {
		font-size: 1.3rem;
		line-height: 150%;
		margin-top: 1rem;
		color: #fff;
		font-weight: bold;
	}
	
	div.arrow-right {
		display: inline-block;
		width: 1.2rem;
		height: 1.2rem;
		margin: 0 1rem;
		border-top: 0.3rem solid #fff;
		border-right: 0.3rem solid #fff;
		transform: rotate(45deg);
	}
	
/******************************

私たちについて

******************************/		

	section {
		width: 100%;
		padding: 10rem 0;
	}
	
	section.blue {
		background: #f2fafc;
	}
	
	section h2.title-jp {
		font-size: 4.8rem;
		color: #002336;
		font-weight: bold;
		text-align: center;
		margin-bottom: 0.5rem;
		line-height: 150%;
	}
	
	section h2.title-en {
		font-size: 1.6rem;
		color: #00a0cf;
		font-weight: bold;
		text-align: center;
		margin-bottom: 6rem;
		line-height: 150%;
	}
	
	section.about div.about-wrap {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	
	section.about div.about-wrap h2.title-jp {
		text-align: left;
	}
	
	section.about div.about-wrap h2.title-en {
		text-align: left;
		margin-bottom: 5rem;
	}
	
	section.about div.about-wrap.reverse {
		flex-direction: row-reverse;
	}
	
	p.main-txt {
		font-size: 1.6rem;
		line-height: 180%;
		color: #002336;
		margin-top: 3rem;
	}
	
	section.about div.about-wrap div.txt-area {
		width: 38%;
		margin-left: 6%;
	}
	
	section.about div.about-wrap div.img-area {
		width: 52.6%;
		height: 60rem;
		background: url("../img/about-img01.jpg") no-repeat center center / cover ;
		border-radius: 3rem 0 0 3rem;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
/******************************

選ばれる3つの理由

******************************/	
	
	section.feature {
		position: relative;
	}
	
	section.feature div.img-area {
		position: absolute;
		width: 26%;
		max-width: 500px;
		height: 32vw;
		max-height: 600px;
		top: 0;
		left: 0;
		background: url("../img/purpose-img01.jpg") no-repeat left bottom / cover ;
		border-radius: 0 3rem 3rem 0 ;
		z-index: 0;
	}
	
	ul.feature {
		width: 120rem;
		margin: 6rem auto 0 auto;
		display: flex;
		justify-content: space-between;
		position: relative;
		z-index: 1;
	}
	
	ul.feature li {
		width: 36rem;
	}
	
	ul.feature li h3.title {
		font-size: 2.2rem;
		color: #002336;
		font-weight: bold;
		line-height: 150%;
		text-align: center;
	}
	
	ul.feature li p.number {
		font-size: 3rem;
		font-weight: bold;
		line-height: 200%;
		color: #00a0cf;
		margin-top: 2rem;
		text-align: center;
	}
	
	ul.feature li div.icon-area {
		width: 100%;
		height: 26rem;
		border-radius: 2rem;
		background: #f2fafc;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	ul.feature li div.icon-area img.no01 {
		width: auto;
		height: 21rem;
	}
	
	ul.feature li div.icon-area img.no02 {
		width: auto;
		height: 22.5rem;
	}
	
/******************************

サービス内容

******************************/
	
	section.service {
		background: #014961 url("../img/service-bg.png") repeat-y left top / cover;
	}
	
	section.service h2.title-jp,
	section.service h2.title-en {
		color: #fff;
	}
	
	section div.inner {
		width: 120rem;
		margin: 0 auto;
	}
	
	ul.service {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	
	ul.service li {
		width: 46.666%;
		background: #fff;
		border-radius: 3rem;
		filter: drop-shadow(0px 0px 20px rgba(0,0,0,.3));
		-webkit-filter: drop-shadow(0px 3px 20px rgba(0,0,0,.3));
	}
	
	ul.service li h3 {
		font-size: 2.6rem;
		font-weight: bold;
		color: #00a0cf;
		margin-bottom: 4rem;
		text-align: center;
	}
	
	ul.service li img {
		width: 100%;
		height: auto;
		border-radius: 3rem 3rem 0 0;
	}
	
	ul.service li div.txt-area {
		width: 100%;
		padding: 5rem 4rem 4rem 4rem;
	}
	
	span.large {
		font-size: 2rem;
		font-weight: bold;
	}
	
	a.service-button {
		width: 100%;
		height: 8rem;
		font-size: 20px;
		font-weight: bold;
		color: #fff;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 15px;
		margin-top: 40px;
		background: #00a0cf;
		transition: .3s;
	}
	
	a:hover.service-button {
		opacity: 0.7;
	}
	
/******************************

会社概要

******************************/
	
	section div.inner.narrow {
		width: 100rem;
	}
	
	table.company {
		width: 100%;
		border-top: 0.1rem solid #eee;
		text-align: left;
	}
	
	table.company th {
		font-size: 1.6rem;
		color: #002336;
		font-weight: bold;
		padding: 3rem 0 3rem 3rem;
		line-height: 240%;
		width: 30%;
		border-bottom: 0.1rem solid #eee;
	}
	
	table.company td {
		font-size: 1.6rem;
		color: #002336;
		padding: 3rem 0 3rem 3rem;
		line-height: 240%;
		width: 70%;
		border-bottom: 0.1rem solid #eee;
	}
	
	div.gmap {
		width: 100%;
		height: 60rem;
	}
	
/******************************

お問い合わせ

******************************/	
	
	table.contact-form {
		width: 100%;
	}

	table.contact-form th,
	table.contact-form td {
		vertical-align: middle;
		font-size: 1.6rem;
		overflow: hidden;
		border-bottom: 1rem solid #f2fafc;
		background: #fff;
	}

	table.contact-form th {
		font-weight: bold;
		text-align: left;
		width: 30%;
		padding: 3rem  0 3rem 3rem;
		line-height: 240%;
	}
	
	table.contact-form th span {
		font-weight: bold;
	}

	table.contact-form td {
		width: 70%;
		text-align: left;
		padding: 3rem;
		line-height: 240%;
	}

	.formbtn {
		padding: 1.5rem 5rem;
		background: #009fd1;
		font-size: 2.4rem;
		color: #fff;
		cursor: pointer;
		outline: none;
		border-radius: 4rem;
		border: none;
		margin: 3rem auto 0 auto;
		display: block;
		-webkit-appearance: none;
		font-family: "GenJyuuGothicX", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
		font-weight: bold;
		transition: 0.3s;
	}

	.formbtn:hover {
		opacity: 0.7;
	}

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {
		width: 40%;
		border: 0.1rem solid #ccc;
		padding: 0.5rem;
		font-size: 1.6rem;
		font-family: "GenJyuuGothicX", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	input[type="email"],
	textarea {
		width: 100%;
	}

	textarea {
		height: 15rem;
		vertical-align: bottom;
	}

	.must {
		display: inline-block;
		background: red;
		padding: 0.2rem 1rem;
		font-size: 1.4rem;
		font-weight: bold;
		color: #fff;
		margin: 0 0 0 1rem;
		line-height: 200%;
	}

	table.contact-form input,
	table.contact-form select,
	table.contact-form textarea {
		padding: 0.8rem;
		border: 0.1rem solid #ddd;
		border-radius: 0;
	}

	table.contact-form input:focus,
	table.contact-form select:focus,
	table.contact-form textarea:focus {
		border: 0.1rem solid #009fd1;
		outline: 0;
	}
	
	.wpcf7 form.sent .wpcf7-response-output {/* 送信ボタン下完了時 */
		font-size: 1.6rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #333!important;
		text-align: center!important;
	}
	.wpcf7 form.invalid .wpcf7-response-output,
	.wpcf7 form.unaccepted .wpcf7-response-output {/* 送信ボタン下未入力警告 */
		border: none!important;
		background-color: red;
		font-size: 1.6rem!important;
		font-weight: bold;
		line-height: 3rem!important;
		color: #fff!important;
		text-align: center!important;
	}
	
	p.privacy {
		font-size: 1.4rem;
		text-align: center;
		line-height: 180%;
		margin-top: 3rem;
		color: #666;
	}
	
	p.privacy a {
		color: #999;
		text-decoration: underline;
		transition: .3s;
	}
	
	p.privacy a:hover {
		text-decoration: none;
	}
	
/******************************

フッター

******************************/
	
	footer {
		background: #014961;
	}
	
	footer div.inner {
		width: 120rem;
		height: 6rem;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	footer p {
		font-size: 1.4rem;
		color: #fff;
	}
	
	footer p a {
		color: #fff;
		text-decoration: none;
		transition: 0.3s;
	}
	
	footer p a:hover {
		opacity: 0.7;
	}
	
/******************************

下層共通

******************************/
	
	header.lower {
		height: auto;
		min-height: auto;
	}
	
	div.main-visual.lower {
		width: 100%;
		height: 20vw;
		background: none;
		border-radius: 0;
		border-top: 1px solid #eee;
	}
	
	div.main-visual.lower h1 {
		text-align: center;
		font-size: 5.4rem;
		line-height: 150%;
		font-weight: bold;
		color: #00a0cf;
		left: 0;
		right: 0;
		bottom: 0;
		top: 0;
		margin: auto;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	p.breadcrumbs {
		font-size: 1.4rem;
		line-height: 150%;
		position: absolute;
		left: 3rem;
		top: 1rem;
		z-index: 1;
	}
	
	p.breadcrumbs a {
		color: #999;
	}
	
	p.breadcrumbs a:hover {
		text-decoration: none;
	}
	
/******************************

AI講師

******************************/
	
	section.top {
		padding: 0 0 10rem 0;
	}
	
	ul.strength {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 6rem;
	}
	
	ul.strength li {
		position: relative;
	}
	
	ul.strength li img {
		width: 100%;
		height: auto;
		border-radius: 2rem;
		
	}
	
	ul.strength li h3 {
		position: absolute;
		left: 0;
		bottom: 0;
		font-size: 2.2rem;
		font-weight: bold;
		line-height: 150%;
		border-radius: 0 0 2rem 2rem;
		text-align: center;
		z-index: 1;
		color: #fff;
		width: 100%;
		padding: 6rem 0 2rem 0;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
	}
	
	ul.strength li div.number-triangle {
		width: 13rem;
		height: 13rem;
		position: absolute;
		left: 0;
		top: 0;
		font-size: 3rem;
		font-weight: bold;
		line-height: 1;
		border-radius: 2rem 0 0 0;
		z-index: 1;
		color: #fff;
		padding: 2rem 0 0 2rem;
	}
	
	ul.strength li div.number-triangle.no01 {
		background-image: linear-gradient(135deg, #002336 9rem, transparent 0);
	}
	
	ul.strength li div.number-triangle.no02 {
		background-image: linear-gradient(135deg, #014961 9rem, transparent 0);
	}
	
	ul.strength li div.number-triangle.no03 {
		background-image: linear-gradient(135deg, #007598 9rem, transparent 0);
	}
	
	ul.strength li div.number-triangle.no04 {
		background-image: linear-gradient(135deg, #009fd1 9rem, transparent 0);
	}
	
	ul.voice {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 6rem;
	}
	
	ul.voice li.wrapper {
		width: 100%;
		border-radius: 3rem;
	}
	
	ul.voice li.wrapper h3 {
		height: 10rem;
		font-size: 2.4rem;
		font-weight: bold;
		color: #fff;
		line-height: 70px;
		text-align: center;
		border-radius: 3rem 3rem 0 0;
	}
	
	ul.voice li.wrapper h3.individual {
		background: #00a0cf;
	}
	
	ul.voice li.wrapper h3.company {
		background: #007598;
	}
	
	ul.voice li.wrapper ul.item-wrapper {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		column-gap: 6rem;
		padding: 6rem;
		border-radius: 3rem;
		background: #fff;
		margin-top: -3rem;
	}
	
	ul.voice li.wrapper ul.item-wrapper.individual {
		border-left: 3px solid #00a0cf;
		border-right: 3px solid #00a0cf;
		border-bottom: 3px solid #00a0cf;
	}
	
	ul.voice li.wrapper ul.item-wrapper.company {
		border-left: 3px solid #007598;
		border-right: 3px solid #007598;
		border-bottom: 3px solid #007598;
	}
	
	ul.voice li.wrapper ul.item-wrapper li.item img {
		width: auto;
		height: 15rem;
		display: block;
		margin: 0 auto;
	}
	
	ul.voice li.wrapper ul.item-wrapper li.item h4 {
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 150%;
		text-align: center;
		margin-top: 2rem;
	}
	
	ul.recommend {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 3rem;
	}
	
	ul.recommend li.recommend-wrapper {
		background: #fff;
		border-radius: 2rem;
		padding: 4rem;
	}
	
	ul.recommend li.recommend-wrapper h3 {
		font-size: 2.4rem;
		font-weight: bold;
		line-height: 1;
		display: flex;
		align-items: center;
	}
	
	ul.recommend li.recommend-wrapper h3 img {
		width: auto;
		height: 3rem;
		margin-right: 1rem;
	}
	
	ul.default {
		margin-top: 3rem;
		padding-left: 2rem;
		list-style-type: disc;
	}
	
	ul.default li {
		font-size: 1.6rem;
		line-height: 180%;
		margin-top: 1rem;
	}
	
	ul.default.privacy li {
		margin-top: 2rem;
	}
	
	h2.title-jp.small {
		font-size: 3.6rem;
		margin-bottom: 6rem;
	}
	
	section.profile div.inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: row-reverse;
	}
	
	section.profile div.inner div.txt-area {
		width: 60%;
	}
	
	section.profile div.inner img.photo {
		width: 35%;
		height: auto;
		border-radius: 50%;
	}
	
	p.job {
		font-size: 1.4rem;
		font-weight: bold;
		color: #00a0cf;
	}
	
	p.profile-name {
		font-size: 2.4rem;
		font-weight: bold;
		line-height: 150%;
	}
	
	div.profile-contact {
		width: 100%;
		margin-top: 3rem;
		display: flex;
		align-items: center;
	}
	
	div.profile-contact div {
		margin-right: 6rem;
	}
	
	div.profile-contact img {
		width: 12rem;
		height: auto;
	}
	
}
