@charset "utf-8";

/* CSS Document */

@import url(reset.css);
html {
    font-size:62.5%;
}
body{
/*font: 14px/1.6 "Hiragino Kaku Gothic Pro",Osaka,"メイリオ","ＭＳ Ｐゴシック","MS PGothic",Verdana,Arial,sans-serif;*/
font-size: 1.6rem;
line-height:1.6;
margin:0;
color:#313131;
    padding: 0px;
    box-sizing: border-box;
  /*  background-color: #b2d5bf;*/
}

img{
outline:none;
border-style:none;
    max-width: 100%;
}

a{
    color:#0099FF;
    text-decoration: none;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}
a:visited{
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}
a:hover {
    color: #80006a;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}



/*****HEADER*****/


    header{
    display: flex;
    width:70%;
    margin-left: 15%;
    overflow: hidden;
    justify-content: space-between;
}
header img{
    max-width:450px; 

}
header ul{
        display: flex;
    font-size: 2rem;
}
header li {
    padding: 10px;
}

header .ico_sns{
    margin-top: 25px;
}

header li a{
    font-size: 3rem;
}

/*****BRANDING*****/
#branding{
    display: block;
    width: 60%;
    margin-left: 20%;
    overflow: hidden;
    background-color: #313131;
    margin-bottom: 20px;
    letter-spacing: 10px;
    line-height: 300px;
}
#branding p{
    color: #fff;
    font-size: 120%;
    padding-left: 3%;
}

/*****NAV*****/
nav{
    width: 100%;
    overflow: hidden;
 /* background-color: #f1f1f1;*/
       background-image: url("../images/menubk.png");
}
nav ul{
    width: 70%;
    margin-left: 15%;
    display: flex;
}
nav li{
    width: calc(33.3% - 2px);
    font-size: 110%;
    letter-spacing: 5px;
    font-weight: 400;
   line-height: 25px;
    border-left: 1px solid #d3d3d3;
    color: #fff;
    cursor: pointer;
    text-align: center;
    padding: 15px 0;
    font-family: 'Roboto', serif;
}
nav li:last-child{
    border-right: 1px solid #d3d3d3;
}

nav li:hover{
    background-color: #add8e6;
    transition: background-color 0.5s ease-out;
    color: #fff;
}

nav span{
    color: #fff;
    font-size: 80%;
}

#mainimg{
    width: 100%;
}
#mainimg img{
    width: 100%;
}

/*****スマホ用NAV*****/

header nav {
	margin-right: -16px;
}
header nav ul{
	display: flex;
	align-items: center;
    width: 500px;
	
}
header nav ul li a{
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	padding: 16px ;
}

#nav_toggle{
	display: none;
}

/*****TOPコンセプト*****/

article h1.en_copy {
font-size: 5rem;
   /** font-family: 'Bentham', serif;**/
    font-family: 'Satisfy', cursive;
        margin: 60px auto 5px auto;
}

article h1.jn_copy {
    font-size: 2rem;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", Verdana, serif;
    letter-spacing: 2px;
    margin: 0 auto 30px auto;
position: relative;
}

h1.jn_copy:before {
    content: '';
    position: absolute;
    bottom: -15px;
    display: inline-block;
    width: 60px;
    height: 1px;
    left: 50%;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #ccc;
    border-radius: 2px;
}


article h2 {

    font-size: 2.5rem;
    text-align: center;
        margin: 60px auto 30px auto;
}

article p {
    text-align: center;
    line-height: 200%;
    font-size: 1.5rem;
}
.back_gray p {
    text-align: center;
    line-height: 200%;
    font-size: 1.5rem;
}
.back_gray h1 {
    margin: 10px auto 20px auto;
    color: #fff;
}
/*****ARTICLE*****/

article{
    max-width: 1280px; 
    margin: 0 auto;
    padding: 0 5%;
    width: 100%;
    /* margin-left: 15%; */
    margin-top: 30px;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    box-sizing: border-box;
}

article h1{
    font-size: 2.5rem;
    text-align: center;
    margin: 60px auto;
}



