@charset "utf-8";
@import url('//fonts.googleapis.com/css?family=Roboto:400,700,300');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&family=Noto+Serif+JP&family=Yusei+Magic&display=swap');
/********* HTML再定義 ***********************************************/
html {
	-ms-text-size-adjust: 100%;
	font-size: 62.5%;
	margin: 0;
	padding: 0;
}
body {
	padding: 0;
	margin: 0 auto;
	font-size: 1.6rem;
	font-size: 16px;
	line-height: 160%;
	letter-spacing: 0px;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	width: 100%;
	min-height: 100%;
}

body, html {
	height: 100%;
}

h2, h3, h4, h5, h6 {
	font-size: 120%;
	margin: 0;
	padding: 0;
	margin-bottom: 20px;
	line-height: 120%;
}


p {
	margin: 0;
	padding: 0;
	margin-bottom: 15px;
}

/********* 全体 *****************************************************/

#fixedTop {
    right: 20px;
    bottom: 120px;
    width: 60px;
    height: 60px;
    line-height: 60px;
	background-image: url(../files/medias/common/totop.png);
	background-repeat: no-repeat;
	background-position: center;
	background-color: #555;
    color: #fff;
    text-align: center;
    display: none;
    position: fixed;
    z-index: 9999;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}
#fixedTop:hover {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0.7;
}

@media only screen and (max-width: 768px) {
#fixedTop {
    right: 5px;
    bottom: 120px;
}
}

#container {
display: block;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
}
.container {
display: block;
	max-width: 1000px;
	margin: 0 auto;
	overflow: hidden;
	padding: 0;
}
@media only screen and (max-width: 1000px) {
.container {
	margin: 0 16px;
}
}
.anchorlink {
    position: relative;
    top: -80px;
    display: block;
}


@media only screen and (max-width: 768px) {
.container {
	margin: 0 8px;
}
.anchorlink {
    position: relative;
    top: -62px;
    display: block;
}
}

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

#header {
	position: fixed;
	top: 0;
	clear: both;
	margin: 0;
	background-color: rgba(255,255,255,0.9);  /* 背景色 */
	box-shadow: 0 0 5px rgba(0,0,0,0.2); /* 影 */
	width: 100%;
	z-index: 500;
}
.header {
	display: block;
	padding: 8px 16px;
}

.header_left {
	display: inline-block;
}

#header h1 {
	position: relative;
	z-index: 5000;
	display: inline-block;
	vertical-align: middle;
	width: 380px;
	margin: 0;
	padding: 0;
	margin-right: 10px;
}
#header h1 img {
	display: block;
	max-width: 100%;
}
#header h1 a {
	display: block;
}
#header p {
	display: inline-block;
	vertical-align: middle;
	font-weight: bold;
	padding: 0;
	margin: 0;
}
#header h1 a:hover {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0.7;
}

.bt_contact {
	float: right;
	display: inline-block;
	margin-left: 20px;
}

.bt_contact a {
	display: block;
	background-color: #14923B;
	font-weight: normal;
	color: #FFF;
	padding: 32px 30px;
	text-decoration: none;
}
.bt_contact a:hover {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0.7;
}

@media only screen and (max-width: 768px) {
html {
	min-width: 380px;
} 
#header {
	min-width: 380px;
}
.header{
	padding: 4px 0 0;
}
.header_left {
float: left;
	padding: 4px 8px;
}
#header h1 {
	width: 260px;
	margin: 0;
}
#header p {
	display: block;
	font-size: 90%;
	text-align: center;
}
.bt_contact {
	position: relative;
	z-index: 100;
	font-size: 12px;
	margin-left: 5px;
}

.bt_contact a {
	padding: 20px 8px;

}
}


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

#footer {
	clear: both;
	display: block;
	background-color: #FAF5CD;
	color: #000;
	width: 100%;
	padding: 40px 0;
	box-sizing: border-box;
}
#footer address {
	text-decoration: none;
	font-size: 90%;
	line-height: 120%;
	text-align: center;
}
.footer {
	display: block;
	max-width: 1200px;
	margin: 0 auto;
}


@media only screen and (max-width: 768px) {
#footer {
	min-width: 380px;
	padding: 20px 0;
}
.footer {
	width: auto;
}

#footer address span {
	display: block;
}
}


ul.footmenu {
	clear: both;
	margin: 24px 0;
	padding: 0;
	text-align: center;
}

ul.footmenu li {
	display: inline-block;
	list-style: none;
	margin: 0;
	padding: 0;
	padding-right: 15px;
	margin-right: 15px;
	line-height: 100%;
	border-right: 1px solid #CCC;
}
ul.footmenu li:last-child {
	border-right: none;
	margin-right: 0;
}
ul.footmenu li a {
	display: block;
	color: #000;
	text-decoration: none;
}

ul.footmenu li a:hover {
	color: #999;
}

@media only screen and (max-width: 768px) {
ul.footmenu {
	margin: 16px 0;
	padding: 0;
}
ul.footmenu li {
	display: block;
	margin: 0;
	padding: 0;
	padding-right: 0;
	margin-right: 0;
	border: none;
	text-align: left;
}
ul.footmenu li a {
	display: block;
    color: #FFF;
	text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
	padding: 13px;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
	border:1px solid #CCC;
	background-color: #191;
}
ul.footmenu li a:hover {
    color: #FFF;
	background-color: #1C1;
}
}


.foot_logo {
	display: inline-block;
	vertical-align: bottom;
	margin-right: 20px;
	width: 240px;
}
.foot_logo img {
	display: block;
	max-width: 100%;
}
ul.footpic {
	display: inline-block;
	vertical-align: middle;
	float: right;
	margin: 0;
	padding: 0;
}
ul.footpic li {
	position: relative;
	display: inline-block;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100px;
	height: 100px;
	overflow: hidden;
	margin-left: 5px;
	margin-bottom: 5px;
}

ul.footpic li img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
}

