﻿@charset "UTF-8";

body {
	-webkit-text-size-adjust: 100%;/* スマホレイアウト防止 */
	width: 100%;
	margin: 0px;
	padding: 0px;
	color:#313131;
	-webkit-font-smoothing: antialiased;
	/*font-family: "Sawarabi Mincho";  WEBフォント */
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background-color:#FFF;
}

.img{
	max-width: 100%;
	height:auto;
	}
.w100{max-width: 100%;}
.w70{max-width: 70%; }
/* 隙間をなくす */
li img,dt img,dd img{
vertical-align:bottom;
}
.center{text-align: center;}

/* IEの隙間をなくす */
img{
	vertical-align: top;
	vertical-align: bottom;
}	
.switch {
	visibility: hidden;}/* スマホＰＣ切り替えＣＳＳ*/

#wrap {
	width: 100%;
	overflow:hidden;
}

a{ outline: none;}

a:link,
a:visited {
	color: #000000;
	font-weight: normal;
	text-decoration: none;
}

a:hover,
a:active {
	text-decoration: none;
	color: #CCC;
}
a img {
	border-top-width: 0px;
	border-right-width: 0px;
	border-bottom-width: 0px;
	border-left-width: 0px;
}
/* フロート解除　*/
.clearfloat {
	font-size: 1px;
	line-height: 0px;
	clear: both;
	height: 0px;
}
.br-sp { } /**スマホ改行非表示*/
.br-pc { display:none; } /**ＰＣ改行非表示*/

@media screen and (max-width: 600px) {/*タブレット*/
.br-sp { display:none; } /*スマホ改行非表示*/
.br-pc {  } /*ＰＣ改行非表示*/
}

/* ヘッダー ----------------------------------------------------------------------------------*/

.inner{margin: 0 auto;}
header{
	width: 100%;
	margin:0 auto;
	padding-bottom:5px;
	border-bottom:solid 7px #b2dddc;
	position: fixed;
	z-index: 90;
	background: #FFF;
}
header .inner{
	max-width:1000px;
	margin:0 auto;
	overflow: hidden;
	display:flex;
	align-items:flex-end;
	position: relative;
}
.logo{
	max-width:320px;
	flex:2;
	padding:10px;
	}
header nav {
	flex:3;
	overflow: hidden;
	padding:0px;
}
header nav ul{
	padding:0px;
	list-style-type: none;
	display:flex;
	justify-content:flex-end;
}
header nav ul li{/*NAV文字 */
	font-size:15px;
	padding:5px 10px;
	font-family: "Sawarabi Mincho"; /* WEBフォント */
	}
header nav ul li a:link,
header nav ul li a:visited {
	text-decoration:none;
	color:#000;
}
header nav ul li a:hover,
header nav ul li a:active {
	color:#CCC;
	text-decoration:none;
}
.li_no{display: none;}


#nav_toggle{display: none;}
.li_none{display:none !important;}/*ＰＣでは非表示ボタン */

@media screen and (max-width:900px){
header .inner{position: static;}
.li_no{display:block;}
}
@media screen and (max-width:800px){
.logo{max-width: 220px;}
}
@media screen and (max-width:500px){
header .inner{
		display:block;
		}
.logo{
	max-width:180px;
	padding:0px;
	}
}
/*ヘッダーsns -------------------------*/
.h_sns{
	position: absolute;
	top: 20px;
	right: 10px;
	font-family: 'Pattaya', sans-serif;
	font-size: 20px;
}
@media screen and (max-width:900px){
.h_sns{display: none;}
}


/*メニュー部分 ----------------------------------------------------------------------------------*/
@media screen and (max-width:900px){
header .inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.logo{width:250px;}
ul.h_menu{display:none;}

nav{
	z-index: 90 !important;
	display: none;
	position: absolute;
	top:100px;/*スマホ用NAVの表示位置 */
	width: 100%;
	background: #cbe8e7;
	left: 0;
	font-family: "Sawarabi Mincho"; /* WEBフォント */
}
header nav ul{
	display: block;
	margin: 0 auto;
	width: 90%;
}
header nav ul li{
	margin: 0 auto;
	text-align: center;
	border-bottom: 1px solid #fff;
}
header nav ul li:last-child{
	border: none;
}
header nav ul li a{
	display: block;
	text-decoration: none;
	font-size:17px;
	font-weight: bold;
	padding:14px;
}
header nav ul li a:hover,
header nav ul lia:active{
	color:#3c8584;
}
.li_none{display:block !important;color: #fff;}

#nav_toggle{/*開閉ボタン*/
	display: block;
	width: 40px;
	height: 40px;
	position: relative;
	top: 0px;
	right:20px;
	z-index: 10000 !important;
}
#nav_toggle div {
	position: relative;
}
#nav_toggle span{
	display: block;
	height: 3px;
	background: #000;
	position:absolute;
	width: 100%;
	right:0;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;	
}
#nav_toggle span:nth-child(1){
	top:0px;
}
#nav_toggle span:nth-child(2){
	top:12px;
}
#nav_toggle span:nth-child(3){
	top:24px;
}
	
