@charset "UTF-8";

.img-pc{display:block;}
.img-sp{display:none;}

@media screen and (max-width:768px){
	.img-pc{display:none;}
	.img-sp{;display:block;}
}


/* # =================================================================
   # 共通タイトル
   # ================================================================= */
.main-title-w{
	font-size:35px;
	line-height:150%;
	font-weight:900;
	color: var(--color-white);
	margin-bottom:100px;
	letter-spacing: 5px;
	text-align:center;
	position: relative;
}

.main-title-w:before {
	content: '';
	position: absolute;
	bottom: -25px;
	display: inline-block;
	width: 40px;
	height: 3px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	background-color: var(--color-white);
	border-radius: 2px;
}

.main-title-c{
	font-size:35px;
	line-height:150%;
	font-weight:900;
	color: var(--color-blue1);
	margin-bottom:100px;
	letter-spacing: 5px;
	text-align:center;
	position: relative;
}

.main-title-c:before {
	content: '';
	position: absolute;
	bottom: -25px;
	display: inline-block;
	width: 40px;
	height: 3px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	background-color: var(--color-blue1);
	border-radius: 2px;
}

.main-txt{
	font-size:16px;
	line-height:220%;
	font-weight:700;
	text-align:left;
}

.main-txt span{color:var(--color-blue1);}


.txt-change{
	text-align:center;
}

.main-txt a{
	color: var(--color-blue1);
	text-decoration: underline;
}

.main-txt a:hover{
	color: var(--color-blue1);
	text-decoration: none;
}


@media screen and (max-width:599px){
	.main-title-w, .main-title-c{font-size:25px;letter-spacing: 3px;}
	.main-txt{font-size:14px;}
	.txt-change{text-align:left;}
}

/* # =================================================================
   # FV
   # ================================================================= */
#fv{
	position: relative;
	overflow: hidden;
	width:100%;
	height: 100vh;
}