ul.footpic li .caption {
	font-weight: bold;
	line-height: 120%;
	text-align: center;
	color:			#FFF;
	padding-top:		30px;
}
ul.footpic li .mask {
	width:			100%;
	height:			100%;
	position:		absolute;
	top:			-100%;	/* 枠の上に置いて表示させない */
	left:			0;
	background-color:	rgba(0,0,0,0.4);
	-webkit-transition:	all 0.6s ease;
	transition:		all 0.6s ease;
}
ul.footpic li a:hover .mask {
	top:			0;	/* 下に降りてくるように見せる */
}

ul.footpic li a:hover {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0.7;
}


ul.footpic li a:hover img {
	width: 150%;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

@media only screen and (max-width: 768px) {
.foot_logo {
	display: block;
	margin: 30px auto;
	width: 50%;
}
.foot_logo img {
	display: block;
	max-width: 100%;
}
ul.footpic {
	display: block;
	float: none;
	text-align: center;
	margin: 0 auto;
}
ul.footpic li {
	position: relative;
	display: inline-block;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100px;
	height: 100px;
	overflow: hidden;
	margin-left: 5px;
	margin-bottom: 5px;
}

ul.footpic li img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	width: 100%;
}

ul.footpic li .caption {
	font-weight: bold;
	line-height: 120%;
	text-align: center;
	color:			#FFF;
	padding-top:		30px;
}
ul.footpic li .mask {
	width:			100%;
	height:			100%;
	position:		absolute;
	top:			-100%;	/* 枠の上に置いて表示させない */
	left:			0;
	background-color:	rgba(0,0,0,0.4);
	-webkit-transition:	all 0.6s ease;
	transition:		all 0.6s ease;
}
ul.footpic li a:hover .mask {
	top:			0;	/* 下に降りてくるように見せる */
}

ul.footpic li a:hover {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0.7;
}


ul.footpic li a:hover img {
	width: 150%;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
}

.footinfo {
	max-width: 1000px;
	margin: 0 auto ;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.footinfo_box {
display: block;
width: calc(100% / 2 - 16px);
}

.footinfo_box p {
font-size: 90%;
margin-top: 4px;
margin-bottom: 0;
}
.foot_logo {
display: block;
margin: 0;
max-width: 100%;
}


@media only screen and (max-width: 768px) {
	.footinfo {
	display: block;
	margin: 0 16px;
	}
.footinfo_box {
width: auto;
}
.footinfo_box:nth-child(n+2) {
margin-top: 8px;
}
.foot_logo {
display: block;
margin-bottom: 16px;
max-width: 280px;
}

}

/********* スライド *************************************************/

.wideslider {
	margin-top: 90px;
	margin-bottom: 40px;
    width: 100%;
    text-align: left;
    position: relative;
    overflow: hidden;
}
 
.wideslider ul,
.wideslider ul li {
    float: left;
    display: inline;
    overflow: hidden;
	margin: 0;
	padding: 0;
}
 
.wideslider ul li img {
    width: 100%;
}
 
.wideslider_base {
    top: 0;
    position: absolute;
}
.wideslider_wrap {
    top: 0;
    position: absolute;
    overflow: hidden;
 
}
.slider_prev,
.slider_next {
    top: 0;
    overflow: hidden;
    position: absolute;
    z-index: 100;
    cursor: pointer;
}
.slider_prev {background: #FFF url(../files/medias/slide/prev.jpg) no-repeat right center;}
.slider_next {background: #FFF url(../files/medias/slide/next.jpg) no-repeat left center;}
 
.pagination {
    bottom: 30px;
    left: 0;
    width: 100%;
    height: 15px;
    text-align: center;
    position: absolute;
    z-index: 200;
}
 
.pagination a {
    margin: 0 5px;
    width: 15px;
    height: 15px;
    display: inline-block;
    overflow: hidden;
    background: #333;
}
.pagination a.active {
    filter:alpha(opacity=100)!important;
    -moz-opacity: 1!important;
    opacity: 1!important;
}
 
 
/* =======================================
    ClearFixElements
======================================= */
.wideslider ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}
 .wideslider ul {
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
}
 .wideslider ul,
.wideslider ul li {
	margin: 0 !important;
	padding: 0 !important;
}
.wideslider ul {
margin: 0;
padding: 0;
    overflow: hidden;
}


@media only screen and (max-width: 768px) {
.wideslider {
margin: 0;
margin-left: auto;
margin-right: auto;
	margin-top: 65px;
	margin-bottom: 30px;
}	
.pagination {
display: none;
    bottom: 15px;
}	
}
/********* タイトル *****************************************************/


#title {
	font-family: "Roboto", sans-serif;
	position: relative;
	min-height: 50%;
	background-image: url("../files/medias/title/bg_title.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
    background-attachment: fixed;
	z-index: 1;
	overflow: hidden;
}

#title h2 {
	position: absolute;
	left: 50%;
	top: 50%;
	bottom: auto;
	right: auto;
	transform: translateX(-50%) translateY(-50%);
	text-align: center;
	font-size: 48px;
	font-weight: normal;
	text-shadow: 0 0 1px rgba(0,0,0, 0.9),  1px 1px 5px rgba(0,0,0, 0.5);
	color: #FFF;
}

#title h3 {
  position: absolute;
  left: 50%;
  top: 55%;
  bottom: auto;
  right: auto;
  transform: translateX(-50%) translateY(-50%);
  width: 90%;
  text-align: center;
  font-size: 30px;
  font-size: 1.875rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  color: white;
}
.p_up {
	margin-top: 80px;
}
.pagetitle {
display: block;
}
@media only screen and (max-width: 768px) {
#title {
	background-size: cover;
	min-height: 30%;
    background-attachment: inherit;
	background-position: bottom;
	padding: 0;
}
.pagetitle {
	margin-bottom: 24px;
}

#title h2 {
	font-size: 26px;
	white-space: nowrap;
}

#title h3 {
  font-size: 18px;
}	
.p_up {
	margin-top: 62px;
}
}

#title.bg_school {
  background-image: url("../files/medias/title/bg-school.jpg");
}
#title.bg_class {
  background-image: url("../files/medias/title/bg-class.jpg");
}
#title.bg_access {
  background-image: url("../files/medias/title/bg-access.jpg");
}

