/**
BASIC
*/

body{
	font-family:Roboto,'Zen Kaku Gothic New',"lucida grande",'游ゴシック体', 'Yu Gothic', YuGothic, tahoma,verdana,arial,'Hiragino Kaku Gothic Pro',Meiryo,'MS PGothic',sans-serif ;
	font-weight: 400;
	letter-spacing: .02em;
	font-size: 100%;
	line-height: 1;
	background: #FFF;
    background: url(/images/2025/bg.svg) rgba(230,0,50,.1) left top;
    background-attachment: fixed !important;
    background-size: 40%;
	color: #333;
	-webkit-font-smoothing: antialiased;
}

html {
scroll-padding-top: 100px; /* ヘッダーの高さ */
}
     
a img,
:link img,
:visited img{
	border: none;
}

img[src$=".gif"], img[src$=".png"] {
	/*image-rendering: -moz-crisp-edges;          Firefox */
	/*image-rendering:   -o-crisp-edges;          Opera */
	image-rendering: -webkit-optimize-contrast;/* Webkit (非標準の名前) */
	image-rendering: crisp-edges;
	-ms-interpolation-mode: nearest-neighbor;  /* IE (非標準プロパティ) */
}

.movie-wrap {
     position: relative;
     padding-bottom: 56.25%;
     height: 0;
     overflow: hidden;
	 margin: 0px 0 0 0;
}
 
.movie-wrap iframe{
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

a {text-decoration: underline; outline: 0;}
a:link {color: #333;outline: 0;}
a:visited {color: #333; outline: 0;}
a:active {color: #333; outline: 0;}
a:hover {
	color: #999;
	text-decoration: none;
	outline: 0;
}

a{
	transition: 0.2s ease 0s;
	-webkit-transition: 0.2s ease 0s;
	-moz-transition: 0.2s ease 0s;
	-ms-transition: 0.2s ease 0s;
}

#wrapper{
	margin: 0;
	padding: 0;
	clear: both;
	overflow-x: hidden;
}

#contents{
	margin: 150px auto 0px auto;
}
.home #contents{
	margin: 0px auto 0px auto;
}
.news #contents,
.privacy #contents,
.contact #contents,
.contact_recruit #contents{
	margin: 140px auto 0px auto;
}


#main_contents{
	float: left;
	width: 70%;
	margin-right: 5%;
	margin-bottom: 30px;
}

body.news.list #main_contents{
    background: rgba(255, 255, 255, .6);
    border-radius: 10px;
    padding: 30px;
    padding-left: 0;
    }

#sidebar{
	float: left;
	width: 25%;
}

.inner{
width: 1280px;
margin: 0 auto;
position: relative;
padding: 0 0px;
}

.inner.narrow table,
.inner.narrow p,
.inner.narrow ul{
width: 1100px;
margin: 0 auto 1em auto;
}
.inner.narrow.more table,
.inner.narrow.more p,
.inner.narrow ul{
width: 880px;
}


.home.inner{
width: 100%;
}

body.news .inner{
width: 1080px;
}


.sp{
	display: none !important;
}



/**
BREADCRMBS
*/

div.bread{
	position: absolute;
	top: 10px;
	right: 20px;
    
	/*border-top: solid 1px rgba(0,0,0,0.05);
    position: relative;*/
	z-index: 99;
	/*width: 100%;
	padding: 10px 0;
	background: rgba(163,141,115,.1);*/
    color: #666;
    /*margin: 20px 0 0 40px;*/
}

div.bread a{
color: #666;
}
div.bread span{
    font-size: 10px !important;
    }

#breadcrumbs{
	font-size: 12px;
	text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}

.home .bread{
	display: none;
}
.news div.bread,
.news div.bread a{
color: #666;
}

/*
.news div.bread{
    margin: -20px 0 0px 140px;
}*/


/**
ROLLOVER
*/

a img:hover{
	/* IE 
	filter: alpha(opacity=70);*/
	/* Safari Opera */
	opacity: 0.90;
	/* Firefox Netscape */
	-moz-opacity: 0.90;
}



/**
HEADER
*/

header{
position: relative;
}
header .logo img {
  width: 220px;
}
.home header .logo img {
  width: 400px;
}


header div.logo {
    /*background: rgba(255, 255, 255, .9);
    width: 120px;
    height: 130px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  transition: width 0.3s ease, transform 0.3s ease;
    margin: 20px 0 0 20px;*/
}
header div.logo {
  margin: 20px 0 0 30px;
}


header div.logo a{
    position: relative;
    z-index: 999;
    }
    
header.is-animation div.logo{
    width: 220px;
} 



/* ヘッダー */
.header {
  width: 100%;
  height: 100px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}

.header-inner {
  padding: 0 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: inherit;
  position: relative;
}
  

.header-nav {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  transform: translateX(100%);
  background-color: rgba(255,255,255,.8);
  transition: ease .4s;
  display: flex;
}

.nav-items {
  margin: auto;
  line-height: 3.5;
}
  
.nav-item {
  cursor: pointer;
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  /*margin-left: 1em;*/
}


/*
.nav-item.about a{
border-radius: 30px 0 0 30px;
}
.nav-item.contact a{
border-radius: 0 30px 30px 0;
}
*/

 
.nav-item a {
  display: block;
  text-align: center;
  text-decoration: none;
  
  padding: 0;
  background: rgba(209,41,26,1);
  color: #FFF;
  /*border-radius: 50px;*/
  white-space: nowrap;
  width: 140px;
  font-size: 14px;
  font-weight: 600;
}
.nav-item a:hover{
  opacity: .8;
  }
  
.nav-item.what a{
background: rgba(136,44,222);
}
.nav-item.news a{
background: rgba(209,41,26,1);
}
.nav-item.about a{
background: rgba(64,197,207,1);
}
/*
.nav-item.concept a{
background: rgba(64,197,207,1);
}*/

.nav-item.support a{
background: rgba(255,204,83,1);
}
.nav-item.graduate a{
background: rgba(238,118,43,1);
}
.nav-item.entry a{
background: rgba(250,97,3,1);
}
.nav-item.recruit a{
background: rgba(248,134,207,1);
}
.nav-item.contact a{
background: rgba(0,0,0,1);
}
.nav-item.top a{
border: solid 2px #000;
color: #000;
}


/* ハンバーガー */
.header-hamburger {
  width: 48px;
  height: 100%;
}
  
.hamburger {
  background-color: transparent;
  border-color: transparent;
  z-index: 9999;
  cursor: pointer;
}

.hamburger span {
  width: 100%;
  height: 2px;
  background-color: #333;
  position: relative;
  transition: ease .4s;
  display: block;
  border-radius: 3px;
}

/* ハンバーガーメニューの三本線 */
.hamburger span:nth-child(1) {
  top: 0;
}
  
.hamburger span:nth-child(2) {
  margin: 6px 0;
  width: 70%;
}

.hamburger span:nth-child(3) {
  top: 0;
  width: 50%;
}
  
/* ハンバーガーメニューの動き */
.header-nav.active {
  transform: translateX(0);
}
  
.hamburger.active span:nth-child(1) {
  top: 7px;
  transform: rotate(45deg);
}
  
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
  
.hamburger.active span:nth-child(3) {
  top: -10px;
  transform: rotate(-45deg);
  width: 100%;
}

@media screen and (min-width: 960px) {
  .header {
    height: 140px;
  }
  .nav-items {
    margin: initial;
    /*width: 100%;*/
    height: initial;
    /*height: 100px;*/
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .header-nav {
    position: static;
    transform: initial;
    background-color: inherit;
    height: inherit;
    display: flex;
    justify-content: end; /* 右寄せに配置 */
    width: 40%;
  }
  .hamburger {
    display: none;
  }
}




/**
SOCIAL
*/

.box_social ul li{
	list-style: none;
	display: inline;
	margin: 0 5px;
	line-height: 0;
}

.box_social ul li img{
	width: 15px;
}

.box_social ul li span,
.box_social ul li i,
.box_social ul li svg{
	display: inline-block;
	line-height: 0;
	font-size: 30px;
}
.box_social ul li.x svg{
	display: inline-block;
	line-height: 0;
    width: 25px;
    height: 25px;
    fill: #000;
}

.box_social ul li a{
	display :inline-block;
	text-align: center;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
}



/**
SUB NAVI
*/

ul.sub_navi li{
	margin:  0 .5em;
	line-height: 1.5;
	font-size: 13px;
}

ul.sub_navi li a {text-decoration: none; outline: 0;}
ul.sub_navi li a:link {color: #333;outline: 0;}
ul.sub_navi li a:visited {color: #333; outline: 0;}
ul.sub_navi li a:active {color: #333; outline: 0;}
ul.sub_navi li a:hover {
	color: #999;
	text-decoration: none;
	outline: 0;
}



  
  
 

/**
TOPIC PATH
*/

#topic_path{
	clear: both;
	padding: 0 0 20px 0;
	clear: both;
}

#topic_path li {
	display: inline;
	font-size: 12px;
	line-height: 1.3;
	list-style-type: none;
}

#topic_path li:after{
	content: " \f105";
	font-family: FontAwesome;
	margin-left: .5em;
}



/**
COMMON_LAYOUT
*/

.clear{
	clear: both;
}
 
img{
	vertical-align: middle;
	max-width: 100%;
}

#contents section{
	clear: both;
	padding: 50px 0;
	/*border-bottom: solid 1px rgba(0,0,0,0.05);*/
}


#contents section{
background-color: rgba(255,255,255,.8);
/*background-color: rgba(250,97,3,.1);*/
}
#contents section:nth-child(2){
/*background: transparent !important;*/
}

#contents section:nth-child(even){
/*background: rgba(0,0,0,0.02);*/
}
#contents section:nth-child(odd){
background: rgba(255,255,255,.6);
}


#contents section div.block{
	margin-bottom:30px;
}
#contents section div.block:last-child{
	margin-bottom: 0;
}

#contents section div.content{
padding: 60px 0;
}



section.main_image{
margin-top: -260px;
padding: 0 !important;
/*filter: blur(5px);*/
filter: brightness(0.8);
height: 100vh;
}

body.about section.main_image{
background: url(/images/2025/DSC02364.JPG) no-repeat center center !important;
background-size: cover !important; 
}

body.support section.main_image{
background: url(/images/2025/support_pearch1.jpg) no-repeat center bottom !important;
background-size: cover !important; 
}
body.entry section.main_image{
background: url(/images/2025/entry_main.jpg) no-repeat center top !important;
background-size: cover !important; 
}

body.what section.main_image{
background: url(/images/2025/DSC05086.jpg) no-repeat center top !important;
background-size: cover !important; 
}



#contents section.main_image .column img{
width: 100%;
}


/**
ICON
*/

li.category a,
p.category a,
span.category a{
	padding: 5px 8px;
	display: inline-block;
	line-height: 1;
	/*background-color: rgba(0,0,0,.2);*/
    border: solid 1px #666;
	font-size: 10px;
	text-decoration: none;border-radius: 10px;
}

li.tag a,
p.tag a,
span.tag a{
	padding: 5px 8px;
	display: inline-block;
	line-height: 1;
	color: #333;
	font-size: 12px;
	text-decoration: none;
    border-radius: 20px;
    border: solid 1px #000;
    margin-right: 10px;
}



/**
COMMON_PARTS
*/

.centering {
    display: flex;
    align-items: center;
}
.bottom{
  display: flex;
  align-items: flex-end;
}




br.sp{
	display: none;
}



/**IMAGE DARK*/

section.cover{
position: relative;
}

.cover:before {
    z-index: 60;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.3);
}

.cover.white:before {
    z-index: 60;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255,255,255,0.8);
}


.cover img{
width: 100%;
display: block;
opacity: .6;
}

.cover div,
.cover div p{
z-index: 99;
}



div.title{
	position: relative;
	margin-bottom: 20px;
	clear: both;
}


div.title.center{
	text-align: center;
}
div.block  div.title{
	margin-top: 40px;
}

div.title.left {
    margin-bottom: 60px;
}

div.title h1{
	font-size: 36px;
	line-height: 1.2;
}
div.title h1 .sub{
	font-size: 60%;
	margin-left: 1em;
}

div.title h2{
	font-size: 32px;
	line-height: 1.2;
    font-weight: 300;
    letter-spacing: .05em;
    
    padding: 1.2rem 0 2rem 4rem !important;
    margin-bottom: 0.5rem;
    
    
    z-index: 99;
    position: relative;

}

div.title h2{
/*font-family: "Kaisei Decol", serif;*/
font-family: "Stick", sans-serif;
font-size: 40px;
}

div.title h3{
font-size: 20px;
}
div.title h2 .sub,
div.title h3 .sub{
font-size: 13px;
margin-left: 1em;
    letter-spacing: .1em;
}