article section{
    width: 25%;
    padding: 2.5%;
    margin: 1.5%;
    overflow: hidden;
    margin-bottom: 50px;
}
section{
    width: 41%;
    padding: 2.5%;
    margin: 1.5%;
    overflow: hidden;
}
section .date{
    font-size: 60%;
    color: orange;
    border: 1px solid orange;
    padding-top:3px;
    padding-bottom: 3px;
    padding-right: 6px;
    padding-left: 6px;
    letter-spacing: 5px
}
article section h1{
    width: 100%;
    font-size: 2rem;
        /* letter-spacing: 3px; */
    padding-bottom:2px;
    border-bottom: 1px solid #bababa;
    margin: 20px auto;
}

section p{
font-size: 1.5rem;
    color: #313131;
    /* letter-spacing: 3px; */
    /* line-height: 200%; */
    margin-bottom: 10px;
    /* float: left; */
    text-align: left;
}
section figure img{    FONT-WEIGHT: 200;
    width: 30%;
    height: auto;
    display: block;
    margin: 1rem auto;
}

section .btn{
    color: #fff;
    border: 1px solid orange;
    background-color: orange;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-right: 30px;
    padding-left: 30px;
    border-radius: 5px;
    letter-spacing: 5px;
    text-decoration: none;
    overflow: hidden;
    float: right;
}
section .btn:hover{
    background-color: #fff;
    border: 1px solid orange;
    transition: background-color 0.5s ease-out;
    transition: color 0.5s ease-out;
    transition: border 0.5s ease-out;
    color: orange;
    overflow: hidden;
}

/*****
article .future{
width: 17%;
    padding: 2.5%;
    margin: 1.5%;
    background-color: #f4eceb;
    color: #333;
    overflow: hidden;
    margin-bottom: 60px;
}

*****/
.future_box{
    display: block;
}
.flexbox {
  display: flex;
  flex-wrap: wrap;
  padding: 0.4em;
  margin: 0 0 2em;
}

.flexbox > div {
  background: #f4eceb;
  padding: 1em;
  flex: 1 0 150px;
  margin: 0.4em;
}

article .future h1{
    width: 100%;
    font-size: 1rem;
    /* letter-spacing: 3px; */
    /* padding-bottom: 0px; */
    border-bottom: none;
    margin: 5px auto;
}
.back_gray{
    background-color: #f0f8ff;    
    /* padding-bottom: 50px; */
        padding-top: 20px;
}


.ns_wrapper{
display: flex;
	justify-content: space-between;
    margin: 0 auto;
    width: 70%;
}

.news_box {
       text-align: center;
    /* background-color: #fff; */
    width: 70%;
    margin: 0 auto;
}
}
.sns_box {
	width: 35%; /*flex: 1;*/
}
.sns_box img {
	display: block;
	width: 100%;
	height: auto;
}

.ns_wrapper .news_box p{
   font-size: 1rem;
}
.news_box p span{
    color: #80006a;
    font-weight: bold;
}
    
/* 
.ns_wrapper{
        max-width: 1000px;
    margin: 0 auto;
        padding: 0 5%;
    margin-top: 30px;
    margin-bottom: 20px;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
}

.ns_wrapper .news_box{
    width: 49%;
    margin: 0 2% 0 0;
}
.ns_wrapper .sns_box{
    width: 47%;
}
.ns_wrapper .news_box p{
   font-size: 1.2rem;
}
.news_box p span{
    color: #994e67;
    font-weight: bold;
}

.news_box .news{
    margin-left: 0px;}
*/



#top{
    background-color: #fff;
    margin: 0 auto;
    text-align: center;
}
#top a{
   display: block;
    padding-top: 10px;
    padding-bottom: 10px;
}
#top img{
    width: 40px;
}

.top_about{
    width: 100%;
    margin-bottom: 80px;
}
.top_about h3 {
    text-align: center;
}
.checkbox{
    border-top: solid #1e366a 1px;
    border-bottom: solid #1e366a 1px;
    padding: 1em 0 1em 1.5em;
    font-size: 1rem;
    /* text-align: center; */
    margin: 0 auto;
    width: 70%;
}
.checkbox li{
    margin-bottom: 20px;
}
.concept_box{
    display: block;
    
}

