@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,700;1,700&family=Noto+Sans+JP:wght@400;700&display=swap');
html{
  font-size: 62.5%;
  font-family: 'Noto Sans', sans-serif;
}
body{
	margin-top: 0px;
	background-color: #fff;
	animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
	font-size: 1.6rem;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
h1 {
	font-weight: 700 !important;
}
h2,h3,h4,h5,.sub_title {
	font-weight: 700 !important;
}

/*p {
  font-size: 0.857rem;
  line-height: 180%;
  //font-weight: bold;
}*/

img{
max-width: 100%;
height: auto;
//width /***/:auto;
vertical-align:bottom;　
}
a:hover img.over{
opacity:0.6;
filter:alpha(opacity=60);
-ms-filter: "alpha( opacity=60 )";
}
a {
transition: color 0.3s ease 0s;
	text-decoration: none;
	border-bottom: solid 1px #999;
	padding-bottom: 5px;
}
a:link {
	color: #0993C6;
}
a:hover {
	color: #0BB5F3;
}
a:visited {
	color: #0993C6;
}

.box_link {
	position:relative;
}
.box_link a {
	position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    text-indent:-9999px;
}
.box_link a:hover{
    background-color:#FFF;
    filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}

.pc {
	display: block;
}
.mob {
	display: none;
}
.indentback1 {
	text-indent: -1em;
	padding-left: 1em;
}
.indentback2 {
	text-indent: -2em;
	padding-left: 2em;
}
.indentback3 {
	text-indent: -3em;
	padding-left: 3em;
}

main {
	width: 100%;
}
strong {
	font-weight: bold;
}
.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

/*まずはお決まりのボックスサイズ算出をborer-boxに */
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;/*rem算出をしやすくするために*/
}
.btn,
a.btn,
button.btn {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 1.2rem 3rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	border-radius: 50px;
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .2);
	border: 1px solid #fff;
}
.btn--basic,
a.btn--basic {
  color: #fff;
  background-color: #EF517F;
}

.btn--basic:hover,
a.btn--basic:hover {
  color: #fff;
  background: #F48CAA;
}
.btn--data,
a.btn--data {
  color: #fff;
  background-color: #89898A;
}

.btn--data:hover,
a.btn--data:hover {
  color: #fff;
  background: #BFBFBF;
}
.btn--data,
a.btn--icc {
  color: #fff;
  background-color: #9F8763;
}

.btn--icc:hover,
a.btn--icc:hover {
  color: #fff;
  background: #C5B7A2;
}
h2 {
	font-size: 9rem;
	margin: 20px auto 30px;
	line-height: 1.4;
	color: #EF517F;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-style: italic;
	text-align: center;
}
h3 {
	font-size: 3rem;
	color: #000;
	margin-bottom: 20px;
	line-height: 1.6;
}

h3 span {
	color: #EF517F;
}
h3 span.normal {
	font-weight: normal;
	color: #000;
}
h4 {
	font-size: 2rem;
}
p {
	font-size: 1.5rem;
	line-height: 2;
	margin-bottom: 30px;
}
p span {
	color: #EF517F;
}

.float {
	width: 100%;
	background-color: #fff;
	padding: 10px 0px;
	box-shadow: 0 5px 3px -3px rgba(0,0,0,0.1) inset;
	position: fixed;
	bottom: 0px;
	z-index: 10;
}
.float .container {
	display: grid;
    grid-gap: 10px;
	grid-template-columns: 1fr 1fr;
	max-width: 800px;
	margin: auto;
	text-align: center;
}
.float_btn {
	background-color: #FF9D37;
	box-shadow: 0 -5px 3px -2px rgba(0,0,0,0.1);
	padding: 10px 0px 20px;
	text-align: center;
	width: 100%;
	position: fixed;
	bottom: 75px;
	z-index: 9;
	color: #fff;
	font-size: 1.4rem;
}
.shadow03 {
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .3);
}
.shadow05 {
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .5);
}
.triangle {
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 20px solid transparent;
	border-left: 20px solid transparent;
	border-top: 20px solid #ef517f;
	border-bottom: 0;
	margin: 30px auto;
}