/*開閉ボタンopen時*/
.open #nav_toggle span:nth-child(1) {
		top: 12px;
	   -webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.open #nav_toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav_toggle span:nth-child(3) {
		top: 12px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
}
@media screen and (max-width:800px){
nav{top:85px;}
}
@media screen and (max-width:500px){
nav{top:60px;}
.logo{width:200px; margin-left:10px;}
}
/*フッダー ----------------------------------------------------------------------------------*/
.contact_btn{
	width: 90%;
	margin: 10px auto;
	text-align: center;
}
#f_contact{
	width:200px;
	 position: fixed;
	 bottom:0px;
	 right:0px;
	 z-index:80;
}
footer{
	width: 100%;
	background-color:#FFF;
	border-top:solid 2px #e3e1e1;
}	
.footer_in{
	overflow: hidden;
	padding-bottom:5px;
}
ul.f_menu{
	margin-top:20px;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
ul.f_menu li{
	text-align:center;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 11px;
	line-height:130%;
	border-right:solid 1px #000;
	padding:0px 10px;
}
.li_left{border-left:solid 1px #000;}

ul.f_menu li a:link,
ul.f_menu li a:visited,
ul.f_menu li a:hover,
ul.f_menu li a:active {
	text-decoration:none;
}
.f_logo{
	width:30%;
	margin:0 auto;
	padding:30px 20px;
}
.f_copy{
	font-size:12px;
	text-align:center;
	padding:30px 0px 0px;
}
@media screen and (max-width: 600px) {/*タブレット*/
#f_contact{width:150px;}
.footer_in{padding-bottom:30px;}
ul.f_menu{display:none;}
/*
ul.f_menu li{
	font-size:9px;
	margin-bottom:8px;
	border:none;
	}*/
.f_copy{
	font-size:9px;
	padding:15px 0px 0px;
}
.f_logo{
	width:70%;
	margin:0 auto;
	padding:20px 0px;
}
}
/* footerお問合せ  ----------------------------------------------------------------------------------*/
.contact_footer{
	background:#f4f3f1;
	width:100%;
	padding:20px 0px;
}
ul.con_f{
	display:flex;
	justify-content:center;
	max-width:800px;
	margin:20px auto;
	align-items:center;
}
ul.con_f li{
	width:45%;
	padding:1%;
	text-align:center;
}
@media screen and (max-width: 700px) {
.contact_footer{
	}
ul.con_f{
	width:90%;
	flex-wrap:wrap;
}
ul.con_f li{
	width:100%;
}
ul.con_f li img{
	max-width:350px;
	width:100%;
}
}



/* 文字  ----------------------------------------------------------------------------------*/
.S{font-size:14px;line-height: 150%; padding:5px;}
.M{font-size:20px;line-height: 130%;}
.L{font-size:30px;line-height: 150%;}

@media screen and (max-width: 600px) {/*PC*/
.S{font-size:12px;line-height: 150%;}
.M{font-size:15px;line-height: 150%;}
.L{font-size:20px;line-height: 150%;}
}
/* 配置 ----------------------------------------------------------------------------------*/
.right1{float: right;}
.left1{float: left;}	
.hover:hover{
	opacity:0.7;
	filter: alpha(opacity=70);
}
.m10{margin:10px;}
.m20{margin:20px;}

.mb10{margin-bottom:10px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb50{margin-bottom:50px;}
.tb5{margin-top:5px;margin-bottom:10px;}
.mt20{margin-top:20px;}

/* スライダー ----------------------------------------------------------------------------------*/
.slider{
	width:100%;
	background-attachment: fixed;
	margin-top: 100px;
}
.slider_img{
	max-width: 100%;
	width:100%;
	height:auto;
    margin: 0 auto;
	background-attachment: fixed;
}
.slider_pc{}
.slider_sp{display: none !important;}

@media screen and (max-width: 800px) {
.slider{margin-top: 80px;}
.slider_pc{display: none !important;}
.slider_sp{display: block !important;}
}
@media screen and (max-width: 500px) {
.slider{margin-top: 60px;}
}

/* ページＴＯＰ  ----------------------------------------------------------------------------------*/
#page-top {
    position: fixed;
    bottom: 20px;
    left: 20px;
    font-size: 100%;
}
#page-top a {
    background:#8bcecd;
    text-decoration: none;
    color: #000;
    width: 100px;
    padding: 30px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}
#page-top a:hover {
	color:#000;
    text-decoration: none;
    background: #9fd6d4;
}
@media screen and (max-width: 600px) {/*PC*/
#page-top a {padding: 10px 0;}
}

