@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Infant:wght@300&display=swap');
@font-face {
	font-family: 'SourceHanSansJP-Regular';
	src: url('../font/SourceHanSansJP-Regular.woff') format('woff');
}
/* main-visual
------------------------------------------------------ */
.main-visual {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.main-txt {
	width: 90%;
	max-width: 500px;
	margin: 180px auto 0;
	position: relative;
}
h2 {
	color: #1E3C43;
	font-size: 4rem;
	margin-bottom: 20px;
}
h2:after {
	content: 'L';
	display: inline-block;
	position: absolute;
	left: 0;
	top: -10px;
	color: #F5F5F3;
	font-size: 10rem;
	z-index: -1;
}
h2 span {
	display: block;
	margin-top: 20px;
}
.main-lead {
	font-family: 'SourceHanSansJP-Regular';
	color: #1E3C43;
}
.main-img {
	width: 80%;
	max-width: 700px;
	position: relative;
}
.main-img:after {
	content: '';
	background: #F5F5F3;
	border-bottom-right-radius: 0;
	display: inline-block;
	z-index: -1;
	width: 760px;
	height: 300px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: -40px;
	height: 440px;
}
section{
    text-align: center;
}
/*PC Layout
===================================*/
@media all and (min-width: 769px) {
}

/*SP Layout
===================================*/
@media all and (max-width: 768px) {
.main-visual {
	flex-direction: column-reverse;
}
.main-txt {
	margin-top: -160px;
}
.main-img {
	width: 90%;
	margin-left: auto;
}
h2 {
	font-size: 2.2rem;
	letter-spacing: .2rem;
}
h2:after {
	top: 10px;
	font-size: 8rem;
}
h2 span {
	margin-top: 0;
}
.main-img:after {
	height: 220px;
}
    h3{
        margin-top: 30px;
    }
}
/* anc-link
------------------------------------------------------ */
.anc-wrap {
	width: 90%;
	max-width: 1080px;
	margin: 100px auto 40px;
}
.anc-item a {
	display: flex;
	align-items: center;
	padding: 10px;
}
.anc-item {
	border: 1px solid #1E3C43;
}
.anc-img {
	width: 25%;
	margin-right: 10px;
    margin-bottom: 0;
}
.anc-ttl span {
	display: block;
	color: #938038;
	font-size: 1rem;
	line-height: 1.4rem;
}
.anc-ttl {
	line-height: 2rem;
	font-size: 1.6rem;
}
.anc-item a.btn {
	margin: 0;
	max-width: 100%;
	background: none;
}
.anc-item a.bgskew::before {
	background: #1E3C43;
	z-index: -2;
}
.anc-item a.btn:hover p {
	color: #fff;
}

/*PC Layout
===================================*/
@media all and (min-width: 769px) {
.anc-wrap {
	display: flex;
	justify-content: space-between;
}
.anc-item {
	width: 32%;
}
}

/*SP Layout
===================================*/
@media all and (max-width: 768px) {
.anc-img {
	width: 20%;
}
.anc-item {
	margin-bottom: 10px;
}
.anc-wrap {
	margin-top: 40px;
}
}
/* license
------------------------------------------------------ */
.license-bg {
	padding: 60px 0;
}
.license-wrap {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	position: relative;
}
.license-container {
	background: rgba(255,255,255,0.92);
	padding: 4% 0 4% 100px;
	width: 55%;
	margin-left: auto;
	position: absolute;
	right: 0;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
.license-container02 {
	left: 0;
	right: auto;
	padding: 4% 0px 4% 200px;
}
.license-name {
	font-size: 3rem;
	margin-bottom: 10px;
	line-height: 3.4rem;
	text-align: left;
    font-family: 'ShipporiMincho';
}
.license-price {
	font-size: 2.4rem;
	margin-bottom: 20px;
}
.license-price span {
	font-size: 1rem;
}
.license-txt {
	width: 75%;
	margin-bottom: 20px;
	font-family: 'SourceHanSansJP-Regular';
}
.plan-txt {
	color: #938038;
	font-family: 'SourceHanSansJP-Regular';
}
.plan-list {
	display: flex;
	justify-content: space-between;
	width: 75%;
}
.plan-list li {
	text-align: center;
	line-height: 1.6rem;
	background: #938038;
	color: #fff;
	width: 19%;
	padding: 14px 0;
	font-family: 'SourceHanSansJP-Regular';
}
.plan-list li:nth-child(2) {
	padding: 22px 0;
}
.kinds-wrap {
	display: flex;
	align-items: center;
	margin-top: 40px;
	width: 90%;
	max-width: 960px;
	margin: 40px auto 0;
	justify-content: space-between;
}
.kinds-container {
	border: 1px solid #1E3C43;
	display: flex;
	width: 85%;
}
.kinds-ttl {
	text-align: center;
	padding: 20px;
	font-size: 1.6rem;
	border-right: 1px solid #1E3C43;
}
.kinds-txt {
	padding: 20px;
}
.kinds-ilust {
	width: 15%;
	max-width: 180px;
	margin-left: 20px;
}
.kinds-txt span {
	font-family: 'SourceHanSansJP-Regular';
	font-size: 1.2rem;
}
.license-img02 {
	margin-left: auto;
}
.school-availability {
	background: #938038;
	border: 1px solid #938038;
    margin-top: 0;
    margin-bottom: 60px;
}
.school-availability:hover span {
	color: #938038;
}
/*== 背景が流れる（斜め） */
.bgskew.school-availability::before {
	background: #fff;
}

/*PC Layout
===================================*/
@media all and (min-width: 769px) {
.anc-wrap {
	display: flex;
	justify-content: space-between;
    margin-bottom: 0;
}
.anc-item {
	width: 32%;
}
.license-img {
	width: 90%;
}
.license-container02 .license-name, .license-container02 .license-price, .license-container02 .license-txt, .license-container02 .plan-txt, .license-container02 .plan-list {
	margin-left: 60px;
}
.license-bg {
	background: linear-gradient(180deg, #fff 0%, #fff 40%, #F5F5F3 60%, #F5F5F3 100%);
}
    #anc02 .license-container{
        margin-left: 0;
        margin-right: auto;
    }
}

/*SP Layout
===================================*/
@media all and (max-width: 768px) {
.license-bg {
	padding: 10px 0;
}
.license-container {
	padding: 30px 10px;
	width: 90%;
	top: 100%;
	right: 0;
	left: 0;
	margin: auto;
	bottom: 0;
}
.license-name {
	margin-top: 0;
	font-size: 2.2rem;
    margin-bottom: 0;
}
.license-price {
	font-size: 2.2rem;
    margin-bottom: 10px;
}
.license-txt {
	width: 100%;
    line-height: 2.2rem;
}
.plan-list {
	width: 100%;
}
.plan-list li {
	font-size: 1rem;
}
.kinds-wrap {
	margin-top: 380px;
	width: 100%;
	flex-direction: column;
}
.kinds-container {
	flex-direction: column;
	width: 100%;
}
.kinds-ttl {
	border-right: none;
	border-bottom: 1px solid #1E3C43;
}
.kinds-ilust {
	width: 100%;
	margin-left: 0;
	margin-top: 20px;
    max-width: 220px;
}
}
/* conditions
------------------------------------------------------ */
.conditions-bg {
	background: url(images/conditions.jpg) no-repeat;
	background-size: cover;
	padding: 100px 0;
}
.conditions-wrap {
	display: flex;
	flex-wrap: wrap;
	max-width: 900px;
	margin: 0 auto;
}
.conditions-item {
	width: 30%;
	background: #fff;
	padding: 20px 0;
	margin-bottom: 10px;
}
.conditions-icon {
	height: 20px;
	margin: 0 auto 10px;
}
.conditions-icon img {
	max-height: 100%;
	width: auto;
	margin: 0 auto;
}
.conditions-ttl {
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 10px;
}
.conditions-txt {
	text-align: center;
	color: #938038;
	line-height: 2rem;
	width: 95%;
	margin: 0 auto;
}
.conditions-txt span {
	color: #938038;
	font-size: 2rem;
}
.guideline-btn {
	background: #938038;
	border: 1px solid #938038;
}
.guideline-btn:hover span {
	color: #938038;
}
/*== 背景が流れる（斜め） */
.bgskew.guideline-btn::before {
	background: #fff;
}
.bgskew.guideline-btn small {
	color: #fff;
	font-size: 1.2rem;
	border: 1px solid #fff;
	padding: 2px 4px;
}
.guideline-btn:hover small {
	color: #938038;
	border: 1px solid #938038;
}

/*PC Layout
===================================*/
@media all and (min-width: 769px) {
.conditions-item:not(:nth-child(3)) {
 margin-right: 20px;
}
.conditions-item:nth-child(1), .conditions-item:nth-child(4) {
	margin-left: 26px;
}
}

/*SP Layout
===================================*/
@media all and (max-width: 768px) {
.conditions-bg {
	padding: 10px 0;
}
.conditions-wrap {
	justify-content: space-between;
	margin: 30px auto;
}
.conditions-item {
	width: 48%;
}
    .conditions-txt span{
        font-size: 1.8rem;
    }
}
/* flow
------------------------------------------------------ */
.flow-bg {
	padding: 100px 0;
	background: linear-gradient(90deg, #F5F5F3 0%, #F5F5F3 50%, #fff 50%, #fff 100%);
}
.flow-step {
	color: #938038;
	font-size: 2.6rem;
	margin-bottom: 10px;
	font-family: 'Cormorant Infant', serif;
}
.flow-ttl {
	font-size: 1.8rem;
	margin-bottom: 20px;
	letter-spacing: .01rem;
}
.flow-txt {
	font-family: 'SourceHanSansJP-Regular';
}
.reserved-btn {
	background: #938038;
	border: 1px solid #938038;
}
.reserved-btn:hover span {
	color: #938038;
}
/*== 背景が流れる（斜め） */
.bgskew.reserved-btn::before {
	background: #fff;
}
.licenseschool-flow-slider .slick-arrow:before {
	content: ""!important;
}
.licenseschool-flow-slider .slick-arrow:before {
	content: ""!important;
	width: 100%!important;
	height: 100%!important;
	position: absolute;
	top: 0;
	left: 0;
}
.licenseschool-flow-slider .slick-next:before {
	background: url(../top/images/top-blog-next-icon.png)!important;
	background-size: contain!important;
}
.licenseschool-flow-slider .slick-prev:before {
	background: url(../top/images/top-blog-prev-icon.png)!important;
	background-size: contain!important;
}
.licenseschool-flow-slider .slick-arrow:before {
	opacity: 1!important;
}
.licenseschool-flow-slider .slick-arrow {
	z-index: 2!important;
	width: 45px!important;
	height: 45px!important;
	right: 430px!important;
	left: auto;
	bottom: -50px!important;
	top: auto;
}
.licenseschool-flow-slider .slick-next {
	right: 370px!important;
	bottom: -50px!important;
	top: auto;
}
.licenseschool-flow-slider .slick-dots li {
	width: 23%;
	height: 60px;
}
.licenseschool-flow-slider .slick-dots li button {
	width: 100%;
	height: 100%;
}
.slick-dots li button:before {
	opacity: 1!important;
	content: '';
	background: url(images/flow-step01.png) no-repeat;
	background-size: contain;
	display: block;
	width: 100%;
	height: 80px;
	text-align: center;
}
.slick-dots li:nth-child(2) button:before {
	background: url(images/flow-step02.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 80px;
}
.slick-dots li:nth-child(3) button:before {
	background: url(images/flow-step03.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 80px;
}
.slick-dots li:nth-child(4) button:before {
	background: url(images/flow-step04.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 80px;
}
.slick-dots li.slick-active button:before {
	background: url(images/flow-step01-active.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 80px;
}
.slick-dots li.slick-active:nth-child(2) button:before {
	background: url(images/flow-step02-active.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 80px;
}
.slick-dots li.slick-active:nth-child(3) button:before {
	background: url(images/flow-step03-active.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 80px;
}
.slick-dots li.slick-active:nth-child(4) button:before {
	background: url(images/flow-step04-active.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 80px;
}
.licenseschool-flow-slider .slick-dots {
	display: flex!important;
	justify-content: space-between;
	position: absolute;
	top: 0;
}
.licenseschool-flow-slider .slick-dots li {
	margin: 0;
}
.flow-txt {
	margin-bottom: 10px;
}
.flow-box {
	border: 1px solid #1E3C43;
	margin-bottom: 10px;
	padding: 10px 20px;
	width: auto;
}

/*PC Layout
===================================*/
@media all and (min-width: 769px) {
.flow-wrap {
	display: flex;
	max-width: 1000px;
	margin: 50px auto 100px;
	padding-top: 140px;
}
.flow-item {
	display: flex!important;
	justify-content: space-between;
	max-width: 1000px;
	margin: 0 auto;
	align-items: center;
	width: 100%!important;
}
.flow-img {
	width: 50%;
}
.flow-container {
	width: 48%;
}
}

/*SP Layout
===================================*/
@media all and (max-width: 768px) {
.flow-bg {
	padding: 30px 0;
}
.flow-img {
	margin-bottom: 20px;
}
.flow-step {
	font-size: 2.2rem;
}
.flow-wrap {
	padding-top: 100px;
}
.slick-dots li button:before {
	content: '';
	background: url(images/flow-step01-sp.png) no-repeat;
	background-size: contain;
	display: block;
	width: 100%;
	height: 80px;
	text-align: center;
}
.slick-dots li:nth-child(2) button:before {
	background: url(images/flow-step02-sp.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 80px;
}
.slick-dots li:nth-child(3) button:before {
	background: url(images/flow-step03-sp.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 80px;
}
.slick-dots li:nth-child(4) button:before {
	background: url(images/flow-step04-sp.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 80px;
}
.slick-dots li.slick-active button:before {
	background: url(images/flow-step01-active-sp.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 80px;
}
.slick-dots li.slick-active:nth-child(2) button:before {
	background: url(images/flow-step02-active-sp.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 80px;
}
.slick-dots li.slick-active:nth-child(3) button:before {
	background: url(images/flow-step03-active-sp.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 80px;
}
.slick-dots li.slick-active:nth-child(4) button:before {
	background: url(images/flow-step04-active-sp.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 80px;
}
}
/* gallery
------------------------------------------------------ */
.gallery-bg {
	padding: 100px 0;
}
.gallery-wrap {
	display: flex;
	justify-content: space-between;
}
.gallery-item {
	width: 18.5%;
}
.gallery-item:nth-child(odd) {
	margin-top: 50px;
}

/*SP Layout
===================================*/
@media all and (max-width: 768px) {
.gallery-bg {
	padding: 30px 0;
}
}

/*PC Layout
===================================*/
@media all and (min-width: 769px) {
.gallery-wrap {
    width: 100vw;
    margin: 80px calc(50% - 50vw) 0;
}
.license h3.calender-ttl{
   text-align: left;
   width: 70%;
margin: 40px auto 0;
}
    .license h3 span{
        display: inline-block;
    }
}
/* faq
------------------------------------------------------ */
.accordion {
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	max-width: 800px;
	position: relative;
	width: 100%;
	margin-bottom: 60px;
}
.accordion-title {
	color: #1E3C43;
	cursor: pointer;
	padding: 16px 30px;
}
.accordion-content {
	display: none;
	padding: 10px 30px;
	margin-bottom: 10px;
}
/* タイトルの背景色 */
.accordion-item .accordion-title {
	background-color: #F5F5F3;
	margin-top: 10px;
}
/* コンテンツボックスの枠線 */
.accordion-item .accordion-content {
	border-bottom: 2px solid #F5F5F3;
	border-left: 2px solid #F5F5F3;
	border-right: 2px solid #F5F5F3;
}
/* 矢印 */
.accordion-title {
	position: relative;
}
.accordion-title::after {
	border-right: solid 2px #1E3C43;
	border-top: solid 2px #1E3C43;
	content: "";
	display: block;
	height: 8px;
	position: absolute;
	right: 25px;
	top: 38%;
	transform: rotate(135deg);
	transition: transform .3s ease-in-out, top .3s ease-in-out;
	width: 8px;
}
.accordion-title.open::after {
	top: 45%;
	transform: rotate(-45deg);
}
.reserved-btn02 {
	background: #1E3C43;
	border: 1px solid #1E3C43;
}
.reserved-btn02:hover span {
	color: #1E3C43;
}
/*== 背景が流れる（斜め） */
.bgskew.reserved-btn02::before {
	background: #fff;
}
.faq {
	margin-bottom: 100px;
}
iframe{
    width: 70%;
    height: 500px;
}
#booking-package{
    max-width: 100%!important;
}
.calender-cat{
    font-size: 1.8rem;
    margin-bottom: 20px;
    text-align: center;
    margin-top: 20px;
}


/*SP Layout
===================================*/
@media all and (max-width: 768px) {
.accordion-item .accordion-title {
	padding-right: 50px;
	line-height: 2rem;
}
.accordion-item .accordion-content p {
	line-height: 2rem;
}
    iframe{
        width: 100%;
        margin-top: 0;
        margin-bottom: 0;
        height: 420px;
    }
    .faq{
        margin-bottom: 30px;
    }
    .school-availability{
        margin: 0 auto;
    }
    .licenseschool-flow-slider .slick-dots{
        height: 60px;
    }
}


/* calender
------------------------------------------------------ */
#calender-bg {

	padding: 60px 0 20px;
}
.calender-area {
	margin: 0 auto;
	background: #fff;
	padding-bottom: 30px;
}
#booking-package {
	max-width: 400px;
	margin: 0 auto!important;
}
p.calender-ttl {
	background: #1E3C43;
	color: #fff;
	text-align: center;
	padding: 16px 0 20px;
	margin: 0 auto;
	font-size: 1.6rem;
}
.calender-subttl {
	text-align: center;
	margin: 30px auto 10px;
	font-size: 1.6rem;
}
.availability-wrap {
	display: flex;
	max-width: 400px;
	margin: 0 auto;
}
.calender-link {
	background: #938038;
	color: #fff;
	display: block;
	max-width: 360px;
	margin: 20px auto;
	text-align: center;
	padding: 10px 0;
	font-size: 1.8rem;
}
.availability-item:first-child {
	margin-right: 16px;
}
.availability-item:first-child:before {
	content: '';
	background: #fff;
	border: 1px solid #D6D6D6;
	width: 14px;
	height: 14px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 6px;
}
.availability-item:last-child:before {
	content: '';
	background: #D6D6D6;
	border: 1px solid #D6D6D6;
	width: 14px;
	height: 14px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 6px;
}
.calender-area iframe {
	height: 450px;
	width: 90%;
	margin: 0 auto;
	display: block;
	margin: 0 auto;
}
.calender-area:nth-child(1) p.calender-ttl:before,.calender-area:nth-child(3) p.calender-ttl:before {
	content: '';
	background: url(/top/images/to-calender-icon01.png) no-repeat;
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-right: 10px;
	background-size: contain;
	vertical-align: middle;
}
.calender-area:nth-child(2) p.calender-ttl:before {
	content: '';
	background: url(/top/images/to-calender-icon02.png) no-repeat;
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-right: 10px;
	background-size: contain;
	vertical-align: middle;
}
.calendarData {
	font-size: 1.2rem;
}

/*SP Layout
===================================*/

@media print, screen and (max-width: 768px) {
.availability-wrap, .calender-link {
	width: 90%;
}
.calender-area iframe {
	height: 460px;
}
.tab-group {
	display: flex;
	justify-content: center;
}
.panel {
	display: none;
}
.panel.is-show {
	display: block;
}
li.tab.tab-A {
	background: #1E3C43;
	color: #fff;
	text-align: center;
	padding: 16px 0;
	margin: 0 auto;
	font-size: 1.3rem;
	width: 50%;
	line-height: 1.3rem;
	text-align: center;
}
li.tab.tab-A:before {
	content: '';
	background: url(/top/images/to-calender-icon01.png) no-repeat;
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-right: 10px;
	background-size: contain;
	vertical-align: middle;
	margin-bottom: -10px;
}
li.tab.tab-B {
	background: #938038;
	color: #fff;
	text-align: center;
	padding: 16px 0;
	margin: 0 auto;
	font-size: 1.3rem;
	width: 50%;
	line-height: 1.3rem;
	text-align: center;
	padding-top: 24px;
}
li.tab.tab-B:before {
	content: '';
	background: url(/top/images/to-calender-icon02.png) no-repeat;
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-right: 10px;
	background-size: contain;
	vertical-align: middle;
}
.calender-subttl {
	margin-top: 0;
	padding-top: 30px;
}
#calender-bg{
	padding-top: 0;
}
    section.calender {
    width: 100%;
}
    .accordion{
        margin-bottom: 20px;
    }
}

/*PC Layout
===================================*/

@media print, screen and (min-width: 769px) {
.calender {
	display: flex;
	justify-content: space-between;
	max-width: 900px;
    flex-wrap: wrap;
}
.calender-area {
	width: 48%;
    margin-bottom: 30px;
}
}