@media (max-width: 767px) {
	html{
		font-size: calc(100vw / 32);/*iPhoneの最小サイズ320pxに10px*/
	}
	p {
		font-size: 1.4rem !important;/*320pxの時14pxに*/
	}
	h2 {
	font-size: 5rem;
	margin: 20px auto 30px;
	line-height: 1.05;
}
	h3 {
	font-size: 1.8rem;
	color: #000;
	margin-bottom: 20px;
}
	.container {
	padding: 20px;
	}
	.pc {
	display: none;
	}
	.mob {
	display: block;
	}

	.float {
		padding: 0px 0px !important;
	}
	.float .container .btn,
	.float .container a.btn,
	.float .container button.btn {
		padding: 10px 0px;
		margin: 0px auto !important;
	}
	.float_btn {
	font-size: 1rem;
}
	.btn,
	a.btn,
	button.btn {
		font-size: 1.1rem;
		max-width: 750px;
}
}

@media (max-width: 480px) {
	
}

/* main-visual
-----------------------------------------------*/

.main-visual {
	background-image:url("images/main-visual/main.png");
	background-repeat: no-repeat;
	background-position : right;
	background-size: contain;
	padding-top: 30px;
}
.main-visual .logo {
	margin : 0px auto 30px 50px;
}

.main-visual .container {
	background-image:url("images/main-visual/bar_pc.png");
	background-repeat: no-repeat;
	background-position : top left;
}

.main-visual .inner {
	padding: 0px 0px 0px 80px;
	margin: 50px auto 0px;
	width: 100%;
}

.main-visual .inner h1 {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 7rem;
	line-height: 1.1;
	color: #000;
}
.main-visual .inner h1 span.small {
	font-size: 5rem;
}
.main-visual .inner h1 span.pink {
	color: #EF517F;
}
.main-visual .inner h1 span.pinkline {
	color: #EF517F;
	background: linear-gradient(transparent 96%, #EF517F 0%);
	display: inline;
	padding-bottom: 5px;
}
.main-visual .inner h2 {
	text-align: left;
	font-weight: 700;
	margin: 80px auto 0px;
	line-height: .5;
}
.main-visual .inner h2 span {
	font-family: 'Noto Sans JP', sans-serif;
	font-style: normal;
	font-size: 3rem;
	color: #000;
}
.main-visual .wrapper {
	float: right;
	margin: -50px 50px 0px auto;
}


@media (max-width: 767px) {
.main-visual {
	background-image: none;
}
	.main-visual .container {
	background-image:url("images/main-visual/bar_sp.png");
		padding: 0px 0px 0px 50px !important;
}
	.main-visual .container .mob {
		text-align: right;
		width: 100%;
	}
	.main-visual .container .mob img {
		text-align: right;
	}
	.main-visual .inner {
	padding: 0px 0px 0px 30px;
		margin-top: -15px;
}
	.main-visual .inner h1 {
	font-size: 3rem;
}
.main-visual .inner h1 span.small {
	font-size: 2rem;
}
	.main-visual .inner h2 {
	margin: 50px auto 0px;
	line-height: .5;
		font-size:5rem;
	}
.main-visual .inner h2 span {
	font-size: 1.8rem;
}
	.main-visual .wrapper {
	float: none;
	margin: 50px 30px auto auto;
}
}

/* now
---------------------------------------------*/
#now {
	background-color: #EDEDE5;
}
#now .container {
	padding: 50px 0px;
	max-width: 980px;
	margin: auto;
	width: 100%;
}
#now .container .grid01 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 40px;
}
#now .container .grid01 div.parent {
	display: flex;
	align-items: center;
}