.back_gray article .news_box p{
    text-align: left;
    
    padding-right: 30px;
}


/* お問合せボタン　*/
.container {
  font-family: "Yu Gothic", YuGothic, Verdana, 'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, sans-serif;
  text-align: center;
  padding-top: 40px;
    margin-bottom: 20px;
}


/* ここから下がボタンのCSS　*/
.btn-animation-02 {
    display: inline-block;
    width: 500px;
    text-align: center;
    background-color: #fff;
    border: 2px solid #80006a;
    font-size: 16px;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    padding: 10px 24px;
    border-radius: 4px;
    position: relative;
}

.btn-animation-02 span {
  position: relative;
  z-index: 1;
}

.btn-animation-02::before,
.btn-animation-02::after {
  content: "";
  display: block;
  background-color: #80006a;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: .2s;
}
.btn-animation-02::before {
  left: 0;
}
.btn-animation-02::after {
  right: 0;
}

.btn-animation-02:hover:before,
.btn-animation-02:hover:after {
  width: 0;
  background-color: #FFF;
}

.btn-animation-02:hover {
  color: #80006a;
}

.purple{
      color: #80006a;
    font-size: 2rem;
    
}
/*****footer*****/


footer{
    width: 100%;
    text-align: center;
    padding-top: 30px;
     background-color: #d3d3d3;
        font-size: 1.5rem;
}

footer h1{
    font-size: 2.5rem;
    margin: 50px auto;
    letter-spacing: 3px;
}
footer #tel{
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1;
}

footer .purples{
    color: #80006a;

}
footer address{
    margin: 10px auto;
        padding: 0 10px;
}
.add_detail{
    color: #da70d6;
    font-weight: bold;
    background-color: #fff;
     }
.square_btn {
display: inline-block;
    padding: 1em 2em;
    text-decoration: none;
    color: #333;
    border: solid 2px #333;
    border-radius: 3px;
    transition: .4s;
    margin: 30px;
    background-color: #fff;
}

.square_btn:hover {
    background: #333;
    color: white;
}

.copy_right
{
     margin: 30px auto 10px auto;
    background-color: #add8e6;
    color: #fff;
        padding: 20px 0;
}


.box15 {
    padding: 0.2em 0.5em;
    margin: 2rem auto 5rem auto;
    color: #9e005d;
    background: #ffeaea;
    box-shadow: 0px 0px 0px 10px #ffeaea;
    border: dashed 2px #ffc3c3;
    border-radius: 8px;
    width: 50%;
    font-size: 1.5rem;
}
.box15 p {
    margin: 0; 
    padding: 0;
}


/*****access*****/


.sub_content{
    width: 100%;
}

#subpage h1 {
    text-align: center;
}


#subpage h1 span {
    font-size: 1.5rem;
}

.outline {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 30px;
}

.outline span {
    font-size: 1rem;
    color: #994e67;
    font-weight: bold;
   
}


#subpage h2 {
    font-size: 2rem;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #999;
    text-align: center;
    margin-top: 50px;
    margin-right: auto;
    margin-left: auto;
    line-height: 50px;
    height: 50px;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: #999;
}

article .access_box section{
    margin: 0 auto;
    padding: 0;
}
.access_box{
    margin-top: 30px;
    margin-bottom: 20px;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
        padding: 20px;
    background-color: #fff;
}

article .map_table{
    width: 60%;
    background-color: #fff;
}



article .map_photo{
    width: 40%;
        background-color: #fff;
}


article .map_table_box {
 border-spacing: 0px 20px;
    width: 100%;

}
article .map_table tr {
border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #999;
    /* line-height: 30px; */
    display: block;
    padding: 5px;
    margin: 0 40px 0 0;
}

article .map_table td {
    padding: 0 10px;

}
article .map_table td span{
    font-size: 1rem;
    color: #2e8b57;

}

article .map_table .table_left{
      width: 120px;
}


article .map_table th {
font-weight: bold;
    font-size: 2rem;
          color: #2e8b57;
    }

article .map_table2{
    width: 100%;
    background-color: #fff;
}