body.about #contents div.title.main,
body.support #contents div.title.main,
body.entry #contents div.title.main,
body.recruit #contents div.title.main,
body.what #contents div.title.main{
position: absolute;
top: 35%;
}
body.about #contents div.title.main h2,
body.support #contents div.title.main h2,
body.entry #contents div.title.main h2,
body.recruit #contents div.title.main h2,
body.what #contents div.title.main h2{
text-align: center;
color: #FFF;
font-size: 60px;
text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.8);
padding: 0 !important;
}


body.about #contents div.title.main h2::before,
body.support #contents div.title.main h2::before,
body.entry #contents div.title.main h2::before,
body.recruit #contents div.title.main h2::before,
body.what #contents div.title.main h2::before{
display: none;
}
body.about #contents div.title.main h2 .sub,
body.support #contents div.title.main h2 .sub,
body.entry #contents div.title.main h2 .sub,
body.recruit #contents div.title.main h2 .sub,
body.what #contents div.title.main h2 .sub{
display: block;
font-size: 40%;
margin: 10px 0 0 0;
}



div.title.inner{
width: 100%;
}
div.title.inner h2{
padding-left: 0;
}


/*h2::before {
    position: absolute;
    border-bottom: 5px solid rgba(209,41,26,1);
    top: 80%;
    width: 180px;
    margin-left: -100px;
    content: '';
}
*/

h2::before {
    position: absolute;
    border-bottom: 5px solid rgba(230,0,50,1);
    top: 80%;
    width: 280px;
    margin-left: -10%;
    content: '';
    border-radius: 5px;
}

.home h2::before{
    border-bottom: 3px solid rgba(255,255,255,1);
    }

body.what h2::before{border-bottom: 5px solid rgba(136,44,222);}
body.about h2::before{border-bottom: 5px solid rgba(64,197,207,1);}
body.concept h2::before{border-bottom: 5px solid rgba(64,197,207,1);}
body.support h2::before,body.contact_support h2::before{border-bottom: 5px solid rgba(255,204,83,1);}
body.entry h2::before{border-bottom: 5px solid rgba(250,97,3,1);}
body.recruit h2::before,body.contact_recruit h2::before{border-bottom: 5px solid rgba(248,134,207,1);}


/*
body.what .main_image{background: rgba(129,41,45,.2);}
body.about .main_image{background: rgba(64,197,207,.2);}
body.concept .main_image{background: rgba(64,197,207,.2);}
body.support .main_image{background: rgba(255,204,83,.2);}
body.entry .main_image{background: rgba(250,97,3,.2);}
body.recruit .main_image{background: rgba(248,134,207,.2);}
*/


body{background: url(/images/bg.svg) rgba(209,41,26,.1) left top; background-size: 40%;}
body.news{background: url(/images/bg.svg) rgba(209,41,26,.1) left top; background-size: 40%;}
body.what{background: url(/images/bg.svg) rgba(136,44,222,.3) left top; background-size: 40%;}
body.about{background: url(/images/bg.svg) rgba(64,197,207,.3) left top; background-size: 40%;}
body.concept{background: url(/images/bg.svg) rgba(64,197,207,.3) left top; background-size: 40%;}
body.support,body.contact_support{background: url(/images/bg.svg) rgba(255,204,83,.3) left top; background-size: 40%;}
body.entry{background: url(/images/bg.svg) rgba(250,97,3,.3) left top; background-size: 40%;}
body.recruit,body.contact_recruit{background: url(/images/bg.svg) rgba(248,134,207,.3) left top; background-size: 40%;}

/*
div.title h3{
	font-size: 30px;
	line-height: 1.2;
    font-weight: 600;
}

div.title.left h3:before {
    content: '';
    width: 80px;
    height: 2px;
    background-color: #333;
    display: block;
    position: absolute;
    left: 0;
    bottom: -15px;
}
*/

div.title.left h3{
    display: inline-block;
    position: relative;
    margin: calc(3.5em / 2) 0 calc(3.5em / 4) calc(3.5em / 2);
    color: #333333;
    line-height: 1;
    font-size: 30px;
    margin-left: -7px;
}

div.title.left h3::before {
    position: absolute;
    bottom: calc(-3.5em / 4);
    left: calc(-3.5em / 2);
    z-index: -1;
    width: 3.5em;
    height: 3.5em;
    border-radius: 50%;
    background: rgba(230,0,50,.4);
    content: '';
}


div.title h3 span.sub{
font-size: 60%;
margin-left: 1em;
}


div.title.left h3 svg{
margin-right: 10px;
}

div.title.center h3{
  font-size: 26px;
  margin-bottom: 10px;
  }
div.title.center h3:before{
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 40px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
  }


body.what div.title.left h3:before{background-color: rgba(136,44,222);}
body.about div.title.left h3:before{background-color: rgba(64,197,207,1);}
body.concept div.title.left h3:before{background-color: rgba(64,197,207,1)}
body.support div.title.left h3:before{background-color: rgba(255,204,83,1)}
body.entry div.title.left h3:before{background-color: rgba(250,97,3,1);}
body.recruit div.title.left h3:before{background-color: rgba(248,134,207,1);}


div.title h4{
	font-size: 26px;
	line-height: 1.2;
}
div.title h4 .sub{
font-size: 50%;
}
div.title.center h4{ 
position: relative;
  display: inline-block;
  padding: 0 65px;
  text-align: center;
  margin-bottom: 20px;
}


div.title.numbered h4 {
	position: relative;
}

div.title.numbered h4::before {
	content: attr(data-number);
	display: inline-block;
	margin-right: 20px;
	color: rgba(0,0,0,1);
	font-size: 60px;
    font-weight: 400;
	border-bottom: 1px solid rgba(0,0,0,1);
}

body.support div.title.numbered h4::before{
	color: rgba(255,204,83,1);
	border-bottom: 1px solid rgba(255,204,83,1);
}
body.recruit div.title.numbered h4::before{
	color: rgba(248,134,207,1);
	border-bottom: 1px solid rgba(248,134,207,1);
}
body.about div.title.numbered h4::before{
	color: rgba(64,197,207,1);
	border-bottom: 1px solid rgba(64,197,207,1);
}


div.title.center h4:before,
div.title.center h4:after {
  position: absolute;
  top: calc(50% - 1px);
  width: 40px;
  height: 3px;
  content: '';
  border-top: solid 1px #333;
  /*border-bottom: solid 1px #333; 二重線の場合*/
}

div.title.center h4:before {
  left: 0;
}

div.title.center h4:after {
  right: 0;
}


div.title.center h2{
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
}
div.title.center h2:before{
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}


div.title h5{
	font-size: 22px;
	line-height: 1.2;
}
div.title h5 svg{
font-size: 150%;
margin-right: 10px;
}


p{
  line-height: 1.8;
  margin: 1em 0;
}

p.catch{
	font-size: 160%;
	line-height: 1.5;
    font-weight: 600 !important;
    letter-spacing: .1em;
}

p.lead{
	font-size: 120%;
    font-weight: 600;
	margin: 1em 0;
}

p.right{text-align: right;}
p.center{text-align: center;}
p.left{text-align: left;}


p em,
li em,
td em{
    background: linear-gradient(transparent 80%, rgba(255,0,37,0.2) 80%);
    font-size: 120%;
    font-weight: 600;
}

.caution,
.caption{
	font-size: 13px;
	color: #666;
	line-height: 1.5;
	font-weight: normal;
}
.caution.blk{
color: #333;
}
.caution.normal{
font-size: 100%;
}

ul.caution {
  list-style: none; /* デフォルトの箇条書きを消す */
  padding: 0;
  margin-top: 1em;
}

ul.caution li {
  position: relative;
  padding-left: 1em; /* アイコン・記号分のスペース */
  text-indent: -1em; /* 1行目を引き戻す */
}
  
span.red{
color: rgba(209,41,26,1);
}


p.button{
margin: 2em auto 0 auto !important;
}



ul.caution li{
	margin: 0.2em 0 0.2em 0px;
	line-height: 1.3;
}


hr{
	border-width: 1px 0px 0px 0px;
	border-style: solid;
	border-color: rgba(0,0,0,0.1);
	height: 1px;
	margin: 60px 0;
	clear: both;
}

span.mark.new,
span.mark.update{
	margin-left: 1em;
	font-weight: normal;
	font-size: 12px;
	color: #F00;
}

.tel a{
	pointer-events: none;
}


/**LIST*/

ul.list{
padding-left: 2em !important;
box-sizing: border-box;
}
ul.item.list{
margin-left: 0;
}


ul.list li{
line-height: 1.6;
list-style: disc;
}

/**NUMBER*/

ol.list {
    margin: 0;
    padding: 0;
    /*list-style: none;
    counter-reset: li;*/
}
ol.list li {
    position: relative;
    /*padding-left: 30px;*/
    line-height: 1.6;
    margin-bottom: 5px;
}
/*
ol.list li::before {
    counter-increment: li;
    content: counter(li);
    position: absolute;
    left: 0;
    top: 1px;
    display: block;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background-color: rgba(0,0,0,1);
    color: #FFF;
    line-height: 23px;
    text-align: center;
    font-size: 14px;
}
*/

body.entry ol.list li{
/*color: rgba(250,97,3,1);*/
}

body.entry ol.list li::before{
background: rgba(250,97,3,1);
}



/**
FLOW
*/

ul.flow li{
	position: relative;
}

ul.flow li div.wrap{
	display: inline-block;
	padding: 20px;
	/*background: rgba(0,0,0,.3);*/
	width: 100%;
	text-align: center;
	/*display: flex;
	justify-content: center;
	align-items: center;*/
}
ul.flow li:after{
	content: "\f061";
    font-family: FontAwesome;
	position: absolute;
	top: 35%;
	right: -25px;
	font-size: 30px;
}
ul.flow li.last:after{
	content: "";
}
ul.flow li div.wrap.circle{
	width: 100px;
	height: 100px;
	border-radius: 50%;
}

ul.flow li p{
	margin: 0;
}
ul.flow li p.number{
	font-size: 20px;
    font-weight: bold;
}

ul.flow li p.title{
	margin: 0;
}



/**
FANCYBOX
*/

.fancybox-skin{
padding: 0 !important;
background: none !important;
}





/**
BX-SLIDER
*/

#sliderWrap{
	margin-bottom: 20px;
}

.bx-wrapper .bx-viewport {
	-moz-box-shadow: none !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	border: inherit !important;
	left: 0 !important;
	background: inherit !important;
}


.bx-wrapper .bx-prev {
	left: 10px;
	background: url(/images/arrow_left_w.png) no-repeat center left !important;
	background-size: 30px !important;
}

.bx-wrapper .bx-next {
	right: 10px;
	background: url(/images/arrow_right_w.png) no-repeat center right !important;
	background-size: 30px !important;
}

#sliderWrap ul li{
	list-style: none;
}

#slider li {
  height: 100vh;
  background: center / cover no-repeat;
}


.main_slider{
	position: relative;
}
.main_slider p.catch{
	font-size: 40px;
	font-weight: bold;
	color: #FFF;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.5);
	display: block;
	text-align: center;
	position: absolute;
	top: 45%;
	left:0;
	width: 100%;
}
.main_slider p.catch a{
	color: #FFF;
	text-decoration: none;
}
.main_slider a.whole{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
	

.bx-viewport {
  left: 0;
  box-shadow: none;
  border: none;
}



/**
PAGER
*/

.pager{
	clear:both;
	padding: 30px 0;
	position: relative;
	z-index: 9999;
	line-height: 2.5;
}
.wp-pagenavi:after {
	font-size: 1px;
	content: "";
	display: block;
	height: 0;
	clear: both;
}
.wp-pagenavi {
	zoom: 1;
}
a.page{
	white-space: nowrap;
}
.wp-pagenavi {
	text-align: center;
}
.wp-pagenavi .current,
.wp-pagenavi .pages{
	clear: both;
	font-size: 1.2em;
	color: #666;
	padding: 8px 12px 8px 12px;
}
.wp-pagenavi .current{
	background-color: rgba(0,0,0,1);
	color: #FFF;
	border: none;
}

.wp-pagenavi span.current{
	/*border: #cd3e2c solid 1px;*/
}
.wp-pagenavi a{
	font-size: 1.2em;
	padding: 8px 12px 8px 12px;
	/*border: #DDD solid 1px;*/
	text-decoration: none;
	border: none !important;
}
.wp-pagenavi a.last,
.wp-pagenavi a.previouspostslink{
	background-color: inherit;
}
.wp-pagenavi span.pages,
.wp-pagenavi span.extend{
	border: none;
}
.wp-pagenavi a:hover{
	text-decoration: none;
	background-color: rgba(0,0,0,0.5);
	color: #FFF;
}

/**
ページ分割
*/
.wp-separatenavi {
	font-size: 1.2em;
	color: #666;
	margin: 1em auto;
	line-height:2em;
	text-align:center;
}
.wp-separatenavi a {
	padding: 12px 8px;
	border: none;
	background-color: #f3f3f3;
	text-decoration: none;
}
.wp-separatenavi a:hover {
	text-decoration: none;
	background-color: #cd3e2c;
	color: #FFF;
}
.wp-separatenavi .numbers {
	padding: 12px 8px;
}


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


.pager{
	font-size: 90%;
}

.wp-pagenavi .pages{
	display: block;
}

}