.pagebottom {
margin-bottom: 32px;
}

@media only screen and (max-width: 768px) {
.pagebottom {
margin-bottom: 24px;
}
}
.content_main {
	position: relative;
	padding: 40px 0 0;
	margin-bottom: 40px;
	z-index: 2;
	overflow: hidden;
}

.content_main #container {
	margin-bottom: 40px;
}
.content_main .content {
	margin-bottom: 50px;
	margin-top: 20px;
}
@media only screen and (max-width: 768px) {
.content_main {
	  background-size: 50px;
	  padding: 32px 20px 0;
	background-position: 50px top;
	margin-bottom: 24px;
}

.content_main #container {
	margin-bottom: 30px;
	overflow: hidden;
}
.content_main .content {
	margin-top: 0;
	margin-bottom: 20px;
	overflow: hidden;
}	
}
/********* パンくず *****************************************************/

.pkz {
display: block;
	position: relative;
	z-index: 100;
	text-align: right;
	clear: both;
	color: #333;
	padding: 0;
	margin-right: 50px;
	margin-top: 10px;
	font-size: 13px;
	margin-bottom: 30px;
}
.pkz ol {
	margin: 0;
	padding: 0;
}
.pkz ol li {
	margin: 0;
	padding: 0;
	display: inline; /* liを横並び＆ブレットを消す */
	list-style-type: none;
}
.pkz ol li:after {
        content: " > "; /* liの後に記号追加 */
}
.pkz ol li:last-child:after {
	content: none; /* 最後のliだけcontentを消す */
	font-weight: bold;
}
.pkz ol li:last-child {
	font-weight: bold;
}	
.pkz li a:link, .pkz li a:visited {
	text-decoration: none;
	color: #333;
}
.pkz li a:hover{
	text-decoration: underline;
}


@media only screen and (max-width: 768px) {
.pkz {
	display: none;
}
}

/********* インフォメーション ***************************************/

#information {
	clear: both;
	text-align: center;
	margin-bottom: 40px;
}

#information h3 {
	font-size: 80px;
	color: #e2041b;
}

#information h5 {
	color: #e2041b;
	font-size: 24px;
}


@media only screen and (max-width: 768px) {
#information {
	margin-bottom: 0px;
}
#information h3 {
	font-size: 36px;
}

#information h5 {
	font-size: 18px;
}

}


/********* 内容 *****************************************************/

#content {
	clear: both;
	display: block;
	margin-bottom: 40px;
}

@media only screen and (max-width: 768px) {
#content {
	margin-bottom: 24px;
}
}

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

h3.top_title {
	font-family: "Roboto", sans-serif;
	text-align: center;
	font-size: 240%;
	font-weight: normal;
	margin-bottom: 80px;
}
.top_2ndtitle {
	display: inline-block;
	width: 240px;
	margin-right: 5px;
	margin-bottom: 30px;
}
.banners {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style-type: none;
	margin: 0;
	margin-bottom: 20px;
	padding: 0;
	row-gap: 20px;
}
.banners li {
	width: 49%;
	list-style: none;
}
.banners li:nth-last-child(-n + 2) {
	margin-bottom: 0;
}
.banners li img,
.classes li img,
.map img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}
.classes {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style-type: none;
	margin: 0;
	padding: 0;
	row-gap: 45px;
}

.classes a {
	text-decoration: none;
	color: none;
}
.classes a:hover {
	color: none;
}
.classes li {
	width: 30%;
	list-style: none;
}
.classes h5 {
	text-align: center;
	color: #E0684E;
}
.classes .sat { color: #1774BC; }
.classes .weekday { color: #000000; }
.field {
	margin: 1em 0;
	list-style-type: none;
}
.field li {
	width: 100%;
	margin-bottom: 0;
	padding-left: 1em;
	text-indent: -1em;
	color: #000;
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
	box-sizing: border-box;
}
.field li:before {
	content: "■";
	color: #3CA638;
}
.three-features img {
	width: 100%;
	height: auto;
	margin: 0;
}
.three-features-l {
	display: block;
}
.three-features-s {
	display: none;
}

@media only screen and (max-width: 768px) {
	h3.top_title {
		font-size: 160%;
		line-height: 130%;
		margin-bottom: 30px;
	}
	.top_2ndtitle {
		width: 35%;
		margin-bottom: 15px;
	}
	.banners li { width: 100% }
	.classes {
		row-gap: 20px;
	}
	.classes li {
		width: 47%;
	}
	.classes li:last-child { margin-bottom: 0; }
	.three-features-l { display: none; }
	.three-features-s { display: block; }
}


.class_flex {
position: relative;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.class_flex:after {
content: "";
display: block;
width: calc(100% / 3 - 16px);
}
.class_flex_box {
display: block;
width: calc(100% / 3 - 16px);
}
.class_flex_box:nth-child(n+4) {
margin-top: 16px;
}
@media only screen and (max-width: 768px) {
.class_flex {
display: block;
margin: 0 10%;
}
.class_flex:after {
content: "";
display: none;
}
.class_flex_box {
display: block;
width: auto;
}
.class_flex_box:nth-child(n+2) {
margin-top: 8px;
}
}
ul.list_class_txt {
margin: 0;
padding: 0;
}
ul.list_class_txt li {
position: relative;
list-style: none;
margin: 0;
margin-bottom: 8px;
padding: 0;
padding-left: 1em;
line-height: 150%;
font-weight: bold;
}
ul.list_class_txt li:last-child {
margin-bottom: 0;
}
ul.list_class_txt li:before {
position: absolute;
content: "■";
color: #191;
margin-left: -1em;
}

/********* 事業概要 *****************************************************/

ul.list_top_businesscontents {
	display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content: center;
	margin: 0;
	padding: 0;
}
ul.list_top_businesscontents li {
	list-style: none;
	display: inline-block;
	vertical-align: top;
	text-align: center;
	margin: 0;
	margin-right: 1%;
	margin-bottom: 50px;
	padding-top: 80px;
	line-height: 120%;
	width: 19%;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 60px;
}
ul.list_top_businesscontents li:nth-child(5n), ul.list_top_businesscontents li:last-child {
	margin-right: 0;
}
ul.list_top_businesscontents li:nth-child(n+6) {
	margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
ul.list_top_businesscontents li {
	text-align: center;
	margin-right: 1%;
	margin-bottom: 20px;
	padding-top: 50px;
	width: 24%;
	background-size: 40px;
	font-size: 80%;
}
ul.list_top_businesscontents li:nth-child(5n) {
	margin-right: 1%;
}
ul.list_top_businesscontents li:nth-child(4n) {
	margin-right: 0;
}
ul.list_top_businesscontents li:nth-child(n+6) {
	margin-bottom: 20px;
}
	
}

#icon_system {
	background-image: url(../files/medias/icon/icon_system.png);
}
#icon_web {
	background-image: url(../files/medias/icon/icon_web.png);
}
#icon_lp {
	background-image: url(../files/medias/icon/icon_lp.png);
}
#icon_flyer {
	background-image: url(../files/medias/icon/icon_flyer.png);
}
#icon_copy {
	background-image: url(../files/medias/icon/icon_copy.png);
}
#icon_camera {
	background-image: url(../files/medias/icon/icon_camera.png);
}
#icon_movie {
	background-image: url(../files/medias/icon/icon_movie.png);
}
#icon_mic {
	background-image: url(../files/medias/icon/icon_mic.png);
}
#icon_text {
	background-image: url(../files/medias/icon/icon_text.png);
}
#icon_translate {
	background-image: url(../files/medias/icon/icon_translate.png);
}
#icon_document {
	background-image: url(../files/medias/icon/icon_document.png);
}