.fadeInImg{
	animation-name:fadeInImgAnime;
	animation-duration:8s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadeInImgAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fv-img{
	position: absolute;
	z-index:5;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}


.fv-img-pc{display:block;}
.fv-img-sp{display:none;}

.fv-img img{width:700px;}

@media screen and (max-width: 768px) {
	.fv-img img{width:650px;}
}

@media screen and (max-width: 599px) {
	.fv-img img{width:300px;}
	.fv-img-pc{display:none;}
	.fv-img-sp{display:block;}
}

/* iphone yoko */
@media screen and (min-device-width: 375px) and (max-device-width: 855px) and (orientation: landscape) {
.fv-img img{width:300px;}
}


/* # =================================================================
   # parallax
   # ================================================================= */
.cd-fixed-bg {overflow:hidden;}
.cd-fixed-bg img{
	width:100%;
	height:400px;
	object-fit: cover;
}



@media screen and (max-width: 768px) {
	.cd-fixed-bg {
		height: 300px;
		background-size: cover;
		background-attachment: scroll;
		background-position: center bottom;
	}
}

/* # =================================================================
   # 下線
   # ================================================================= */
.marker-bold {
  background: linear-gradient(transparent 50%, #ffff7f 50%);
}

/* # =================================================================
   # 説明
   # ================================================================= */


.setumei-copy1{
	display:block;
	font-size:40px;
	font-weight:900;
	line-height:150%;
	color:var(--color-blue1);
	letter-spacing: 3px;
}

@media screen and (max-width: 768px) {
	.setumei-copy1{font-size:25px;}
}


/* # =================================================================
   # opening
   # ================================================================= */
.opening-bg{background-color:var(--color-blue1);}

.opening-flex{
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.opening-flex-item{
	width:48%;
	display: flex;
	align-items: center;
	background-color:var(--color-white);
	padding:30px;
	border-radius: 15px;
	margin-bottom:30px;
}


.opening-sub-flex{
	display:flex;
	align-items: center;
}
.opening-check{width:60px;text-align:left;}
.opening-check img{width:30px;}
.opening-txt{
	font-size:18px;
	font-weight:700;
	line-height:150%;
	color:var(--color-blue1);
	text-align:left;
	width:100%;
}

.opening-txt-box{
	font-size:25px;
	font-weight:900;
	line-height:150%;
	color:var(--color-blue1);
	text-align:center;
	background-color:var(--color-yellow);
	border-radius: 15px;
	padding:30px;
}

.opening-txt-box span{
	display:block;
	font-size:40px;
	line-height:130%;
	padding-top:10px;
}

.opening-sankaku{padding:30px 0;}
.opening-sankaku img{width:100px;}

@media screen and (max-width:768px){
.opening-flex-item{width:100%;padding:20px;margin-bottom:15px;}
.opening-txt-box{font-size:25px;padding:30px;text-align:left;}
.opening-txt-box span{font-size:35px;}
}

@media screen and (max-width:599px){
	.opening-txt{font-size:16px;}
	.opening-txt-box{font-size:22px;}
	.opening-txt-box span{font-size:28px;}
}

/* # =================================================================
   # ワークショップとは？
   # ================================================================= */

.about-txt{
	font-size:25px;
	font-weight:900;
	line-height:150%;
	letter-spacing: 3px;
	text-align:center;
}

.about-txt span{color:var(--color-orange);}

.about-flex{
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.about-flex-item{
	width:31.5%;
	background-color:var(--color-blue1);
	padding:30px;
	border-radius: 15px;
}

.about-flex-item-title{
	font-size:20px;
	font-weight:700;
	line-height:150%;
	letter-spacing: 3px;
	color:var(--color-yellow);
	text-align:center;
	padding-bottom:20px;
}

.about-flex-item-txt{
	font-size:16px;
	font-weight:700;
	line-height:170%;
	color:var(--color-white);
	text-align:left;
}

@media screen and (max-width:768px){
	.about-flex-item{width:100%;margin-bottom:15px;}
	.about-flex-item-title{text-align:left;}
}

@media screen and (max-width:599px){
	.about-txt{font-size:18px;text-align:left;}
	.about-flex-item-txt{font-size:14px;}
}


/* # =================================================================
   # スケジュール
   # ================================================================= */
   
.sche-main-box{
	background-color:var(--color-yellow);
	padding:20px;
	border-radius: 15px;
}


.sche-box{
	background-color:var(--color-white);
	border-radius: 15px;
	padding:20px;
}

.sche-flex{
	display:flex;
	align-items:center;
}

.sche-img{width:200px;overflow:hidden;border-radius:10px;}
.sche-img img{
	width:100%;
	height:100%;
	object-fit: cover;
	object-position: center;
}

.sche-txt-day{
	font-size:20px;
	line-height:1.5;
	color:var(--color-blue1);
	padding-bottom:10px;
	text-align:left;
}

.sche-txt-day span{
	font-family: 'Inter', sans-serif;
	display:block;
	width:120px;
	padding:5px 10px;
	margin-bottom:15px;
	text-align:center;
	font-size:16px;
	font-weight:700;
	color:var(--color-white);
	background-color:var(--color-blue1);
	border-radius: 5px;
	margin-right:5px;
}

.sche-txt{
	width:100%;
	padding-left:20px;
	font-size:14px;
	line-height:170%;
	font-weight:700;
	text-align:left;
}

.sche-txt-copy{
	font-size:12px;
	line-height:1.5;
	text-align:left;
	color:var(--color-white);
	margin-top:20px;
}

.flow-yaji{text-align:center;margin:15px 0;}
.flow-yaji img{width:40px;}

@media screen and (max-width:599px){
	.sche-flex{
		display:flex;
		flex-wrap: wrap;
	}
	.sche-img{width:100%;}
	.sche-img img{height:120px;}
	.sche-txt{padding-left:0;padding-bottom:20px;}
	.sche-order1{order:1;}
	.sche-order2{order:2;}
}


/* # =================================================================
   # 受講すると
   # ================================================================= */
.jyukou-box{
	font-size:20px;
	font-weight:700;
	line-height:170%;
	text-align:left;
	color:var(--color-blue1);
	padding:15px;
	border:3px solid var(--color-blue1);
	border-left:15px solid var(--color-blue1);
	margin-bottom:20px;
	background-color:var(--color-blue2);
}

@media screen and (max-width:599px){
	.jyukou-box{
		font-size:16px;
		margin-bottom:15px;
	}
}
   
   
/* # =================================================================
   # お客様の声
   # ================================================================= */
.voice-bg{background-color:var(--color-blue2);}

.item-box{
	height: 100%;
	display: flex;
	flex-direction: column;
	background-color:var(--color-white);
	padding:20px;
	border-radius: 15px;
}

.voice-img{
padding:15px 0;
}


.voice-img img{
	width:100px;
}


.voice-name{
	font-size:16px;
	font-weight:700;
	padding:15px 0;
	text-align:left;
}

.voice-txt{
	font-size:14px;
	line-height:180%;
	text-align:left;
}

/* # =================================================================
   # 開催形態
   # ================================================================= */

.keitai-flex{
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.keitai-flex-item{
	width:48.5%;
	border:solid 3px var(--color-blue1);
	border-radius: 15px;
	margin-bottom:20px;
	padding:20px;
}




.keitai-flex-item-img{margin-bottom:20px;}

.keitai-flex-item-img img{
	height:100px;
}

.keitai-flex-item-title{
	font-size:28px;
	font-weight:900;
	line-height:150%;
	color:var(--color-blue1);
	text-align:center;
}

.keitai-flex-item-txt{
	font-size:14px;
	line-height:150%;
	text-align:left;
	padding-top:20px;
}

@media screen and (max-width:599px){
	.keitai-flex-item{width:100%;margin-bottom:15px;}
}


/* # =================================================================
   # コミュニティ
   # ================================================================= */

.comm-bg{
	background-image: url("../img/comm_bg.jpg");
	background-size: cover;
	background-position: center;
}

/* # =================================================================
   # よくある質問
   # ================================================================= */

#faq .faq-block{
border-bottom:dotted 1px var(--color-gray3);
padding-bottom:10px;
margin-bottom:10px;
}


#faq .table__list-label:first-letter, #faq .answer:first-letter{
 font-size: 30px;
 font-weight: 700;
 margin-right: 0.5em;
}

#faq .table__list-label:first-letter{color: var(--color-blue1);}
#faq .answer:first-letter{color: var(--color-blue1);}

#faq .quest{
	text-indent: -2.4em;
	padding-left:2.5em;
	padding-right:40px;
	font-size:16px;
	line-height:150%;
	text-align:left;
	font-weight: 500;
}

#faq .answer{
	text-indent: -2.2em;
	font-size:16px;
	text-align:left;
	padding: 25px 25px 25px 60px;
	line-height:180%;
}

#faq .answer a{
	color: var(--color-blue1);
	text-decoration: underline;
}