/**
SINGLE
*/

.single article{
	margin-bottom: 50px;
	padding: 60px;
	background: rgba(255,255,255,.6);
    border-radius: 10px;
}

.single article p img{
	margin-bottom: 3px;
}
.single article p.main_image{
margin: 3em auto;
}
.single article p.main_image img{
width: 100%;
}

.single article h1{
	font-size: 30px;
	line-height: 1.4;
	font-weight: 400;
	margin: 0 0 1em 0;
}

.single article ul.data{
	margin: .5em 0;
}
.single article ul.data li{
	list-style: none;
	display: inline-block;
	margin-right: 10px;
}
.single article p.tag{
	margin: 1em 0;
}
.single article p.tag span{
	margin-right: 5px;
}

.single #main_contents h3{
	font-size: 26px;
	line-height: 1.5;
	margin: 2em 0 1em 0;
	border-left: 3px solid #000;
    padding-left: 15px;
}

.single article img{
	max-width: 100%;
}


.single article p{
font-size: 110%;
line-height: 1.8;
}


img.alignright { margin: 0 0 0 auto !important;}
img.alignleft { margin: 0 auto 0 0 !important;}
img.aligncenter { margin: 0 auto !important;}


/**
SIDEBAR
*/

#sidebar section{
	padding: 0px 0 60px 0;
	border: none;
    background: none !important;

}
#sidebar section:first-child{
	padding-top: 0;
}

.box_search button{
    border: none !important;
    color: #FFF;
    height: 45px;
    line-height: 35px;
    width: 18%;
    text-align: center;
    padding: 0;
    vertical-align: middle;
    background: #000;
	border-radius: 0;
}

.box_search input {
    border: none !important;
    background-color: #FFF;
    height: 45px;
    font-size: 14px;
    width: 82% !important;
    padding-left: 10px !important;
    vertical-align: middle;
}

#sidebar h3{
}

#sidebar ul{
margin-left: 2em;
}
#sidebar ul li{
	line-height: 1.4;
	margin-bottom: .3em;
	margin-left: 1em;
    list-style: disc;
}

#sidebar ul li a{
	text-decoration: none;
}

#sidebar select{
	width: 100%;
	border: none;
}




/**
NEWS
*/

.icon.new{
	margin-left: .5em;
	color: #F30;
	font-size: 85%;
}

.home .news .icon.new{
color: #FFEE00;
}

.news dl dt{
	line-height: 1.5;
	color: #666;
	clear: both;
	float: left;
	width: 10%;
	margin-bottom: .5em;
}


.news dl dd{
	line-height: 1.5;
	width: 89%;
	float: left;
	margin-bottom: .5em;
    
}

.news dl dd a{
	text-decoration: none;
}

.news .flexbox.box dl dt{
	width: 100%;
	margin-bottom: .2em;
}
.news .flexbox.box dl dd{
	width: 100%;
}

.news dl span.category {
    margin-right: 10px;
    margin-bottom: 5px;
    margin-right: 6px;
    display: inline-block;
    text-align: center;
}
.news dl span.category a {
    min-width: 60px;
    white-space: nowrap;
}



/**
LIST_LIST
*/

ul.item.list li p{
	margin: 0;
}

ul.item.list li{
	list-style: none;
	margin-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: solid 1px rgba(0,0,0,0.1);
}

ul.item.list li a{
text-decoration: none;
}

ul.item.list li div.image{
	width: 25%;
	margin-right: 5%;
	display: inline-block;
	vertical-align: top;
    height: 120px;
    overflow: hidden;
}

.news.list ul.item.list li div.image{
    height: 100px;
}

ul.item.list li div.image img{
	width: 100%;
}

ul.item.list li div.content{
	width: 68%;
	display: inline-block;
	vertical-align: top;
}

ul.item.list li p.date{
	color: #666;
	line-height: 1;
	margin-bottom: .5em !important;
}


ul.item.list li p.date span.category{
margin-left: 1em;
vertical-align: middle;
}

ul.item.list li p.title{
	font-size: 18px;
	margin-bottom: 5px;
	line-height: 1.5;
}

ul.item.list li p.category{
	margin-bottom:8px;
	line-height: 1;
}

ul.item.list li p.text{
	font-size: 12px;
}



/**
LIST_BOX
*/

ul.item.box{
	margin-left: -2%;
}
.news ul.item.box li{
background: #FFF;
}

ul.item.box li{
	list-style: none;
	float: left;
	margin: 0 0 4% 2%;
	display: inline-block;
}
ul.item.box.single li{
	margin-bottom: 0;
}

ul.item.box li div.image{
	float: none;
	margin-bottom: 0px;
	width: 100%;
	position: relative;
	text-align: center;
}
ul.item.box li div.image span.category{
	position: absolute;
	top: 0;
	right: 0;
	z-index: 999;
	line-height: 0;
}
	
ul.item.box li div.image img{
	width: 100%;
}

ul.item.box li div.content{
	float: none;
	width: 100%;
    background: rgba(255,255,255,.8);
    padding: 10px 15px;
}

ul.item.box li p.date{
	font-size: 12px;
	margin: 5px 0;
	line-height: 1;
}
ul.item.box li p.category{
margin: 5px 0;
}
ul.item.box li p.category a{
margin-right: 5px;
}
ul.item.box li p.title{
	font-size: 16px;
	line-height: 1.3;
	margin: 10px 0 5px 0;
    font-weight: 600;
}
ul.item.box li p.title a{
text-decoration: none;
}
ul.item.box li p.text{
	font-size: 12px;
	color: #666;
	margin: 0;
	line-height: 1.3;
}

ul.item.box.column_2 li{
	width: 48%;
}

ul.item.box.column_3 li{
	width: 31.33333333%;
	
}

ul.item.box.column_4 li{
	width: 23%;
}

ul.item.box.column_5 li{
	width: 18%;
}


/**SIZE FIX*/

ul.item.box.fix li div.image,
.flexbox.fix li div.image{
	height: 160px;
	overflow: hidden;
	position: relative;
}
ul.item.box.fix .column_2 li div.image,
.flexbox.fix.column_2 li div.image{
	height: 160px;
}
ul.item.box.fix .column_3 li div.image,
.flexbox.fix.column_3 li div.image{
	height: 150px;
}
ul.item.box.fix .column_4 li div.image,
.flexbox.fix.column_4 li div.image{
	height: 140px;
}

ul.item.box.fix li div.image img,
.flexbox.fix li div.image img{
  position: absolute;
  width: 20%;
  height: 0;
  width: 100%;
  height: auto;
 /* padding-bottom: 20%;*/
  left: 50%;
  top: 0%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, 0%, 0);
}



/**
FLEXBOX
*/

ul.flexbox,
div.flexbox{
	display: flex;
	display: -webkit-flex; /* Safari */
	-js-display: flex;/*IE*/
    -webkit-flex-wrap: wrap;
	justify-content: space-around; 
    flex-wrap: wrap;
    /*align-items: stretch;*/
    justify-content: space-between;
	/*justify-content: flex-start;*/
	width: 100%;
}

.flexbox li div.image{
	float: none;
	margin-bottom: 15px;
	width: 100%;
	position: relative;
}
.flexbox li div.image span.category{
	position: absolute;
	top: 0;
	right: 0;
	z-index: 999;
	line-height: 0;
}

.flexbox li div.image img{
	width: 100%;
}


.flexbox.column table{
/*margin: 2em 0;*/
}

.flexbox.column ul.list li{
margin: .3em 0;
list-style: disc;
}


.flexbox.column_2 li{
	width: 49%;
}
.flexbox.column_3 li{
	width: 32%;
  /*width : 33.33333% ; 
  width : -webkit-calc(100% / 3) ;
  width : calc(100% / 3) ;*/
}
.flexbox.column_4 li{
	width: 24%;
}
.flexbox.column_5 li{
	width: 19%;
}
.flexbox.column_6 li{
	width: 16%;
}
.flexbox.column_2 li ul li,
.flexbox.column_3 li ul li,
.flexbox.column_4 li ul li,
.flexbox.column_5 li ul li,
.flexbox.column_6 li ul li
{
	width: 100%;
}

 
.flexbox li {
	list-style: none;
	margin-bottom: 3%;
}	
.flexbox.single li{
	margin-bottom: 0;
}

.flexbox li p.date{
	font-size: 13px;
	margin: 5px 0;
	line-height: 1;
}
.flexbox li p.title{
	font-size: 16px;
	line-height: 1.3;
	margin: 0 0 5px 0;
}
.flexbox li p.text{
	font-size: 13px;
	color: #666;
	margin: 5px 0 0 0;
	line-height: 1.3;
}

.flexbox.column .sub img{
margin-bottom: 1em;
}


/**COLUMN*/


.flexbox.reverse {
	flex-direction: row-reverse;
}

.flexbox.column{
	margin-bottom: 30px;
}
.flexbox.column.single{
margin: 0;
}
.flexbox div.sub{
	flex: 1;
	margin: 0 30px 0 0;
}
.flexbox.reverse div.sub{
	margin: 0 0 0 30px;
}

.flexbox.after div.sub{
	flex: 1;
	margin: 0 0 0 30px; 
}
.flexbox.after.reverse div.sub{
	margin: 0 30px 0 0;
}

.flexbox .main{
	flex: 1;
}
.flexbox .main.w_3{
	flex: 3;
}
.flexbox .main.w_2{
	flex: 2;
}
.flexbox .main.w_4{
	flex: 4;
}
.flexbox .main.w_5{
	flex: 5;
}

.flexbox .main p{
	margin-top: 0;
}


.flexbox.box ul li{
	width: 100%;
}
.flexbox.box ul li div.image{
	width: 25%;
}
.flexbox.box ul li div.content{
	width: 73%;
}



#contents .flexbox.column .main.w_2 p,
#contents .flexbox.column .main.w_2 ul,
#contents .flexbox.column .main.w_2 table{
width: 650px;
margin: 0 auto 1em auto;
}
#contents .flexbox.column .title.inside{
margin-left: 100px;
}
#contents .flexbox.column .main.w_1 p,
#contents .flexbox.column .main.w_1 ul,
#contents .flexbox.column .main.w_1 table{
width: 450px;
margin: 0 auto 0 auto;
}
#contents .flexbox.column .title.inside{
margin-left: 100px;
}

#contents .flexbox.column .main.w_1 table ul,
#contents .flexbox.column .main.w_2 table ul{
width: inherit;
}
#contents .flexbox.column .main table p{
width: 100% !important;
}


#contents .flexbox.column .sub table{
width: 70%;
}

#contents .flexbox.column .sub p.title{
line-height: 1;
margin-left: .5em;
}


/**
MAP
*/

.map img{
	max-width: initial !important;
}

.map iframe{
	width: 100%;
	height: 400px;
}


/**
TABLE
*/

table{
	width: 100%;
    /*margin: 0 auto;*/
}

table.narrow{
width: 70%;
margin: 0 auto;
}

.column .main table,
.column .sub table{
/*width: 85% ;*/
}
.column .sub table.full{
width: 100% !important;
}

table ul,
table ol{
	margin-left: 30px;
}

table ul li{
margin: .2em 0 !important;
}

table.data th,
table.data td{
	padding: 15px;
	border: solid 1px #666;
	line-height: 1.5;
}


table.data th{
font-weight: 600;
background: rgba(0,0,0,0.05);
text-align: center;
}
table.data td{
background: rgba(255,255,255,.3);
}
table.data td.center{
text-align: center;
}

table.list th,
table.list td{
	padding: 15px;
	border-bottom: solid 1px #666;
	line-height: 1.6;
}

table.list th{
font-weight: bold;
}

table.list table{
margin: 0 !important;
}

table.list table th,
table.list table td{
border-bottom: none;
padding: 0 10px;
}


table.block{
	border-collapse: separate;
    border-spacing: 2px;
}

table.block th,
table.block td{
	padding: 10px;
	line-height: 1.5;
}

table.block th{
	background-color: rgba(0,0,0,0.2);
}

table.block td{
	background-color: rgba(0,0,0,0.1);
}







/**
FORM
*/

.grecaptcha-badge { visibility: hidden; }

span.required{
	color: #F30;
	margin: 0 0.5em;
	font-weight: normal;
    font-size: 10px;
}

div.form{
	margin: 1em auto;
	padding: 30px 50px;
    width: 80%;
	background-color: rgba(0,0,0,.03);
    border-radius: 30px;
}

div.form dl dt,
div.form dl dd{
	vertical-align: top;
	padding: 10px 0;
}