ul.list_bt_contents {
position: relative;
margin: 0;
padding: 0;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
ul.list_bt_contents::after {
content: "";
display: block;
width: calc(100% / 3 - 8px);
}
ul.list_bt_contents li {
list-style: none;
display: block;
width: calc(100% / 3 - 8px);
margin: 0;
padding: 0;
text-align: center;
border: 1px solid #CCC;
}
ul.list_bt_contents li:nth-child(n+4) {
margin-top: 16px;
}
ul.list_bt_contents li a {
display: block;
padding: 1em 1em;
color: #000;
text-decoration: none;
font-weight: bold;
}

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

ul.list_bt_contents::after {
content: "";
display: block;
width: calc(100% / 2 - 6px);
}
ul.list_bt_contents li {
width: calc(100% / 2 - 6px);
}
ul.list_bt_contents li:nth-child(n+3) {
margin-top: 8px;
}
}
@media only screen and (max-width: 640px) {
ul.list_bt_contents {
display: block;
}
ul.list_bt_contents::after {
display: none;
}
ul.list_bt_contents li {
width: auto;
}
ul.list_bt_contents li:nth-child(n+2) {
margin-top: 8px;
}
}

/********* アクセス *****************************************************/

.box_access {
display: block;
margin-top: 16px;
}
.box_access h4 {
display: block;
font-size: 100%;
border-bottom: 1px solid #191;
margin-bottom: 8px;
}
@media only screen and (max-width: 768px) {
.box_access {
margin-top: 16px;
}
}

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

.flex_access_box {
display: block;
width: calc(100% / 2 - 16px);
}
@media only screen and (max-width: 768px) {
.flex_access {
display: block;
}
.flex_access_box {
width: auto;
}
.flex_access_box:nth-child(n+2) {
margin-top: 8px;
}
}


/*
.map {
	position: relative;
	display: block;
}
*/
.map_pic {
	position: absolute;
	width: 460px;
	right: 0;
	bottom: 50px;
	padding: 20px;
	line-height: 130%;
	background-color: rgba(255,255,255,0.8);
	box-shadow: 0 0 5px rgba(0,0,0,0.6); /* 影 */
}
.map_pic img {
	width: 100%;
	margin-bottom: 15px;
	border: 1px solid #CCC;
}
.map {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.google-map {
	width: 49%;
}
.gmap-iframe {
	width: 100%;
  	height: auto;
  	aspect-ratio: 12 / 7;
	display: block;
}
.illust-map {
	width: 49%;
	border: 1px solid #000;
}
.illust-map img {
	display: block;
	width: 100%;
  	height: auto;
  	aspect-ratio: 12 / 7;
}
@media only screen and (max-width: 768px) {
	.map {
		row-gap: 20px;
	}
	.google-map, .illust-map {
		width: 100%;
	}
/*
.map iframe{
	width: 100%;
	max-height: 400px;
}
.map_pic {
	clear: both;
	display: block;
	position: relative;
	width: auto;
	margin: 0 10px;
	margin-top: 50px;
}*/
}

/********* エントリー ***********************************************/

#entry {
	display: block;
	max-width: 1200px;
	margin: 0 auto;
	margin-bottom: 40px;
}


#entry h3 {
	font-weight: normal;
	letter-spacing: 10px;
	text-align: center;
	padding-bottom: 50px;
	margin-bottom: 50px;
	border-bottom: 3px solid #ccc;
	position: relative;
}
#entry h3:before{
	content:"";
	display:block;
	width:50%;
	border-bottom: 3px solid #F60;
	position:absolute;
	bottom:0;
	margin-bottom:-3px;
}

dl.list_topics {
	margin: 0;
	margin-bottom: 20px;
	padding: 0;
	line-height: 130%;
	border-bottom: 1px dotted #CCC;
}

dl.list_topics dt {
	margin: 0;
	padding: 15px 0;
	clear: both;
	float: left;
	width: 160px;
	font-weight: bold;
	border-top: 1px dotted #CCC;
}

dl.list_topics dd {
	margin: 0;
	padding: 15px 10px;
	margin-left: 160px;
	border-top: 1px dotted #CCC;
}
dl.list_topics dd a {
	color: #000;
	text-decoration: none;
}

dl.list_topics dd a:hover {
	color: #F60;
	text-decoration: underline;
}