#faq .answer a:hover{
	color: var(--color-blue1);
	text-decoration: none;
}

/*-------------------------------------
アコーディオン設定
-------------------------------------*/


.table__list-check{
    display: none;
}
/*.table__list-label {
	padding: 5px 0 5px 0;
	width: 100%;
	position: relative;
	cursor: pointer;
}*/

/*　カラム見出し */
.table__list-label {
	width: 100%;
	display: block;
	padding: 15px 15px 20px 15px;
	color: var(--color-gray1);
	font-display: swap;
	position: relative;
	cursor: pointer;
	border-radius: 5px;
}


.table__list-label:after{
    content: '';
    display: block;
    line-height: 16px;
    padding: 0;
    position: absolute;
    right: 20px;
   top: 40%;
   transform: translateY(-40%);
    -webkit-transform: translateY(-40%);
    -ms-transform: translateY(-40%);
	border-bottom: solid 1px var(--color-blue1);
	border-right: solid 1px var(--color-blue1);
	width: 10px;
	height: 10px;
	transform: rotate(45deg);
}
.table__list-content {
	width: 100%;
    display: block;
    height: 0;
    opacity: 0;
	margin-top: 0px;
 	margin-bottom: 0px;
   padding: 0px 0 0px 0;
    transition: .5s;
    visibility: hidden;
}
.table__list-check:checked + .table__list-label:after{
    content: '×';
    position: absolute;
    right: 25px;
    top: 40%;
   transform: translateY(-35%);
    -webkit-transform: translateY(-35%);
    -ms-transform: translateY(-35%);
    font-size: 30px;
    line-height: 20px;
    font-weight: 200;
    color: var(--color-blue1);
	border-bottom: none;
	border-right: none;
}
.table__list-check:checked + .table__list-label + .table__list-content{
    height: auto;
    opacity: 1;
    padding: 0;
    visibility: visible;
}