div.form dl dd .error{
	margin: .5em 0 0 0;
}

div.form dl dt{
	clear: both;
	float: left;
	width: 25%;
}
div.form table th{
	width: 25%;
	padding: 10px 0;
}

div.form dl dd{
	float: left;
	width: 75%;
}
div.form table td{
	width: 75%;
	padding: 10px 0;
}

div.form dl dd ul li,
div.form table td li{
	list-style: none;
	line-height: 1.5;
	margin: .2em 0;
}

div.form dl dd ul li label,
div.form table td li label{
	margin-left: 5px;
}

div.form table ul{
	margin-left: 0;
}



/**
CONTACT FORM7
*/


.wpcf7 .wpcf7-submit:disabled {
    cursor: not-allowed;
}
.wpcf7 input[type="submit"] {
    padding: 13px 20px;
    font-size: 14px;
}

.wpcf7-list-item {
    margin: 0 1em 0 0 !important;
}
.wpcf7-list-item input{
margin-right: 5px;
}

.wpcf7-form.hide_error_message .wpcf7-not-valid-tip {
	display: none;
}


.wpcf7 form .wpcf7-response-output {
    margin: 2em 0.5em 1em;
    padding: 15px;
    border: 2px solid #dc3232 !important;
    line-height: 1.5;
    color: #dc3232;
}
.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 12px;
    font-weight: normal;
    display: block;
    margin: 10px 0;
}
.wpcf7-spinner{
display: block !important;
margin: 1em auto !important;
}



/**
INPUT
*/

input,
textarea{
	outline: none;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
textarea{
	border: none !important;
	padding: 10px;
	font-size: 120%;
	width: 100%;
}

input.half{
	width: 50%;
}
input.full{
	width: 100%;
}

select.select-box{
    margin: 0;
    padding: 0 30px 0 20px;
    height: 40px;
    line-height: 40px;
    font-size: 100%;
    color: #999;
    background: url(/images/arrow_down.png) no-repeat 95% 50% #FFF;
    background-size: 14px;
    border: 0;
    border-radius: 0;
    -webkit-appearance: none;
}

select.select-box.full{
	width: 100%;
}



input.short{
	width: 100px;
}
select.short{
	min-width: 80px;
    padding: 0 10px !important;
}

input.half{
	width: 50%;
}
input.full{
	width: 100%;
}
select{
min-width: 100px;
}

select.select-box.full{
	width: 100%;
}


select.select-box,
select.wpcf7-form-control.wpcf7-select{
    margin: 0;
    padding: 0 30px 0 20px;
    height: 40px;
    line-height: 40px;
    background: url(/images/arrow_down.png) no-repeat 90% 50% #FFF;
    background-size: 14px;
    border: 0;
    border-radius: 0;
    -webkit-appearance: none;
    color: #000 !important;
    font-size: 100%;
}

.wpcf7-form.hide_error_message .wpcf7-not-valid-tip {
	display: none;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
border-color: #dc3232;
}


.wpcf7 form .wpcf7-response-output {
    margin: 2em 0.5em 1em;
    padding: 15px;
    border: 2px solid #dc3232 !important;
    line-height: 1.5;
    color: #dc3232;
}
.wpcf7-not-valid-tip{
color: #dc3232;
    font-size: 12px;
    font-weight: normal;
    display: block;
    margin: 10px 0;
    }



.wpcf7 input[type="submit"]{
padding: 13px 20px;
border-radius: 30px;
border: solid 2px #000;
}

.wpcf7-spinner{
display: none;
}

.wpcf7-form-control-wrap .wpcf7-list-item {
line-height: 1.6;
    margin: 0 1em 0 0;
}


.wpcf7-form-control.wpcf7-date{
    background-color: #FFF !important;
    height: 36px;
    line-height: 36px;
    }



/**
BUTTON
*/

input.btn,
a.btn,
button.btn{
	/*background-color: rgba(209,41,26,1);
	color: #FFF;*/
	font-size: 100%;
	/*border-radius: 50px;*/
    min-width: 200px;
	cursor: pointer;
	border: solid 2px rgba(209,41,26,1);
	border: solid 2px rgba(0,0,0,1);
    color:  rgba(209,41,26,1);
    color:  rgba(0,0,0,1);
	text-decoration: none;
	padding: 10px 20px;
	display: inline-block;
    position: relative;
    border-radius: 50px;
}
input.btn.red,
a.btn.red{
	background: #F30;
}

.home section.what a.btn,
.home section.news a.btn,
.home section.about a.btn,
.home section.concept a.btn,
.home section.support a.btn,
.home section.entry a.btn,
.home section.recruit a.btn{border: solid 2px rgba(255,255,255,1);color: rgba(255,255,255,1);}

.home section.what a.btn:hover,
.home section.news a.btn:hover,
.home section.about a.btn:hover,
.home section.concept a.btn:hover,
.home section.support a.btn:hover,
.home section.entry a.btn:hover,
.home section.recruit a.btn:hover{border: solid 2px rgba(255,255,255,1);color: #000; background-color: rgba(255,255,255,1);}



/*
section.news a.btn{border: solid 2px rgba(209,41,26,1);color: rgba(209,41,26,1);}
section.about a.btn{border: solid 2px rgba(64,197,207,1);color: rgba(64,197,207,1);}
section.concept a.btn{border: solid 2px rgba(64,197,207,1);color: rgba(64,197,207,1);}
section.support a.btn{border: solid 2px rgba(255,204,83,1);color: rgba(255,204,83,1);}
section.entry a.btn{border: solid 2px rgba(250,97,3,1);color: rgba(250,97,3,1);}
section.recruit a.btn{border: solid 2px rgba(248,134,207,1);color: rgba(248,134,207,1);}

section.news a.btn:hover{border: solid 2px rgba(209,41,26,1);color: #FFF; background-color: rgba(209,41,26,1);}
section.about a.btn:hover{border: solid 2px rgba(64,197,207,1);color: #FFF; background-color: rgba(64,197,207,1);}
section.concept a.btn:hover{border: solid 2px rgba(64,197,207,1);color: #FFF;background-color: rgba(64,197,207,1);}
section.support a.btn:hover{border: solid 2px rgba(255,204,83,1);color: #FFF;background-color: rgba(255,204,83,1);}
section.entry a.btn:hover{border: solid 2px rgba(250,97,3,1);color: #FFF;background-color: rgba(250,97,3,1);}
section.recruit a.btn:hover{border: solid 2px rgba(248,134,207,1);color: #FFF;background-color: rgba(248,134,207,1);}
*/

footer a.btn{border: solid 2px rgba(255,255,255,1);color: rgba(255,255,255,1);}


/*
a.btn::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 27px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid rgba(209,41,26,1);
  border-right: 2px solid rgba(209,41,26,1);
  transform: rotate(45deg);
  box-sizing: border-box;
}

a.btn.back::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 27px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid rgba(209,41,26,1);
  border-right: 2px solid rgba(209,41,26,1);
  transform: rotate(225deg);
  box-sizing: border-box;
}

*/

input.btn.size_s,
a.btn.size_s{
	padding: 10px 20px;
	font-size: 13px;
}

input.btn.size_ss,
a.btn.size_ss{
	padding: 6px 15px;
	font-size: 11px;
}

input.btn.size_l,
a.btn.size_l{
	padding: 20px 30px;
	font-size: 20px;
}

input.btn.size_2l,
a.btn.size_2l{
	padding: 20px 40px;
	font-size: 30px;
}

input.btn.cancel,
a.btn.cancel{
	background-color: rgba(0,0,0,0.8);
	color: #333;
}

input.btn:hover,
a.btn:hover,
button.btn:hover{
	background-color: rgba(0,0,0,1);
    color: #FFF;
}



p.button input{
margin: 0 10px;
}


/**
FOOTER
*/


footer{
	clear: both;
	background-color: rgba(250,97,3,1);
    background: rgba(230,0,50,1);
    /*background: url(../images/bg_wood2.jpg) center top;*/
	padding: 50px 0 30px 0;
color: #FFF !important;
}
footer a,
footer .caution{
color: #FFF !important;
}

footer .box_social{
	margin: 1em auto;
}

footer p.copy{
	font-size: 12px;
	line-height: 1.4;
}


footer .column .sub p.logo{
margin: 0 0 1em 0;
}
footer .column .sub p.logo img{
max-width: inherit;
width: 220px;
}

footer .column .sub ul li{
line-height: 1.6;
}
footer .column .sub ul li.tel{
font-size: 30px;
}
footer .column .sub ul li.tel .caution{
margin-left: 1em;
color: #000;
}
.tel a{
text-decoration: none;
}
.address a{
font-size: 30px;
vertical-align: middle;
margin-left: 10px;
}

footer .flexbox.column{
margin-bottom: 0;
}

footer .column p.button a{
width: 100%;
text-align: center;
}
footer .column .box_social{
margin: 1.5em 0;
}

footer .column .main{
vertical-align: top;
padding: 0 6% 0 0% !important;
}

footer .column .main p{
font-weight: bold;
font-size: 120%;
}
footer .column .main ul li{
line-height: 1.6;
font-size: 16px;
margin-bottom: .5em;
}
footer .column .main ul li.col_2{
margin-left: -3em;
}

footer .column .main ul li a{
text-decoration: none;
}

footer .column .main ul{
float: left;
}
footer .column .main ul ul{
float: none;
margin: 1em 0 2em 0em;
}
footer .column .main ul ul ul{
float: none;
margin: .5em 0 0em .5em;
}

footer .column .main ul ul li{
font-size: 14px;
margin-left: 0;
}

footer .column .main ul ul li span.cate{
font-size: 11px !important;
}


footer .box_social a{
text-decoration: none;
font-size: 13px;
}
footer .box_social svg{
margin-right: 10px;
}

footer ul.info{
margin-top: 2em;
}

footer ul.info li{
line-height: 1.3 !important;
margin-top: .5em;
}
footer ul.info li.tel{
line-height: 1 !important;
}

footer p.address{
margin: 2em 0 0 0;
line-height: 1;
}


footer .column ul.banner{
margin-top: -20px;

}
footer .column ul.banner li{
width: 19%;
display: inline-block;
margin-right: 1%;
}



/** PAGE TOP */

#page-top {
    position: fixed;
    bottom: 80px;
    right: 50px;
}

#page-top a {
    text-decoration: none;
    color: #fff;
    width: 100px;
    height: 100px;
    line-height: 100px;
    text-align: center;
    display: block;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
}



/**
CLEARFIX
*/

.clearfix::after {
	content: "";
	display: table;
	clear: both;
}



/**
SEARCH
*/

body.search dl.list dt,
body.search dl.list dd{
	margin-bottom: .2em;
	line-height: 1.6;
}

body.search dl.list dt{
	font-weight: 500;
	font-size: 130%;
}

body.search dl.list dd{
	margin-bottom: 1.5em;
}




/**
MOVIE
*/

.keyvisual {
    height: 100vh;
    position: relative;
    
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.recruit .keyvisual{
margin-top: -260px;
}

video {
     /*-o-object-fit: cover;
    object-fit: cover;
   position: absolute;*/
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}

.keyvisual div.logo{
position: absolute;
z-index: 99;
}

.keyvisual div.logo{
background: rgba(255,255,255,1);
width: 240px;
height: 300px;
display: flex;
justify-content: center;
flex-wrap: wrap;
/*border-radius: 50%;*/
      border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
}


.keyvisual div.logo img{
padding: 40px;
}


.movie {
	background: url(../ai.jpg) no-repeat center center;
	background-size: cover;
	height: inherit;
	position: relative;
	overflow: hidden;
}
.movie__video {
	object-fit: cover;
	height: 100%;
	width: 100%;
}



/**
HOME
*/


.home .column .main{
padding: 30px;
}

#contents .column img,
#contents ul.flexbox li img,
#contents ul.item.box li img{
border-radius: 30px;
}

.home .other_info .column .main{
padding: 0px;
}




.home #contents .column .main p{
width: 80%;
margin: 1em auto;
}

.home #contents section:nth-child(2) {
background: rgba(230,0,50,1) !important; color: #FFF;}