@media only screen and (max-width: 768px) {
#entry {
	display: block;
	width: auto;
	margin-bottom: 30px;
}
#entry h3 {
	padding-bottom: 20px;
	margin-bottom: 20px;
}
dl.list_topics {
	border-bottom: none;
}
dl.list_topics dt {
	margin: 0;
	padding: 0;
	clear: both;
	float: none;
	width: auto;
	border-top: none;
}
dl.list_topics dt div {
	font-weight: bold;
	display: block;
	margin-left: 0;
	margin-bottom: 5px;
	width: auto
}
dl.list_topics dd {
	padding: 5px;
	margin-left: 0;
	border-top: none;
	border-bottom: 1px dotted #CCC;
	margin-bottom: 15px;
}

}

.day {
	text-align: right;
	margin-bottom: 5px;
}
.box_entry {
	display: block;
	padding: 30px 50px;
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
	margin-bottom: 50px;
}
.box_entry .content {
	margin: 0 15px;
}
.box_entry h3, .box_entry h4 {
	font-size: 120%;
	font-weight: normal;
	padding-bottom: 5px;
	margin-bottom: 15px;
	border-bottom: 3px solid #ccc;
	position: relative;
}
.box_entry h3:before, .box_entry h4:before {
	content:"";
	display:block;
	width:50%;
	border-bottom: 3px solid #F60;
	position:absolute;
	bottom:0;
	margin-bottom:-3px;
}
.box_entry h4 a {
	text-decoration: none;
	color: #000;
}
.box_entry h4 a:hover {
	text-decoration: underline;
	color: #F60;
}
.pic_entry {
	float: right;
	max-width: 40%;
	margin-left: 30px;
}

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

.box_entry {
	margin: 0 5px;
	padding: 15px;
	margin-bottom: 30px;
}
.box_entry .content {
	margin: 0 10px;
}
.box_entry h3, .box_entry h4 {
	font-size: 120%;
}
.pic_entry {
	float: right;
	max-width: 35%;
	margin-left: 5px;
}

}


ul.link {
	margin: 0;
	padding: 0;
	text-align: right;
}
ul.link li {
	display: inline;
	margin-left: 5px;
}

#entry_link {
	margin-top: 50px;
	padding: 30px 0;
	border-top: 1px dotted #999;
}


#entry_link ul.entry_link {
	margin: 0;
	text-align: center;
}
#entry_link ul.entry_link li {
	display: inline;
	list-style: none;
	margin-right: 10px;
}
#entry_link ul.entry_link li a {
	color: #F60;
	text-decoration: none;
}
#entry_link ul.entry_link li a:hover {
	text-decoration: underline;
}
#entry_link ul.entry_link li.home {
	padding-right: 10px;
	padding-left: 10px;
	border-right: 1px solid #999999;
	border-left: 1px solid #999999;
}
#entry_link ul.entry_link li.previous:before {
	content: "<< ";
}
#entry_link ul.entry_link li.next:after {
	content: " >>";
}

/********* ページ移動 ***********************************************/

#page h2 {
	display: none;
}
#page ul.order {
	margin: 10px 0;
}
#page ul.order li {
	display: inline;
	list-style: none;
	margin-right: 10px;
}
#page ul.direct {
	margin: 10px 0;
	text-align: right;
}
#page ul.direct li {
	display: inline;
	list-style: none;
	margin-left: 10px;
}


/********* 個別指定 *************************************************/

div#page_link ul.page_link {
	margin: 0 0 20px 0;
}
div#page_link ul.page_link li {
	display: inline;
	list-style: none;
	margin-right: 10px;
}
div#page_link ul.page_link li.home {
	padding-right: 10px;
	padding-left: 10px;
	border-right: 1px solid #999999;
	border-left: 1px solid #999999;
}
div#page_link ul.page_link li.previous:before {
	content: "<< ";
}
div#page_link ul.page_link li.next:after {
	content: " >>";
}

ul.link {
	margin: 0;
	padding: 10px;
	text-align: right;
}
ul.link li {
	display: inline;
	margin-left: 5px;
}



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

dl.company {
	margin: 0;
	padding: 0;
	line-height: 200%;
	position: relative;
	border-bottom: 2px solid #ccc;
}
dl.company:before{
	content:"";
	display:block;
	width:230px;
	border-bottom: 2px solid #F60;
	position:absolute;
	bottom:0;
	margin-bottom:-3px;
}
dl.company dt {
	clear: both;
	float: left;
	width: 200px;
	margin: 0;
	padding: 10px 15px;
	border-top: 2px solid #F60;
}
dl.company dd {
	margin: 0;
	margin-left: 230px;
	padding: 10px 15px;
	border-top: 2px solid #ccc;
}

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

dl.company {
	line-height: 150%;
	border: none;
}
dl.company:before{
	content:"";
	display:none;
}
dl.company dt {
	float: none;
	width: auto;
	margin: 0;
	padding: 5px;
	color: #F60;
	font-weight: bold;
	border-top: none;
}
dl.company dd {
	margin: 0;
	margin-bottom: 10px;
	padding: 0 5px;
	border-top: none;
	border-bottom: 2px solid #ccc;
}
}


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

dl.privacy {
	display: block;
	margin: 0;
	padding: 0;
}
.privacy dt {
	margin: 0;
	padding: 0;
	font-size: 120%;
	font-weight: bold;
}
.privacy dd {
	margin: 0;
	margin-bottom: 20px;
	padding: 10px;
	border-bottom: 1px dotted #CCC;
}
.privacy ul {
	padding: 0;
	margin: 20px;
	margin-top: 0;
}
@media only screen and (max-width: 768px) {
.privacy dt {
	font-size: 110%;
}
.privacy dd {
	padding: 10px;
	padding-top: 0;
}
}


dl.list_privacy {
	margin: 0;
	padding: 0;
	margin-bottom: 20px;
}
dl.list_privacy dt {
	margin: 0;
	margin-bottom: 5px;
	padding: 5px;
	font-weight: bold;
	font-size: 110%;
	color: #41c3e9;
	border-bottom: 1px dotted #41c3e9;
}
dl.list_privacy dd {
	margin: 0;
	margin-bottom: 20px;
	padding: 20px;
	padding-top: 0;
	border-bottom: 1px dotted #CCC;
}


