@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
/*
Theme Name: yutorira
Theme URI:
Description:
Author:atGunGun
Author URI:https://at-gungun.com/
Version:7.7
*/
/*-----------------------------------------------------------
全体スタイル
-----------------------------------------------------------*/



body {
	/*width: 100% !important;
	color: #333;
	line-height: 1.6;
	overflow: hidden;
	font-size: 1.8rem;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	letter-spacing: 0.05em;
	background-size: 34.5%;
	font-family: "Noto Sans JP", Meiryo, sans-serif;*/
	width: 100% !important;
	color: #333;
	line-height: 1.6;
	overflow-x: hidden;
	overflow-y: auto;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	font-family: "Noto Sans JP", Meiryo, sans-serif;
}

body.open{
	height: 100vh;
}

.en{
font-family: "Noto Sans JP", sans-serif;
}


body:not(.home) {
    background-image: none !important;
}


/* color */
.white{
	color: #ffffff!important;
}
.blue{
	color: #24A5CB;
}
.red{
	color: red;
}
.green{
	color: #657E4C;
}
.yellow{
	color: yellow;
}
.black{
	color: #333;
}
.gray{
	color: #777777;
}

.bgwh{
	background: #ffffff;
}
.bgblu{
	background: linear-gradient(to right, #165888 , #172D6B);
}
.bgbla{
	background:#333;
}
.bgred{
	background: red;
}
.bggre{
	background: #657E4C;
}
.bgyel{
	background: yellow;
}

/*リンク表示方法*/

a {
	text-decoration: none;	
}

a:link {
	color: #333;
}

a:visited {
	color: #333;
}

a:active {
	color: #333;
}

a:hover {
	opacity: 0.7;
}

a:hover img {
	opacity: 1;
}

.hLogo a:hover{
	opacity: 1;
}

:has( > .lista){
	position: relative;
}

.lista{
	position: absolute;
	left: 0;
	top:0;
	width:100%;
	height:100%;
	z-index: 1;
}

a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}



.btn01{
	display: block;
	width: 90%;
	max-width: 265px;
	background: url(./img/common/btn_arrow.svg) 90% 50% no-repeat #d95e80;
	text-align: center;
	color: #fff!important;
	padding: 1.5% 2%;
	border-radius: 5px;
	font-size: 1.6rem;
}

.btn01:visited{
	color: #fff;
}

/*-----------------------------------------------------------
PCサイズ
-----------------------------------------------------------*/

.pc,.pc2 {
	display: block;
}

.sp,.sp2, .spTel {
	display: none;
}

.pcTel {
	display: inline;
}


/*-----------------------------------------------------------
header
-----------------------------------------------------------*/

header {
	padding: 18px 0;
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: fixed;
	left: 0;
	right: 0;
	z-index: 9999;
	transition: .4s;
	align-items: center;
}

header.headerScroll{
	    background: #ffe6ed;
	padding: 16px 0;
}


.article header{
	padding:16px 0;
	background: #ffe6ed;
}

/*.article header .hLogo,
header.headerScroll .hLogo{
	max-width: 226px;
	margin-top: 0;
	padding: 10px 0;
	width: 20%;
}*/




.hLogo{
	max-width: 150px;
    width: 10%;
    margin-left: 40px;
}


.logo a:hover img {
	opacity: 1;
}

.headerTel {
	margin: 0 0 0 0;
	padding: 0px 0 0;
	font-weight: 900;
}

.off_img{
	display:block;
}

.on_img{
	display:none;
}

.article .off_img,
.headerScroll .off_img{
	display:none;
}

.article .on_img,
.headerScroll .on_img{
	display:block;
}

/*-----------------------------------------------------------
テーブル共通
-----------------------------------------------------------*/

table {
	border-collapse: separate;
}



/*-----------------------------------------------------------
 nav
-----------------------------------------------------------*/

.pc_nav{
	width: 72%;
	display: flex;
	/* max-width: 881px; */
	align-items: center;
	justify-content: flex-end;
	margin: 10px 39px 0 0;
}

.nav_list1{
	display: flex;
	justify-content: flex-end;
	/* max-width: 421px; */
	/* width: 70%; */
}

.nav_list1 li {
	margin-left: 45px;
	text-align: center;
	font-size: 1.4rem;
}

.nav_list1 li  span{
	display: block;
	font-size: 1.2rem;
	color: #777;
	font-family: "EB Garamond", serif;
}

.nav_list1 li:first-child{
	margin:0;
}

.nav_list1 a {
	font-size: 1.4rem;
}

.headerScroll .nav_list1 a {
	color:#111111;
}

.sns_list{
	display:flex;
	justify-content:space-between;
	max-width: 40px;
	width: 9%;
	margin-left: auto;
	flex-direction: column;
	align-items: center;
	margin: 0 auto;
}

.sns_list li{
	/* width: 40%; */
	margin: 0 5px 16px;
}

.hd_link{
	display:flex;
	max-width:320px;
	width: 37%;
	margin-left: auto;
}

.hd_link_btn1{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	max-width:160px;
	width:100%;
	height:80px;
	font-size:1.4rem;
	font-weight: 500;
	line-height:2;
	transition: .4s;
}

.hd_link_btn1.bgwh:hover{
	background: #dadada;
	opacity:1;
}


/*-----------------------------------------------------------
#slide
-----------------------------------------------------------*/

#modal {
	display: none;
}

/*-----------------------------------------------------------
#cover
-----------------------------------------------------------*/

#cover {
	max-width: 1920px;
	width: 100%;
	margin: 10px auto 0;
	height: 90vh;
	display: flex;
	align-items: center;
	    justify-content: end;
	position: relative;
}

#cover .scrr{
	position: absolute;
	bottom: 0;
	left: 45px;
}

#cover .sns_list{
	
}

#cover .cov-div{
	    width: 84%;
    background: url(./img/top/dc_mv.png) right center no-repeat;
    background-size: 63vw;
    height: 90%;
    display: flex;
    align-items: center;
    margin-right: 70px;
    margin-top: 50px;
}


#cover h1{
	font-size: 6.8rem;
    font-weight: revert-layer;
    color: #da6080;
    background: #fff;
	    margin-bottom: 20px;
	    padding-right: 15px;
}

#cover .box span{
	font-size: 3.4rem;
	    background: #fff;
}

/*-----------------------------------------------------------
 #main
-----------------------------------------------------------*/


body {
    width: 100% !important;
    color: #333;
    font-family: "Noto Serif JP", serif;
    line-height: 1.6;
    overflow: hidden;
    font-size: 1.8rem;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    background: url(./img/common/header_bg.jpg) top right no-repeat;
    letter-spacing: 0.05em;
    background-size: 34.5%;
}




.ft32{
	font-weight: 600;
	font-size: clamp(2.4rem,4vw,3.2rem);
	line-height: 1.4375;
}

.ft30{
	font-weight: 600;
	font-size: clamp(2rem,2.2vw,3rem);
	line-height: 1.4375;
}

.ft24{
	font-weight: 600;
	font-size: clamp(1.8rem,2.4vw,2.4rem);
	line-height: 1.8;
}

#main {
	width: 100%;
	margin: 80px auto 0;
	position: relative;
}

.inner{
	width: 95%;
	max-width: 1470px;
	margin: 0 auto;
}

.mainTit{
	font-size: 3.2rem;
	line-height: 1;
	font-weight: 600;
	font-size: clamp(2.4rem,4vw,3.2rem);
	color: #da5e7f;
}

.mainTit span{
	display: block;
	font-size: 1.8rem;
	color: #777;
	margin: 0 0 20px 0;
	display: none;
}

.mainTit2{
	font-size: 1.8rem;
	line-height: 1;
	font-weight:500;
	font-size: clamp(1.6rem,4vw,1.8rem);
}

.mainTit2 span{

}



/* 画像調整 */
.mv_copy img {
      display: block;
    max-width: 39%;
    height: auto;
    margin-bottom: 20px;
}

.subTit{
	font-size: 2.4rem;
	line-height:1.2;
	font-weight:700;
	font-size: clamp(2rem,4vw,2.4rem);
}

.content01{
	margin: 0 0 80px 0;
	background: #777 right center;
	background-size: 90%;
	background: linear-gradient(  450deg,  #Ffff 0%,  #F7F6F2 80%,  #F7F6F2 50%,  #F7F6F2 100%);
	padding: 100px 0;
	margin-top: 150px;
	    margin-bottom: 30px;
}

.content01 .inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.content01 ul{
	width: 98%;
	max-width:1840px;
	margin:0 auto;
}

.content02 {
    background: url(./img/top/content02_bg.jpg);
    padding: 120px 0;
}

.content01 .news_list1 li {
    width: 18.261%;
    margin-right: 2.17375%;
}

.content01 .news_list1 li:last-child {
    margin-right: 0;
}

.content01 .news_list1 li .img{
	height: 15vw;
}

.content02{
	padding: 120px 0;
}

.content02 .mainTit{
	text-align: center;
	line-height: 1.4;
}

.content02 h3{
	text-align: center;
	font-size: 2.4rem;
	font-weight: 500;
	margin: 10px 0 50px;
}

.content02 .box{
	background: #fff;
	padding: 5%;
	line-height: 2;
	box-shadow: 0 0 10px #0000002b;
}

.content02 .box p span{
	color: #ED83A7;
}

.content03{
	padding: 160px 0 0;
}

.content03 .list{
	width: 100%;
	margin: 0 0 10% auto;
	display: flex;
	align-items: center;
}

.content03 .list:nth-of-type(2n){
	flex-direction: row-reverse;
	margin: 0 auto 200px 0;
}

.content03 .list .img{width: 45%;position: relative;}



.sld_txt {
	text-align: center;
	}


.cls_name {
	margin: 10px 0;
}

.tish {
	display: inline-block;
	    border: 2px solid #d95f80;
	border-radius: 20px;
	padding: 3px 35px;
	margin-right: 30px;
}

.ti_flex {
	display: flex;
	justify-content: center;
}


.ti_flex p {
	font-size: 16px;
}

.content03 .list .box{
	width: 55%;
}

.content03 .list .tit{
    border-bottom: 3px solid #d95f80;
	padding: 36px 10%;
	position: relative;
}

.content03 .list .txt{
	position: relative;
}



.content03 .list.num02 .txt:after{
	background:#ED83A7;
	left: 0;
}



.content03 .list.num04 .txt:after{
	left: 0;
}


.content03 .list .tit span{
	    display: block;
    font-size: 7rem;
    color: #505050;
    font-weight: 500;
}
.content03 .list .tit h2{
	font-size: 3.2rem;
	color: #da5f80;
	font-weight: bold;
}





.content03 .list .txt{
	margin-left: 10%;
	font-size: 1.6rem;
	display: flex;
	flex-direction: column;
}

.content03 .list .txt a{
	margin-top: 80px;
	padding: 19px 2%;
}

.content03 .list:nth-of-type(2n) .txt{
	margin-right: 10%;
	font-size: 1.6rem;
	/* margin: 0 auto 0 0; */
	display: flex;
	flex-direction: column;
	max-width: 600px;
	margin: 0 0 0 auto;
	margin-right: 10%;
}

.content03 .list:nth-of-type(2n) .tit h2{
	margin: 0 0 0 auto;
}

.content03 .list.num02 .tit h2{
	color: #da5f80;
}

.content03 .list.num03 .tit h2{
	color: #da5f80;
}

.content03 .list.num04 .tit h2{
	color: #da5f80;
}

.content03 .list .txt p{
	margin: 55px 0 0 0;
	line-height: 2;
	/* max-width: 490px; */
}

.content03 .list.num04 table{
	background: #F7F6F2;
	width: 100%;
	max-width: 490px;
	padding: 0;
	font-size: 1.6rem;
	padding: 5%;
	margin: 30px 0 0 0;
}

.content03 .list.num04 tr:first-child th,.content03 .list.num04 tr:first-child td{
	border: none;
	padding: 0 0 15px 0;
}

.content03 .list.num04 th{
	background: none;
	text-align: left;
	padding: 20px 0 0;
	border-top: 1px solid #ccc;
}

.content03 .list.num04 th img{
	
margin: 0 10px 0 0;
}

.content03 .list.num04 td{
	background: none;
	border-top: 1px solid #ccc;
	padding: 20px 0 0;
}

.content03 .list  .btn01{
	background-color: #da5f80;
}

.content03 .list.num02  .btn01{
	background-color: #da5f80;
	margin: 55px auto 0 0;
}

.content03 .list.num03  .btn01{
	background-color: #da5f80;
}

.content03 .list.num04  .btn01{
	background-color: #da5f80;
	margin: 55px auto 0 0;
}

.instaArea{
	position: relative;
	padding: 100px 0;
}

.instaArea:before{
	content: "";
	display: block;
	position: absolute;
	background:#F7F6F2;
	width: 90%;
	height: 100%;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: -1;
	top: 0;
	max-width: 880px;
}

.instaArea .mainTit{
	text-align: center;
	font-weight: 100;
}

.instaArea .mainTit p{
	font-size: 1.6rem;
	font-weight:500;
	color: #333333;
	margin: 50px 0 56px;
	line-height: 1.8;
}

.instaArea ul{
	display: flex;
	justify-content: space-between;
	margin: 50px 0;
}

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

footer {
	margin: 0px auto 0;
	padding: 0px 0 0;
	font-size: 1.4rem;
}

footer .fnav ul{
	display: flex;
	justify-content: space-between;
	width: 90%;
	max-width: 1080px;
	margin: 25px auto;
	    margin-top: 155px;
}

footer li  span{
	display: block;
	font-size: 1.2rem;
	color: #d95f80;
	font-family: "EB Garamond", serif;
}


footer a {
	display: block;
	text-decoration: none;
	font-size: 1.4rem;
	color:#333;
}


footer .logo {
	width: 180px;
	margin: 0 auto;
}

footer .box{
	background: #F7F6F2;
}

footer .inner {
	padding: 50px 0 0;
	text-align: center;
}

footer ul {
	margin: 30px 0 0;
}

footer ul + ul {
	margin: 5px 0 0;
}

footer ul li {margin: 0 20px;}

footer ul li a {
	border-left: 1px solid #fff;
	text-align: center;
}
footer .aicon{
	display: flex;
	justify-content: center;
}

footer .add{
	margin: 21px 0;
}

footer .add p{
	margin: 0 0 11px 0;
}

footer .add .tel{
	font-weight: 600;
	font-size: 1.8rem;
	background: url(./img/common/f_tel.svg) 0% 50% no-repeat;
	background-size: contain;
	padding: 0px 0 4px 35px;
}

footer .aicon a{
	margin: 0 10px;
}

.copyright {
	/* background: #333; */
	color: #777777;
	text-align: center;
	padding: 15px 0;
	width: 100%;
	border-top: 1px solid #ccc;
	margin: 50px 0 0 0;
}

/* 全ページ共通クラス
----------------------------------------------------------- */

/*--- パンくず ---*/

.pankuzu {
    width: 95%;
    margin: 0 auto;
    font-size: 14px;
    padding: 24px 0 0px;
    max-width: 1080px;
}

.pankuzu li {
    margin: 0 0 0 10px;
    display: inline;
}

.pankuzu li:first-child {
    margin: 0;
}

.pankuzu li a {
    margin: 0 10px 0 0;
}

/*--- ページトップ ---*/
#pageTop {
	position: fixed;
	bottom: 200px;
	right: 25px;
	z-index: 9999;
}