.home section.news{background: rgba(209,41,26,1) !important; color: #FFF;}
.home section.what{background: rgba(136,44,222) !important; color: #FFF;}
.home section.about{background: rgba(64,197,207,1) !important; color: #FFF;}
.home section.concept{background: rgba(64,197,207,1) !important; color: #FFF;}
.home section.support{background: rgba(255,204,83,1) !important; color: #FFF;}
.home section.entry{background: rgba(250,97,3,1) !important; color: #FFF;}
.home section.recruit{background: rgba(248,134,207,1) !important; color: #FFF;}

.home section.other_info{background: rgba(0,0,0,.05) !important;}

.home #sb_instagram{
margin-top: -10px !important;
}

.home section.other_info .column .instagram{
margin-bottom: 50px;
}


section.news dl{
max-width: 650px;
  text-align: center;
  margin: 0 auto 2em auto;
  overflow-y: scroll;
  height: 180px;
}
section.news dl dt,
section.news dl dd{
text-align: left;
}

.home section.news dl dt,
.home section.news dl dd{
color: #FFF !important;
}

section.news dl dt{
white-space: nowrap;

}

.home section.news dl a{
color: #FFF;
}
.home span.category a{
border-color: #FFF;
}

section.news dl dt{
width: 15%;
}
 section.news dl dd{
width: 85%;
}

section.news dl dd{

      overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  
}

#sb_instagram .sbi_photo img{
border-radius: 0 !important;
}



/**
WHAT
*/


.what .about table th,
.what .about table td{
font-size: 85%;
}

.what table th.main,
.what table td.main{
border-right: solid 3px rgba(136,44,222,1);
border-left: solid 3px rgba(136,44,222,1);
}
.what table th.main{
border-top: solid 3px rgba(136,44,222,1)
}
.what table  td.main.last{
border-bottom: solid 3px rgba(136,44,222,1);
}


.what table.about_1 th,
.what table.about_2 th{
background: #ddd3e6 !important;
}
.what table.data.about_1 td,
.what table.data.about_2 td{
background: #FFF !important;
}



.what table th{
white-space: nowrap !important;
}

.what table td .caution{
font-size: 11px;
line-height: 1.4 !important;
}



.what table.about_2 th.head{
width: 23%;
}


.what .flow table{
margin: 20px auto 40px auto;
}

.what .flow table.data .time td,
.what .flow table.data td.time{
border: none !important;
background: none;
vertical-align: top;
padding: 0 0 10px 0;
width: 10%;
text-align: center;
color: rgba(136,44,222);
}

.what .flow table th{
width: 30%;
}


.what .flow table td{
line-height: 1.8;
position: relative;
font-weight: 600;
text-align: center;
}
.what .flow table td svg{
position: absolute;
top: 10px;
right: 10px;
font-size: 20px;
margin-left: 10px;
color: rgba(129,41,45,.5);
vertical-align: middle;
display: none;
}

.what .step .column,
.what .step table.age_3,
.what .step p.caution.bottom{
width: 1100px;
margin: 0 auto;
}


.what .step .column .left,
.what .step .column .right{
position: relative;
padding-top: 30px;
vertical-align: bottom;
}

.what .step .column .left table{
width: 100% !important;
}

.what .step .column div.title{
position: absolute;
width: 100%;
text-align: center;
top: 0;
left: 0;
}


.what .step .column{
margin-bottom: 0px;
}


.what .step table.block {
    border-collapse: separate;
    border-spacing: 10px;
}
.what .step table th{
font-weight: bold;
color: #FFF;
}
.what .step table td{
background: none;
padding: 0 !important;
}
.what .step table td.arrow{
background: none;
padding: 0 0 0px 0 !important;
}
.what .step table th,
.what .step table td{
text-align: center;
padding: 15px;
line-height: 1.5;
vertical-align: bottom;
}

.what .step table td span.block{
display: block;
background: rgba(129,41,45,0.15);
padding: 15px;
width: 100%;
/*color: rgba(136,44,222);*/
border-radius: 8px;
}
.what .step table td.thin span.block{
display: block;
background: rgba(0,0,0,0.05);
padding: 15px;
}


.what .step table td span.block .sub{
font-size: 12px;
}


.what .step table td span.block.narrow{
width: 100px;
margin: 0 auto;
}
.what .step .column .main table.block{
margin-bottom: 0 !important;
}



.what .step table td.arrow:after{
display: block;
content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
  border-top: 15px solid rgba(129,41,45,0.15);
  border-bottom: 0px;
  margin: 0 auto;
}
.what .step table td.azuki span{background: rgba(129,41,45,.3); height: 102px; padding-top: 1.8em;}
.what .step table td.arrow.azuki:after{border-top: 15px solid rgba(129,41,45,.3);}

.what .step table td.green span{background: #9bd5a1; height: 102px; padding-top: 1.8em;}
.what .step table td.arrow.green:after{border-top: 15px solid #9bd5a1;}

.what .step table td.soramame span{background: #badda5; height: 102px; padding-top: 1.8em;}
.what .step table td.arrow.soramame:after{border-top: 15px solid #badda5;}

.what .step table td.momo span{background: #FFD2D2; height: 102px; padding-top: 1.8em;}
.what .step table td.arrow.momo:after{border-top: 15px solid #FFD2D2;}

.what .step table td.lemon span{background: rgba(228,233,142,.76);}
.what .step table td.arrow.lemon:after{border-top: 15px solid #e4e98e;}

.what .step table td.sakura span{background: #f3a8b4;}
.what .step table td.arrow.sakura:after{border-top: 15px solid #f3a8b4;}



.what .step .column .right{
margin-bottom: -98px;
}

.what .step table td.arrow.thin:after{
display: block;
content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
  border-top: 15px solid rgba(0,0,0,0.05);
  border-bottom: 0px;
  margin: 0 auto;
}

/*.what .step table.age_3{
width: 100%;
}*/
.what .step table.age_3 span.block{
border: solid 2px rgba(129,41,45,.5);
padding-top: 90px;
}




/**
ABOUT
*/

body.about .greeting p.sign{
margin-top: 1.5em;

}

body.about .greeting .column:last-child{
margin: 80px 0 0 0;
}

body.about .history table{
margin-top: 2em;
border-top: solid 1px #333;
}

body.about .history th{
white-space: nowrap;
}



body.about .gallery ul li{
margin-bottom: 1.5% !important;
}

body.about .gallery div.text p{
text-align: center;
font-weight: 600;
font-size: 20px;
line-height: 2;
letter-spacing: .05em;
}
body.about .gallery div.text{
margin-bottom: 3em;
}


/*
body.about .outline table tr:nth-child(1){
border-bottom: dashed 1px;
}

body.about .outline table tr:nth-child(1) td{
padding-bottom: 10px;
}
body.about .outline table tr:nth-child(2) th,
body.about .outline table tr:nth-child(2) td{
padding-top: 10px;
}
*/

body.about table td.table{
padding: 5px !important;
}

body.about table table{
width: 100%;
margin: 0;
}

body.about table table th{
width: 35%;
}

body.about table table th,
body.about table table td{
padding: 10px 0 !important;
border: none;
border-bottom: solid 1px rgba(0,0,0,0.2);
background: none;
}


body.about table table .border_none{
border: none !important;
}
body.about table table th.no1,
body.about table table th.no2-3{
width: 7em;
}
body.about table table td.week{
white-space: nowrap;
width: 7em;
}

body.about .a_day table{
margin-bottom: 2em;
}

body.about .a_day table p{
/*font-weight: 600;
font-size: 20px;*/
}
body.about .a_day table p.caution{
font-weight: normal;
font-size: 11px;
text-align: left;
}



body.about .a_day table th,
body.about .a_day table td{
width: 23%;
/*white-space: nowrap;*/
line-height: 1.8 !important;
text-align: center;
font-weight: 600;
}


body.about .a_day table td{
vertical-align: top;
background: rgba(255,255,255,.5);
}

body.about .a_day table td span.time{
font-size: 13px;
display: block;
margin-top: -5px;
color: rgba(64,197,207,1);
}




body.about .a_day table th.time,
body.about .a_day table td.time{
width: 8%;
border: none;
white-space: nowrap;
background: none;
padding: 0;
background-size: 100%;
vertical-align: top;
text-align: center;
font-size: 20px;
color: rgba(64,197,207,1);
}


body.about .a_day table td{
vertical-align: middle;
}
body.about .a_day table th{
line-height: 1.4 !important;
}
body.about .a_day table th.no1,
body.about .a_day table th.no2{
border-bottom: none !important;
padding: 20px 10px 0 10px;
background: rgba(64,197,207,.3);
line-height: 1 !important;
}
body.about .a_day table th.class_3-5{
padding: 5px 10px 15px 10px; 
border-top: none;
background: rgba(64,197,207,.3);
}
body.about .a_day table th.no3{
padding: 10px !important;
background: rgba(64,197,207,.3);
}

body.about .a_day table td.space{
background-color: #EEE;
}
body.about .a_day table sup{
font-size: 10px;
margin: 0 5px 0 -8px !important;
}


body.about .event table{
margin-bottom: 2em;
}

body.about .event th{
text-align: right;
}

body.about .event span.num{
font-size: 40px;
font-weight: 300;
margin-right: 5px;
line-height: 1;
}


body.about .event table ul{
margin-left: 0;
}

body.about .event table th{
white-space: nowrap;
}

body.about .event table th,
body.about .event table td{
border-bottom: dashed 1px #CCC;
}

body.about .event table ul li{
/*list-style: disc;*/
display: inline-block;
margin-right: 2em !important;
}
body.about .event table ul{
margin-bottom: 0 !important;
}

body.about .event sup{
margin-left: 5px;
color: rgba(64,197,207,1);
color: rgba(209,41,26,1);
font-size: 10px;
}

body.about .event .sub p{
font-size: 13px;
margin: -.5em 0 1em 2em;
}


body.about .event table td sup,
body.about .caution span.square{
font-size: 8px;
}
body.about .event table td sup.star,
body.about .caution span.star{
font-size: 12px;
}


body.about .box_policy{
width: 50%;
margin: 0 auto;
}

body.about .box_policy ul{
margin-left: 3em;
}

body.about .box_policy ul li{
line-height: 1.6;
font-size: 26px;
margin: 1em 0;
font-weight: bold;
list-style: disc;
}
body.about .box_policy ul li .sub{
font-size: 80%;
font-weight: normal;
}
body.about .box_policy ul li .sub svg{
font-size: 70%;
}


body.about .box_policy {
    position: relative;
    padding:0.25em 2em;
    margin-bottom: 60px;
}
.box_policy:before,.box_policy:after{ 
    content:'';
    width: 20px;
    height: 30px;
    position: absolute;
    display: inline-block;
}
.box_policy:before{
    border-left: solid 2px #000;
    border-top: solid 2px #000;
    top:0;
    left: 0;
}
body.about .box_policy:after{
    border-right: solid 2px #000;
    border-bottom: solid 2px #000;
    bottom:0;
    right: 0;
}
body.about .box_policy p{
margin: 0;
line-height: 1.2;
}
body.about .objective .box_policy ul li{
font-size: 20px;
margin: 2em 0;
}
body.about .objective .box_policy ul li em{
font-size: 160%;
}

body.about .feature p{
color: #444;
line-height: 1.6;
font-size: 14px;
margin: .6em 0;
}

body.about .feature p.title{
font-size: 20px;
font-weight: 600;
margin: 1em 0;
text-align: center;
}


body.about .why_picture_book div.title{
margin-bottom: 60px;
}



body.about .special .column{
margin-bottom: 100px;
}

body.about .special .column.last{
margin-bottom: 30px;
}


body.about .special .column .sub{
margin-top: 30px;
}

body.about .special .picture_book_reason{

width: 70%;
margin: 30px auto 100px auto;
padding: 30px 50px !important;
box-sizing: border-box;
border-radius: 20px;
border: dashed 2px #000;
}


body.about .history



/**
SUPPORT
*/



body.support .column .photo img{
margin-bottom: 1em;
}
body.support .column .main table th{
white-space: nowrap;
width: 20%;
}
body.support .column .sub table th{
white-space: nowrap;
width: 6em;
}

body.support .column .sub p{
margin: 0 0 .5em 0;
}

body.support .column table th,
body.support .column table td{
padding: 10px;
}

body.support ul.flow li{
margin-bottom: 0 !important;
border: solid 1px #000;
}

body.support .column{
margin: 0 0 80px 0;
}



body.support .column .main p{
margin-top: 0;
}

body.support .column h5 span.icon{
margin-right: 10px;
}
body.support .column h5 span.icon img{
height: 40px;
vertical-align: middle;
border-radius: 0 !important;
}

body.support ul.flow li p.number{
margin-bottom: .5em;
}
body.support ul.flow li{
border: solid 2px rgba(255,204,83,1);
border-radius: 20px;

/*background: rgba(255,204,83,.2); 
border-radius: 5px;*/
}
body.support ul.flow li:after{
color: rgba(255,204,83,1);
}

body.support ul.seminor {
width: 80%;
margin: 0 auto;
}

body.support ul.seminor li{
padding: 0 20px;
}

body.support ul.seminor li div.image{
text-align: center; 
padding: 10px 20px;
}
body.support ul.seminor li div.image img{
border-radius: 50% !important;
}

body.support ul.seminor li p.title{
text-align: center;
font-size: 18px;
margin-top: 1em;
}
body.support ul.seminor li p.title .sub{
display: block;
font-size: 12px;
margin-top: 5px;
}

body.support .pre table.data.all{
margin-bottom: 50px !important;
}

body.support table.open_garden td{
padding: 20px 50px;
}


.privacy section{
width: 70%;
margin: 0 auto;
border-radius: 30px;
margin-bottom: 30px;
}
.privacy section .inner{
width: 100%;
padding: 10px 50px;
}

.privacy #contents ol li{
margin: .8em;
}



/**
ENTRY
*/

body.entry .space table th,
body.entry .space table td{
text-align: center;
}

body.entry .about ol{
padding: 25px 25px 20px 25px;
/*border: solid 1px #333;*/
border-radius: 10px;
background: rgba(250,97,3,.1);
}

body.entry .about ol.list{
margin: 2em 0;
}
body.entry .about ol.list li{
font-weight: 600;
font-size: 110%;
}

body.entry .about th{
white-space: nowrap;
}

body.entry .about th svg{
font-size: 30px;
width: 60px;
text-align: center;
vertical-align: middle;
}

body.entry .about div.title h4{
margin-top:1em;
}

body.entry .about ul li p,
body.entry .about ul li ul{
padding: 0 2em;
}



body.entry .details div.title h4{
margin-top: 1em;
}


body.entry .details ul.list{
margin: 1em 1em 1em 2em !important;
}

body.entry .details ul.info li{
padding: 30px;
background: rgba(255,255,255,.5);
border-radius: 10px;
margin-bottom: 2%;
}
body.entry .details ul.info li ul li{
padding: 0px;
background: none;
}

body.entry .details .column{
padding: 30px;
background: rgba(255,255,255,.5);
border-radius: 10px;
margin-top: 30px;
}

body.entry .details ul li p,
body.entry .details ul li ul{
padding: 0 2em;
}

body.entry .details table th span.caution{
font-size: 10px !important;
}
body.entry .details table{
margin-bottom: 1em;
}


body.entry .details table th.no1,
body.entry .details table th.no2-3{
width: 150px;
}


body.entry .facility ul li{
margin-bottom: 1% !important;
}


body.entry .flow p.title{
font-weight: 600;
font-size: 26px;
margin-bottom: 0;
border-bottom: solid 2px;
}
body.entry .flow p.lead{
color: rgba(250,97,3,1);
line-height: 1.5;
}
body.entry .flow table.lead th,
body.entry .flow table.lead td{
color: rgba(250,97,3,1);
    font-size: 120%;
    font-weight: 600;
    margin: 1em 0;
    vertical-align: top;
    padding: 10px 0;
    }
body.entry .flow p.caution.sub{
 margin: -1.2em 0 1em 5em;
 }
body.entry .flow table.lead{
margin: 1em 0 1em 0;
}
body.entry .flow table.lead td,
body.entry .flow table.lead th{
line-height: 1.5;
padding: 0;
}

body.entry .flow table.lead{
width: auto;
}
    

body.entry .flow p.button{
margin: 0 0 1em 0 !important;
}
body.entry .flow ul{
width: 880px;
margin: 0 auto;
border-radius: 20px;
padding: 30px 60px;
display: block;
background: rgba(255,255,255,.6);
}

body.entry .flow ul li ul{
background: inherit;
}

body.entry .flow ul li ul.notice li{
margin: 0;
color: #666;
font-size: 80%;
}
body.entry .flow ul li ul.notice li:after{
display: none;
}

body.entry .flow ul li ul{
width: 100%;
padding: 0;
margin: 0;
}

body.entry .flow ul li{
/*margin-bottom: -20px;*/
}

body.entry .flow ul li:after{
content: '';
background: url("/images/arrow_down.png") center bottom no-repeat;
background-size: 30px; 
height: 50px;
display: block;
 }
body.entry .flow ul li ul li:after{ background: none; height: 0; }

body.entry .flow ul li.last:after{
background: none;
}


/**
VOICE
*/

/**MORE*/

.item p{
margin-bottom: .2em !important;
}

.hidden-view{
    display: none;
}
.hidden-view.open{
    display: block;
}

.balloon .button {
  all: unset; /* ← これで基本的なボタンスタイルを全部リセット */
  cursor: pointer; /* カーソルはポインターにしておくとクリック感が出ます */
  color: #666;  /* お好みで色など */
  text-decoration: underline; /* 必要ならリンクっぽく */
  font-size: 13px;
}


/**
BALLOON
*/

/*--------------------
 蜷ｹ縺榊�縺励ｒ菴懊ｋ
--------------------*/
.balloon {
width: 80%;
 margin: 40px auto;
 padding : 0 60px;
 position: relative;
}
.balloon:after,.balloon:before {
 clear: both;
 content: "";
 display: block;
}
.balloon-image-left {
 position: absolute;
 left: 0;
 margin: 0;
 width: 120px;
 height: 120px;
 text-align: center;
}
.balloon-image-left p{
font-size: 13px !important;
}


.balloon-image-right {
 position: absolute;
 right: 0;
 margin: 0;
 width: 120px;
 height: 120px;
 text-align: center;
}

.balloon-image-right p{
font-size: 13px !important;
}
.balloon figure img {
 width: 100%;
/* height: 100%;*/
 margin: 0;
}
.balloon-image-description {
 padding: 5px 0 0;
 font-size: 10px;
 text-align: center;
}
.balloon-text-right {
 position: relative;
 margin-left: 80px;
 padding: 30px 40px;
 /*border: 1px solid rgba(0,0,0,0.3);*/
 border-radius: 10px;
 float: left;
 max-width: 70%;
 background: rgba(250,97,3,.05);
}
.balloon-text-left {
 position: relative;
 margin-right: 80px;
 padding: 30px 40px;
 /*border: 1px solid rgba(0,0,0,0.3);*/
 border-radius: 10px;
 float: right;
 max-width: 70%;
 background: rgba(250,97,3,.05);
}
.balloon p {
 margin: 0 0 20px;
 font-size: 14px;
 font-weight: 500;
}
.balloon p:last-child {
 /*margin-bottom: 0;*/
}
/* 莨夊ｩｱ */
.balloon-text-right:before {
 position: absolute;
 content: '';
 border: 10px solid transparent;
 /*border-right: 10px solid rgba(0,0,0,0.3);*/
 top: 15px;
 left: -20px;
}
.balloon-text-right:after {
 position: absolute;
 content: '';
 border: 10px solid transparent;
 border-right: 10px solid rgba(250,97,3,.05);
 top: 15px;
 left: -19px;
}
.balloon-text-left:before {
 position: absolute;
 content: '';
 border: 10px solid transparent;
 /*border-left: 10px solid rgba(0,0,0,0.3);*/
 top: 15px;
 right: -20px;
}
.balloon-text-left:after {
 position: absolute;
 content: '';
 border: 10px solid transparent;
 border-left: 10px solid rgba(250,97,3,.05);
 top: 15px;
 right: -19px;
}



/**
RECRUIT
*/


body.recruit .keyvisual{
/*margin-bottom: 150px;*/
}

.column .photos{
position: relative;
}
.column .photos p{
margin: 0;
}
.column .photos .main img{
width: 80%;
}
 .column .photos .sub img{
width: 50%;
position: absolute;
right: 0;
bottom: -80px;
}

body.recruit .message .column{
margin-bottom: 60px;
padding-bottom: 60px;
}

body.recruit .want p.catch{
font-size: 30px;
}

body.recruit .want table th,
body.recruit .want table td{
white-space: nowrap;
}


body.recruit .want{
background: url(/images/2025/DSC02969.jpg) no-repeat center center !important;
background-size: cover !important;
}

body.recruit .want ul{
width: 1200px;
margin: 0 auto;}
body.recruit .want ul li{
padding: 30px;
text-align: center;margin-bottom: 0;
font-weight: bold;
}
body.recruit .want ul p.title{
text-align: center;
font-weight: bold;
font-size: 30px;
background: rgba(248,134,207,.6);
display: inline-block;
margin: 0 auto;
width: 240px;
height: 240px;
border-radius: 50%;
padding-top: 80px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}
body.recruit .want ul p.title span{
font-size: 18px;
display: block;
margin-top: 10px;
}

body.recruit hr{
margin: 40px 0 !important;
}

body.recruit .a_day table th{
color: rgba(248,134,207,1);
white-space: nowrap;
}

body.recruit .event .column table{
width: auto;
}

body.recruit .event .column table th,
body.recruit .event .column table td{
padding: 8px;
font-size: 13px;
}

body.recruit .event .column table{
margin-bottom: 1em;
}

body.recruit .flow ul.flow li{
background: rgba(248,134,207,.2);
border-radius: 20px;
}

body.recruit .info table{
width: 100%;
}
body.recruit .info table th{
white-space: nowrap;
}




/**
INFO
*/

/*
.box.info.bottom ul li{
    margin-bottom: 0;
    display: block;
    width: 100%;
}
*/

.box.info.bottom{
background: rgba(0,0,0,0.01) !important;
}

.box.info.bottom .inner{
width: 60%;
margin: 0 auto;
}

.box.info.bottom ul li.button a.btn{
	width: 100% !important;
    text-align: center;
}

.box.info.bottom ul li.tel{
	font-size: 30px;
    text-align: center;
    margin-bottom: 1em;
}


.box.info.bottom ul li.tel,
.box.info.bottom ul li.tel a{
	color: #333;
	text-decoration: none;
}

.box.info.bottom ul li.tel p.caution{
	font-size: 16px;
	margin: 5px 0 0 0;
}



/**
FAQ
*/


.sp-easy-accordion .sp-ea-single{
border-radius: 0;
}
.sp-easy-accordion>.sp-ea-single{
border: none !important;
width: 60%;
margin: 0 auto;
}
.sp-easy-accordion>.sp-ea-single{
background: transparent !important;
border-bottom: solid 1px #AAA !important;
border-radius: 0 !important;
}
.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a{
padding: 15px 0 !important;
}
.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a{
padding: 15px 0 !important;
}

.sp-easy-accordion>.sp-ea-single>.sp-collapse>.ea-body{
background: transparent !important;
}


.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a{
padding: 15px 0;
}

.ea-body p{
margin-left: 18px;
}



@media (max-width: 1200px) and (min-width: 801px){
	
.inner {
    width: 90%;
}
.inner.narrow table,
.inner.narrow p,
.inner.narrow ul,
.inner.narrow.more table,
.inner.narrow.more p,
.inner.narrow ul{
width: 100%;
}


#main_contents{
	width: 100%;
	margin-right: 0;
}

#sidebar{
	float: none;
	clear: both;
	width: 100%;
}

}



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


/**
BASIC
*/

body{
 background: url(/images/bg.svg) rgba(250,97,3,.1) left top;
    background-attachment: fixed;
    background-size: 100%;
	-webkit-text-size-adjust: none;
	font-size: 90%;
}

/**BREAD*/

div.bread{
    margin: 0px 0 0 15px;
    display: none;
}



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

#wrapper{
	width: 100%;
}

#contents{
	width: 100% !important;
}


#main_contents{
	float: none;
	width: 100%;
	margin-right: 0px;
}
body.news.list #main_contents{
padding: 15px;
}

#sidebar{
	float: none;
	clear: both;
	width: 100%;
}

.inner{
	width: 100%;
	padding: 0 10px;
}

body.news .inner{
width: 100%;
}

.inner.narrow table,
.inner.narrow p,
.inner.narrow ul,
.inner.narrow.more table,
.inner.narrow.more p,
.inner.narrow ul{
width: 100%;
}

#wrapper,
#main_contents,
#sidebar,
.inner{
	float: none;
	width: 100%;
}

#contents{
margin: 110px auto 0 auto;
}

.news #contents,
.privacy #contents,
.contact #contents,
.contact_recruit #contents{
margin: 130px auto 0 auto;
}

#contents section{
	padding: 30px 10px;
}

.home #contents section{
	padding: 60px 0 30px 0;
}

.sp{
	display: inherit !important;
}
.pc{
	display: none !important;
}



/**
HEADER
*/

header .logo img,
.home header .logo img,
.home header.is-animation .logo img{
    width: 130px;
}

header.is-animation div.logo,
.home header div.logo,
header div.logo{
    margin: 10px 0 0 10px;
    position: relative;
    z-index: 9999;
    display: inline-block;
}


.nav-item a{
background: none;
color: #FFF;
padding: 0 0;
margin: 5px 0;
font-size: 13px;
width: 300px;
}




/**
ICON
*/

li.category a,
p.category a,
span.category a{
	font-size: 10px;
}

li.tag a,
p.tag a,
span.tag a{
	font-size: 10px;
}




/**
COMMON_LAYOUT
*/



#contents section.main_image{
margin-top: -110px;
height: 50vh;
}


body.about section.main_image{
background: url(/images/2025/DSC02364.JPG) no-repeat center top !important;
background-size: cover !important;
}

body.support section.main_image{
background: url(/images/2025/support_pearch1.jpg) no-repeat center top !important;
background-size: cover !important;
}

body.entry section.main_image{
background: url(/images/2025/entry_main.jpg) no-repeat center top !important;
background-size: cover !important;
}

body.what section.main_image{
background: url(/images/2025/DSC05086.jpg) no-repeat center top !important;
background-size: cover !important;
}



section.main_image .sub{
padding-left: 5%;
}

section.main_image p.catch{
margin-top: 0;
}


 
/**
COMMON_PARTS
*/

br.sp{
	display: inherit;
}

hr{
margin: 30px 0;
}

/*h1,h2,h3{
	font-size: 100%;
	line-height: 1.3;
}*/


div.title.left{
margin-bottom: 40px;
}

div.title h1{
	font-size: 30px;
	line-height: 1.2;
}
div.title h2{
	font-size: 24px;
	line-height: 1.2;
    padding: 0.5rem 0 1rem 0 !important;
}

.home div.title h2{
	font-size: 28px !important;
}



h2::before {
    position: absolute;
    border-bottom: 5px solid rgba(209,41,26,1);
    top: 90%;
    width: 130px !important;
    /*margin-left: -10px;*/
    content: '';
}

div.title.inner{
margin-top: -40px;
}

div.title.inner.main{
margin-top: 0;
}



body.about #contents div.title.main,
body.support #contents div.title.main,
body.entry #contents div.title.main,
body.recruit #contents div.title.main,
body.what #contents div.title.main{
    top: 20%;
}