article .map_table2 tr {
border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #999;
    /* line-height: 30px; */
    display: block;
    padding: 5px;
    margin: 0 40px 0 0;
}

article .map_table2 td {
    padding: 0 10px;

}
article .map_table2 td span{
    font-size: 1rem;
    color: #2e8b57;

}

article .map_table2 .table_left{
      width: 120px;
}


article .map_table2 th {
font-weight: bold;
    font-size: 2rem;
          color: #2e8b57;
    }



.access_box .contents-wrap {
	display: flex;
	justify-content: space-between;
	margin-bottom: 5rem;
}
.access_box .contents-wrap:nth-child(even) {
	flex-direction: row-reverse;
}

.access_box .contents-text {
	width: 60%; /*flex: 2;*/
    
        font-size: 1rem;
}
.access_box .contents-text p {
	text-align: left;
    
        font-size: 1.5rem;
}
.access_box .contents-img {
	width: 35%; /*flex: 1;*/
}

.access_box .contents-text h3 {
	border-bottom: 1px solid #bc8f8f;
	font-size: 1.2rem;
}

.access_box .contents-img img {
	display: block;
	width: 100%;
	height: auto;
}

.access_box .profile_box{
        background-color: #f4eceb;
    width: 100%;
    margin: 10px 0;
}

.access_box .profile_box p {
width: 90%;
    margin: 0 auto;
    text-align: left;
    font-size: 0.8rem;
    padding: 10px;

}
.access_box .profile_box p span {

    color: #994e67;
    font-weight: bold;
}

.staffmidasi {
font-size: 1.8rem;
    border-bottom: 1px dashed #80006a;
    color: #80006a;
        margin-bottom: 15px;
}

/***** program *****/

.page_title_1{
    background-image:url(../images/bg_menu.jpg);
    margin: 0 auto;
    width: 100%;
    text-align: center;

}

.second-row{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
    align-items: stretch;
}
 
.card{
    border: 1px solid #ccc;
    border-radius: 5px;
    /* margin: 5px; */
    width: 48%;
    /* min-height: 350px; */
     justify-content: space-between;
    display: flex;
        margin-bottom: 30px;
    flex-direction: column;
}

#subpage .card .card-title{
    font-size: 1rem;
    text-align: center;
    border: none;
    margin: 0 auto;
    line-height:normal;
    height: auto;
    background-color: #f4eceb;
      padding: 5%;
    width: 90%;
}

#subpage .card .card-text{
    text-align: left;
    font-size: 1rem;
    padding: 20px;
}
#subpage .card .card-text span{
    color: #e6177e;
    font-weight: bold;
}

#subpage .card .card-strong{
    text-align: left;
    font-size: 1rem;
    padding: 20px;
    font-weight: bold;
}
#subpage .card .card-effect{
    text-align: left;
    font-size: 1rem;
    padding: 20px;
    border-top: 1px dashed #d2b48c;
    background-color:  #ffffe0;
}

.item-btn {
margin-top: auto;
    margin-bottom: 20px;
}

.item-btn a {
  display: block;
    padding: 10px;
    width: 80%;
    background: #333;
    border-radius: 3px;
  color: #fff;
  text-decoration: none;
  text-align: center;
        font-size: 1rem;
    margin: 0px auto;
}

 .link_btn {
margin-top: auto;
    margin-bottom: 20px;
}

.link_btn a {
  display: block;
    padding: 10px;
    width: 90%;
    background: #80006a;
    border-radius: 3px;
  color: #fff;
  text-decoration: none;
  text-align: center;
    font-size: 1.5rem;
    margin: 20px auto;
}


#subpage article .menu_box {
    width: 100%;
    padding: 0px;
    margin: 0 auto 30px auto;
    background-color: #fff;
    overflow: hidden;
        display: flex;
    	justify-content: space-between;
}
.menubox_text{
    width: 60%;
        padding: 20px;
    display: flex;
    
    flex-direction: column;
}

.menubox_text p span{
 color: #e6177e;
    font-weight: bold;
}