/* -- お問い合わせ -- */

input {
	vertical-align: middle;
}

.btnBox1 {
	text-align: center;
}

.contact_cf .clearForm,.contact_cf .clearForm2 {
	padding: 10px 5px;
}

.choose_list1 > li {
	width: 200px;
	margin: 0 0 0 10px;
	float: left;
}

.choose_list1 > li:first-child {
	margin: 0;
}

.choose_list1 {
	width: 410px;
	margin: 20px auto;
}

.contact_tb td span {
	margin: 9px 0 0;
	display: block;
}

.clearForm,
.clearForm2,
.toHome {
	width: 200px;
	padding: 15px 5px;
	cursor: pointer;
	outline: 0;
	background: #555;
	color: #fff !important;
	font-size: 100%;
	border: none;
	font-weight: bold;
	transition: .2s;
	-moz-transition: .2s;
	-webkit-transition: .2s;
}

.clearForm:hover,
.clearForm2:hover,
.toHome:hover {
	background: #777;
	color: #FFF;
}

.toHome {
	margin: 50px auto 0 !important;
	text-decoration: none;
	display: block;
	text-align: center;
}


#zip1, #zip2 {
	width: 150px;
}

#city, #pref, #add {
	width: 580px;
	margin: 2px 0 0 10px;
}

#add {
    margin: 2px 0 0 40px;
}

textarea {
	padding: 10px 5px;
	height: 250px;
}

input,
textarea,
button,
select,
option {
	outline: none;
}

input[type="text"],
input[type="email"],
input[type="tel"],
select{
	height: 60px;
	padding: 5px;
	width: 100%;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select,
option {
	border: 1px solid #CCC;
}

button {
	border: none;
	outline: none;
	background: none;
}

.form_notice1 {
	font-size: 85.714%;
	display: block;
	margin: 5px 0 0;
}

.form_notice2 {
	font-size: 87.5%;
}

.modification_wrap {
	overflow: hidden;
}

.modification {
	width: 221px;
	float: left;
	margin: 0 0 0 246px;
}

.send_bt {
	width: 221px;
	float: right;
	margin: 0 245px 0 0;
}

.error_style {
	color: #FF0000;
	display: block;
	margin: 8px 0 0;
}

.contact_tb {
	width: 1000px;
	margin: 0 auto;
}

.contact_tb th {
	width: 250px;
	text-align: left;
	position: relative;
	line-height: 1.4;
}

.contact_tb th, .contact_tb td {
	padding: 13px 10px 10px 20px;
	font-size: 15px;
	border-bottom: 1px solid #ccc;
	position: relative;
}

.contact_tb th em {
	background: #F00;
	color: #FFFFFF;
	padding: 2px 5px;
	margin-left: 5px;
	right: 10px;
	font-size: 85.714%;
}


/*-- エラーチェック --*/

.formError {
	top: 20px !important;
	left: 40px !important;
}

.zip2formError {
	left: 220px !important;
}

.prefformError, .cityformError, .addformError {
	top: 0 !important;
	left: 80px !important;
}

.zip1 label {
	position: relative;
}


/*-- 送信前ダイアログ --*/

.ui-dialog {
    margin: auto;
    position: absolute;
    left: 0 !important;
    right: 0 !important;
}

.ui-corner-all.ui-button-text-only:focus {
	color: #737373;
    background: #fff;
    outline: none;
    border-color: #ccc;
}

.ui-corner-all.ui-button-text-only:hover {
    color: #fff;
    background: #555;
    outline: none;
    border-color: #ccc;
    transition: .3s;
}

.ui-widget-header {
    background: #555 !important;
    border-color: #555 !important;
}

.ui-dialog .ui-dialog-content,
.ui-button-text-only .ui-button-text {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif !important;
}


/* TOP
----------------------------------------------------------- */

/*-- メインヴィジュアル スライダー --*/

.bx-wrapper {
	margin: 0 0 20px !important;
	position: relative;
}

.bx-controls-direction {
	width: 100%;
	position: absolute;
	top: 50%;
}

.bx-controls-direction a {
	width: 32px;
	height: 32px;
	margin: -16px 0 0;
	position: absolute;
	top: 50%;
	z-index: 9999;
	outline: 0;
	text-indent: -9999px;
}

.bx-prev {
	left: 1% !important;
	background: url(././img/prev.png) no-repeat 0 0;
	background-size: contain;
}

.bx-next {
	right: 1% !important;
	background: url(././img/next.png) no-repeat 100% 0;
	background-size: contain;
}


/*-- スクロールバーデザイン --*/

.scroll-pane {
	width: 100% !important;
	height: 300px; /*箱の高さ*/
	margin: 40px auto 0;
	overflow-y: auto;
}

.scroll-pane:focus {
	outline: none;
}

.jspContainer {
	width: 100% !important;
	overflow: hidden;
	position: relative;
}

.jspPane {
	width: 100% !important;
	position: absolute;
}

.jspVerticalBar {
	width: 20px;
	position: absolute;
	top: 0;
	right: -5px;
}

.jspArrowUp, .jspArrowDown {
	margin : 0;
	padding: 0;
	display: block;
	cursor : pointer;
	/* background: url(./img/scroll_top.png) no-repeat center; */
}

.jspArrowDown {
	background: url(./img/scroll_bottom.png) no-repeat center;
}

.jspTrack {
	/* background: url(././img/scroll_bg1.png) repeat-y; */
	position: relative;
	background-position: center;
}

.jspDrag {
	width: 4px;
	margin: 0 auto;
	background: #6b6b6b;
	position: relative;
	cursor: pointer;
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
}

.jspArrow.jspDisabled {
	cursor: default;
}

.jspVerticalBar .jspArrow {
	height: 20px;
}

.jspVerticalBar .jspArrow:focus {
	outline: none;
}




/*-----------------------------------------------------------
 中ページ
-----------------------------------------------------------*/

.leadTxt {
	margin: 30px auto 0;
	padding: 20px;
	background: #ccc;
}



/* プライバシーポリシー
----------------------------------------------------------- */

.privacy dl {
	margin: 30px 0 0;
}

.privacy dt {
	margin: 20px 0 0;
	padding: 0 5px;
	display: inline-block;
	font-weight: bold;
	border-bottom: 2px solid #ccc;
}

.privacy dt:first-child {
	margin: 0;
}

.privacy dd {
	font-size: 14px;
	margin: 10px 10px 0;
}


/* 会社概要
----------------------------------------------------------- */

.company table {
	width: 1000px;
	margin: 30px auto 0;
}

.company th {
	width: 170px;
	padding: 10px 10px 10px 20px;
	border-bottom: 1px solid #fff;
}

.company td {
	width: 470px;
	padding: 10px 10px 10px 20px;
	border-bottom: 1px solid #fff;
}

.company iframe {
	width: 1000px;
	height: 280px;
	margin: 30px auto 0;
}


/* wordpress 記事 */
.detail_area img{
	margin-bottom:40px;
	height: revert-layer;
	width: revert-layer;
}

.detail_area p{
	margin-bottom:24px;
	font-size: clamp(1.5rem,2.3vw,1.6rem);
	line-height:1.8;
	letter-spacing:0.05em;
}

.detail_area h2{
	margin-bottom:24px;
	font-size: clamp(2.4rem,3vw,3.2rem);
	line-height:1.8;
	letter-spacing:0.05em;
}

.detail_area h3{
	margin-bottom:24px;
	font-size: clamp(1.8rem,2.3vw,2.4rem);
	line-height:1.8;
	letter-spacing:0.05em;
}

.detail_area h4{
	margin-bottom:24px;
	font-size: clamp(1.6rem,2.3vw,1.8rem);
	line-height:1.8;
	letter-spacing:0.05em;
}

/* company */

#cover2{
	max-width: 1600px;
    margin: 0 auto;
    height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 150px;
}

.studio #cover2{
	background:url(./img/studio/mv.jpg)no-repeat center;
	background-size:cover;
}

.news #cover2{
	background:url(./img/news/mv.jpg)no-repeat center;
	background-size:cover;
}

.system #cover2{
	background:url(./img/system/mv.jpg)no-repeat center;
	background-size:cover;
}

.class #cover2{
	background:url(./img/class/mv.jpg)no-repeat center;
	background-size:cover;
}

#cover2 .title{
	font-weight: 600;
	font-size: clamp(2.4rem,4vw,3.2rem);
	line-height: 1.4375;
	text-align:center;
	    color: #fff;
}

#cover2 .title span{
	font-size: clamp(1.6rem,2.3vw,1.8rem);
	display:block;
	line-height:1.27778;
	margin-top:8px;
	font-weight:400;
	display:none;
}

.ma1920{
	max-width:1920px;
	width:100%;
	margin:0 auto;
	position:relative;
}

.comp01{
	
}

.comp01 .mainTit{
	text-align:center;
	margin-bottom:64px;
}

.comp01_div{
	background:#F7F6F2;
	padding:80px 1%;
	text-align:center;
	margin-bottom: 120px;
}

.comp01_div .text{
	margin-top:16px;
	line-height:2;
}

.comp01_div1{
	display:flex;
	max-width:1840px;
	margin:0 auto;
	width:98%;
}

.comp01_div1.right{
	justify-content:flex-end;
	margin-bottom:120px;
}

.comp01_div1.left{
	justify-content:flex-start
}

.comp01_div1 .text_area{
	max-width:616px;
	width: 49%;
}

.comp01_div1 .img{
	max-width:848px;
	width: 49%;
}


.comp01_div1.right .text_area .title_area1{
	padding-right: 11.69%;
}

.comp01_div1.left .text_area .title_area1{
	padding-left: 11.69%;
}

.title_area1{
	padding-bottom: 40px;
	margin-bottom: 40px;
	border-bottom:1px solid #CCCCCC;
	position:relative;
}

.title_area1:before{
	position:absolute;
	content:"";
	width:65px;
	height:1px;
	bottom:-1px;
	left:0;
	background:#657E4C;
}

.comp01_div1.left .title_area1:before{
	left:11.69%;
}

.comp01_div1 .text_area .text{
	line-height:2;
}

.comp01_div1.right .text_area .text{
	padding-right: 11.69%;
}

.comp01_div1.left .text_area .text{
	padding-left: 11.69%;
}


.comp02{
	padding:120px 0 60px;
}

.comp02_div{
	padding: 7.408% 9.63%;
	background:#fff;
	box-shadow:0 0 10px #00000029;
}

.comp02 .mainTit{
	display:flex;
	align-items:center;
	margin-bottom: 16px;
}

.comp02 .mainTit span{
	margin-left: 24px;
	margin-bottom: 0;
}

.comp02_list li{
	display:flex;
	align-items:baseline;
	border-bottom:1px solid #CCCCCC;
	padding:24px 0;
	font-size: 1.6rem;
}

.comp02_list li > .left{
	font-weight:600;
	flex-shrink:0;
	width: 21.332%;
}

.comp02_list li > .right{
	width:79%;
}

.comp03{
	padding:60px 0;
}

.comp03 .mainTit{
	text-align:center;
}

.map{
	width:100%;
	height:480px;
}

.map iframe{
	width:100%;
	height:100%;
	margin: 0;
}

.comp03_list1{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	margin-top:23px;
}


.comp03_list1 > li{
	width:32%;
	margin-top:41px;
	max-width:336px;
	background:#F7F6F2;
	position:relative;
	padding-bottom:96px;
}

.comp03_list1 li .img{
	position:relative;
}

.comp03_list1 li .ab_text{
	position:absolute;
	top:0;
	left:0;
	padding:4px 16px;
	font-size:1.4rem;
}
	
.comp03_list1 li .text_area{
	padding: 16px 4.7665% 0;
}

.comp03_list1 li .text_area .title{
	
}

.comp03_list1 li .text_area .tel{
	display:flex;
	align-items:center;
	margin-top: 8px;
	font-weight:600;
}

.comp03_list1 li .text_area .tel img{
	margin-right:8px;
}

.comp03_list2{
	position:absolute;
	bottom:16px;
	width:calc(100% - 32px);
	left:0;
	right:0;
	margin:0 auto;
}

.comp03_list2 > li{
	display:flex;
	justify-content:space-between;
	border-bottom:1px solid #CCCCCC;
	padding:8px 0;
	font-size:1.4rem;
}

.comp03_list2 > li:last-child{
	border-bottom:none;
	padding:8px 0 0;
}

.comp03_list2 > li .left{
	flex-shrink:0;
}

.comp03_list2 > li .right{
	
}

.comp03_list1 li .inst{
	margin-top:16px;
	display: block;
}

/* news */


.news01{
	padding: 0 0 160px;
}


/*.news_flex{
	display:flex;
	justify-content:space-between;
	flex-wrap: wrap;
}*/


/*.news_flex .main_cont{
    width: 73%;
    max-width: 704px;
}*/

.news_flex .side_nav{
    max-width: 264px;
    width: 25%;
	
}