body.about #contents div.title.main h2,
body.support #contents div.title.main h2,
body.entry #contents div.title.main h2,
body.recruit #contents div.title.main h2,
body.what #contents div.title.main h2{
    font-size: 30px;
}


div.title h3,
div.title.center h3{
	font-size: 18px;
	line-height: 1.2;
}

div.title.left h3{
    font-size: 20px;
}



div.title h4{
	font-size: 17px;
	line-height: 1.4;
}

div.title.numbered h4::before {
    content: attr(data-number);
    display: inline-block;
    margin-right: 10px;
    color: rgba(255, 204, 83, 1);
    font-size: 30px;
    font-weight: 400;
    border-bottom: 2px solid rgba(255, 204, 83, 1);
}


div.title h5{
font-size: 16px;
}
p.catch{
	font-size: 18px;
}

p.lead,
table.lead td,
table.lead th{
	font-size: 14px !important;
}
table.lead th{
    white-space: nowrap;
}

.tel a{
	pointer-events: inherit;
}

.caution, .caption{
font-size: 12px;
}



body.news{background: url(/images/bg.svg) rgba(209,41,26,.1) left top; background-size: 100%;}
body.what{background: url(/images/bg.svg) rgba(136,44,222,.3) left top; background-size: 100%;}
body.about{background: url(/images/bg.svg) rgba(64,197,207,.3) left top; background-size: 100%;}
body.concept{background: url(/images/bg.svg) rgba(64,197,207,.3) left top; background-size: 100%;}
body.support{background: url(/images/bg.svg) rgba(255,204,83,.3) left top; background-size: 100%;}
body.entry{background: url(/images/bg.svg) rgba(250,97,3,.3) left top; background-size: 100%;}
body.recruit,body.contact_recruit{background: url(/images/bg.svg) rgba(248,134,207,.3) left top; background-size: 100%;}