.menubox_text .pro_detail{
    color: #6495ed;
    font-size:0.8rem;
}
.menu_photo{
    width: 30%;
        padding: 25px;
    /* margin-right: 2%; */
}
.menu_box img {
	display: block;
	width: 100%;
	height: auto;
}
#subpage .menu_box h1 {
    font-size: 2rem;
    text-align: left;
    margin-top: 5px;
    padding: 0.4em;
    color: #494949;
    background: #fff;
    border-left: solid 5px #87cefa;
    background-color: #f0f8ff;
    border-bottom: none;
}
#subpage .menu_box h2 {
    font-size: 1.6rem;
    border-bottom: none;
    text-align: left;
    margin: 0px auto 5px 0;
    line-height: normal;
    height: auto;
    border-top: none;
    color: #80006a;
    font-weight: bold;
    align-self: flex-start;
}
.price{
    display: block;
    align-self: flex-end;
}

.products_price{
    margin: 10px auto;
}
.products_buy{
    font-size: 0.8rem;
}

.pro_how{
    background-color: #fff;
    padding: 10px;
        border-radius: 5px;
    font-size: 0.8rem;
}
#subpage article .menu_box_no_p {
    width: 100%;
    padding: 0px;
    margin: 0 auto 30px auto;
    background-color: #f4eceb;
    overflow: hidden;
        display: flex;
    	justify-content: space-between;
}
.menubox_text_no_p{
    width: 90%;
        padding: 20px;
    display: flex;
    
    flex-direction: column;
}


article .before_box {
    width: 100%;
    padding:inherit;
    margin: 0 auto 20px auto;   
    background-color: #b2d5bf;
    overflow: hidden;
}

#subpage .before_box h1 {
    font-size: 1.8rem;
    text-align: left;
    margin-top: 0px;
    background: #fff;
    border-left: solid 5px #2e8b57;
    background-color: white;
    border-bottom: none;
    padding: 0.4em;
}
#subpage .before_box p {
    margin-bottom: 50px;
}
#subpage .before_box .before_img{
    margin: 0 auto;
    text-align: center;
}

#subpage .detail_service{
   padding: 10px;
    background-color: #ffe4e1;
    border: dashed 1px #da70d6;
    width: 80%;
    margin: 0px auto 20px auto;
    color: #da70d6;
    font-weight: bold;
}
#subpage .detail_service span{
    font-size: 2rem;
    color: #2e8b57;
}
article .caution {
    width: 100%;
    padding: inherit;
    margin: 0 auto;
    background-color: #fff;
    overflow: hidden;
}

#subpage .caution h1 {
    font-size: 1.1rem;
    text-align: left;
    margin-top: 5px;
}
.caution li {
    margin: 10px auto;
    font-size: 1rem;
}

.caution ul {
    list-style-type: square;
        padding-left: 20px;
    
}

.study_list_box {
    display: flex;
        margin: 0 auto;
    flex-wrap: wrap;
    
}
.study_list_box ul{

}

.study_list_box ul li{
    width: 250px;
    position: relative;
    margin-left: 20px;
}
.study_list_box ul li::after {
  display: block;
  content: '';
  position: absolute;
  top: .5em;
  left: -1em;
  width: 8px;
  height: 3px;
  border-left: 2px solid #80006a;
  border-bottom: 2px solid #80006a;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
     
     /***** products *****/

.step {
    display: flex;
}
.step section {
         width: 25%;
    padding: 2.5%;
    margin: 1.5%;
    background-color: #f4eceb;
    overflow: hidden;
}

.step h1 span{
        color: #994e67;
    font-weight: bold;
}

article .step section h1 {

    margin: 0px auto;
}


.slider {
	margin: 0 0 50px;
}
.slider img {
	width: 100%;
	height: auto;
}
/*左右の矢印の色を変える*/
.slick-prev:before,
.slick-next:before {
    color: #000;
}
/*左右の矢印の位置を変える*/
.slick-next {
    right: 20px;
    z-index: 99;
}
.slick-prev {
     left: 15px;
    z-index: 100;
}
/*スライド数のドットの色を変える*/
.slick-dots li.slick-active button:before,
.slick-dots li button:before {
    color: #fff;
}
/*スライド画像の横幅可変*/
img {
    max-width: 100%;
     height: auto;
}

.center-item {
  padding: 0;
}