.box_white_shadow {
	display: block;
	background-color: #FFF;
	border: 1px solid #CCC;
	padding: 30px;
	margin-bottom: 30px;
}
.inlineblock {
	display: inline-block;
}

/********* フォーム *************************************************/

#form {
	clear: both;
	font-size: 16px;
	line-height: 160%;
}
#form h4 {
	line-height: 160%;
	margin-bottom: 0;
}

#form h5 {
	line-height: 130%;
	margin-bottom: 0;
}

#form dl {
	display: block;
	padding: 0;
	margin: 0;
	border-bottom: 1px dotted #CCC;
}
#form dt {
	border-top: 1px dotted #CCC;
	clear: both;
	float: left;
	padding: 10px;
	margin: 0;
	font-weight: bold;
	width: 280px;
}

#form dd {
	border-top: 1px dotted #CCC;
	margin: 0;
	margin-left: 300px;
	padding: 10px;
}


#form dl dt:first-child {
	border-top: none;
}
#form dl dt:first-child + dd {
	border-top: none;
}


#form dd p {
	line-height: 130%;
	margin-bottom: 5px;
}	

.hissu {
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	font-size: 10px;
	line-height: 100%;
	padding: 4px 10px;
	margin-left: 10px !important;
	text-decoration:none;
	display:inline-block;
	text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
	color: #FFF !important;
	background-color: #F00;
}


@media only screen and (max-width: 768px) {
#form dl {
	display: block;
	padding: 0;
	border-bottom: none;
}

#form dt {
	float: none;
	padding: 5px 0;
	margin: 0;
	width: auto;
	border: none;
	border-bottom: 1px dotted #CCC;
}

#form dd {
	margin: 0;
	margin-bottom: 10px;
	padding: 10px;
	border-top: none;
	border: none;
	border-bottom: 1px solid #555;
}


}




/********* ボックス ************************************************/

.box_gray {
	clear: both;
	background-color: #EFEFEF;
	padding: 15px 30px;
	margin-bottom: 20px;
}


.box_shadow {
	display: block;
	box-shadow: 2px 2px 5px rgba(0,0,0,0.5);
	padding: 30px;
	margin-bottom: 30px;
}

/********* liststyle ************************************************/

ul.list_kome {
	margin: 0;
	padding: 0;
}
ul.list_kome li {
	margin: 0;
	margin-left: 20px;
	padding: 0;
	list-style: none;
	position: relative;
	line-height: 130%;
	margin-bottom: 10px;
}
ul.list_kome li:before {
	content: "※";
	display: block;
	float: left;
	margin-left: -20px;
	border: none;
}




	
/********* 画像 ************************************************/


.imageleft {
	float: left;
	margin-right: 40px;
	margin-bottom: 20px;
}

.imageright {
	float: right;
	margin-left: 40px;
	margin-bottom: 20px;
}

.imagecenter {
	max-width: 100%;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}
.imagecenter00 {
	max-width: 100%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}


.pic {
	margin-bottom: 3px;
	border: 3px solid #FFF;
	box-shadow: 0 0 5px rgba(0,0,0,0.3);
	
}

.pic_left {
	float: left;
	margin-right: 10px;
	margin-bottom: 10px;
	border: 5px solid #FFF;
	box-shadow: 0 0 5px rgba(0,0,0,0.3);
	
}
.pic_right {
	float: right;
	margin-left: 10px;
	margin-bottom: 10px;
	border: 5px solid #FFF;
	box-shadow: 0 0 5px rgba(0,0,0,0.3);
	
}
.pic_center {
	max-width: 100%;
	display: block;
	margin: 0 auto;
	margin-bottom: 10px;
	border: 5px solid #FFF;
	box-shadow: 0 0 5px rgba(0,0,0,0.3);
	
}



/********* ボタン ************************************************/


.bt {
	display: inline-block;
	margin-right: 10px;
}
.bt:hover {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	opacity: 0.7;
}	

.bt_center {
	max-width: 100%;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
}
.bt_center:hover {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	opacity: 0.7;
}



.bt_gray, .bt_black, .bt_white, .bt_blue {
	display: inline-block;
	margin: 5px;
}
.bt_gray a, .bt_black a, .bt_white a {
	display: block;
	text-align: center;
	padding: 5px 30px;
	text-decoration: none;
}
.bt_gray a {
	background-color: #EEE;
	color: #000;
}
.bt_black a {
	background-color: #000;
	color: #FFF;
}
.bt_blue a {
	background-color: #048;
	color: #FFF;
}
.bt_white a {
	box-shadow: 0 0 1px rgba(0,0,0,0.5);
	background-color: #FFF;
	text-decoration: none;
}
.bt_gray a:after, .bt_black a:after, .bt_white a:after, .bt_blue a:after {
	content: "  >"
}
.bt_gray a:hover, .bt_black a:hover, .bt_white a:hover, .bt_blue a:hover {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	opacity: 0.7;
}


ul.bt_pdf {
	margin: 0;
	padding: 0;
}
ul.bt_pdf li {
	display: inline-block;
	list-style: none;
	margin: 5px;
	padding: 0;
}
ul.bt_pdf li a {
	display: block;
	padding: 10px 20px;
	min-width: 126px;
	background-color: #41c3e9;
    color: #fff;
	font-weight: bold;
	text-decoration: none;
	background-image: url(../files/medias/icon/icon_pdf.png);
	background-repeat: no-repeat;
	background-size: 30px;
	padding-left: 60px;
	background-position: 10px center;
}
ul.bt_pdf li a:hover {
	box-shadow: 2px 2px 5px rgba(0,0,0,0.5);
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}


ul.bt_half, ul.bt_triple,
ul.bt_half_nolink, ul.bt_triple_nolink {
	margin: 20px auto;
	padding: 0;
	text-align: center;
}
ul.bt_half li, ul.bt_triple li,
ul.bt_half_nolink li, ul.bt_triple_nolink li {
	vertical-align: top;
	font-family: Arial, Helvetica, sans-serif;
	display: inline-block;
	list-style: none;
	margin: 5px;
	padding: 0;
}