/**
FLOW
*/

ul.flow li{
	width: 100% !important;
    height: 120px;
}

ul.flow li:after {
    content: "\f063";
    font-family: FontAwesome;
	margin-right:25px;
	
	position: absolute;
    font-size: 18px;
	top: 115px;
	left: 0;
	display: block;
	text-align: center;
}



/**
MAIN
*/


/**
BX-SLIDER
*/

.bx-wrapper img{
	max-width: 100%;
	height: inherit;
	margin: 0;
}

.main_slider p.catch{
	font-size: 16px;
}


.bx-wrapper .bx-controls-direction a {
    top: 47% !important;
}


/**
PAGER
*/

.pager{
	font-size: 14px;
}

.wp-pagenavi .current, .wp-pagenavi .pages,
.wp-pagenavi a{
    padding: 5px 8px 5px 8px;
}


/**
SINGLE
*/

.single article{
padding: 30px;
margin-top: 0px;
}

.single article h1 {
    font-size: 24px;
}

article

/**
SIDEBAR
*/

#sidebar{
margin-bottom: 30px;
}

#sidebar section{
padding-bottom: 0; 
}

#sidebar h3{
font-size: 16px;
}


/**
NEWS
*/

.news dl{
position: relative;
height: 280px !important;
}
.news dl span.category{
margin: 0 0 5px 5px;
}

.news dl dt{
	clear: both;
	float: none;
	width: 100% !important;
	margin-bottom: 5px;
    position: relative;
}
.news dl dd{
	clear: both;
	float: none;
	width: 100% !important;
	margin-bottom: 10px;
	padding-bottom: 10px;
    border-bottom: solid 1px rgba(0,0,0,0.05);
    position: relative;
}



/**
LIST_LIST
*/

ul.item.list{
padding-left: 0 !important;
}

ul.item.list li {
	margin-bottom: 5%;
}

ul.item.list li div.image{
	width: 30%;
	margin-right: 3%;
    height: 100px;
}

ul.item.list li div.content{
	width: 65%;
}

ul.item.list li p.title{
font-size: 14px;
}



/**
LIST_BOX
*/

ul.item.box.column_3 li,
ul.item.box.column_4 li,
ul.item.box.column_5 li{
	width: 48%;
}

ul.item.box li{
margin-bottom: 2% !important;
}

ul.item.box li p.title {
    font-size: 13px;
    margin: 8px 0 0;
}

ul.item.box.sp_full{
	margin-left: 0%;
}

ul.item.box.sp_full li{
	width: 100%;
	margin: 0 0 4% 0;
}
ul.item.box.sp_full li div.image{
	height: 150px;
}



/**SIZE FIX*/

ul.item.box.fix li div.image,
.flexbox.fix li div.image{
	height: 120px;
	overflow: hidden;
	position: relative;
}
ul.item.box.fix.column_2 li div.image,
.flexbox.fix.column_2 li div.image{
	height: 120px;
}
ul.item.box.fix.column_3 li div.image,
.flexbox.fix.column_3 li div.image{
	height: 120px;
}
ul.item.box.fix.column_4 li div.image,
.flexbox.fix.column_4 li div.image{
	height: 120px;
}


/**
FLEXBOX
*/

ul.flexbox,
div.flexbox{
	display: flex;
	display: -webkit-flex; /* Safari */
	-js-display: flex;/*IE*/
    -webkit-flex-wrap: wrap;
	justify-content: space-around; 
    flex-wrap: wrap;
    /*align-items: stretch;*/
    justify-content: space-between;
	/*justify-content: flex-start;*/
	width: 100%;
}

.flexbox li {
	list-style: none;
	width: 100%;
}

.flexbox li img{
	width: 100%;
}


.flexbox.column .sub{
	flex: 100%;
	margin: 0 0 0em 0 !important;
}
.flexbox.column.after .sub{
	flex: 100%;
	margin: 1em 0 0 0 ;
}

.flexbox.column .main{
	flex: 100%;
    margin-bottom: 1em;
}

.flexbox.list .main{
	flex: 3 !important;
}

.flexbox.column_3 li,
.flexbox.column_4 li,
.flexbox.column_5 li{
	width: 49%;
}

.flexbox.sp_full li{
	width: 100%;
	margin-bottom: 5%;
}


.flexbox.column:last-child{
margin-bottom: 0;
}


.flexbox.column .main p,
.flexbox.column .main ul,
.flexbox.column .main table
.flexbox.column .sub table{
width: 100% !important;
}


.flexbox.column .main .title.inside{
margin-left: 0px;
}



#contents .flexbox.column .main.w_2 p,
#contents .flexbox.column .main.w_2 ul,
#contents .flexbox.column .main.w_2 table{
width: 100%;
}
#contents .flexbox.column .title.inside{
margin-left: 0px;
}
#contents .flexbox.column .main.w_1 p,
#contents .flexbox.column .main.w_1 ul,
#contents .flexbox.column .main.w_1 table{
width: 100%;
margin: 0 auto 1em auto;
}
#contents .flexbox.column .title.inside{
margin-left: 0px;
}


/**
MAP
*/

.map iframe{
	height: 250px;
}


/**
TABLE
*/

table,
table.narrow{
width: 100%;
}


table.data th, table.data td{
padding: 10px;
}
table.list th, table.list td{
padding: 10px;
}




.table-scroll {
  overflow-x: auto;
}

.table-scroll table{
  width: 100%;
  min-width: 800px;
  table-layout: fixed;
  margin-bottom: 1px;
  border-collapse: collapse;
}

.table-scroll th,
.table-scroll td {
  /*width: 200px;*/
  border: 1px #ccc solid;
  font-size: 13px;
  padding: 10px !important;
}

.table-scroll .sticky{
  position: sticky;
  top:0;
  left:0;
  border-left: none;
  border-right: none;
 background: #e5d9d6;
 width: 6em;
}
.table-scroll .sticky::before{
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  border-left: 1px #333 solid;
  /*border-right: 1px #333 solid;*/
  background-cdolor: #eee;
  z-index: -1;
  box-sizing: content-box;
}

.table-scroll .time.sticky::before{
border: none;
}

.table-scroll .scroll-hint-icon {
  left: calc( 50% - 150px );
  width: 300px;
}


/**
FORM
*/

/** {
    -webkit-appearance: none;
}*/

input, button, textarea, select{
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	border-radius: 0;
}

input[type=checkbox],
input[type=radio]{
  -webkit-appearance:checkbox !important;
}


div.form{
	padding: 15px;
    width: 100%;
}


div.form dl dt,
div.form dl dd{
	float: none;
	clear: both;
	width: 100%;
	margin: 0;
}
div.form dl dt{
	padding-bottom: 0;
}
div.form .caution{
	display: block;
	margin-top: 5px;
}

div.form table th,
div.form table td{
	width: 100%;
	display: block;
}

div.form table th{
	border: none;
	padding-bottom: 0;
}


/**
INPUT
*/

input[type="text"],
input[type="password"],
input[type="email"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
input[type="text"].size_s,
input[type="text"].size_m,
input[type="text"].size_l,
textarea,
select{
	width: 100%;
}
input.short {
	width: 100px !important;
}
select.short {
	width: 80px !important;
	min-width: 80px !important;
}



/**
BUTTON
*/

input[type="submit"].btn.size_l,
a.btn.size_l{
font-size: 16px;
padding: 10px 30px;
}


input[type="submit"].btn.size_2l,
a.btn.size_2l{
	font-size: 20px;
}



/**
BUTTON
*/


input[type="submit"].btn.size_l,
a.btn.size_l{
}


input[type="submit"].btn.size_2l,
a.btn.size_2l{
	font-size: 24px;
}


.contacn_recruit p.button input{
width: 100px;
}




/**
INFO
*/

.box.info.bottom{
padding: 10px 0 !important;
}

.box.info.bottom .inner{
width: 100%;
}

/*
.box.info.bottom .column .main{
margin-bottom: 2em;
}
*/

.box.info.bottom ul li.button{
margin-bottom: 2em !important;
text-align: center;
}


.box.info.bottom ul li.tel{
	font-size: 30px;
}

.box.info.bottom ul li.button a.btn{
font-size: 16px;
width: 90% !important;
}

.box.info.bottom ul li.tel p.caution{
	font-size: 13px;
}


.recruit #contents {
margin: 110px auto 0 auto;
}



/**
FOOTER
*/

footer{
/*padding-bottom: 80px !important;*/
}

footer .column .sub p.logo img{
width: 180px;
}
footer .column .sub p.logo{
}

footer ul.info li.tel {
    line-height: 1.5 !important;
}

footer .column .main {
    vertical-align: top;
    padding: 50px 0 0 0 !important;
}

footer{
padding: 50px 15px;
}

footer .column .main {
/*display: none;*/


}
footer .column .main ul{
text-align: center;
}
footer .column .main ul li{
width: 100% !important;
text-align: center;
}

footer .column .main ul li.col_2{
margin-left: 0;
}

footer .column .sub ul li.tel .caution {
    margin-left: 0;
    display: block;
    color: #000;
}

footer p.copy{
text-align: center !important;
}

footer .box_social{
margin: 1em 0 !important;
text-align: center;
}


footer .column ul.banner li{
width: 49% !important;
padding:  0 30px;
}




/**BOTTOM FIX*/

/*
footer ul.info{
	width: 100%;
	position: fixed;
	bottom: 0;
    left: 0;
	background: rgba(0, 0, 0, 0.5) !important;
	z-index: 999;
	text-align: center;
	margin: 0 !important;
	padding: 10px !important;
}
.recruit footer ul.info{
display: none !important;
}*/
footer .column .main ul ul {
    margin: 1em 0 2em 0;
}