#now .container .feature {
	padding: 50px 0px;
	max-width: 800px;
	margin: auto;
	width: 100%;
	text-align: center;
}
#now .container .feature .item {
	padding: 30px;
	text-align: left;
	display: grid;
	grid-template-columns: 1fr 10fr;
	margin: 30px auto;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .3);
}
#now .container .feature .item .no {
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: 'Lexend', sans-serif;
	font-size: 3.8rem;
	color: #EF517F;
}
#now .container .feature .item .contents {
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: 2rem;
	line-height: 1.5;
}
#now .container .feature .item .contents span {
	color: #EF517F;
}

@media (max-width: 767px) {
	#now .container {
	padding: 50px 5%;
	width: 90%;
}
	#now .container .grid01 {
	grid-template-columns: 1fr;
}
	#now .container .feature .item {
	padding: 20px;
	text-align: left;
	grid-template-columns: 1fr;
}
	#now .container .feature .item .no {
		font-size: 3rem;
		margin-bottom: 20px;
		display: block !important;
		text-align: center;
}
	#now .container .feature .item .contents {
		display: block !important;
		font-size: 1.6rem;
}
}


/* about
---------------------------------------------*/
#about {
}
#about .container {
	padding: 50px 0px;
	max-width: 980px;
	margin: auto;
	width: 100%;
}
#about .container .grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
}
#about .container .grid h2 {
	text-align: left;
	line-height: 1.1;
}
#about .container .grid p {
	max-width: 500px;
}

@media (max-width: 767px) {
	#about .container {
		padding: 30px 5% 80px;
		width: 90%;
	}
	#about .container .grid {
	grid-template-columns: 1fr;
}
	#about .container .grid h2 {
		text-align: center;
	}
	#about .container .grid h3 {
		text-align: center;
	}
	#about .container .grid p {
	max-width: 700px;
}
	#about .container .grid .flow {
		max-width: 300px;
		margin: auto;
		height: auto;
	}
}




/* entry
---------------------------------------------*/
.entry {
	background-color: #EF517F;
	color: #fff;
}
.entry .container {
	padding: 30px 0px;
	max-width: 980px;
	margin: auto;
	width: 100%;
	text-align: center;
}
.entry .container h2 {
	color: #fff;
	font-family: 'Noto Sans', sans-serif;
	font-style: normal;
	font-size: 5rem;
}
.entry .back-photo01 {
	position: relative;
	background-image: url("images/entry/01.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	width: 100%;
	min-height: 55vh;
}
.entry .back-photo02 {
	position: relative;
	background-image: url("images/entry/02.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	width: 100%;
	min-height: 30vh;
}
.entry .container .grid {
	margin-bottom: 30px;
}
.entry .container .tel .grid2 {
	display: grid;
	grid-template-columns: 4fr 1fr;
}
.entry .container .tel .time {
	text-align: left;
	line-height: 1.2;
	margin-top: 5px;
}
.entry .container .bbtn {
	background-color: #fff;
	color: #EF5180;
	padding: 30px;
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
	border-radius: 60px;
    -webkit-border-radius: 60px; /* Safari、Google Chrome */
    -moz-border-radius: 60px;
	border: none;
}
.entry .container .bbtn span {
	font-size: 5rem;
	vertical-align: middle;
}
.entry .container .bbtn.box_link a {
	border-radius: 60px;
    -webkit-border-radius: 60px; /* Safari、Google Chrome */
    -moz-border-radius: 60px;
}
.entry .container .box_link a:hover{
    background-color:#EF5180;
    filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}

@media (max-width: 767px) {
	.entry .container {
		padding: 30px 5%;
		width: 90%;
	}
	.entry .container h2 {
	font-size: 2rem;
}
	.entry .back-photo02 {
	min-height: 20vh;
}
	.entry .container .bbtn {
	font-size: 1rem;
		margin-bottom: 5px;
		padding: 20px 10px 10px;
}
	.entry .container .bbtn span {
	font-size: 1.8rem;
		line-height: 1.5;
}
	.entry .container .tel .grid2 {
	grid-template-columns: 2fr 1fr;
}
	.entry .container .tel .time {
	margin: 12px auto 0px 10px;
		font-size: .9rem;
}
}


/* results
---------------------------------------------*/
#results {
	background-color: #EFEBE7;
}
#results .container {
	padding: 30px 0px 50px;
	max-width: 800px;
	margin: auto;
	width: 100%;
}
#results .container .wrapper {
	background-color: #fff;
	padding: 30px;
	margin: 30px auto;
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .3);
	border-radius: 10px;
}
#results .container .wrapper h3 {
	text-align: center;
}
#results .container .item {
	text-align: left;
	display: grid;
	grid-template-columns: 1fr 7fr;
	margin: 30px auto;
}
#results .container .item p {
	margin-bottom: 15px;
}
#results .container .item .name {
	font-weight: 700;
	font-size: 1.5rem;
}