.news_list2 li{
	display:flex;
	position:relative;
	    border-bottom: 3px solid #DA5F80;
    padding: 100px 0;
}

.news_list2 li:first-child{
    padding-top: 0px;
}


.news_list2 li:hover{
	opacity:0.7;
}

.news_list2 li .img{
	width: 45%;
	/*height: 17.436vw;
	max-height: 177px;*/
	margin-right: 10%;
}

.news_list2 li .img img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.news_list2 li .text_area{
	width: 60%;
}


.news_list2 li .date{
	line-height: 1.42857;
	font-size: 1.4rem;
	margin: 8px 0;
	display: none;
}

.news_cate{
	font-size:1.4rem;
	line-height: 1.8;
	padding: 1.4px 16px;
	color: #fff;
	display:flex;
	align-items:center;
	justify-content:center;
	background: #657E4C;
	max-width: max-content;
}



.news_list2 li .text_area .title{
	font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 10px;
    border-bottom: 2px solid #d95f80;
    padding-bottom: 5px;
}

.news_list2 li .text_area .text{
	  display: -webkit-box;
	  -webkit-box-orient: vertical;
	  -webkit-line-clamp: 2;
	  overflow: hidden;
	  font-size:1.4rem;
	  line-height:1.8;
	  margin-bottom: 6px;
}

.news_list2 li .text_area .text2{
	font-size:1.4rem;
	text-align:right;
	position:relative;
	font-weight: 400;
	    color: #000;
}

/*.news_list2 li .text_area .text2:before{
	position:absolute;
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 8px solid #657e4c;
	border-right: 0;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
}*/

.side_div1{
	width:100%;
	margin-bottom: 40px;
}

.side_div1:last-child{
    margin-bottom: 0px;
}

.side_div1 .title{
	padding: 0 0 8px 8px;
	border-left: 8px solid #657E4C;
	border-bottom: 1px solid #657E4C;
	font-weight: 600;
	line-height: 1.6;
}

.cate_list1 li{
	width: 100%;
	padding: 24px 0;
	border-bottom: 1px solid #CCCCCC;
	font-size: 1.6rem;
}


.cate_list1 li:last-child{
	border:none;
}


.pagination-list{
	display:flex;
	margin: 120px auto 0;
	justify-content: center;
	width: 100%;
}

.pagination-list .page-numbers{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	width: 63px;
	height: 62px;
	background: #fff;
	border: 1px solid #E3E3E3;
	margin: 0 0.2%;
	transition:.4s;
	font-weight: 500;
	text-decoration: none;
	color: #333333;
	border-radius:5px;
}


.pagination-list .page-numbers.prev{
	background:#fff;
	margin: 0px 3% 0 0;
	position:relative;
}

.pagination-list .page-numbers.next{
	background:#fff;
	margin: 0px 0% 0 3%;
	position:relative;
}

.pagination-list .page-numbers.prev:before,
.pagination-list .page-numbers.next:before{
	content: '';
	width:6px;
	height: 6px;
	border-top: solid 2px #333333;
	border-right: solid 2px #333333;
	position: absolute;
	left: 0px;
	top:0px;
	transform: rotate(-135deg);
	right:0;
	bottom:0;
	margin:auto;
}

.pagination-list .page-numbers.next:before{
	transform: rotate(45deg);
}


.pagination-list .page-numbers.prev:hover,
.pagination-list .page-numbers.next:hover{
	background: #657E4C;
}

.pagination-list .page-numbers.prev:hover:before{
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
}

.pagination-list .page-numbers.next:hover:before{
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
}

.pagination-list .page-numbers.current,
.pagination-list .page-numbers:hover{
	background: #657E4C;
	color:#fff;
	opacity:1;
	border: 1px solid #657E4C;
}

.news_flex .main_cont .title_area {
	padding-bottom: 10px;
    margin-bottom: 20px;
    border-bottom: 3px solid #d95f80;
}

.news_flex .main_cont .title_area .date{margin-bottom: 16px;color: #777777;font-size: 1.4rem;line-height: 1.42857; display:none; }

.news_flex .main_cont .title_area .title{
	font-size: clamp(2rem,3vw,2.4rem);
	font-weight: 600;
	line-height: 1.8;
	margin-top: 16px;
	letter-spacing: 0.05em;
}

.news02 .datecate{
	display:flex;
	align-items:center;
	margin-bottom: 24px;
}

.news02 .datecate .date{
	line-height:1.5;
	margin-right:16px;
}

.news02 .datecate .cate{
	font-size:1.4rem;
	line-height:1.42857;
	padding:4px 16px;
	border:1px solid;
	color:#657E4C;
	border-radius:14px;
	min-width:134px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.btn_area{
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	margin: 80px auto 0;
}

.btn_area .btn2{
	margin:0 5%;
}

.btn_area .prev{
	margin-right:2%;
	position:relative;
	padding-left:24px;
	font-weight: 400;
	font-size: 1.6rem;
}

.btn_area .prev:before{
	position: absolute;
	content: "";
	width: 13px;
	height: 4px;
	background: url(./img/news/back.svg) no-repeat;
	left: 0px;
	top: 0;
	bottom: 0;
	background-size: contain;
	margin: auto;
}

.btn_area .next{
	margin-left:2%;
	position:relative;
	padding-right:24px;
	font-weight: 400;
	font-size: 1.6rem;
}

.btn_area .next:before{
	position: absolute;
	content: "";
	width: 13px;
	height: 4px;
	background: url(./img/news/next.svg) no-repeat;
	right: 0px;
	top: 0;
	bottom: 0;
	background-size: contain;
	margin: auto;
}

/* rental */

.rent01{
	padding:0 0 60px;
}

.rent01 .mainTit{
	text-align:center;
	margin-bottom:80px
}

.rent01_div{
	display:flex;
	background:#F7F6F2;
	justify-content:space-between;
	align-items:center;
}

.rent01_div .text_area{
	max-width: 728px;
	width: 68%;
	margin: 0 auto;
	padding: 16px 0;
}

.rent01_div .img{
	max-width:298px;
	width: 28%;
}

.rent01_div .text_area .title{
	display:flex;
	align-items:center;
	padding-bottom: 24px;
	margin-bottom: 24px;
	border-bottom: 1px solid #CCCCCC;
	font-weight: 700;
}

.rent01_div .text_area .title img{
	width:67px;
	margin-right:2%;
}

.rent01_div .text_area .text{
	font-size:clamp(1.6rem,2vw,2.2rem);
	font-weight:400;
	line-height:1.8;
}


.rent02{
	padding:60px 0 120px;
}


.rent02 .mainTit{
	text-align:center;
}

.news_list1{
	display:flex;
	margin-bottom:56px;
}

.news_list1 li{
	width: 31.112%;
	margin-right: 3.332%;
	margin-top: 56px;
}


.news_list1 li:hover{
	opacity:0.7;
}

.news_list1 li:last-child{
	margin-right: 0;
}

.news_list1 li .img{
	width:100%;
	height: 23vw;
	max-height:256px;
	position:relative;
	margin-bottom: 16px;
}

.news_list1 li .img img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.news_list1 li .img .ab_text{
	position: absolute;
	left: 0;
	top: 0;
	background: #d95f80;
	color: #fff;
	font-size: 1.4rem;
	height: 28px;
	line-height: 1;
	padding: 0 16px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.news_list1 li .date{
	font-size:1.4rem;
	line-height:1.42857;
}

.news_list1 li .title{
	font-size:1.6rem;
	line-height:1.8;
	letter-spacing:0.05em;
	font-weight:400;
	margin-top:8px;
}

.rent02 .btn01{
	margin:0 auto;
}

.rent03{
	position:relative;
}

.rent03 .ma1920{
	padding:117px 0 268px;
	position:relative;
}


.rent03:before{
	position:absolute;
	content:"";
	width:100%;
	height:943px;
	background:url(./img/rental/bg3.jpg)no-repeat top center;
	background-size:contain;
	left:0;
	top:0;
	z-index:-1;
}

.rent03 .title1{
	left:0;
	right:0;
	margin:0 auto;
	bottom:52px;
	position:absolute;
	font-size: clamp(7.2rem,16.6vw,31.7rem);
	font-weight:400;
	line-height:413px;
	color:#EDEDED;
	z-index:-1;
	text-align:center;
}

.rent03_div{
	    background: #fff;
    padding: 50px 9.6% 76px;
    border-top: 8px solid #d65d80;
    border-bottom: 8px solid #d55c80;
    box-shadow: 0 0 10px #00000029;
}

.rent03_list li{
	margin-bottom:60px;
}

.rent03_list li .title{
	padding-bottom:14px;
	margin-bottom:20px;
	border-bottom:1px solid #CCCCCC;
	position:relative;
}

.rent03_list li .title:before{
	position:absolute;
	content:"";
	width:92px;
	height:1px;
	background:#657E4C;
	bottom:-1px;
	left:0;
}

.rent03_list li .text{
	line-height:2;
}

.rent01_div1{
	background:#F7F6F2;
	margin-top:41px;
	line-height: 2;
	padding: 3% 5%;
}

.rent03 .inner{
	width: 58%;
}

.rent03_div .img{
	position:absolute;
	max-width:467px;
	width: 25%;
	box-shadow: 5px 8px 23px #00000040;
}

.rent03_div .img1{
	right:0;
	top: 28%;
}

.rent03_div .img2{
	left:0;
	bottom: 37%;
}

.rent03_div .img3{
	right:0;
	bottom: 14.2%;
}

.nonews{
	margin:32px auto;
	text-align:center;
}

/*-- 固定ここまで --*/



/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width: 1921px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
	


/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1921px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


	
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

	
.rent03 .inner{
	width: 70%;
}

.rent03_div .img{
	width: 17%;
}

.rent03_div {
    padding: 45px 5% 55px;
}

.rent03_list li .text{
	font-size:1.6rem;
}

.rent01_div1 {
    padding: 3% 5%;
	font-size:1.6rem;
}
	
.content03 .list {
    gap: 40px;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1400px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */



/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.content03 .list .img{width: 55%;position: relative;}
	
.content03 .list .box{
	width: 50%;
	margin: 20px 0 0 0;
}
	

.content03 .list .tit span{
	font-size: 1.2rem;
	margin: 0;
}

.content03 .list .tit{
	border-bottom:1px solid #ccc;
	padding: 20px 10%;
	position: relative;
}

	.content03 .list .img::after {
		font-size: 100px;
	}
	
	.content03 .list {
		height: 340px;
}
	
	.content03 .list .txt p {
    line-height: 1.6;
    margin: 20px 0;
}
	
	.content03 .list.num02 .btn01 {
    margin: 0px auto 0 0;
}
	
	
	.content03 .list.num04 .btn01 {
    margin: 0px auto 0 0;
}
	
	.content03 .list {
    margin-bottom: 80px;
}
	
	.con3_ttl {
    margin-bottom: 50px;
}
	
	.content03 {
    padding: 80px 50px 0;
}
	
	.flow-contact {
    max-width: 650px;
    margin-top: 80px;
    margin-bottom: 100px;
}
	
.content03 .list .txt p{
	margin: 20px 0 0 0;
	line-height: 2;
	font-size: 1.4rem;
}

.content03 .list .txt a{
	margin-top: 0px;
	padding: 20px 2%;
}

.content03 .list:nth-of-type(2n) .txt{
	margin-right: 10%;
	font-size: 1.4rem;
	/* margin: 0 auto 0 0; */
	display: flex;
	flex-direction: column;
	max-width: 490px;
	margin: 0 5%;
}

/*#cover .cov-div{
	width: 95%;
	background-size: 80vw;
	height: 90%;
	display: flex;
	align-items: center;
	margin: 75px 0 0 0;
}*/

.content01 .news_list1 li {
    width: 19.5%;
    margin-right: 0.625%;
}

.content01 .news_list1 li .img{
	height: 15vw;
}
	
	
.content03 .list .txt {
    margin-left: 6%;
	padding-left: 5%;
}
	
	
.btn_cl {
    margin-top: 0px!important;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 1200px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
	
	
		


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */


/*-----------------------------------------------------------
全体スタイル
-----------------------------------------------------------*/

img {
	width: auto;
	max-width: 100%;
	height: auto;
}



/*-----------------------------------------------------------
header
-----------------------------------------------------------*/

header {
        align-items: center;
	}


.headerAdd {
	width: 45%;
	margin: 0 0 0 1%;
	font-size: 90%;
}

.headerTel {
	height: auto;
	margin: 0 0 0 0%;
}






/* 全ページ共通クラス
----------------------------------------------------------- */


/* トップページ
----------------------------------------------------------- */
.nav_list1 a {
	font-size: 1.2rem;
}

	
#cover {
	max-width: 1920px;
	width: 100%;
	margin: 50px auto 0;
	height: 42vh;
	display: flex;
	align-items: center;
	position: relative;
}
	

#cover h1{
	font-size: 4.2rem;
	font-weight: 400;
}


#cover .cov-div{
	width: 95%;
	background-size: cover;
	height: 90%;
	display: flex;
	align-items: center;
	margin: 9px 0 0 0;
}


	
.hLogo{
	max-width: 226px;
	margin-left: 2%;
}

.pc_nav{
	margin: 15px 2% 0 0;
}

.nav_list1 li {
	margin-left: 35px;
	text-align: center;
	font-size: 1.4rem;
}

.nav_list1 li  span{
	display: block;
	font-size: 1rem;
	color: #777;
	font-family: "EB Garamond", serif;
}

	
	#cover .box span {
            font-size: 2.4rem;
        padding: 2px 10px;
}
	
	#main {
		margin: 50px auto 0;
	}
	
	.content02 {
    padding: 0px 0;
}


	
	
/* 中ページ
----------------------------------------------------------- */

.leadTxt {
	padding: 20px 2%;
	font-size: 100%;
}

.privacy dt {
	padding: 0 1%;
}

.privacy dd {
	margin: 10px 2%;
}

.company table {
	width: 100%;
}

.company th {
	width: 30%;
	padding: 10px 2%;
	border-bottom: 1px solid #fff;
}

.company td {
	padding: 10px 2%;
	border-bottom: 1px solid #fff;
}

.company iframe {
	width: 100%;
}