/* 共通 ----------------------------------------------------------------------------------*/
.main{width: 100%;}
.box{
	width: 95%;
	max-width:1100px;
	margin:0 auto;
	overflow:hidden;
}
.box2{
	width: 95%;
	max-width:1100px;
	margin:0 auto 50px;
	overflow:hidden;
	}
.bg1{/*ブルー背景*/
	width:100%;
	padding:100px 0px;
	background-color:#b2dddc;
}
.bg2{/*白背景*/
	width:100%;
	padding:100px 0px;
}
.bg3{/*グレイ背景*/
	width:100%;
	background:#f4f3f1;
	padding:100px 0px 50px;
}

.fadein {
  opacity : 0;
  transform: translateY(20px);
  transition: all 1s;
}
.page_title{padding:0px 0px 80px;}
.pink{color:#d0328c; font-weight:bold;}
.blue{color:#3067b1; font-weight:bold;}
@media screen and (max-width: 800px) {/*PC*/
.box{width:90%;margin:0 auto 30px;}
.page_title{padding:0px 0px 30px;}
.bg1{padding:50px 0px 20px;}
.bg2{padding:50px 0px 50px;}
.bg3{padding:50px 0px 50px;}
.box2{margin:20px auto}
}

/* PT ----------------------------------------------------------------------------------*/
.pt{width:100%;
	padding:70px 0px;
	margin-top: 100px;
}
.pt_in{
	max-width:1000px;
	width:100%;
	margin:0 auto;
}
.pt h2{
	color:#000;
	text-align:left;
	font-size:50px;
	padding:0px 50px;
	font-family: 'Great Vibes', cursive;
}
.pt_1{
	background:url(../img/pt/pt1.jpg) no-repeat center center;
	background-size: cover;
	}
.pt_2{
	background:url(../img/pt/pt2.jpg) no-repeat center center;
	background-size: cover;
	}
.pt_3{
	background:url(../img/pt/pt3.jpg) no-repeat center center;
	background-size: cover;
	}
.pt_4{
	background:url(../img/pt/pt4.jpg) no-repeat center center;
	background-size: cover;
	}
.pt_5{
	background:url(../img/pt/pt5.jpg) no-repeat center center;
	background-size: cover;
	}
.pt_6{
	background:url(../img/pt/pt6.jpg) no-repeat center center;
	background-size: cover;
	}
@media screen and (max-width: 800px) {
.pt{padding:40px 0px;margin-top: 90px;}
.pt h2{padding:0px 10px;font-size:35px;margin-left: 20px;}
}
@media screen and (max-width: 500px) {
.pt{padding:40px 0px;margin-top: 65px;}
.pt h2{padding:0px 10px;font-size:35px;}
}

/* ボタン ----------------------------------------------------------------------------------*/
.btn1{
	background-color:#FFF;
	padding: 0.5em 1em;
	display: inline-block;
	text-decoration: none;
	margin:20px 0px;
	border:solid 3px #b2dddc;
}
.btn1:link,
.btn1:visited {
	color:#000;
	font-weight: normal;
	text-decoration: none;
}
.btn1:hover,
.btn1:active {
	color:#000;
	text-decoration: none;
	background-color:#dcefef;
}
@media screen and (max-width: 600px) {
.btn1{
	font-size:13px;
}
}
/* TOP ----------------------------------------------------------------------------------*/
.intro_box{
	width: 100%;
	max-width:1100px;
	margin:5px auto 50px;
	padding:2%;
	overflow:hidden;
	position:relative;
	box-sizing: border-box;
}
.intro1_img{width:50%;float:left;}
.intro1_tex{float:right;width:47%;}
.intro1_tex h2{
	position:absolute;
	max-width:550px;
	margin-left:-70px;
	margin-top:40px;
	margin-bottom:30px;
	z-index:1000 !important;
}
.intro1_tex  p{
	font-size:14px;
	line-height: 180%;
	margin-top:160px;
}
.intro2_img{width:50%;float:right;}
.intro2_tex{float:left;width:47%;}
.intro2_tex h2{
	position:absolute;
	max-width:600px;
	margin-right:-150px;
	margin-top:40px;
	margin-bottom:30px;
}
.intro2_tex  p{
	font-size:14px;
	line-height: 180%;
	margin-top:170px;
}
.product_title{
	margin:0 auto;
	max-width:300px;
}
.insta_title{
	margin: 0 auto;
	width: 70%;
	max-width: 600px;
}

@media screen and (max-width: 500px) {
.insta_title{width: 90%;}
}
ul.top_product{
	display:flex;
	margin:50px auto;
	justify-content:space-between;
}
ul.top_product li{
	width:23%;
	text-align:center;
}
.sns{
	max-width:1000px;
	width:100%;
	text-align:center;
	margin:0px auto;
}

@media screen and (max-width: 800px) {
.intro1_img{float:none;width:80%;margin:0 auto 20px;}
.intro1_tex{float:none;width:80%;margin:0px auto;}
.intro1_tex h2{position:static;margin:0 auto 20px;}
.intro1_tex p{margin:0 auto;font-size:14px;line-height: 150%;}

.intro2_img{float:none;width:80%;margin:0 auto 20px;}
.intro2_tex{float:none;width:80%;margin:0px auto;}
.intro2_tex h2{position:static;margin:0 auto 20px;}
.intro2_tex p{margin:0 auto;font-size:14px;line-height: 150%;}
}

@media screen and (max-width: 500px) {
.intro_box{margin:25px auto;}
.product_title{max-width:200px;}
ul.top_product{
	margin:30px auto;
	flex-wrap:wrap;
	}
ul.top_product li{
	width:45%;
	text-align:center;
	font-size:12px;
	margin-bottom:10px;
}
}
/* TOP_lesson --------------------------------------------*/
.lesson_txt{
	width: 90%;
	max-width: 900px;
	margin: 50px auto 0px;
	font-size: 15px;
	line-height: 200%;
}
ul.top_lesson_btn{
	width: 95%;
	max-width: 930px;
	margin: 30px auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
ul.top_lesson_btn li{
	width: 46%;
	background: #ccc;
	margin: 15px;
}
@media screen and (max-width: 800px) {
.lesson_txt{font-size: 14px;line-height: 170%;}
ul.top_lesson_btn{margin: 15px auto;}
ul.top_lesson_btn li{width: 44%;margin: 10px;}
.lesson_txt{margin: 30px auto 0px;}
}

/* 表 --------------------------------------------*/
table.type01 {
	width:100%;
	margin:10px auto;
	border-collapse: separate;
	border-spacing: 0;
	text-align: left;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	background-color:#FFFFFF;
    font-size:14px;
	line-height:140%;
}
table.type01 th {
	padding: 10px;
	font-weight: bold;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	background: #eee;
	vertical-align:middle;
	text-align:center;
}
table.type01 td {
	padding: 10px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	vertical-align:middle;
}
.type01_bun{
	font-size:12px;
	line-height:150%;
	margin-bottom:20px;
}
@media screen and (max-width: 600px) {/*タブレット*/
table.type01 {
	font-size:12px;
}
table.type01 td {
	padding:5px;
}
}

/* もくじ ----------------------------------------------------------------------------------
.mokuji{
	width:100%;
	background-color:#8bcecd;
}
.mokuji_in{
	max-width:1000px;
	padding:50px 0px;
	margin:0 auto;
}
*/

/* 会社概要 ----------------------------------------------------------------------------------*/
.company_title{
	max-width:600px;
	margin:0 auto;
}
.map{
	margin:50px 0px; 
}
.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
margin:20px 0px 0px;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/* ギャラリー ----------------------------------------------------------------------------------*/
ul.gallery{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin:0px auto 20px;
	}
ul.gallery li{
	width:20%;
	margin:10px;
}
ul.gallery_tate{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin:0px auto;
	}
ul.gallery_tate li{
	width:18%;
	margin:10px;
}
@media screen and (max-width: 700px) {
ul.gallery{margin:0px auto 20px;}
ul.gallery li{width:29%;margin:5px;}
ul.gallery_tate li{margin:5px;}
}


/* 商品ラインナップ ----------------------------------------------------------------------------------*/

ul.lineup_title{
	margin:40px 0px;
	display:flex;
	justify-content:center;
}
ul.lineup_title li{
	background-color:#f4cbd2;
	margin:5px;
	padding:5px 10px;
	border-radius: 10px;         /* CSS3 */
	-moz-border-radius: 10px;    /* Firefox */
	-webkit-border-radius: 10px; /* Safari,Chrome */
}
ul.option{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin:50px auto;
	}
ul.option li{
	width:30%;
	margin:10px;
	text-align:center;
	font-size:16px;
	line-height:130%;
}
ul.option li img{padding-bottom:10px;}

@media screen and (max-width: 900px) {/*タブレット*/
ul.lineup_title{flex-wrap:wrap;margin:20px 0px 0px;}
ul.lineup_title li{font-size:14px;}
}
@media screen and (max-width: 700px) {/*タブレット*/
ul.lineup_title{
	width:20px auto;
	}
	
ul.option{margin:20px auto;}
ul.option li{width:45%;font-size:12px;}
}
@media screen and (max-width: 500px) {/*タブレット*/
ul.lineup_title li{font-size:11px;}
ul.option li{width:40%;}
}


/* お問合わせ　----------------------------------------------------------------------------------*/
.mailbox_all{
	box-sizing: border-box;
	margin:30px auto;
	padding: 20px 10px;
	width: 90%;
	max-width:900px;
	background-color:#FFFFFF;
	border:solid 1px #D3D0D0;
}
.mailbox{
	margin:10px;
}
.red{
	color:#FF0004;
}

.con_tel{
	margin:0px auto;
	max-width:400px;
	padding:10px 15px; 
}
@media screen and (max-width: 600px) {/*タブレット*/
.mailbox_all{
	width: 95%;
	padding:5px;
}
}

/* 商品ラインナップ ----------------------------------------------------------------------------------*/
ul.lineup_gallery{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin:20px auto 20px;
	}
ul.lineup_gallery li{
	width:40%;
	margin:10px;
	text-align:center;
	font-size: 14px;
}
@media screen and (max-width: 700px) {
ul.lineup_gallery{margin:20px auto;}
ul.lineup_gallery li{margin:5px;font-size: 12px;}
}


/* LINE-------------------------------------------------------*/
.line{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 30px;
	background: #FFFF;
}
.line_sp{display: none;}

@media screen and (max-width: 600px) {
.line{display: none;}
.line_sp{
	display: block;
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 30px;
	background: #FFFF;
}
}


/* レッスン----------------------------------------------------------------------------------*/

.lesson_box{padding: 150px 0px 0px;}
.title1{
	background: #3c8584;
	color: #FFF;
	font-size: 22px;
	padding: 10px 10px 10px 30px;
	margin-bottom: 10px;
}
.title1 span{font-size: 18px;}

.l_txt{
	font-size: 15px;
	line-height: 180%;
	margin: 10px;
}
.l_txt span{
	font-weight: bold;
	color: #3c8584;
}
.th_w1{width: 20%;}
ul.calendar{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 10px 0px;
}
ul.calendar li{
	width: 47%;
	padding: 0px 5px;
}
ul.lesson_img{
	display: flex;
	margin: 0px 0px 20px;
	justify-content: center;
}
ul.lesson_img li{
	width: 30%;
	padding: 5px;
	text-align: center;
	font-size: 18px;
	color: #3c8584;
}
.img_tate{width: 20%!important;}
.lesson_t{
	font-family: 18px;
	text-align: center;
	color: #3c8584;
}

@media screen and (max-width: 800px) {
.lesson_box{padding: 100px 0px 0px;}
.title1{font-size: 18px;}
.l_txt{font-size: 14px;line-height: 150%;}
.th_w1{width: 25%;}
ul.lesson_img li{font-size: 15px;}
}

@media screen and (max-width: 600px) {
.lesson_box{padding: 60px 0px 0px;}
ul.lesson_img{flex-wrap: wrap;}
ul.lesson_img li{width: 45%;}
.img_tate{width: 40%!important;}
.lesson_t{font-size: 15px!important;}
}
/* もくじ----------------------------------------------------------------------------------*/
ul.mokuji{
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin-bottom:30px;
}

ul.mokuji li{
	font-size: 16px;
	background-color:#E06163;
	color:#FFF;
	margin:5px;
	padding:10px 20px;
	border-radius: 10px;
	text-align: center;
	display:flex;
	align-items: center;
	justify-content: center;
}
ul.mokuji li a:link,
ul.mokuji li a:visited{
	color:#FFF;
	text-decoration:none;
}
ul.mokuji li a:hover,
ul.mokuji li a:active {
	color:#E79E9F;
}
@media screen and (max-width: 600px) {
ul.mokuji li{
	font-size: 12px;
	padding: 13px 10px;
	}
}

/* event----------------------------------*/
.event{
text-align: center;
margin: 50px auto;
}
.top_banner{
	text-align: center;
	margin: 50px auto;
	width: 90%;
	max-width: 1000px;
}
@media screen and (max-width: 600px) {
.top_banner{
	margin: 0px auto 30px;
}
}