ul.bt_half_nolink li, ul.bt_triple_nolink li {
	text-align: center;
	padding: 10px 20px;
    color: #fff !important;
	text-decoration: none;
}
ul.bt_half_nolink li {
	min-width: 300px;
}
ul.bt_triple_nolink li {
	min-width: 200px;
}

ul.bt_half li a {
	display: block;
	text-align: center;
	padding: 10px 20px;
	min-width: 300px;
    color: #fff !important;
	text-decoration: none;
}
ul.bt_triple li a {
	display: block;
	text-align: center;
	padding: 10px 20px;
	min-width: 200px;
    color: #fff !important;
	text-decoration: none;
}
ul.bt_half a:hover, ul.bt_triple a:hover {
	box-shadow: 2px 2px 5px rgba(0,0,0,0.5);
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}
@media only screen and (max-width: 768px) {
ul.bt_half, ul.bt_triple,
ul.bt_half_nolink, ul.bt_triple_nolink {
	margin: 15px auto;
}
ul.bt_half li, ul.bt_triple li,
ul.bt_half_nolink li, ul.bt_triple_nolink li {
	display: block;
	margin: 0;
	margin-bottom: 10px;
}
ul.bt_half_nolink li, ul.bt_triple_nolink li {
	padding: 10px;
    color: #fff !important;
}
ul.bt_half li a {
	padding: 10px;
}
ul.bt_triple li a {
	padding: 10px;
}
}


/********* フレームレスポンシブル ************************************************/


.googlemap {
    position: relative;
	width: 100%;
    padding-bottom: 60%;
    height: 0;
    overflow: hidden;
}
 
.googlemap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

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

.youtube img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/********* 個別 ************************************************/

.bold {
font-weight: bold;
}
.red {
	color: #F00;
}
.blue {
	color: #048;
}
.green {
	color: #191;
}
.right {
	float: right;
}
.t_center {
	text-align: center;
}
.t_left {
	text-align: left;
}
.t_right {
	text-align: right;
}
.clear {
	clear: both;
}

.f80 {
	font-size: 80%;
	line-height: 120%;
}
.f90 {
	font-size: 90%;
	line-height: 120%;
}
.f110 {
	font-size: 110%;
}
.f120 {
	font-size: 120%;
}
.f150 {
	font-size: 150%;
}
.f200 {
	font-size: 200%;
}
.fwb {
	font-weight: bold;
}
.mb0 {
	margin-bottom: 0 !important;
}

.sp_only {
	display: none;
}
@media only screen and (max-width: 768px) {
.sp_only {
	display: block;
}

.pc_only {
	display: none;
}
}


/********* 学校別 ************************************************/

.content_gakkou h3 {
font-size: 32px;
}
.content_gakkou h4,
.title_gakkou_right {
font-size: 24px;
}
.midashi_gakkou {
font-size: 20px;
}
.content_gakkou h5 {
font-size: 18px;
}

@media screen and (max-width: 1366px) {
.content_gakkou h3 {
font-size: 2.343vw;
}
.content_gakkou h4,
.title_gakkou_right {
font-size: 1.757vw;
}
.midashi_gakkou {
font-size: 1.464vw;
}
.content_gakkou h5 {
font-size: 1.318vw;
}
}

@media screen and (max-width: 1280px) {
.content_gakkou h3 {
font-size: 2.5vw;
}
.content_gakkou h4,
.title_gakkou_right {
font-size: 1.875vw;
}
.midashi_gakkou {
font-size: 1.563vw;
}
.content_gakkou h5 {
font-size: 1.406vw;
}
}

@media screen and (max-width: 834px) {
.content_gakkou h3 {
font-size: 3.357vw;
}
.content_gakkou h4,
.title_gakkou_right {
font-size: 2.398vw;
}
.midashi_gakkou {
font-size: 2.158vw;
}
.content_gakkou h5 {
font-size: 1.918vw;
}
}

@media screen and (max-width: 480px) {
.content_gakkou h3 {
font-size: 28px;
}
.content_gakkou h4,
.title_gakkou_right {
font-size: 20px;
}
.midashi_gakkou {
font-size: 18px;
}
.content_gakkou h5 {
font-size: 16px;
}
}


.box_content {
display: block;
margin-bottom: 24px;
}
@media only screen and (max-width: 768px) {
.box_content {
margin-bottom: 16px;
}
}



.content_gakkou {
display: block;
}
.content_gakkou h3 {
color: #191;
}
.content_gakkou h4 {
color: #191;
margin-bottom: 12px;
}
.flex_chokuzen_box h4,
.flex_chokuzen_box h5 {
font-family: "M PLUS Rounded 1c", sans-serif;
}
.flex_chokuzen_box h4 {
margin-bottom: 16px;
}
.flex_chokuzen_box h5 {
margin-bottom: 14px;
}
h5.gakkou_txt_no {
position: relative;
margin-bottom: 4px;
padding-left: 1.7em;
}
h5.gakkou_txt_no::before {
content: "1";
position: absolute;
font-size: 130%;
margin-left: -1.4em;
background: #191;
color: #FFF;
text-align: center;
height: 1em;
width: 1em;
font-weight: bold;
line-height: 1.0;
    transform: translateY(-50%);
	top: 50%;
}
h5.gakkou_txt_no.no02::before {
content: "2";
}
h5.gakkou_txt_no.no03::before {
content: "3";
}
h5.gakkou_txt_no.no04::before {
content: "4";
}

.title_gakkou {
font-family: "M PLUS Rounded 1c", sans-serif;
display: block;
border-bottom: 10px solid #eeb634;
margin-bottom: 16px;
padding-bottom: 4px;
}
.title_gakkou p {
font-weight: bold;
margin-top: 4px;
margin-bottom: 0;
}
.title_gakkou_right {
font-weight: bold;
}
.tag_danshi {
display: inline-block;
background-color: #09F;
padding: 0.15em 0.5em;
border-radius: 8px;
line-height: 100%;
color: #FFF;
margin-right: 8px;
margin-bottom: 2px;
}
.tag_danshi.kyougaku {
background-color: #191;
}