.listUl {
	width: 100%;
	margin: 30px auto 0;
}

.listUl li {
	width: 31.3%;
	margin: 0 1%;
}


/*-- お問い合わせ --*/

.clearForm,
.clearForm2 {
	width: 96%;
	padding: 15px 2%;
}

.contact_tb {
	width: 98%;
}

.contact_tb th {
	width: 30%;
	padding: 13px 2% 10px;
	font-size: 80%;
}

.contact_tb td {
	padding: 13px 2% 10px;
	font-size: 80%;
}

.contact_cf .clearForm,.contact_cf .clearForm2 {
	padding: 10px 5px;
}

.choose_list1 > li {
	width: 48%;
	margin: 0 0 0 2%;
}

.choose_list1 > li:first-child {
	margin: 0;
}

.choose_list1 {
	width: 60%;
	margin: 20px auto;
}

#zip1, #zip2 {
	width: 40%;
}

#city, #pref {
	width: 86%;
	margin: 2px 0 0 2%;
}

#add {
	width: 86%;
	margin: 2px 0 0 6.3%;
}

/*-- エラーチェック --*/

.formError {
	top: 20px !important;
	left: 10% !important;
}

.zip2formError {
	left: 54% !important;
}

.prefformError, .cityformError, .addformError {
	top: 30px !important;
	left: 10% !important;
}

.ui-dialog {
	width: 80% !important;
}

.content03 .list .tit h2{
	font-size: 2.3vw !important;
	font-weight: 500;
	background-size: contain!important;
	padding: 0 0 0 0vw  !important;
}

.content03 .list .tit{
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	padding: 20px 5%;
	position: relative;
}



.comp01_div1.right .text_area .title_area1{
	padding-right: 5%;
}

.comp01_div1.left .text_area .title_area1{
	padding-left: 5%;
}

.title_area1{
	padding-bottom: 20px;
	margin-bottom: 20px;
}



.comp01_div1.right .text_area .text{
	padding-right: 5%;
}

.comp01_div1.left .text_area .text{
	padding-left: 5%;
}

.comp03_list1 > li {
    width: 48%;
    max-width: initial;
}

.content01 .news_list1{
	flex-wrap: wrap;
	justify-content: space-between;
}

.content01 .news_list1 li {
    width: 48%;
    margin-right: 0;
}

.content01 .news_list1 li .img{
	height: 30vw;
}
	
.sld_txt {
	text-align: center;
	}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 1000px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */




/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.pc {
	display: none;
}

.sp {
	display: block;
}

nav li a {
	font-size: 1.5rem;
}


.contact_tb th {
	font-size: 70%;
}

a[href*="tel:"] {
	pointer-events: initial;
	cursor: pointer;
	text-decoration: none;
	}

/* ヘッダー
----------------------------------------------------------- */
header{
  width: 100%;
  margin: 0px auto;
  align-items: center;
  padding: 15px;
}

header.headerScroll{
	width: 100%;
	margin-top: 0;
	padding: 15px;
}
	
	.article header {
    background: #ffe6ed;
    width: 100%;
    margin-top: 0;
    padding: 15px;
}

	.hLogo{
		margin: 0;
		min-width: 90px;
	}

.headerUl{
	display: flex;
	width: 30%;
	justify-content: flex-end;
}

.menuBtn {
	/* width: 35%; */
	display: flex;
	align-items: center;
	justify-content: center;
}


/*--- modal ---*/

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 36px;
  height: 24px;
  z-index: 9999;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #333;
  border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 11px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

.menu-trigger.active span,
.headerScroll .menu-trigger span{
	background:#111;
}
	
.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(20px) rotate(-45deg);
  transform: translateY(11px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-20px) rotate(45deg);
  transform: translateY(-11px) rotate(45deg);
}

/*gnav*/
.gnav{
    background: #fff;
    display: none;
    height: 100%;
    position: fixed;
    width: 100%;
    z-index: 999;
    transition: 1s;
    left: 0;
    top: 0;
}

.gnav.active{
	display: block;
}

.gnav__menu{
    display: block;
    width: 100%;
    height: 100%;
    padding: 60px 0 60px;
    margin-bottom: 10px;
}

.gnav__wrap{
    align-items:center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: fixed;
    width: 100%;
	top: 0px;
    overflow: scroll;
}

nav .gnav__menu__item{
    margin: 10px auto 0;
    width: 95%;
    border-bottom: 1px solid #ccc;
}

.gnav__menu__item a{
    color: #111;
    font-size: 1.8rem;
    font-weight: 500;
    padding: 0;
    text-decoration: none;
    transition: .5s;
    background: none;
    width: 100%;
    padding: 8px 0 18px 0;
    display: block;
    text-align: center;
}

.gnav__menu__item a span{
	font-size: 1.2rem;
	display: block;
	color: #da6080;
}

nav .gnav__menu__item a.btn03{
    padding: 0 5%;
    font-size: 2rem;
}

.pc_nav{
	display:none;
}


.content01 ul{
	display: flex;
	justify-content: flex-start;
	width: 95%;
	margin: 0 auto 32px;
	flex-wrap: wrap;
}

.content01 li{
	position: relative;
	margin: 0 2% 39px;
	width: 29%;
}

.content02 h3{
	text-align: center;
	font-size: 1.6rem;
	font-weight: 500;
	margin: 40px 0 55px;
	margin-top: 20px;
}

.content03 .list{
	width: 100%;
	margin: 0 0 150px auto;
	display: flex;
	align-items: center;
	flex-direction: column !important;
}

.content03 .list .img{width: 90%;position: relative;}
	
.content03 .list .box{
	width: 90%;
}

.content03 .list .txt{
	margin: 0 auto;
	font-size: 1.6rem;
	display: flex;
	flex-direction: column;
	        padding: 0;
	}
	
	
	.content03 .list .btn01{
		margin: 0px auto 0 !important;
	}

.content03 .list .tit h2{
	font-size: 2rem !important;
	margin: 0 !important;
	max-width: 100% !important;
	background-size: contain !important;
}

.content03 .list .tit{
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	padding: 20px 5% !important;
	position: relative;
}

.content03 .list .img:after{
	font-size: 16.5vw;
}

.content03 .list.num04 .img:after {
	font-size: 12vw;
}


.content03 .list.num04 table{
	width: 100%;
	max-width: 100%;
}

footer ul li {margin: 0 2%;}

footer ul li a {
	border-left: 1px solid #fff;
	text-align: center;
	font-size: 1.3rem;
}

.comp03_list1 > li {
    width: 100%;
	max-width:500px;
	margin:40px auto 0;
}

.comp01_div {
    padding: 40px 1%;
    margin-bottom: 60px;
}

.comp01 .mainTit {
    margin-bottom: 32px;
}

.comp01_div1{
	width:95%;
	flex-direction:column;
}

.comp01_div1.right{
	margin-bottom:80px;
}

.comp01_div1.left{
	flex-direction:column-reverse;
}

.comp01_div1 .text_area{
	max-width:initial;
	width: 100%;
}

.comp01_div1 .img{
	max-width:848px;
	width: 100%;
	margin:24px auto 0;
}


.comp01_div1.right .text_area .title_area1{
	padding-right: 0%;
}

.comp01_div1.left .text_area .title_area1{
	padding-left: 0%;
}

.comp01_div1.left .title_area1:before{
	left:0%;
}
.comp01_div1.right .text_area .text{
	padding-right: 0%;
}

.comp01_div1.left .text_area .text{
	padding-left: 0;
}


.comp02{
	padding:60px 0 20px;
}

.map{
	height:250px;
}

#cover2 {
    height: 200px;
    margin-top: 84px;
}

.news_flex .main_cont{
    width: 100%;
    max-width: initial;
	order:1;
}

.news_flex .side_nav{
    max-width: initial;
    width: 100%;
	order:3;
	margin:0 auto;
}

.pagination-list{
	order:2;
	margin: 40px auto 60px;
}

.news_list2 li .img {
    height: 24vw;
    width: 24.745%;
}

.news_list2 li .text_area {
    padding-top: 0%;
    width: 71.833%;
}

.news_list2 li:before {
    width: 40px;
    height: 40px;
    bottom: 30px;
}

.news_list2 li {
    padding-bottom: 24px;
}

.side_div1 {
    margin-bottom: 32px;
}

.article footer {
    margin: 60px auto 0;
}

.btn_area{
	margin: 20px auto 60px;
	order:2;
}

.news_flex .main_cont .title_area {
	padding-bottom: 20px;
	margin-bottom: 20px;
}

.cate_list1 li {
    padding: 12px 0;
    font-size: 1.4rem;
}

.news01 {
    padding: 0 0 20px;
}

.detail_area img {
    margin-bottom: 24px;
}

.rent01_div .text_area .title img {
    width: 40px;
    margin-right: 12px;
}

.rent01_div .text_area .title {
    padding-bottom: 12px;
    margin-bottom: 12px;
}

.rent01 .mainTit {
    margin-bottom: 40px;
    line-height: 1.4;
}


.rent01_div{
	flex-direction:column;
	padding: 32px 11px;
}

.rent01_div .text_area{
	max-width: initial;
	width: 100%;
	padding: 0;
}

.rent01_div .img{
	max-width:200px;
	width: 100%;
	margin:24px auto 0;
}

.news_list1{
	margin-bottom:32px;
	flex-direction:column;
}

.news_list1 li{
	width: 100%;
	max-width:500px;
	margin: 32px auto 0!important;
}

.news_list1 li .img {
    height: 63vw;
    max-height: 370px;
}

.rent01 {
    padding: 0px 0 20px;
	margin-bottom: 30px;
}
	
.rent02 {
    padding: 60px 0 60px;
}

.rent03 .ma1920 {
    padding: 60px 0 160px;
}

	
.rent03 .inner{
	width: 95%;
}

.rent03_div .img{
	width: 100%;
	position:initial;
	margin:32px auto 0;
}

.rent03_div {
    padding: 45px 5% 55px;
}

.rent03_list li {
    margin-bottom: 30px;
}

.rent03 .title1 {
    bottom: 52px;
    line-height: 1;
}

.content01 .news_list1 li {
    width: 100%;
}

    .content01 .news_list1 li .img {
        height: 60vw;
    }

.content01 .btn01{
	margin: 0 auto;
}
	
	
	#cover .cov-div .box{
	bottom: 85px;
    left: 1%;
} 

	
	.mainTit span {
    margin: 0 0 10px 0;
}
	
	
	.tish {
    border-radius: 50px;
    padding: 5px 14px;
    margin-right: 8px;
}
	

.ti_flex p {
    font-size: 15px;
}
	
	.ti_flex {
    align-items: center;
}
	

.cls_name {
    font-size: 16px;
    margin-bottom: 5px;
}
	

.cls_name {
    font-size: 16px;
    margin-bottom: 5px;
}
	
	.slick-dots li button:before {
		display:  none;
	}
	
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 768px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */




/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.pc2, .pcTel {
	display: none;
}

.sp2 {
	display: block;
}

.spTel  {
	display: inline;
}


/*-- テーブル --*/

table {
	width: 100%;
}

th, td {
	width: 96% !important;
	display: block;
}

body {
	font-size: 1.4rem;
}


/*-- ページトップ --*/

#pageTop {
	display: none !important;
}


/* フッター
----------------------------------------------------------- */

.sp nav {
	margin: 0 auto;
	background: #ffffffe0;
}


/* トップページ
----------------------------------------------------------- */

#main {margin: 0 auto;}

.article #main {
        margin: 60px auto 0;
}

body{
	background-size: 51vw;
}	

.sns_list{
	display: none;
}

#cover .scrr{
	display: none;
}

#cover .cov-div .box{
	margin: 0;
	position: absolute;
}

#cover .cov-div .box h1{
	font-size: 4.2rem;
	line-height: 1.3;
}

#cover .cov-div .box span{
    font-size: 2.2rem;
	color: #d95f80;
}

/* 中ページ
----------------------------------------------------------- */
.company iframe {
	width: 100%;
	margin: 30px auto 0;
	display: block;
}

.listUl li {
	width: 48%;
}

.contact_tb th {
	font-size: 100%;

}

.choose_list1 {
	width: 80%;
}

#name, #post, #mail, #mail_confirm, textarea, #url, #kana, #tel, #msg {
	width: 96%;
}

#zip1, #zip2 {
	width: 40%;
}

#city, #pref, #add {
	width: 96%;
	margin: 2px 0 0;
}

/*-- エラーチェック --*/

.zip1formError {
	left: 10% !important;
}

.zip2formError {
	left: 54% !important;
}

.prefformError, .cityformError, .addformError {
	top: 30px !important;
	left: 50% !important;
}

.detailBox > div {
	width: 100%;
	float: none;
}

.detailBox > .detailTxt {
	width: 98%;
	margin: 20px auto 0;
}

.formError {
	top: 20px !important;
	left: 10% !important;
}

.zip2formError {
	width: 42% !important;
	left: 50% !important;
}

#cover .cov-div{
	width: 95%;
	background-size: cover;
	height: 74%;
	display: flex;
	align-items: normal;
	margin: 9px 0 0 0;
}

#cover {
	max-width: 1920px;
	width: 156%;
	margin: 72px auto 0;
	height: 90vh;
	display: flex;
	align-items: baseline;
	position: relative;
}
	
.content01 li{
	position: relative;
	margin: 0 2% 39px;
	width: 46%;
}

.content01 .btn01{
	margin: 0 auto;
	padding: 15px 2%;
}

footer ul{
	flex-wrap: wrap;
}

footer ul li:last-child{
	width: 96%;
	padding-top: 19px;
}

footer ul li {
	margin: 0 2%;
	width: 46%;
	border-bottom: 1px solid #ccc;
}

footer ul li a {
	border-left: 1px solid #fff;
	text-align: center;
	font-size: 1.3rem;
	padding: 15px 2%;
	display: block;
}

.content03{
	padding: 10vh 0 0;
}

.instaArea{
	position: relative;
	padding: 10vh 0;
}

.content03 .list.num04 tr + tr td{
	border: none;
	padding-top: 10px;
} 

.content03 .list.num04 th{
	background: none;
	text-align: left;
	padding: 12px 0 0;
	border-top: 1px solid #ccc;
}