@media (max-width: 767px) {
	#results .container {
		padding: 30px 5%;
		width: 90%;
	}
	#results .container .item {
	grid-template-columns: 1fr;
		margin-bottom: 50px;
}
	#results .container .item .face {
		text-align: center;
		margin-bottom: 20px;
	}
	#results .container .item .name {
	font-size: 1.4rem;
		text-align: center;
}

}


/* curriculum
---------------------------------------------*/
#curriculum {
}
#curriculum .container {
	padding: 30px 0px 50px;
	max-width: 980px;
	margin: auto;
	width: 100%;
	text-align: center;
}
#curriculum .container h2 {
	font-style: normal;
	font-size: 4rem;
	color: #000;
	line-height: 1.3;
}
#curriculum .container h2 span {
	color: #EF517F;
}
#curriculum .container h3 {
	margin-bottom: 10px;
}
#curriculum .container img.chart {
	text-align: center;
	margin: auto;
}
#curriculum .container .grid01 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 20px;
	max-width: 650px;
	margin: auto auto 50px;
}
#curriculum .container .grid01 div {
	padding: 20px;
	background-color: #EF517F;
	color: #fff;
	border-radius: 10px;
	font-size: 1.8rem;
}
#curriculum .container .wrapper {
	padding: 30px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 50px;
	border-radius: 10px;
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .1);
}
#curriculum .container .wrapper div {
	text-align: left;
}
#curriculum .container .wrapper div h3 {
	line-height: 1.3;
	margin-bottom: 30px;
}
#curriculum .container .wrapper div h4 {
	line-height: 1.3;
	margin-bottom: 20px;
}
@media (max-width: 767px) {
	#curriculum .container {
		padding: 30px 5%;
		width: 90%;
	}
	#curriculum .container h2 {
	font-size: 2.4rem;
}
	#curriculum .container .grid01 {
	grid-template-columns: 1fr ;
	grid-gap: 20px;
}
	#curriculum .container .wrapper {
	grid-template-columns: 1fr;
	grid-gap: 20px;
}
	#curriculum .container .wrapper div h3 {
	text-align: center;
}
#curriculum .container .wrapper div h4 {
	text-align: center;
	font-size: 1.5rem;
}
}


/* recommendation

---------------------------------------------*/
#recommendation{
	background-color: #EDEDE5;
}
#recommendation .container {
	padding: 50px 0px;
	max-width: 980px;
	margin: auto;
	width: 100%;
	text-align: center;
}
#recommendation .container h2 {
	font-style: normal;
	font-size: 5rem;
	color: #000;
}
#recommendation .container h2 span {
	color: #EF517F;
}
#recommendation .container .advice {
	padding: 1px 0px 30px;
	max-width: 800px;
	margin: auto;
	width: 100%;
	text-align: center;
}
#recommendation .container .advice .item {
	padding: 30px;
	text-align: left;
	display: grid;
	grid-template-columns: 1fr 10fr;
	margin: 30px auto;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .3);
}
#recommendation .container .advice .item .no {
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: 'Lexend', sans-serif;
	font-size: 3.8rem;
	color: #EF517F;
}
#recommendation .container .advice .item .contents {
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: 2rem;
	line-height: 1.5;
}
#recommendation .container .advice .item .contents span {
	color: #EF517F;
}