.tag_danshi.joshi {
background-color: #e491b6;
}

.title_gakkou_flex {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
align-items: flex-end;
}
.title_gakkou_flex_box {
display: inline-block;
margin-right: 16px;
}
.title_gakkou_flex_box:last-child {
margin-right: 0;
}

@media only screen and (max-width: 768px) {
.title_gakkou_flex {
display: block;
}
.title_gakkou_flex_box {
display: block;
margin-right: 0;
margin-top: 4px;
}
}
.midashi_gakkou {
font-family: "M PLUS Rounded 1c", sans-serif;
font-weight: bold;
line-height: 150%;
}
.title_gakkou h3 {
margin-bottom: 0;
}

.flex_gakkou_txt_flex {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_gakkou_txt_flex_txt {
order: 1;
display: block;
width: calc(68% - 8px);
}

.flex_gakkou_txt_flex_pic {
order: 2;
display: block;
width: calc(32% - 8px);
}
@media only screen and (max-width: 768px) {
.flex_gakkou_txt_flex {
display: block;
}
.flex_gakkou_txt_flex_txt {
width: auto;
}

.flex_gakkou_txt_flex_pic {
width: auto;
max-width: 60%;
margin: 0 auto;
margin-bottom: 8px;
}
}
.flex_chokuzen {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_chokuzen_box {
display: block;
width: calc(100% / 2 - 8px);
background-color: #fffdea;
}
.flex_chokuzen_box .inner {
padding: 16px;
}
@media only screen and (max-width: 768px) {
.flex_chokuzen {
display: block;
}
.flex_chokuzen_box {
display: block;
width: auto;
}
.flex_chokuzen_box:nth-child(n+2) {
margin-top: 16px;
}
.flex_chokuzen_box .inner {
padding: 8px;
}
}

p.chokuzen_midashi {
background-color: #191;
color: #FFF;
border-radius: 20px;
text-align: center;
font-weight: bold;
margin-bottom: 8px;
}
.flex_chokuzen_title {
display: block;
position: relative;
}

.icon_zuiji {
position: absolute;
right: 0;
    transform: translateY(-50%);
	top: 50%;
	width: 3.8em;
}

h3.gakkou_chokuzen_plus {
position: relative;
padding-left: 1em;
} 
h3.gakkou_chokuzen_plus:before {
position: absolute;
	margin-left: -1em;
  content: '\f055';
  color: #eeb634;
  font-family: "Font Awesome 5 Free";
}

ul.list_dott {
margin: 0;
padding: 0;
}
ul.list_dott li {
list-style: none;
position: relative;
line-height: 130%;
margin: 0;
margin-bottom: 4px;
padding: 0;
padding-left: 1em;
}
ul.list_dott li:before {
position: absolute;
	margin-left: -1em;
  content: '・';
}
ul.list_dott li:last-child {
margin-bottom: 0;
}

.flex_message {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_message_pic {
order: 2;
display: block;
width: calc(30% - 8px);
}
.flex_message_text {
order: 1;
display: block;
width: calc(70% - 8px);
}
@media only screen and (max-width: 768px) {
.flex_message {
display: block;
}
.flex_message_pic {
display: block;
margin: 0 auto;
margin-bottom: 8px;
max-width: 60%;
width: auto;
}
.flex_message_text {
width: auto;
}
}

.flex_double {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_double_box {
display: block;
width: calc(100% / 2 - 8px);
}
@media only screen and (max-width: 768px) {
.flex_double {
display: block;
}
.flex_double_box {
display: block;
width: auto;
}
.flex_double_box:nth-child(n+2) {
margin-top: 16px;
}
}

.box_suuji {
display: block;
padding: 1em 0;
margin-bottom: 1em;
border-top: double 5px #FFC778;
border-bottom: double 5px #FFC778;
}
ol.list_suuji {
  counter-reset:num;
  padding:0;
  margin:0;
}
ol.list_suuji li {
  position: relative;
  list-style: none;
  margin: 0;
  margin-bottom: 5px;
  padding: 0;
  padding-left: 2em;
  line-height: 1.5em;
}
ol.list_suuji li:last-child {
  margin-bottom: 0;
}

ol.list_suuji li:before {
  position: absolute;
  counter-increment: num;
  content: counter(num);
  display:inline-block;
  background:transparent;
  border:#555 1px solid;
  color: #555;
  font-weight: 600;
  border-radius: 50%;
  font-size: 85%;
  width: 1.3em;
  height: 1.3em;
  line-height: 1.5em;
  text-align: center;
  margin-left: -2em;
}


ul.box_point {
	margin: 0;
	padding: 0;
    display:flex;
	justify-content: space-between;
    flex-wrap:wrap;
}
ul.box_point li {
	position: relative;
	display: block;
	list-style: none;
	padding: 16px 0;
border-bottom: double 5px #FFC778;
	margin: 0;
	width: calc(100% / 2 - 16px);
}
ul.box_point li:nth-child(-n+2) {
border-top: double 5px #FFC778;
}
ul.box_point li:nth-chid(n+3) {
margin-top: 24px;
}

@media only screen and (max-width: 768px) {
ul.box_point {
    display:block;
}
ul.box_point li {
	padding: 8px 0;
	width: auto;
}

ul.box_point li:nth-child(-n+2) {
border-top: none;
}
ul.box_point li:first-child {
border-top: double 5px #FFC778;
}
ul.box_point li:nth-chid(n+2) {
margin-top: 16px;
}
}
.point_no_flex {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
align-items: center;
margin-bottom: 8px;
}
.point_no {
display: inline-block;
	width: 50px;
	height: 50px;
	background-color: #BEC;
	padding: 5px;
	text-align: center;
	color: #41c3e9;
	margin-right: 8px;
}
.point_no span {
	display: block;
	font-size: 180%;
	font-weight: bold;
}
ul.box_point li h5 {
display: block;
width: calc(100% - 68px);
	margin-bottom: 0;
	color: #41c3e9;
}