.comp02_div {
    padding: 32px 16px;
}


.comp02_list li{
	flex-direction:column;
	padding: 12px 0;
}

.comp02_list li > .left{
	width: 100%;
	margin-bottom: 8px;
}

.comp02_list li > .right{
	width:100%;
}

.comp02 .mainTit span {
    margin-left: 8px;
}

.pagination-list .page-numbers {
    width: 50px;
    height: 50px;
}

.news_list2 li {
	flex-direction:column;
}
	
.news_list2 li .img {
    height: 65vw;
    width:100%;
    max-width:initial;
    max-height: 300px;
}

.news_list2 li .text_area {
    padding-top: 0%;
	max-width:initial;
	width:100%;
	margin:12px auto 0;
}

    .news_list2 li:before {
        bottom: 32px;
        top:auto;
    }

.news_list2 li .text_area .text{
	width: 85%;
}


.btn_area{
	margin: 20px auto 60px;
}


.btn_area .btn01{
	max-width:180px;
}

	

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 591px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */




/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.ui-dialog.ui-widget.ui-widget-content.ui-corner-all.ui-front.ui-dialog-buttons {
    width: 94% !important;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
}

.choose_list1 {
	width: 96%;
	font-size: 90%;
}

.choose_list1 > li {
	width: 49%;
}

.content03 .list .tit h2{
	font-size: 1.9rem !important;
	margin: 0 !important;
	max-width: 100% !important;
	background-size: 8.5vw !important;
}

.content03 .list{
	margin: 0 0 13vh auto !important;
}


#cover .cov-div .box h1{
	font-size: 3.8rem;
	line-height: 1.3;
}

.btn_area{
	margin: 20px auto 60px;
	order:2;
	flex-wrap:wrap;
}


.btn_area .btn01{
	order:1;
	margin:0 auto 24px;
	width:100%;
	max-width:300px;
}

.btn_area .prev{
	order:2;
}

.btn_area .next{
	order:3;
}
	
	
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 414px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */




/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

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

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */


/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 320px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */



.flow-section {
  padding: 60px 20px;
  background: #f4f4f4;
  border: 6px solid #d95e80;
}

.flow-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

.flow-box {
  flex: 1;
}

.flow-head {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  padding: 10px 20px;
  border-radius: 8px;
  padding-left: 0;
}

.step {
  background: #d85e80;
  color: #fff;
  font-weight: bold;
  padding: 6px 12px;
  border-radius: 20px;
  margin-right: 15px;
}

.flow-head h3 {
  margin: 0;
  font-size: 22px;
  font-weight: bold;
}

.flow-box p {
  line-height: 1.8;
  font-size: 18px;
}

.flow-divider {
  width: 2px;
  background: #000;
}

/* 電話エリア */
.flow-contact {
      max-width: 700px;
    margin: 0 auto;
    text-align: center;
    background: linear-gradient(135deg, #da5e7f, #c74c6b);
    padding: 20px 20px;
    border-radius: 70px;
    color: #fff;
	margin-top: 130px;
	margin-bottom: 150px;
}

.contact-text {
  font-size: 18px;
  font-weight: 500;
}

.contact-tel {
  display: inline-block;
  font-size: 34px;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  letter-spacing: 2px;
  transition: 0.3s;
}

.contact-tel:hover {
  opacity: 0.8;
}

.flow-contact a {
	color: #fff;
}

/* SP対応 */
@media screen and (max-width: 768px) {
  .flow-inner {
    flex-direction: column;
  }

  .flow-card {
    padding: 30px 20px;
  }

  .contact-tel {
    font-size: 26px;
  }
}

.price-section {
  max-width: 1000px;
  margin: 0 auto;
  padding: 60px 20px;
}

.price-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 40px;
  gap: 20px;
}

.price-label {
      min-width: 140px;
    background: #d85e80;
    color: #fff;
    text-align: center;
    padding: 15px 10px;
    font-weight: bold;
    font-size: 18px;
}

.price-content {
  flex: 1;
  background: #f2f2f2;
  padding: 25px 30px;
}

.price-content.single {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 18px;
}

.price-block {
  margin-bottom: 20px;
}

.price-block:last-child {
  margin-bottom: 0;
}

.price-title {
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 17px;
}

.price-line {
      display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
    font-size: 18px;
}

.count {
  color: #ff6a00;
  font-weight: bold;
}

.price {
  font-weight: bold;
  letter-spacing: 1px;
}

.price-note {
  margin-top: 30px;
  font-size: 16px;
  line-height: 1.6;
}

/* SP対応 */
@media screen and (max-width: 768px) {
  .price-row {
    flex-direction: column;
  }

  .price-label {
    width: 100%;
  }

  .price-content {
    padding: 20px;
  }
}


.qa_ttl {
	text-align: center;
	margin-bottom: 60px;
}

.qa-section {
  max-width: 1000px;
  margin: 0 auto;
  padding: 50px 20px;
}

.qa-box {
      background: #ffffff;
    padding: 25px 30px;
    margin-bottom: 30px;
}

.qa-question {
  display: flex;
  align-items: baseline;
  gap: 15px;
  padding-bottom: 15px;
  border-bottom: 2px dashed #333;
}

.qa-icon {
  display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: #d75e80;
    color: #fff;
    font-weight: bold;
    border-radius: 50%;
    font-size: 18px;
    padding-bottom: 5px;
}

.qa-question h3 {
  margin: 0;
  font-size: 20px;
  font-weight: bold;
}

.qa-answer {
  display: flex;
  gap: 10px;
  margin-top: 15px;
  font-size: 18px;
  line-height: 1.8;
}

.answer-label {
     color: #24a5cb;
    font-weight: bold;
    font-size: 20px;
    padding-left: 6px;
}

/* SP対応 */
@media screen and (max-width: 768px) {
  .qa-question h3 {
    font-size: 16px;
  }

  .qa-box {
    padding: 20px;
  }
}



.school-schedule{
padding:90px 20px;
}

.schedule-container{
max-width:1200px;
margin:0 auto;
display:flex;
gap:70px;
align-items: center;
}


.stdo_back {
    background-color: #F7F6F2;
    padding: 80px 0;
}

 .stdo_txt { 
	max-width: 1600px;
    margin: 0 auto;
    padding: 0 50px;
    text-align: center;
}

/* 左住所 */

.schedule-address{
font-size:22px;
line-height:1.9;
}

.schedule-address ul{
margin-top:25px;
padding-left:20px;
}

.schedule-address li{
margin-bottom:10px;
}

/* タイトル */

.schedule-title{
    display: inline-flex;
    align-items: center;
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 20px;
}

/* 赤マーク */

.title-mark{

width:0;
height:0;

border-left:14px solid transparent;
border-right:14px solid transparent;
border-bottom:20px solid red;

transform:rotate(-25deg);
}

/* テーブル */

.schedule-table{

border-collapse:collapse;

font-size:20px;

}

.schedule-table th,
.schedule-table td{
border:2px solid #000;
padding:20px 15px;
text-align:center;
vertical-align:middle;
    font-size: 18px;
}

.schedule-table .class-cell {
	color: #fff;
}

/* 曜日 */

.schedule-table thead th{

background:#fff;
color: #000;
font-weight:bold;

}

/* 左黄色 */

.yellow{
background:#fff200;
}

.class-cell{

background:#c74c6b;

font-weight:bold;

width:180px;

}

/* SP */

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

.schedule-container{

flex-direction:column;

gap:40px;

}

.schedule-table{

width:100%;

font-size:16px;

}

.schedule-title{

font-size:22px;

padding:14px 30px;

}

.schedule-address{

font-size:18px;

}

}


.simple-link-btn{
  padding:16px 40px;
  background:#da5f80;
  color:#fff!important;
  text-decoration:none;
  font-size:16px;
  font-weight:700;
  line-height:1;
  border-radius:4px;
  border:1px solid #da5f80;
  transition:0.3s;
}

.btn_cl {
	text-align: center;
	margin-top: 100px;
}



.top_slide{
overflow:hidden;
}

.slider{
width:120%;
margin-left:-10%;
}

.slider-img{
padding:0 10px;
}

.slider-img img{
width:100%;
display:block;
}

/* 中央を強調 */

.slider .slick-slide{
opacity:.6;
transform:scale(.9);
transition:.4s;
}

.slider .slick-center{
opacity:1;
transform:scale(1);
}


.btn_cl a{
	display: block;
    width: 90%;
    max-width: 265px;
    background: url(./img/common/btn_arrow.svg) 90% 50% no-repeat #d95e80;
    text-align: center;
    color: #fff !important;
    padding: 1.5% 2%;
    border-radius: 5px;
    font-size: 1.6rem;
    padding: 19px 2%;
	    margin: 0 auto;
}













/* ===========================
content03 layout fix
=========================== */

.con3_ttl {
	text-align: center;
    font-size: 32px;
    margin-bottom: 150px;
    color: #da6080;
}

.cls_ttl {
	text-align: center;
    font-size: 32px;
    margin-bottom: 50px;
    color: #da6080;
}

.content03{
max-width:1600px;
margin:0 auto;
padding:160px 50px 0;
}

.content03 .list{
display:flex;
align-items: end!important;
justify-content:space-between;
gap:80px;
}

/* 左右反転 */

.content03 .list:nth-of-type(2n){
flex-direction:row-reverse;
}

/* 画像 */

.content03 .list .img{
width:48%;
}

.content03 .list .img img{
width:100%;
height:auto;
display:block;
}

/* テキスト */

.content03 .list .box{
width:48%;
}

/* タイトル */

.content03 .list .tit{
border-bottom:3px solid #da6080;
padding:30px 0;
}

.content03 .list .tit span{
display:block;
font-size:64px;
font-weight:700;
color: #585858;
line-height:1;
    margin-bottom: 20px;
}

.content03 .list .tit h2{
font-size:26px;
color:#da5f80;
line-height:1.6;
font-weight:bold;
}

/* テキスト */

.content03 .list .txt{
margin:0;
}

.content03 .list .txt p{
font-size: 18px;
line-height:2;
margin:25px 0;
}

/* ボタン */

.content03 .list .btn01{
margin-top:20px;
}

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

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

.content03{
padding:80px 20px;
        padding-bottom: 0px;
}

.content03 .list{
flex-direction:column-reverse !important;
gap:0px;
margin-bottom:100px;
}

.content03 .list .img,
.content03 .list .box{
width:100%;
}

.content03 .list .tit span{
	font-size: 42px;
        margin-bottom: 10px;
}

.content03 .list .tit h2{
font-size:20px !important;
}
	
	.flow-contact {
      max-width: 350px;
      padding: 10px 35px;
	}
	
	.contact-text {
    font-size: 14px;
}
	
	.flow-contact a {
    font-size: 22px;
}
	
	.content03 .list .txt p {
    font-size: 16px;
    line-height: 1.6;
    margin: 15px 0;
}

	
	.btn01 {
    width: 65%;
	    font-size: 1.4rem;
	}
	
	.content03 .list .txt a {
        padding: 15px 2%;
    }
		

	.flow-contact {
            margin-bottom: 80px;
        margin-top: 50px;
}
	
	.content01 {
        margin-top: 50px;
        padding: 50px 0;
		margin-bottom: 50px;
    }
	
	
	.content02 .box {
    font-size: 16px;
}
	
	.stdo_back {
    padding: 30px 0;
    margin-bottom: 30px;
    font-size: 16px;
}

	.stdo_txt {
        padding: 0px 15px;
		text-align: left;
    }
	
}



/* 偶数ブロックのテキストを左寄せに */

.content03 .list:nth-of-type(2n) .box{
margin-left:0;
margin-right:auto;
text-align:left;
}

.content03 .list:nth-of-type(2n) .txt{
margin-left:0;
margin-right:auto;
text-align:left;
}


/* 偶数ブロックでも左寄せを維持 */

.content03 .list:nth-of-type(2n) .box{
    margin-left:0;
    margin-right:0;
    text-align:left;
}

.content03 .list:nth-of-type(2n) .txt{
    margin-left:0;
    margin-right:0;
    text-align:left;
}

/* 念のため通常ブロックも左基準に固定 */

.content03 .list .box{
    margin-left:0;
}

.content03 .list .txt{
    margin-left:0;
}


@media screen and (max-width: 1400px) {
	
.content03 .list {
    gap: 30px;
	margin-top: 0px;
}
}



/* =========================
content03 spacing perfect fix
========================= */

.content03 .list{
position:relative;
display:flex;
align-items:flex-end;
margin-bottom:200px;
height:480px;
}

.content03 .list:last-child{
margin-bottom:0;
}

/* 画像 */

.content03 .list .img{
position:absolute;
bottom:0;
left:0;
width:52%;
z-index:1;
}

.content03 .list .img img{
width:100%;
height:auto;
display:block;
}

/* テキスト */

.content03 .list .box{
margin-left:56%;
position:relative;
z-index:2;
}

/* 逆レイアウト */

.content03 .list:nth-of-type(2n) .img{
left:auto;
right:0;
}

.content03 .list:nth-of-type(2n) .box{
margin-left:0;
margin-right:56%;
}

/* SP */

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

.content03 .list{
position:static;
display:block;
height:auto;
margin-bottom:100px;
}

.content03 .list .img{
position:relative;
width:100%;
margin-bottom:20px;
}

.content03 .list .box{
margin:0;
}
	
	.cls_ttl {
    font-size: 24px;
    margin-bottom: 20px;
}

}


/* =========================
content03 number style
========================= */

.content03 .list .img::after{
position:absolute;
top:-40px;
font-size:120px;
font-weight:700;
color:#ffffff;
line-height:1;
z-index:2;
}

/* 奇数 左上 */

.content03 .list:nth-of-type(odd) .img::after{
left:-40px;
}

/* 偶数 右上 */

.content03 .list:nth-of-type(even) .img::after{
right:-40px;
}

/* 各番号 */

.content03 .list:nth-of-type(1) .img::after{content:"01";}
.content03 .list:nth-of-type(2) .img::after{content:"02";}
.content03 .list:nth-of-type(3) .img::after{content:"03";}
.content03 .list:nth-of-type(4) .img::after{content:"04";}
.content03 .list:nth-of-type(5) .img::after{content:"05";}
.content03 .list:nth-of-type(6) .img::after{content:"06";}