@media (max-width: 767px) {
	
	#recommendation .container {
	padding: 30px 5%;
	width: 90%;
}
	#recommendation .container h2 {
	font-size: 2rem;
		line-height: 1.5;
		margin-bottom: 0px;
}
	#recommendation .container .advice .item {
	padding: 20px;
	text-align: left;
	grid-template-columns: 1fr;
}
	#recommendation .container .advice .item .no {
		font-size: 3rem;
		margin-bottom: 20px;
		display: block !important;
		text-align: center;
}
	#recommendation .container .advice .item .contents {
		display: block !important;
		font-size: 1.6rem;
		text-align: center;
}
}


/* data
---------------------------------------------*/
#data {
}
#data .container {
	padding: 50px 0px;
	max-width: 800px;
	margin: auto;
	width: 100%;
}
#data .container .wrapper {
	padding: 30px 30px 0px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 50px;
	border-radius: 10px;
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .1);
	margin-bottom: 50px;
}
#data .container .wrapper.voice {
	padding: 30px 30px 0px;
	display: grid;
	grid-template-columns: 1fr 2fr;
	grid-gap: 50px;
	border-radius: 10px;
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .1);
	margin-bottom: 30px;
}
#data .container .wrapper.voice img {
	width: 100%;
	height: auto;
	border-radius: 5px;
}
#data .container .wrapper.voice .name {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.3
}
#data.container .wrapper div {
	text-align: left;
}
#data .container .wrapper div h3 {
	line-height: 1.3;
	margin-bottom: 30px;
}
#data .container .wrapper div h4 {
	line-height: 1.3;
	margin-bottom: 20px;
}
@media (max-width: 767px) {
	#data .container {
		padding: 30px 5%;
		width: 90%;
	}
	#data .container .wrapper {
	grid-template-columns: 1fr;
	grid-gap: 20px;
		padding: 30px;
}
	#data .container .wrapper div h3 {
	text-align: center;
}
#data .container .wrapper div h4 {
	text-align: center;
	font-size: 1.5rem;
}
	#data .container .wrapper.voice {
	grid-template-columns: 1fr;
		grid-gap: 20px;
}
	#data .container .wrapper.voice .name {
	font-size: 1.5rem;
}
}


/* reservation
---------------------------------------------*/
#reservation {
	background-color: #EFEBE7;
}
#reservation .container {
	padding: 50px 0px;
	max-width: 800px;
	margin: auto;
	width: 100%;
}
#reservation .container h2 {
	font-style: normal;
	font-size: 5rem;
	color: #000;
	margin-bottom: 50px;
}
#reservation .container h2 span {
	color: #EF517F;
}


@media (max-width: 767px) {
	
	#reservation .container {
	padding: 30px 3%;
	width: 94%;
}
	#reservation .container h2 {
	font-size: 2rem;
		line-height: 1.5;
		margin-bottom: 0px;
}
}


/* form
-----------------------------------------------*/
#form {
	width: 100%;
	margin: 0px auto;
	background-color: #EFEBE7;
}


/* icc
-----------------------------------------------*/
#icc {

}
#icc .container {
	max-width: 800px;
	margin: 50px auto 80px;
	background-color: #fff;
}
#icc .container h2 {

}
#icc .container .company {
	margin: 80px auto;
}
#icc .container .company h2 {
	color: #EF5180;
	font-style: normal;
	text-align: left;
	font-size: 3.2rem;
}

@media (max-width: 767px) {
	#icc .container {
		margin: 30px 10px 50px;
}
}

/* footer
-----------------------------------------------*/

footer {
	padding-top: 80px;
	clear: both;
	text-align: center;
	padding-bottom: 150px;
	line-height: 1.5;
}

@media (max-width: 767px) {
	footer {
		font-size: 1rem;
	}

}

@media (max-width: 480px) {

}