/* # =================================================================
   # 料金
   # ================================================================= */

.price-bg{background-color:var(--color-gray4);}


table.price-tbl {
	border-collapse: collapse;
	width: 100%;
}
table.price-tbl th,
table.price-tbl td {
	padding: 15px;
	text-align: center;
	vertical-align:middle;
	border:solid 2px var(--color-blue1);
}
table.price-tbl th {
	width: 50%;
	background:var(--color-blue1);
	color:var(--color-white);
}

table.price-tbl td {
	background:var(--color-white);
}

table.price-tbl td span{font-size:20px;font-weight:700;}

.price-copy{
	font-size:14px;
	line-height:150%;
	padding-top:10px;
	text-align:left;
}

@media screen and (max-width:599px){
	table.price-tbl td {
		display: block;
		text-align: center;
	}
	.price-sub-title{font-size:16px;}
	table.price-tbl th {
		display: block;
		border-top: none;
		border-bottom: none;
		width: 100%;
	}
}


/* # =================================================================
   # 問い合わせ
   # ================================================================= */

.entry-bg{background-color:var(--color-blue2);}

.contact-title{
	font-size:28px;
	line-height:1.5;
	color:var(--color-blue1);
	text-align:left;
	font-weight:900;
	margin-bottom:20px;
}

.contact-title span{background: linear-gradient(transparent 50%, var(--color-yellow) 50%);}

.policy-box {
	border: solid 1px var(--color-gray3);
	padding: 20px;
	margin-top: 30px;
	margin-bottom: 50px;
}
.policy-box .scrollbox {
	overflow-y: scroll;
	height: 250px;
	padding-right: 30px;
}
.policy-box .scrollbox::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
.policy-box .scrollbox::-webkit-scrollbar-track {
	background: rgba(255,255,255,0.1);
	border-radius: 3px;
}
.policy-box .scrollbox::-webkit-scrollbar-thumb {
	background: var(--color-gray1);
	border-radius: 3px;
}

.policy-title{
	font-weight:700;
}



.hissu{
	display: inline-block;
	font-size:12px;
	background-color: var(--color-red);
	color:var(--color-white);
	padding:0 5px;
	border-radius: 5px;
	margin-left:5px;
}



table.form-tbl {
  border-collapse: collapse;
  width: 100%;
}
table.form-tbl th,
table.form-tbl td {
  padding: 10px;
  border: 1px solid var(--color-gray3);
  line-height:150%;
}
table.form-tbl th {
  background-color: var(--color-blue1);
  color: var(--color-white);
  text-align: center;
  vertical-align:middle;
  width: 30%;
}

table.form-tbl td {
  text-align: left;
  background-color: var(--color-white);
}

.copy-12{font-size:12px;}


.input{
	border:#eee 1px solid;
	color:var(--color-black);
	font-Size:16px;
	padding:10px;
}


select.area-select{
	font-size: 16px;
	padding:8px;
	margin:0 5px 0 5px;
}

.forbu{
	display:block;
	text-align:center;
	padding:10px;
	background-color: var(--color-yellow);
	border: 2px solid var(--color-blue1);
	color: var(--color-blue1);
	transition: all .5s;
	text-decoration:none;
	line-height:150%;
	border-radius: 35px;
	width:250px;
	margin-left:auto;
	margin-right:auto;
	font-size:18px;
	font-weight:700;
	box-shadow: 0 5px 5px 0 rgba(0, 0, 0, .5);
}

.forbu:hover{
	color: var(--color-white);
	background-color: var(--color-blue1);
	border: 2px solid var(--color-blue1);
	color: var(--color-yellow);
	text-decoration:none;
}

.formst {margin-top:0px; margin-bottom:0px;}



@media screen and (max-width: 768px) {
	.form-sns{width:100%;}
	
  table.form-tbl {
   border-top: 1px solid var(--color-gray4);
  }
  table.form-tbl td {
    display: block;
    text-align: left;
  }
  table.form-tbl th {
    display: block;
    border-top: none;
    border-bottom: none;
    width: 100%;
  }
}