/* SP */

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

.content03 .list .img::after{
font-size:70px;
top:-20px;
}

.content03 .list:nth-of-type(odd) .img::after{
left:10px;
}

.content03 .list:nth-of-type(even) .img::after{
right:10px;
}

	
	.content03 .list {
		margin-bottom: 80px!important;
	}
 
	.con3_ttl {
    text-align: center;
    font-size: 23px;
	margin-bottom: 30px;
	}
	
	
	.content03 .list .img::after {
		font-size: 80px!important;
	}
	
	#cover .cov-div{
    background: url(./img/top/dc_mv_sp.png) center center no-repeat;
    background-size: cover;
	background-position-x: -250px;
  }
	
}

.content03 .list .img::after{
position:absolute;
top:-40px;
font-size:140px;
font-weight:700;
line-height:1;
z-index:2;

/* 文字色 */
color:#ff96b2;

}


/* ================================
NOA font system override
レイアウトを一切変更せずフォントのみ統一
================================ */

/* Google Fonts */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=EB+Garamond:wght@400;600;700&display=swap");

/* 日本語フォント統一 */

html,
body,
p,
div,
span,
li,
dt,
dd,
th,
td,
input,
textarea,
select,
button,
h1,
h2,
h3,
h4,
h5,
h6{
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif !important;
}

/* 英語フォント（NOA仕様） */

.en,
.nav_list1 li span,
footer li span{
}

.slider .slick-slide{
opacity:1;
transform:scale(.9);
transition:.4s;
}




/* ===============================
   TELバナー
=============================== */
.tel_banner {
	    max-width: 700px;
    width: calc↳calc(1832px - 40px)↳1792px(100% - 40px);
    margin: 0px auto;
    padding: 20px 20px;
    background: #c04a67;
    border-radius: 120px;
    text-align: center;
    box-sizing: border-box;
}

/* 上のテキスト */
.tel_text {
	color: #fff;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
}

.tel_banner a[href*="tel:"]{
	color: #fff;
}

/* 電話番号 */
.tel_number {
	display: inline-block;
	color: #fff;
	font-size: 4rem;
	font-weight: bold;
	text-decoration: none;
	letter-spacing: 0.05em;
}

/* ホバー */
.tel_number:hover {
	opacity: 0.8;
}

/* ===============================
   SP対応
=============================== */
@media screen and (max-width: 768px) {

	.tel_banner {
	max-width: 95%;
    padding: 10px 15px;
	}

	.tel_text {
		font-size: 1.4rem;
	}

	.tel_number {
		font-size: 2.6rem;
	}
}





/* ===============================
   スケジュール表
=============================== */

.schedule-content {
	text-align: center;
}

.schedule-content .schedule-title {
	margin:0 auto;
	 color: #DA5F80;
	    margin-bottom: 50px;
}


.stimg_flex {
	display: flex;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1600px;
    margin-top: 100px;
    margin-bottom: 150px;
}


.st_img {
	text-align: center;
}

.st_img img {
	max-width: 85%;
}

.map {
	text-align: center;
	max-width: 1600px;
    margin: 0 auto;
}

.mu_txt {
	max-width: 1600px;
    margin: 0 auto;
	margin-top: 120px;
}


.map .schedule-title {
	margin: 0 auto;
    color: #DA5F80;
	margin-bottom: 50px;
}




.content03 .list.num04 {
    overflow: visible !important;
}




.sstp_back {
	background-color: #F7F6F2;
	    padding: 80px 0;
	    margin-bottom: 130px;
}


.sstp_txt {
	    max-width: 1600px;
    margin: 0 auto;
    padding: 0 50px;
}














/* =========================
   Flow Section
========================= */
.flow_section {
  padding: 0px 20px;
  overflow: hidden;
}

.flow_inner {
  max-width: 1600px;
  margin: 0 auto;
  position: relative;
}

/* 3つ並び */
.flow_list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: clamp(20px, 2vw, 40px);
  position: relative;
}

/* 各要素 */
.flow_item {
  flex: 1 1 0;
  min-width: 0;
  position: relative;
  display: flex;
  justify-content: center;
}

/* 円 */
.flow_circle {
  width: 100%;
  max-width: 480px;
  aspect-ratio: 1 / 1;
  border: 3px solid #da6080;
  border-radius: 50%;
  background: transparent;
  position: relative;
  padding: clamp(50px, 8vw, 120px) clamp(30px, 2vw, 50px) clamp(40px, 5vw, 70px);
  box-sizing: border-box;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
      background: #ffffff;
}

/* Stepラベル */
.flow_step {
      position: absolute;
    top: clamp(8px, 1vw, 12px);
    left: clamp(18px, 2vw, 32px);
    min-width: clamp(140px, 14vw, 210px);
    height: clamp(52px, 5vw, 70px);
    padding: 0 clamp(18px, 2vw, 40px);
    border-radius: 999px;
    background: #DA5F80;
    color: #fff;
    font-size: clamp(1.5rem, 1.6vw, 2rem);
    font-weight: 400;
    line-height: clamp(52px, 5vw, 70px);
    text-align: center;
    z-index: 4;
    box-sizing: border-box;
    white-space: nowrap;
}

.big {
	font-size:2.6rem;
}

/* タイトル */
.flow_title {
  margin: 0;
  text-align: center;
  font-size: clamp(2rem, 2.2vw, 3rem);
  font-weight: 500;
  line-height: 1.4;
  color: #000;
  position: relative;
  padding-bottom: clamp(12px, 1.2vw, 15px);
}

/* タイトル下線 */
.flow_title::after {
  content: "";
  width: clamp(80px, 8vw, 145px);
  height: 3px;
  background: #d45d83;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

/* 本文 */
.flow_text {
    margin: clamp(20px, 2vw, 20px) 0 0;
    font-size: clamp(1.35rem, 1.15vw, 1.8rem);
    font-weight: 400;
    line-height: 1.9;
    color: #000;
}

/* 円同士をつなぐ線 */
.flow_item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(clamp(20px, 4vw, 120px) / -1);
    width: clamp(40px, 15vw, 120px);
    height: 3px;
    background: #d45d83;
    transform: translateY(-50%);
    z-index: 1;
}

/* 下向き矢印 */
.flow_arrow {
  width: 0;
  height: 0;
      margin: 80px auto 80px;
  border-left: clamp(28px, 3vw, 60px) solid transparent;
  border-right: clamp(28px, 3vw, 60px) solid transparent;
  border-top: clamp(38px, 4vw, 75px) solid #d45d83;
}

/* =========================
   タブレット調整
========================= */
@media screen and (max-width: 1100px) {
  .flow_section {
    padding: 60px 20px 100px;
  }

  .flow_circle {
    padding: clamp(70px, 8vw, 100px) clamp(20px, 3vw, 34px) clamp(30px, 4vw, 45px);
  }

  .flow_text {
    line-height: 1.75;
  }
}

/* =========================
   SP
========================= */
@media screen and (max-width: 767px) {
  .flow_section {
    padding: 30px 15px 0px;
  }

  .flow_list {
    flex-direction: column;
    align-items: center;
    gap: 34px;
  }

  .flow_item {
    width: 100%;
    max-width: 500px;
  }

  .flow_circle {
    width: min(100%, 500px);
    max-width: 500px;
    padding: clamp(72px, 16vw, 95px) clamp(24px, 6vw, 32px) clamp(34px, 8vw, 44px);
  }

  .flow_step {
    top: 8px;
    left: 16px;
    min-width: 140px;
    height: 54px;
    line-height: 54px;
    font-size: 1.5rem;
    padding: 0 20px;
  }

  .flow_title {
    font-size: clamp(1.9rem, 5vw, 2.4rem);
    padding-bottom: 14px;
  }

  .flow_title::after {
    width: 90px;
  }

  .flow_text {
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.8;
  }

  .flow_item:not(:last-child)::after {
    top: auto;
    right: auto;
    left: 50%;
    bottom: -34px;
    width: 3px;
    height: 34px;
    transform: translateX(-50%);
  }

  .flow_arrow {
    margin-top: 30px;
    border-left: 34px solid transparent;
    border-right: 34px solid transparent;
    border-top: 46px solid #d45d83;
	 margin: 30px auto 20px;
  }
	
	
	footer .fnav ul {
		    margin-top: 100px;
	}
	
	
	.schedule-content .schedule-title {
	    margin-bottom: 30px;
}

}



/* ========================================
   お問い合わせCTA
======================================== */
.contact_cta_section {
  padding: 0px 40px;
  box-sizing: border-box;
  margin-bottom: 100px;
}

.contact_cta_outer {
  max-width: 1600px;
    margin: 0 auto;
    background: #FFC9D8;
    border-radius: 38px;
    padding: 25px 40px;
    box-sizing: border-box;
}

.contact_cta_inner {
  max-width: 1300px;
  margin: 0 auto;
  background: #ffffff;
  border-radius: 24px;
  padding: 28px 30px 32px;
  text-align: center;
  box-sizing: border-box;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}

.contact_cta_lead {
  margin: 0 0 24px;
  font-size: 2.2rem;
  line-height: 1.5;
  color: #000000;
  letter-spacing: 0.02em;
}

.contact_cta_heading_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.contact_cta_line {
  width: 64px;
  height: 3px;
  background: #d6638a;
  display: inline-block;
  border-radius: 999px;
}

.contact_cta_heading {
  margin: 0;
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 1.4;
  color: #000000;
}

.contact_cta_tel {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  text-decoration: none;
  color: #000000;
  line-height: 1;
}

.contact_cta_icon {
  font-size: 4rem;
  line-height: 1;
  color: #d6638a!important;
  display: inline-block;
  transform: translateY(2px);
}

.contact_cta_number {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.01em;
  color: #000000;
}

/* ========================================
   タブレット
======================================== */
@media screen and (max-width: 1200px) {
  .contact_cta_section {
    padding: 20px;
  }

  .contact_cta_outer {
    padding: 25px 25px;
    border-radius: 30px;
  }

  .contact_cta_inner {
    padding: 26px 24px 30px;
  }

  .contact_cta_lead {
    font-size: 1.9rem;
    margin-bottom: 20px;
  }

  .contact_cta_heading {
    font-size: 2.4rem;
  }

  .contact_cta_line {
    width: 54px;
  }

  .contact_cta_icon {
    font-size: 4rem;
  }

  .contact_cta_number {
    font-size: 4rem;
  }
}

/* ========================================
   スマホ
======================================== */
@media screen and (max-width: 767px) {
  .contact_cta_section {
    padding: 15px;
	          margin-bottom: 0;
  }

  .contact_cta_outer {
    padding: 18px 14px;
    border-radius: 22px;
  }

  .contact_cta_inner {
    padding: 20px 16px 24px;
    border-radius: 18px;
  }

  .contact_cta_lead {
    margin: 0 0 18px;
    font-size: 1.5rem;
    line-height: 1.7;
  }

  .contact_cta_heading_wrap {
    gap: 10px;
    margin-bottom: 12px;
  }

  .contact_cta_line {
    width: 38px;
    height: 2px;
  }

  .contact_cta_heading {
    font-size: 2rem;
  }

  .contact_cta_tel {
    gap: 8px;
    flex-wrap: wrap;
  }

  .contact_cta_icon {
    font-size: 3rem;
    transform: translateY(0);
  }

  .contact_cta_number {
    font-size: 2.6rem;
    line-height: 1.3;
    word-break: break-all;
  }
}



/* =========================================
   レッスン料金
========================================= */
.lesson_price_section {
  padding: 40px 20px 30px;
  margin-bottom: 100px;
}

.lesson_price_inner {
  max-width: 1300px;
  margin: 0 auto;
}

/* タイトル */
.lesson_price_title {
      margin: 30px 0 120px;
    text-align: center;
    color: #dc6a93;
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1.4;
}

/* 上段2カラム */
.lesson_price_top {
  display: flex;
  gap: 35px;
  align-items: stretch;
  margin-bottom: 30px;
}

/* 共通BOX */
.price_box,
.ticket_box {
  background: transparent;
  border: 4px solid #dc6a93;
  border-radius: 32px;
  position: relative;
  box-sizing: border-box;
}

/* ラベル共通 */
.price_label,
.ticket_label {
  position: absolute;
  top: -46px;
  left: 80px;
  min-width: 235px;
  height: 82px;
  padding: 0 34px;
  border-radius: 24px;
  background: #DA5F80;
  color: #ffffff;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 82px;
  text-align: center;
  box-sizing: border-box;
  white-space: nowrap;
}

/* 入会金 */
.admission_box {
	width: 400px;
    flex: 0 0 400px;
    min-height: 460px;
    padding: 50px 30px 50px;
}