footer ul.info li{
width: 50%;
display: inline-block;
margin: 0;
vertical-align: bottom;
}
footer ul.info li p{
margin: 0 !important;
}
footer ul.info li a.btn.size_l{
font-size: 14px !important;
padding: 10px;
}
footer ul.info li.tel{
font-size: 18px !important;
}
footer ul.info li.tel span.caution{
font-size: 10px !important;
margin: 5px 0 0 0;
}

footer .main.w_2 ul.flexbox.column_4{
display: none;
}


#page-top {
    position: fixed;
    bottom: 100px;
    right: 20px;
}
#page-top a{
width: 60px;
height: 60px;
}



/**
INFO
*/


.box.info.bottom ul li{
	width: 100%;
	margin: 0 0 1% 0;
}


/**
ACCORDION
*/


/**
TABLE
*/

.column .main table,
.column .sub table{
width: 100% !important;
}



.keyvisual{
height: 70vh;
}

.keyvisual div.logo{
width: 160px;
height: 200px;
}
.keyvisual div.logo img{
padding: 30px;
}

.home .column .main p {
    width: 100%;
    margin: 1em auto;
}

.home .column .sub{
margin-bottom: 0 !important;
}



.home .other_info ul li{
width: 100%;
}
.home .other_info ul li.instagram{
margin-bottom: 3em;
}


/**
WHAT
*/


.what table th{
white-space: inherit !important;

}

.what table td .caution{
line-height: 1.4;
display: block;
margin-top: 5px;
font-size: 10px;
}


.what table.about_2 .sticky{width: 9em;}

.what table.about_2 td{
font-size: 12px;
}

.what .step table.block {
    border-collapse: separate;
    border-spacing: 5px;
}

.what .step table.block tr.space td{
font-size: 0;
}



.what .step .column .left table.age_3{
display: table !important;
}
.what .step table.age_3 span.block{
/*background: rgba(129,41,45,0.25);*/
}

.what .step table td span.block.narrow{
width: 40px;
font-size: 10px !important;
}

.what .step table td.arrow:after {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-top: 10px solid rgba(129, 41, 45, 0.15);
    border-bottom: 0px;
    margin: 0 auto;
}
.what .step table td.arrow.thin:after {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-top: 10px solid rgba(0, 0, 0, 0.05);
    border-bottom: 0px;
    margin: 0 auto;
}

.what .step .column .left span{
/*width: 70%;
margin: 0 auto;*/
}

.what .step table.age_3{
margin-top: -30px !important;
}

.what .step table.age_3.sp{
margin-top: 0px !important;
}

.what .flow table td{
font-size: 12px;
}

.what .flow table .time,
.what .flow table .time td{
white-space: nowrap;
padding-right: 10px !important;
}



.what .flow table td{
padding: 10px 5px;
}

.what .flow table td svg{
position: absolute;
top: 6px;
right: 6px;
font-size: 16px;
margin-left: 10px;
color: rgba(129,41,45,.5);
vertical-align: middle;
}

.what .flow table{
margin: 20px 0;
}
.what .flow ul.photos li{
max-width: 33%;
}


.what .step .column,
.what .step table.age_3,
.what .step p.caution.bottom{
width: 100%;
margin: 0 auto;
}


.what .step table.age_3 span.block{
padding-top: 15px;
}

.what .step table.age_3.sp span.block{
padding-top: 10px !important;
}

.what .step .right table{
margin-bottom: 0;
}

.what .step .column .left{
margin-bottom: 0!important;
}
.what .step .column .right{
margin-top: 40px;
margin-bottom: -25px;
}
.what .step .column .right table.block{
margin-bottom: 0 !important;
}


.what .step table.block tr.block.age_3_full td{
padding: 0 8px !important;
}


.what .step table td span.block{
display: block;
/*background: rgba(0,0,0,0.15);*/
padding: 10px 5px;
font-size: 12px;
height: auto !important;
padding-top: 10px;
}
.what .step table td.thin span.block{
display: block;
/*background: rgba(0,0,0,0.05);*/
padding: 10px 5px;
font-size: 10px;
line-height: 1.2;
white-space: nowrap;
}
.what .step table td.thin span.block sup{
display: block;
}




/**
ABOUT
*/

body.about .greeting p.sign img{
height: 40px;
}

body.about .box_policy{
width: 100%;
margin-bottom: 20px;
}
body.about .box_policy ul li{
font-size: 18px;
}
body.about .objective .box_policy ul li{
font-size: 16px;
}
body.about .objective .box_policy ul li em {
    font-size: 140%;
}


body.about .feature ul li{
width: 100%;
margin-bottom: 15%;
}
body.about .feature ul li:last-child{
margin-bottom: 0;
}
body.about .feature p.title{
font-size: 16px;
}

body.about .event table ul li{
font-size: 13px;
line-height: 1.3;
}


body.about .transfer table th,
body.about .transfer table td{
width: 100% !important;
display: block;
}
body.about .transfer table th{
border-bottom: 0;
}


body.about .outline table th{
white-space: nowrap;
}

body.about .gallery ul li {
    margin-bottom: 2% !important;
}

body.about .gallery div.text p{
text-align: center;
font-size: 15px;
line-height: 2;
letter-spacing: .02em;
}
body.about .gallery div.text{
margin-bottom: 2em;
}


body.about .event .main{
margin-bottom: 30px;
}

body.about .event span.num {
    font-size: 22px;
    font-weight: 400;
}
body.about .event table th,
body.about .event table td{
padding: 5px;
}

body.about .a_day table th,
body.about .a_day table td{
text-align: center;
width: 15%;
padding: 10px;
}

body.about .a_day table td{
vertical-align: top;
padding: 5px 10px;
line-height: 1;
}


body.about .a_day table th.no1,
body.about .a_day table th.no2{
    padding: 10px 10px 0 10px !important;
}

body.about .a_day table p.caution {
    font-weight: normal;
    font-size: 9px;
    text-align: left;
}


body.about .a_day table th.time,
body.about .a_day table td.time{
width: 6%;
font-size: 13px;
}


body.about .special .column.picture_book{
margin-bottom: 30px;
}

body.about .why_picture_book{
width: 100%;
margin: 0;
}

body.about .special .column.last{
margin-bottom: 10px;
}

body.about .special ul.flexbox.column_3 li{
width: 32%;
}


body.about .special .picture_book_reason{

width: 100%;
margin: 30px auto;
padding: 10px 10px !important;
}



body.about .outline table.data th,
body.about .outline table.data td{
font-size: 13px;
padding: 10px;
}

body.about .outline table.data th{
width: 4em;
}



/**
*/

.concept .box_policy{
width: 100%;
padding: .5em 1em;
}

.box_policy ul li {
    list-style: none;
    line-height: 1.6;
    font-size: 20px;
    }

.concept .objective .box_policy ul li {
    font-size: 16px;
    margin: 1.5em 0;
}
.concept .objective .box_policy ul li em {
    font-size: 150%;
}


body.entry .intro p.catch{
font-size: 14px;
margin-bottom: 0;
}


body.entry .about ul li{
width: 100%;
}

body.entry .about table th,
body.entry .about table td{
width: 100% !important;
display: block;
}

body.entry .about table th,
body.entry .about table td{
border-bottom: none;
}
body.entry .about table{
border-bottom: solid 1px #333;
}

body.entry .about ul li{
margin-bottom: 6%;
}

body.entry .about ul li.codomon img{
width: 200px;
}

body.entry .about ul li p,
body.entry .about ul li ul {
    padding: 0
}

body.entry .details ul.list{
    margin: 0 0 1em 2em !important;
}
body.entry .details ul.caution{
    margin: 1em 2em 2em 0;
    }
body.entry .details .column {
    padding: 10px;
    margin-top: 30px;
    margin-bottom: 6%;
}
body.entry .details ul.info li {
    padding: 10px;
    margin-bottom: 6%;
}


body.entry .details ul li{
width: 100%;
margin-bottom: .5em;
}

body.entry .details ul.list {
    margin: 2em;
    padding: 0;
}
body.entry .details ul li p,
body.entry .details ul li ul {
    padding: 0;
}

body.entry .details table th.no1,
body.entry .details table th.no2-3{
width: auto;
}





body.entry .space table th,
body.entry .space table td{
padding: 6px;
font-size: 12px;

}
body.entry .space table th{
/*white-space: nowrap;*/
}


body.entry .details table th,
body.entry .details table td{
padding: 6px;
font-size: 13px;
}

body.entry .details table th{
white-space: nowrap;
}


body.entry .flow p.title{
font-size: 18px;
}

body.entry .flow ul{
width: 100%;
padding: 10px 20px;
}

body.entry .flow ul li:after {
    content: '';
    background: url(/images/arrow_down.png) center bottom no-repeat;
    background-size: 30px;
    height: 30px;
    display: block;
}

body.entry .flow p.caution.sub{
 margin: -1.2em 0 1em 3.5em;
 }



/**
BALLOON
*/

.balloon {
width: 100%;
    margin: 20px 0;
    padding: 0 40px;
    position: relative;
}

.balloon-image-left,
.balloon-image-right {
    width: 60px;
    height: 60px;
}

.balloon-text-left{
	margin-right: 30px;
}
.balloon-text-right{
	margin-left: 30px;
}

.balloon-text-right,
.balloon-text-left {
 max-width: 100%;
 padding: 10px 20px;
}

.balloon p{
	font-size: 12px;
}
.balloon-image-left p,
.balloon-image-right p{
font-size: 10px !important;
line-height: 1.3;
}


/**
SUPPORT
*/

body.support .column h4 span.icon img {
    height: 40px;
    vertical-align: middle;
}

body.support table{
font-size: 85%;
}

body.support .column{
margin: 30px 0 50px 0;
}

body.support .column ul li.column_2{
width: 100% !important;
}

body.support ul.flow li{
margin-bottom: 1em !important;
}

body.support footer ul.info{
display: none !important;
}

body.support ul.flow{
width: 80%;
margin: 0 auto;
}

ul.flow li div.wrap{
padding: 10px;
}

body.support .column h5 span.icon img {
    height: 30px;
}

body.support ul.seminor li{
padding: 0 5px;
width: 100% !important;
margin-bottom: 50px !important;
height: auto !important;
}
body.support ul.seminor li div.image{
padding: 0 60px;
}

body.support ul.seminor p{
font-size: 12px;
line-height: 1.6;
}

body.support .graduate .event{
padding-bottom: 60px !important;
}

body.support table.open_garden td{
padding: 20px 30px;
}



/**
RECRUIT
*/

body.recruit .message .column .photo .sub img{
width: 50%;
position: absolute;
right: 0;
bottom: -40px;
}

body.recruit .message .column{
margin-bottom: 100px;
padding-bottom: 0px;
}


body.recruit .message .column .sub{

}

body.recruit .want p.catch{
font-size: 20px;
}


body.recruit .want{
background: url(/images/2025/DSC02969.jpg) no-repeat 65% 90%;
background-size: cover;
}




body.recruit .want ul {
    width: 100%;
    margin: 0 auto;
}

body.recruit .want ul li{
width: 100%;
}

body.recruit .want ul li{
padding: 20px 20px 10px 20px;
}

body.recruit .want ul p.title {
    text-align: center;
    font-weight: bold;
    font-size: 25px;
    background: rgba(238, 177, 201, 8);
    display: inline-block;
    margin: 0 auto;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    padding-top: 50px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}
body.recruit .want ul p.title span {
    font-size: 13px;
}

body.recruit .want table th,
body.recruit .want table td{
font-size: 12px;
white-space: inherit;
}

body.recruit .want p.catch{
font-size: 20px;
}


body.recruit .from ul li{
width: 100%;
font-size: 12px;
margin-bottom: 0;
}
body.recruit .from ul li p{
margin: 0;
}

body.recruit .flow li{
height: auto;
}
body.recruit .flow ul.flow li:after {
        content: "\f063";
        font-family: FontAwesome;
        margin-right: 25px;
        position: absolute;
        top:55px;
        left: 0;
        font-size: 18px;
        display: block;
        text-align: center;
    }

body.recruit .flow ul.flow li.last:after{
        content: "";
}
body.recruit .a_Day table th,
body.recruit .a_Day table td{
padding:  10px 5px;
}




.privacy section{
width: 90%;
}
.privacy section .inner{
padding: 10px;
}






/**
FAQ
*/

.sp-easy-accordion .sp-ea-single .ea-header a{
font-size: 14px !important;
line-height: 1.5 !important;
}
.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-body{
font-size: 13px;
}
.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a{
padding: 10px 0;
}


.sp-easy-accordion>.sp-ea-single{
border-bottom: solid 1px #AAA !important;
width: 100%;
}


.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a {
    padding: 10px 0 !important;
}

.sp-easy-accordion>.sp-ea-single{
margin-bottom: 0 !important;
}

.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-body{
padding: 0 15px 15px 15px !important;
}



}