.admission_content {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.admission_icon {
  font-size: 10rem;
  line-height: 1;
  color: #000000;
  margin-bottom: 22px;
}

.admission_name {
  font-size: 2.6rem;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
  margin-bottom: 20px;
}

/* 金額マーカー */
.price_marker_wrap {
  display: inline-block;
  line-height: 1;
}

.price_marker {
  display: inline-block;
  position: relative;
  z-index: 1;
  font-size: 4.8rem;
  font-weight: 800;
  color: #000000;
  line-height: 1.1;
  letter-spacing: 0.01em;
}

.price_marker::after {
  content: "";
  position: absolute;
  left: -4px;
  right: -4px;
  bottom: 8px;
  height: 20px;
  background: #f2df70;
  z-index: -1;
}

/* 月謝 */
.monthly_box {
  flex: 1 1 auto;
  min-height: 460px;
  padding: 95px 55px 42px;
}

.monthly_block {
  display: flex;
  flex-direction: column;
  gap: 34px;
}

.monthly_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.monthly_tag {
  min-width: 280px;
  max-width: 280px;
  height: 76px;
  border-radius: 38px;
  color: #ffffff;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 76px;
  text-align: center;
  flex-shrink: 0;
}

.monthly_tag_orange {
  background: #ff7a00;
}

.monthly_tag_blue {
  background: #1f93ea;
}

.monthly_prices {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.monthly_price_line {
  display: flex;
  align-items: center;
  width: 100%;
}

.count {
  width: 70px;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4;
  flex-shrink: 0;
}

.count_orange {
  color: #ff7a00;
}

.count_blue {
  color: #1f93ea;
}

.dots {
  flex: 1 1 auto;
  border-bottom: 4px dotted #8e8e8e;
  margin: 0 10px 0px;
}

.yen_price {
  min-width: 240px;
  font-size: 4.8rem;
  font-weight: 800;
  color: #000000;
  line-height: 1;
  text-align: left;
  flex-shrink: 0;
}

.monthly_separator {
  border-top: 4px dotted #8e8e8e;
  width: 100%;
}

/* チケット制 */
.ticket_box {
  padding: 150px 40px 40px;
}

.ticket_label {
   min-width: 335px;
   left: 40px;
   top: 30px;
}

.ticket_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.ticket_unit {
  min-width: 200px;
  height: 66px;
  border-radius: 33px;
  background: #DA5F80;
  color: #ffffff;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 66px;
  text-align: center;
  flex-shrink: 0;
}

.ticket_item_group {
  display: flex;
  align-items: center;
  gap: 30px;
  flex: 1 1 0;
  min-width: 0;
  justify-content: center;
}

.ticket_age {
  min-width: 250px;
  height: 66px;
  border-radius: 33px;
  color: #ffffff;
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 66px;
  text-align: center;
  flex-shrink: 0;
}

.ticket_age_orange {
  background: #ff7a00;
}

.ticket_age_blue {
  background: #1f93ea;
}

.ticket_price_wrap {
  flex-shrink: 0;
}

.ticket_price {
  font-size: 5.8rem;
}

.ticket_price::after {
  bottom: 8px;
  height: 19px;
}

.ticket_divider {
  width: 0;
  height: 92px;
  border-left: 3px dotted #8e8e8e;
  flex-shrink: 0;
}

/* 注釈 */
.lesson_price_notes {
  margin-top: 5px;
}

.lesson_price_notes p {
  margin: 0;
  font-size: 1.8rem;
  line-height: 1.7;
  color: #000000;
}

/* =========================================
   1200px以下
========================================= */
@media screen and (max-width: 1200px) {
  .lesson_price_title {
    font-size: 3rem;
  }

  .lesson_price_top {
    gap: 24px;
  }

  .admission_box {
    width: 320px;
    flex: 0 0 320px;
    min-height: 420px;
    padding: 82px 24px 36px;
  }

  .monthly_box {
    min-height: 420px;
    padding: 84px 32px 34px;
  }

  .price_label,
  .ticket_label {
    min-width: 190px;
    height: 68px;
    line-height: 68px;
    font-size: 2.1rem;
    top: -36px;
    left: 28px;
    border-radius: 20px;
  }

  .ticket_label {
    min-width: 270px;
    left: 28px;
  }

  .admission_icon {
    font-size: 8rem;
    margin-bottom: 18px;
  }

  .admission_name {
    font-size: 2.2rem;
  }

  .price_marker {
    font-size: 5rem;
  }

  .price_marker::after {
    height: 16px;
    bottom: 7px;
  }

  .monthly_row {
    gap: 24px;
  }

  .monthly_tag {
    min-width: 220px;
    max-width: 220px;
    height: 64px;
    line-height: 64px;
    font-size: 1.9rem;
  }

  .count {
    width: 56px;
    font-size: 2.2rem;
  }

  .yen_price {
    min-width: 190px;
    font-size: 4.8rem;
  }

  .ticket_box {
    padding: 82px 28px 30px;
  }

  .ticket_row {
    gap: 18px;
  }

  .ticket_unit {
    min-width: 150px;
    height: 58px;
    line-height: 58px;
    font-size: 1.9rem;
  }

  .ticket_age {
    min-width: 190px;
    height: 58px;
    line-height: 58px;
    font-size: 1.8rem;
  }

  .ticket_price {
    font-size: 4.7rem;
  }

  .ticket_divider {
    height: 78px;
  }

  .lesson_price_notes p {
    font-size: 1.7rem;
  }
}

/* =========================================
   767px以下
========================================= */
@media screen and (max-width: 767px) {
  .lesson_price_section {
    padding: 30px 15px 24px;
  }

  .lesson_price_title {
    font-size: 2.5rem;
	margin-bottom: 50px;
  }

  .lesson_price_top {
            flex-direction: column;
        gap: 50px;
        margin-bottom: 50px;
  }

  .admission_box,
  .monthly_box {
    width: 100%;
    flex: none;
  }

  .admission_box {
    min-height: auto;
    padding: 72px 22px 28px;
  }

  .monthly_box {
    min-height: auto;
    padding: 72px 22px 26px;
  }

  .price_box,
  .ticket_box {
    border-width: 3px;
    border-radius: 24px;
  }

  .price_label,
  .ticket_label {
    top: -26px;
    left: 100px;
    min-width: 150px;
    height: 52px;
    line-height: 52px;
    font-size: 1.7rem;
    border-radius: 16px;
    padding: 0 20px;
  }

  .ticket_label {
    min-width: 210px;
	left: 72px;
  }

  .admission_icon {
    font-size: 6.2rem;
    margin-bottom: 14px;
  }

  .admission_name {
    font-size: 2rem;
    margin-bottom: 14px;
  }

  .price_marker {
    font-size: 4rem;
  }

  .price_marker::after {
    height: 13px;
    bottom: 5px;
  }

  .monthly_block {
    gap: 24px;
  }

  .monthly_row {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .monthly_tag {
    min-width: 200px;
    max-width: 100%;
    height: 56px;
    line-height: 56px;
    font-size: 1.7rem;
    padding: 0 20px;
    box-sizing: border-box;
  }

  .monthly_prices {
    width: 100%;
    gap: 14px;
  }

  .monthly_price_line {
    align-items: center;
  }

  .count {
    width: 44px;
    font-size: 1.9rem;
  }

  .dots {
    margin: 0 14px;
    border-bottom-width: 3px;
  }

  .yen_price {
    min-width: 140px;
    font-size: 3.5rem;
  }

  .monthly_separator {
    border-top-width: 3px;
  }

  .ticket_box {
    padding: 72px 18px 24px;
  }

  .ticket_row {
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }

  .ticket_unit {
    min-width: 0;
    width: 160px;
    margin: 0 auto;
    height: 52px;
    line-height: 52px;
    font-size: 1.7rem;
  }

  .ticket_item_group {
    flex-direction: column;
    align-items: center;
    gap: 14px;
  }

  .ticket_age {
    min-width: 0;
    width: 100%;
    max-width: 260px;
    height: 56px;
    line-height: 56px;
    font-size: 1.7rem;
    padding: 0 14px;
    box-sizing: border-box;
  }

  .ticket_price {
    font-size: 3.9rem;
  }

  .ticket_divider {
    width: 100%;
    height: 0;
    border-left: 0;
    border-top: 3px dotted #8e8e8e;
  }

  .lesson_price_notes {
    margin-top: 14px;
  }

  .lesson_price_notes p {
    font-size: 1.5rem;
    line-height: 1.8;
  }
}




/* =========================================
   FAQ
========================================= */
.faq_section {
  background: #f7c8d5;
  padding: 100px 20px 100px;
}

.faq_inner {
  max-width: 1040px;
  margin: 0 auto;
}

.faq_list {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.faq_item {
  background: #ffffff;
  border-radius: 28px;
  overflow: hidden;
}

/* 質問ボタン */
.faq_question {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 28px 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  cursor: pointer;
  text-align: left;
  box-sizing: border-box;
}

.faq_question_inner {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
  flex: 1 1 auto;
}

.faq_q,
.faq_a {
  flex: 0 0 auto;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.2;
}

.faq_q {
  color: #1190ea;
}

.faq_a {
  color: #d96a90;
}

.faq_question_text {
  display: block;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.9;
  color: #222222;
  padding-top: 2px;
}

/* ＋ / － */
.faq_icon {
  position: relative;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
}

.faq_icon::before,
.faq_icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #000000;
  transform: translate(-50%, -50%);
  border-radius: 999px;
}

.faq_icon::before {
  width: 28px;
  height: 4px;
}

.faq_icon::after {
  width: 4px;
  height: 28px;
}

.faq_item.is_open .faq_icon::after {
  display: none;
}

/* 回答 */
.faq_answer {
  padding: 0 38px 28px;
  box-sizing: border-box;
}

.faq_answer_inner {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.faq_answer_text {
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.9;
  color: #222222;
  padding-top: 2px;
}

/* hover */
.faq_question:hover .faq_question_text {
  opacity: 0.85;
}

/* =========================================
   タブレット
========================================= */
@media screen and (max-width: 1024px) {
  .faq_section {
    padding: 36px 20px 50px;
  }

  .faq_list {
    gap: 20px;
  }

  .faq_item {
    border-radius: 24px;
  }

  .faq_question {
    padding: 24px 28px;
  }

  .faq_answer {
    padding: 0 28px 24px;
  }

  .faq_question_text,
  .faq_answer_text {
    font-size: 1.6rem;
    line-height: 1.85;
  }

  .faq_q,
  .faq_a {
    font-size: 2rem;
  }

  .faq_icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .faq_icon::before {
    width: 24px;
    height: 4px;
  }

  .faq_icon::after {
    width: 4px;
    height: 24px;
  }
}

/* =========================================
   スマホ
========================================= */
@media screen and (max-width: 767px) {
  .faq_section {
    padding: 24px 15px 36px;
  }

  .faq_list {
    gap: 16px;
  }

  .faq_item {
    border-radius: 18px;
  }

  .faq_question {
    padding: 18px 18px;
    gap: 12px;
    align-items: center;
  }

  .faq_answer {
    padding: 0 18px 18px;
  }

  .faq_question_inner,
  .faq_answer_inner {
    gap: 10px;
  }

  .faq_q,
  .faq_a {
    font-size: 1.9rem;
  }

  .faq_question_text,
  .faq_answer_text {
    font-size: 16px;
    line-height: 1.8;
    padding-top: 0;
  }

  .faq_icon {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
  }

  .faq_icon::before {
    width: 20px;
    height: 3px;
  }

  .faq_icon::after {
    width: 3px;
    height: 20px;
  }
	
.sstp_txt {
    padding: 0px 15px;
}
	
	.sstp_back {
    padding: 30px 0;
    margin-bottom: 30px;
	font-size: 16px;
}
	
	.lesson_price_section {
	margin-bottom: 50px;
	}
}

@media screen and (max-width: 767px) {
  .lesson_price_section {
    padding: 30px 15px 24px;
  }

  .lesson_price_title {
    font-size: 2.5rem;
    margin-bottom: 60px;
  }

  .lesson_price_top {
   gap: 60px;
   margin-bottom: 60px;
  }

  .admission_box,
  .monthly_box {
    width: 100%;
    flex: none;
  }

  .admission_box {
    min-height: auto;
    padding: 70px 0px 70px;
  }

  .monthly_box {
    min-height: auto;
    padding: 70px 20px 30px;
  }

  .price_box,
  .ticket_box {
    border-width: 3px;
    border-radius: 24px;
  }

  .price_label,
  .ticket_label {
    top: -26px;
    left: 50%;
    transform: translateX(-50%);
    min-width: 150px;
    height: 52px;
    line-height: 52px;
    font-size: 1.7rem;
    border-radius: 16px;
    padding: 0 20px;
  }

  .ticket_label {
    min-width: 210px;
  }

  .admission_icon {
    font-size: 6.2rem;
    margin-bottom: 14px;
  }

  .admission_name {
    font-size: 2rem;
    margin-bottom: 14px;
  }

  .price_marker {
    font-size: 4rem;
  }

  .price_marker::after {
    height: 13px;
    bottom: 5px;
  }

  .monthly_block {
    gap: 24px;
  }

  .monthly_row {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .monthly_tag {
    min-width: 200px;
    max-width: 100%;
    height: 56px;
    line-height: 56px;
    font-size: 1.7rem;
    padding: 0 20px;
    box-sizing: border-box;
  }

  .monthly_prices {
    width: 100%;
    gap: 14px;
  }

  .monthly_price_line {
    align-items: center;
  }

  .count {
    width: 44px;
    font-size: 1.9rem;
  }

  .dots {
    margin: 0 14px;
    border-bottom-width: 3px;
  }

  .yen_price {
    min-width: 140px;
    font-size: 3rem;
  }

  .monthly_separator {
    border-top-width: 3px;
  }

  .ticket_box {
    padding: 72px 18px 24px;
  }

  .ticket_row {
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }

  .ticket_unit {
    min-width: 0;
    width: 160px;
    margin: 0 auto;
    height: 52px;
    line-height: 52px;
    font-size: 1.7rem;
  }

  .ticket_item_group {
    flex-direction: column;
    align-items: center;
    gap: 14px;
  }

  .ticket_age {
    min-width: 0;
    width: 100%;
    max-width: 260px;
    height: 56px;
    line-height: 56px;
    font-size: 1.7rem;
    padding: 0 14px;
    box-sizing: border-box;
  }

  .ticket_price {
    font-size: 3rem;
  }

  .ticket_divider {
    width: 100%;
    height: 0;
    border-left: 0;
    border-top: 3px dotted #8e8e8e;
  }

  .lesson_price_notes {
    margin-top: 14px;
  }

  .lesson_price_notes p {
    font-size: 1.5rem;
    line-height: 1.8;
  }
}





/*ーーーーーーーーーーークラス紹介ーーーーーーーーーーーーー*/

/* =========================================
   POINTセクション
========================================= */
.point_section_trace {
  background: #f6c5d3;
  padding: 45px 20px 72px;
  box-sizing: border-box;
}

.point_section_trace_inner {
  max-width: 1200px;
  margin: 0 auto;
}

/* =========================
   上段6カード
========================= */
.point_trace_grid {
  display: grid;
  grid-template-columns: repeat(3, 284px);
  justify-content: space-between;
  column-gap: 0;
  row-gap: 108px;
}

.point_trace_card {
  position: relative;
  width: 284px;
  padding-top: 28px;
  box-sizing: border-box;
}

.point_trace_card_body {
  width: 100%;
    min-height: 150px;
    background: #ffffff;
    border-radius: 22px;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 30px 20px 20px;
    box-sizing: border-box;
}

.point_trace_label {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 188px;
  height: 56px;
  border-radius: 18px;
  background: #d85d84;
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 56px;
  text-align: center;
  box-sizing: border-box;
  z-index: 2;
}

.point_trace_card_text {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.62;
  color: #222222;
  letter-spacing: 0.01em;
}

/* =========================
   下段テキストボックス
========================= */
.point_trace_message_box {
  width: 100%;
  max-width: 1200px;
  margin: 70px auto 0;
  background: #ffffff;
  border-radius: 22px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16);
  padding: 30px 50px 30px;
  text-align: center;
  box-sizing: border-box;
}

.point_trace_message_box p {
  margin: 0 0 16px;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.72;
  color: #222222;
  letter-spacing: 0.01em;
}

.point_trace_message_box p:last-child {
  margin-bottom: 0;
}

/* =========================================
   1100px以下
========================================= */
@media screen and (max-width: 1100px) {
  .point_section_trace {
    padding: 40px 20px 60px;
  }

  .point_section_trace_inner {
    max-width: 960px;
  }

  .point_trace_grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 28px;
    row-gap: 88px;
  }

  .point_trace_card {
    width: 100%;
  }

  .point_trace_card_body {
    min-height: 165px;
    padding: 42px 18px 22px;
  }

  .point_trace_label {
    width: 176px;
    height: 54px;
    line-height: 54px;
    font-size: 1.7rem;
  }

  .point_trace_card_text {
    font-size: 1.65rem;
  }

  .point_trace_message_box {
    margin-top: 60px;
    padding: 28px 30px 24px;
  }

  .point_trace_message_box p {
    font-size: 1.6rem;
  }
}

/* =========================================
   900px以下
========================================= */
@media screen and (max-width: 900px) {
  .point_trace_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 72px;
  }

  .point_trace_card {
    max-width: 320px;
    margin: 0 auto;
  }

  .point_trace_message_box {
    margin-top: 54px;
  }

  .point_trace_message_box p br {
    display: none;
  }
}

/* =========================================
   767px以下
========================================= */
@media screen and (max-width: 767px) {
  .point_section_trace {
    padding: 28px 15px 42px;
  }

  .point_section_trace_inner {
    max-width: 100%;
  }

  .point_trace_grid {
    grid-template-columns: 1fr;
    row-gap: 54px;
  }

  .point_trace_card {
    width: 100%;
    max-width: 100%;
    padding-top: 22px;
  }

  .point_trace_card_body {
    min-height: 132px;
    border-radius: 18px;
    padding: 34px 16px 18px;
  }

  .point_trace_label {
    width: 150px;
    height: 46px;
    line-height: 46px;
    border-radius: 14px;
    font-size: 1.5rem;
  }

  .point_trace_card_text {
    font-size: 1.6rem;
    line-height: 1.6;
  }

  .point_trace_message_box {
    margin-top: 40px;
    border-radius: 18px;
    padding: 22px 16px 18px;
  }

  .point_trace_message_box p {
    font-size: 1.45rem;
    line-height: 1.8;
    margin-bottom: 12px;
  }
}





/* -----------------------------------------
   プチリトルクラス セクション
----------------------------------------- */
.petit_class_section {
	    margin-top: 130px;
}

.petit_class_inner {
  width: calc(100% - 120px);
  max-width: 1492px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 90px;
}

/* -----------------------------------------
   左カラム
----------------------------------------- */
.petit_class_left {
  width: 100%;
  max-width: 760px;
}

.petit_class_title {
  margin: 0 0 19px;
  font-size: 24px;
  line-height: 1.4;
  font-weight: 700;
  color: #dd7d98;
  letter-spacing: 0.04em;
}

.petit_class_target {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 50px;
}

.target_label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 53px;
  height: 38px;
  padding: 0 12px;
  border: 2px solid #d97a95;
  border-radius: 9999px;
  background: #fff;
  color: #222;
  font-size: 18px;
  line-height: 1;
  font-weight: 500;
  box-sizing: border-box;
}

.target_text {
  display: inline-block;
  font-size: 22px;
  line-height: 1.4;
  font-weight: 700;
  color: #222;
  letter-spacing: 0.02em;
  background: linear-gradient(transparent 68%, #f4ea62 68%);
}

.petit_class_text {
  margin-bottom: 63px;
}

.petit_class_text p {
  margin: 0;
  font-size: 18px;
  line-height: 1.85;
  color: #222;
  letter-spacing: 0.03em;
}

.petit_class_gallery {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 24px;
}

.gallery_item {
  width: calc((100% - 48px) / 3);
}

.gallery_item img {
  display: block;
  width: 100%;
  height: 190px;
  object-fit: cover;
}

/* -----------------------------------------
   右カラム
----------------------------------------- */
.petit_class_right {
  width: 100%;
  max-width: 560px;
  padding-top: 50px;
}

.petit_video_box {
  width: 100%;
  background: #d9d9d9;
  margin-bottom: 45px;
  aspect-ratio: 560 / 320;
  overflow: hidden;
  position: relative;
}

.petit_video_box:last-child {
  margin-bottom: 0;
}

.petit_video_box video,
.petit_video_box iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
  object-fit: cover;
  background: #d9d9d9;
}



.class_add {
	margin-top: 130px;
}

.class_last {
		margin-bottom: 150px;
	}
/* -----------------------------------------
   レスポンシブ
----------------------------------------- */
@media screen and (max-width: 1400px) {
  .petit_class_inner {
    width: calc(100% - 80px);
    gap: 60px;
  }

  .petit_class_left {
    max-width: 700px;
  }

  .petit_class_right {
    max-width: 500px;
  }

  .gallery_item img {
    height: 170px;
  }
}

@media screen and (max-width: 1200px) {
  .petit_class_section {
    padding: 90px 0 80px;
  }

  .petit_class_inner {
    width: calc(100% - 60px);
    gap: 40px;
  }

  .petit_class_title {
    font-size: 22px;
  }

  .target_label {
    min-width: 50px;
    height: 36px;
    font-size: 17px;
  }

  .target_text {
    font-size: 20px;
  }

  .petit_class_text p {
    font-size: 16px;
    line-height: 1.9;
  }

  .gallery_item img {
    height: 150px;
  }
}

@media screen and (max-width: 980px) {
  .petit_class_inner {
    flex-direction: column;
    gap: 50px;
  }

  .petit_class_left,
  .petit_class_right {
    max-width: 100%;
  }

  .petit_class_right {
    padding-top: 0;
  }

  .petit_video_box {
    aspect-ratio: 16 / 9;
  }
}

@media screen and (max-width: 768px) {
  .petit_class_section {
    padding: 70px 0 60px;
  }

  .petit_class_inner {
    width: calc(100% - 30px);
    gap: 30px;
  }

  .petit_class_title {
    margin-bottom: 16px;
    font-size: 20px;
  }

  .petit_class_target {
    gap: 12px;
    margin-bottom: 35px;
    flex-wrap: wrap;
  }

  .target_label {
    min-width: 48px;
    height: 34px;
    padding: 0 10px;
    font-size: 16px;
  }

  .target_text {
    font-size: 18px;
    line-height: 1.5;
  }

  .petit_class_text {
    margin-bottom: 35px;
  }

  .petit_class_text p {
    font-size: 15px;
    line-height: 1.9;
  }

  .petit_class_gallery {
    gap: 12px;
  }

  .gallery_item {
    width: calc((100% - 24px) / 3);
  }

  .gallery_item img {
    height: 110px;
  }

  .petit_video_box {
    margin-bottom: 20px;
  }
	
	.petit_class_section {
	    margin-top: 20px;
}
	
	.class_add {
    margin-top: 80px;
}
	
}

@media screen and (max-width: 480px) {
  .petit_class_section {
    padding: 50px 0 50px;
	 padding-bottom: 0px;
  }

  .petit_class_inner {
    width: calc(100% - 20px);
  }

  .petit_class_title {
    font-size: 18px;
  }

  .target_text {
    font-size: 16px;
  }

  .petit_class_text p {
    font-size: 14px;
  }

  .petit_class_gallery {
    flex-wrap: wrap;
    gap: 10px;
  }

  .gallery_item {
    width: calc((100% - 10px) / 2);
  }

  .gallery_item img {
    height: 120px;
  }
}










/* ===============================
   スケジュール表 専用
=============================== */

.class_schedule_section {
	overflow: visible !important;
}

.class_schedule_inner {
	width: calc(100% - 40px);
	max-width: 1330px;
	margin: 0 auto;
	overflow: visible !important;
}

.class_schedule_table_wrap {
	width: 100%;
	overflow: visible;
}

.class_schedule_table {
	width: 100%;
	border-collapse: collapse !important;
	table-layout: fixed !important;
	background: #f3f3f3;
	border: 2px solid #9b9b9b;
}

.class_schedule_table th,
.class_schedule_table td {
	border: 1px solid #4a4a4a;
	text-align: center;
	vertical-align: middle;
	box-sizing: border-box;
	padding: 20px;
}

.class_schedule_table thead th {
	background: #d55c84;
    color: #ffffff;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.2;
    height: 80px;
    padding: 10px 10px;
}

.class_schedule_table thead th.head_blank {
	width: 250px;
}

.class_schedule_table tbody th {
	    width: 250px;
    background: #FFEDF2;
    color: #ef6d96;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    height: 110px;
}

.class_schedule_table tbody td {
	background: #fff;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.4;
    height: 110px;
}

@media screen and (max-width: 1200px) {
	.class_schedule_table thead th {
		font-size: 24px;
		height: 78px;
	}

	.class_schedule_table thead th.head_blank {
		width: 220px;
	}

	.class_schedule_table tbody th {
		width: 220px;
		font-size: 21px;
		height: 160px;
	}

	.class_schedule_table tbody td {
		font-size: 21px;
		height: 160px;
	}
}

/* スマホ時だけ横スクロール */
@media screen and (max-width: 768px) {
	.class_schedule_section {
		/*padding: 30px 0 45px;
		overflow: visible !important;*/
	}

	.class_schedule_inner {
		width: calc(100% - 20px);
		max-width: none;
		overflow: visible !important;
	}

	.class_schedule_table_wrap {
		width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		padding-left: 10px;
		padding-right: 10px;
		padding-bottom: 8px;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch;
	}

	.yksk {
		padding-left: 15px;
	}
	
	.class_schedule_table {
		width: 1330px !important;
		min-width: 1330px !important;
		max-width: none !important;
	}

	.class_schedule_table th,
	.class_schedule_table td {
		display: table-cell !important;
		width: auto !important;
		min-width: 0 !important;
		white-space: nowrap !important;
	}

	.class_schedule_table thead th {
		font-size: 20px;
		height: 64px;
		padding: 8px 10px;
	}

	.class_schedule_table thead th.head_blank,
	.class_schedule_table tbody th {
		width: 265px !important;
		min-width: 265px !important;
	}

	.class_schedule_table tbody td,
	.class_schedule_table thead th:not(.head_blank) {
		width: 266px !important;
		min-width: 266px !important;
	}

	.class_schedule_table tbody th {
		font-size: 18px;
		line-height: 1.5;
		padding: 16px 12px;
		height: 130px;
	}

	.class_schedule_table tbody td {
		font-size: 18px;
		line-height: 1.5;
		padding: 16px 12px;
		height: 130px;
	}
	
	
	.school-schedule {
    padding: 0px 0px;
}
	
	
	.stimg_flex {
		    flex-direction: column;
	}
	
	
	.stimg_flex {
	margin-top: 30px;
    margin-bottom: 50px;
}
	
	.st_img {
    margin-bottom: 20px;
}
	
	
	.map .schedule-title {
    margin-bottom: 20px;
}
	
	
	    .mu_txt {
        max-width: 1600px;
        margin: 0 auto;
        margin-top: 90px;
        text-align: start;
        margin-left: 16px;
		margin-bottom: 50px;
    }
	
	
	
}

@media screen and (max-width: 591px) {
	.class_schedule_table {
		width: 1330px !important;
		min-width: 1330px !important;
		max-width: none !important;
	}

	.class_schedule_table th,
	.class_schedule_table td {
		display: table-cell !important;
		width: auto !important;
		min-width: 0 !important;
	}
}







/* =========================================
   スケジュール表：スマホ時だけさらに小さくする
   既存CSSの一番最後に追記
========================================= */

@media screen and (max-width: 768px) {
	.class_schedule_table {
		width: 980px !important;
		min-width: 980px !important;
		max-width: none !important;
	}

	.class_schedule_table th,
	.class_schedule_table td {
		display: table-cell !important;
		width: auto !important;
		min-width: 0 !important;
		white-space: nowrap !important;
		padding: 10px 8px !important;
	}

	.class_schedule_table thead th {
		font-size: 18px !important;
		height: 52px;
		padding: 8px 8px !important;
	}

	.class_schedule_table thead th.head_blank,
	.class_schedule_table tbody th {
		width: 180px !important;
		min-width: 180px !important;
	}

	.class_schedule_table tbody td,
	.class_schedule_table thead th:not(.head_blank) {
		width: 180px !important;
		min-width: 180px !important;
	}

	.class_schedule_table tbody th {
		font-size: 18px !important;
		line-height: 1.35;
		height: 80px;
		padding: 10px 8px !important;
	}

	.class_schedule_table tbody td {
		font-size: 18px !important;
		line-height: 1.35;
		height: 80px;
		padding: 10px 8px !important;
	}
	
	.sp_sc {
		text-align: left!important;
		margin-top: 5px;
	}
	
}

@media screen and (max-width: 591px) {
	.class_schedule_table {
		width: 900px !important;
		min-width: 900px !important;
		max-width: none !important;
	}

	.class_schedule_table th,
	.class_schedule_table td {
		display: table-cell !important;
		width: auto !important;
		min-width: 0 !important;
		font-size: 18px !important;
	}

	.class_schedule_table thead th.head_blank,
	.class_schedule_table tbody th {
		width: 180px !important;
		min-width: 180px !important;
	}

	.class_schedule_table tbody td,
	.class_schedule_table thead th:not(.head_blank) {
		width: 180px !important;
		min-width: 180px !important;
	}
}