/* CSS初期設定 */

/* # =================================================================
   # 基本設定
   # ================================================================= */

html {
  box-sizing: border-box;
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}
html {
  visibility: hidden;
}
html.wf-active, html.loading-delay {
  visibility: visible;
}
*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* standard helper classes */

.clr
{
   clear: both;
   overflow: hidden;
   width: 1px;
   height: 1px;
   margin: 0 -1px -1px 0;
   border: 0;
   padding: 0;
   font-size: 0;
   line-height: 0;
}


.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}
p{
transform: rotate(0.05deg);
}
.hamburger-menu{
	display: none;
}
* html .clearfix {
  height: 1px;
  /*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/* トップページのアニメーション */
.fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition : all 300ms;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}

a{
	color: #000;
}

#toc{
	display: none;
}
ol {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
  margin: 0;
}
ol li {
    font-size: 18px;
    line-height: 2;
    padding-left: 50px;
    margin: 0 0 20px 10px;
    position: relative;
}
ol li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: lightseagreen;
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30px;
  width: 30px;
  color: #ffffff;
  font-size: 85%;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
}

.bot50{
	margin-bottom: 50px;
}


.head_wrap{
	position: fixed;
	background:rgba(255,255,255,0.8);
	top: 0;
    width: 100%;
	z-index: 100;
	height: 120px;
}

.top_logo {
    position: absolute;
    top: 10px;
    left: 20px;
}

.top_logo img{
	height: 70px;
	width: auto;
}

/* ===== 修正・追加するスタイル ===== */

/* 親リスト項目（li）に隙間分のパディングを追加 */
.wpml-ls-item {
  position: relative; /* サブメニューの基準位置にする */
  padding-bottom: 4px; /* 隙間をパディング（当たり判定）として確保 */
}

/* サブメニュー */
.wpml-ls-sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  /* margin-top: 4px;  <-- これが問題の隙間でした */
  margin-top: 0; /* <-- 隙間を削除し、親のパディングに任せる */
  min-width: 120px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  display: none;
  list-style: none;
  padding: 0;
  z-index: 100;
}

/* ===== 以下は元のCSSのまま ===== */

.lang_switch {
  position: relative;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  z-index: 50;
}

.wpml-ls-legacy-dropdown {
  position: relative;
}

.wpml-ls-legacy-dropdown > ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 現在の言語表示 */
.wpml-ls-item-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  color: #333;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 6px 10px;
  cursor: pointer;
  text-decoration: none;
  min-width: 120px;
  transition: all 0.2s ease;
}

.wpml-ls-item-toggle:hover {
  background: #f5f5f5;
}

/* ▼ アイコンを疑似要素で追加 */
.wpml-ls-item-toggle::after {
  content: "▼";
  font-size: 10px;
  margin-left: 6px;
  color: #666;
  transition: transform 0.2s ease;
}

/* 各言語項目 */
.wpml-ls-sub-menu li a {
  display: block;
  color: #333;
  padding: 8px 12px;
  text-decoration: none;
  transition: background 0.2s ease;
}

.wpml-ls-sub-menu li a:hover {
  background: #f0f0f0;
}

/* ===== ホバー表示パターン ===== */
.wpml-ls-item:hover > .wpml-ls-sub-menu {
  display: block;
}

/* ===== クリックで展開したい場合（ホバーではなく） ===== */
/* JavaScriptなしでもCSSで擬似的に対応可能（:focus-within） */
.wpml-ls-item:focus-within > .wpml-ls-sub-menu {
  display: block;
}

.wpml-ls-item:focus-within .wpml-ls-item-toggle::after {
  transform: rotate(180deg);
}

/* ===== モバイル対応（必要に応じて） ===== */
@media (max-width: 767px) {
  .wpml-ls-item-toggle {
    min-width: 100px;
    font-size: 13px;
    padding: 8px;
  }
  .wpml-ls-sub-menu li a {
    padding: 8px;
  }
.wpml-ls-item:hover > .wpml-ls-sub-menu {
    display: block;
    width: 100%;
}
}




.nintei_logo {
    position: absolute;
    top: 30px;
    left: 360px;
}

.nintei_logo img{
	width: 280px !important;
    height: auto;
}

.nintei_foot{
	text-align: center;
	margin-bottom:30px;
}

.nintei_foot img{
	width: 200px;
	height: auto;
}


html {
  font-family: dnp-shuei-mgothic-std, sans-serif;
}

body
{
	line-height: 1.5;
}

a { color: #313131; text-decoration: underline;}

a:hover {
	color: #552208;
}

h1, h2, h3, h4, h5, h6
{
   font-weight: normal;
}

.spnon{
	display: block;
}

.pcnon{
	display: none;
}
.step_box{
	position: relative;
	border: 3px solid #bb97bf;
	padding: 10px 20px 10px 60px;
	margin-bottom: 40px;
	background: #fff;
	margin: 0 5% 40px 5%;
}

.step_icon{
	position: absolute;
	width: 60px;
	height: 60px;
	background: #bb97bf;
	color: #fff;
	text-align: center;
	border-radius: 50%;
top: -10px;
	left: -30px;
	padding: 20px 0 0 0;
	font-size: 14px;
}
/* page layout */

body {
	width: 100%;
	color: #313131;
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;

	background-image:url(images/bg.png);
	background-repeat: repeat;
font-weight: 300;
font-style: normal;
}

header{
}

.hcon{
position: absolute;
right: 20px;
top: 0;
}

.hcon img{
	height: 50px;
	width: 100%;
}

.lang_switch{
position: absolute;
right: 285px;
top: 20px;
}
.lang_switch_sp{
display: none;
}

.head{
	background: #fff;
	padding: 10px 0;
}
.hmenu{
	position: absolute;
	top: 73px;
	right: 50px;
	display: flex;
	width: 760px;
}

.hmenu li{
	flex-basis: 19%;
	padding: 0 5px;
	text-align: center;
	font-size: 22px;
	list-style-type: none;
}

.hmenu li a{
	font-size: 16px;
	text-decoration: unset;
	font-weight: 900;
}
.m_fixed .is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}

.low_photo{
	margin-bottom: 40px;
}


.low_photo img{
	width: 100%;
	height: auto;
}

.logo{
	width: 25%;
	margin: 0 0 0 20px;
	float: left;
}

.logo h1{
    font-weight: bold;
    font-size: 14px;
	margin: 0 0 6px 0;
	color: #78c5d2;
}

.logo img {
    width: 300px;
    height: auto;
}

.tel{
    width: 20%;
    margin: 0 0 0 20%;
    float: left;
    padding: 10px 0 0 0;
}

.tel01{
	float: left;
	margin: 0 10px 0 0;
}

.tel02{
    font-size: 14px;
    color: #78c5d2;
    line-height: 1;
    border: 2px solid #78c5d2;
    padding: 5px 10px;
    display: inline;
    border-radius: 20px;
}

.tel03{
	font-weight: bold;
	font-size: 24px;
	margin: 10px 0 0 0;
	color: #78c5d2;
}

.tel03 a{
	color: #78c5d2;
	text-decoration: none;
}

.tel03 a:hover{
	text-decoration: underline;
}

.tel03 img{
	width: 35px;
	margin: 0 10px 0 0;
}


.lesson_tab01{
	border-collapse: collapse;
	width: 100%;
	margin-bottom: 50px;
}

.lesson_tab01 th {
    background: #f3e3f5;
    padding: 5px 10px;
    width: 16%;
    border: 1px solid silver;
}


.lesson_tab01 td {
    padding: 5px 10px;
    width: 16%;
    border: 1px solid silver;
	text-align: center;
}

.pdf3{
	display: flex;
}
.pdf3 li{
	flex-basis: 30%;
	margin: 0 1.5%;
	list-style-type: none;
}
.pdf3 li a{
	display: block;
	list-style-type: none;
	background: #f39233;
	color: #fff;
	text-align: center;
	background-image: url(./images/pdf_icon.png);
	background-repeat: no-repeat;
	padding: 20px;
	background-size: 30px;
	background-position: left 20px center;
box-shadow: 6px 6px #f7c28e;
}

.pdf3 li a:hover{
	opacity: 0.7;
	display: block;
	list-style-type: none;
	background: #f39233;
	color: #fff;
	text-align: center;
	background-image: url(./images/pdf_icon.png);
	background-repeat: no-repeat;
	padding: 20px;
	background-size: 30px;
	background-position: left 20px center;
box-shadow: 6px 6px #f7c28e;
}

.pdf3 li a{
	color: #fff;
}

.f13{
	font-size: 13px;
}


.sche_top{
	margin-bottom: 20px;
    color: #8b5890;
}
.h_contact{
    width: 32%;
    margin: -10px 0 0 0;
    float: left;
}

.h_contact p{
	float: left;
	margin: 0 1% 0 0;
	width: 45%;
}

.h_contact img{
	width: 100%;
	height: auto;
}

.h_contact a:hover{
	opacity: 0.7;
}

.globalMenuSp{
	display: none;
}
.navToggle{
	display: none;
}

.message{
    position: relative;
    min-height: 1200px;
}

.main-img{
	text-align: center;
	margin: 0 auto 60px auto;
	z-index: 10;
	padding: 0;
}

.main-img img{
	width: 100%;
height: auto;
}

.low-img{
	position: relative;
	margin-bottom: 50px;
}

.low-img img{
    display: block;
    height: 550px;
    object-fit: cover;
    width: 100%;
    object-position: 100% 0;
}

.low-img h1{
	position: absolute;
	z-index: 1;
	color: #fff;
	top: 45%;
	text-align: center;
	font-size: 39px;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.send_txt{
	text-align: center;
	margin-bottom: 30px;
	line-height: 2;
	padding: 40px 0;
}

.cen{
	text-align: center;
}

.contact_cau{
	line-height: 2;
}

.main_con{
	width: 1200px;
	margin: 0 auto 60px auto;
}

.main_con h2{
	text-align: center;
	font-size: 36px;
	font-weight: bold;
}

.en_wrap .main_con h2{
	margin-bottom: 30px;
}

.main_con h3{
	text-align: center;
	font-size: 16px;
	margin-bottom: 30px;
}

.foot_con{
	width: 1200px;
	margin: 0 auto 60px auto;
}

.foot_con h2{
	text-align: center;
	font-size: 26px;
	font-weight: bold;
	margin-bottom: 30px;
}

.cal12{
	display: flex;
	flex-wrap:wrap;
}
.cal-inner{
	flex-basis: 30%;
	margin: 0 1.5% 40px 1.5%;
	border: 2px solid #c7a6ca;
	padding: 30px 5%;
	background: #fff;
}

.main_con h2.cal01{
 position: relative;
 z-index:1;
}

.main_con h2.cal01::before {
 content: 'Apr.';
 position: absolute;
 top: 10%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
 color: rgba(139,88,134,0.1);
 font-size: 5rem;
 z-index: -1;
}

.main_con h2.cal02{
 position: relative;
 z-index:1;
}

.main_con h2.cal02::before {
 content: 'May';
 position: absolute;
 top: 10%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
 color: rgba(139,88,134,0.1);
 font-size: 5rem;
 z-index: -1;
}


.main_con h2.cal03{
 position: relative;
 z-index:1;
}

.main_con h2.cal03::before {
 content: 'Jun.';
 position: absolute;
 top: 10%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
 color: rgba(139,88,134,0.1);
 font-size: 5rem;
 z-index: -1;
}

.main_con h2.cal04{
 position: relative;
 z-index:1;
}

.main_con h2.cal04::before {
 content: 'Jul.';
 position: absolute;
 top: 10%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
 color: rgba(139,88,134,0.1);
 font-size: 5rem;
 z-index: -1;
}

.main_con h2.cal05{
 position: relative;
 z-index:1;
}

.main_con h2.cal05::before {
 content: 'Aug.';
 position: absolute;
 top: 10%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
 color: rgba(139,88,134,0.1);
 font-size: 5rem;
 z-index: -1;
}


.main_con h2.cal06{
 position: relative;
 z-index:1;
}

.main_con h2.cal06::before {
 content: 'Sep.';
 position: absolute;
 top: 10%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
 color: rgba(139,88,134,0.1);
 font-size: 5rem;
 z-index: -1;
}

.main_con h2.cal07{
 position: relative;
 z-index:1;
}

.main_con h2.cal07::before {
 content: 'Oct.';
 position: absolute;
 top: 10%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
 color: rgba(139,88,134,0.1);
 font-size: 5rem;
 z-index: -1;
}

.main_con h2.cal08{
 position: relative;
 z-index:1;
}

.main_con h2.cal08::before {
 content: 'Nov.';
 position: absolute;
 top: 10%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
 color: rgba(139,88,134,0.1);
 font-size: 5rem;
 z-index: -1;
}

.main_con h2.cal09{
 position: relative;
 z-index:1;
}

.main_con h2.cal09::before {
 content: 'Dec.';
 position: absolute;
 top: 10%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
 color: rgba(139,88,134,0.1);
 font-size: 5rem;
 z-index: -1;
}


.main_con h2.cal10{
 position: relative;
 z-index:1;
}

.main_con h2.cal10::before {
 content: 'Jan.';
 position: absolute;
 top: 10%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
 color: rgba(139,88,134,0.1);
 font-size: 5rem;
 z-index: -1;
}

.main_con h2.cal11{
 position: relative;
 z-index:1;
}

.main_con h2.cal11::before {
 content: 'Feb.';
 position: absolute;
 top: 10%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
 color: rgba(139,88,134,0.1);
 font-size: 5rem;
 z-index: -1;
}

.main_con h2.cal12{
 position: relative;
 z-index:1;
}

.main_con h2.cal12::before {
 content: 'Mar.';
 position: absolute;
 top: 10%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
 color: rgba(139,88,134,0.1);
 font-size: 5rem;
 z-index: -1;
}



.cal-inner p{
	color: #8b5890;
	text-align: center;
}
.cal_p{
	margin: 30px 0 0 0;
}

.cal_p img{
    width: auto;
    height: 100px;
    margin-bottom: 20px;
}
.cal_t{
	font-size: 20px;
}

.priv_t{
	font-weight: bold;
	margin-bottom: 30px;
}
.priv_txt{
	line-height: 2;
	margin-bottom: 30px;
}

table.salon_tab{
	border-collapse: collapse;
}


table.salon_tab{
	width: 100%;
}
table.salon_tab th {
background: #f3e3f5;
border: unset;
width: 30%;
	vertical-align: middle;
	padding: 20px;
}

table.salon_tab tr:nth-child(odd) th {
	background: #fff;
	border: unset;
	width: 30%;
	vertical-align: middle;
	padding: 20px;
}

table.salon_tab td {
	background: #f3e3f5;
	border: unset;
	width: 70%;
	padding: 20px;
}

table.salon_tab tr:nth-child(odd) td {
	background: #fff;
	border: unset;
	width: 70%;
	padding: 20px;
}


table.salon_tab td input{
	font-size: 16px;
	padding: 5px 10px;
	border-radius: 20px;
	border: 1px solid silver;
	color: #000;
	background: #fff;
	width: 100%;
}

table.salon_tab td textarea{
	font-size: 16px;
	padding: 5px 10px;
	border-radius: 20px;
	border: 1px solid silver;
	color: #000;
	background: #fff;
	width: 100%;
}

.red{
	color: #ff0000;
}

.low_photo800{
	width: 800px;
	text-align: center;
	margin: 0 auto 40px auto;
}

.low_photo800 img{
	width: 100%;
	height: auto;
}
.ac4{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 50px;
}


.ac4-inner{
	flex-basis: 22%;
	margin: 0 1.5% 40px 1.5%;
}

.ac4-inner img{
	width: 100%;
	height: auto;
	margin-bottom: 15px;
}

.ac4-inner img.vertical{
	width: auto;
	display: block;
	height: 176px;
	text-align: center;
	margin: 0 auto 15px auto;
}

.low_txt{
	line-height: 2;
	margin-bottom: 30px;
}
.ac_name{
	text-align: center;
	font-weight: bold;
	font-size: 16px;
}

.ac_li{
	width: 800px;
	text-align: center;
	margin: 0 auto 40px auto;
}

.ac_li li{
	list-style-type: none;
	background-repeat: no-repeat;
	background-image: url();
	background: #f3e3f5;
	padding: 10px 10px 10px 45px;
	margin-bottom: 20px;
	border-radius: 20px;
}


.messageBtn{
	margin: 30px auto;
	text-align: center;
}

.messageBtn input{
	background: #8b5890;
	padding: 15px 20px;
		width: 200px;
	text-align: center;
	margin: 0 auto;
	color: #fff;
}
.step_box{
	position: relative;
	border: 3px solid #bb97bf;
	padding: 10px 20px 10px 60px;
	margin-bottom: 40px;
	background: #fff;
	margin: 0 5% 40px 5%;
}

.step_icon{
	position: absolute;
	width: 60px;
	height: 60px;
	background: #bb97bf;
	color: #fff;
	text-align: center;
	border-radius: 50%;
top: -10px;
	left: -30px;
	padding: 20px 0 0 0;
	font-size: 14px;
}
.subt01{
	background: #8b5890;
	color: #fff;
	font-size: 20px;
	padding: 10px 20px;
	border-radius: 20px;
	margin-bottom: 30px;
}

.subt02{
	border-left: 4px solid #8b5890;
	padding: 5px 0 5px 15px;
	font-size: 20px;
	color: #8b5890;
	margin-bottom: 30px;
	background: #f3e3f5;
}

.price_tab{
	border-collapse: collapse;
	margin-bottom: 50px;
	width: 100%;
}
.price_tab th{
	background: #f3e3f5;
	padding: 5px 10px;
	width: 33%;
	border: 1px solid silver;
}
.price_tab td{
	padding: 5px 10px;
	width: 33%;
	border: 1px solid silver;
}

.price_add{
	color: #f3e3f5;
	font-weight: bold;
	margin-bottom: 15px;
    color: #8b5890;
}

.price_add2{
	margin-bottom: 50px;
}

.f15{
	font-size: 15px;
}

.flowbox {
    margin: 0 0 40px 0;
    padding: 20px;
    border: 2px solid #ddc5d3;
	border-radius: 20px;
}

.flow_l{
	width: 20%;
	float: left;
	margin: 0 5% 0 0;
}

.flow_l img{
	width: 100%;
	height: auto;
	border-radius: 50%;
}

.flow_r{
	width: 75%;
	float: left;
	margin: 0;
}

.flow_r p.flow_step{
    color: #5A3306;
    font-size: 1.4rem;
    font-weight: bold;
    border-bottom: 1px dashed #e487be;
	margin-bottom: 20px;
	padding-bottom: 10px;
}

.flow_r p.flow_title{
	color: #e487be;
    font-size: 1.4rem;
	font-weight: bold;
	margin-bottom: 20px;
}

.greet_box{
	padding: 30px;
	background: #f5f5f5;
	margin-bottom: 30px;
}

.greet_t{
	margin-bottom: 20px;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 2px;
}

.greet_txt{
	line-height: 2;
	margin-bottom: 20px;
}
.greet_name{
	text-align: right;
	font-size: 18px;
	text-align: right;
	margin: 0;
	font-weight: bold;
}
a.pdf_icon{
	background: #f39233;
	display: block;
	padding: 15px 20px 15px 20px;
	text-align: center;
	color: #fff;
	width:300px;
	margin: 0 auto;
	font-size: 18px;
	background-image: url(/images/pdf_icon.png);
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: left 20px center;
	box-shadow: 6px 6px 0px rgba(247, 194, 142, 1);
}
.form_sub{
	display: block;
	text-align: center;
	margin: 10px auto 0 auto;
	font-size: 13px;
	color: #8b5890;
}


.priv{
margin-bottom: 40px;
line-height: 2;
}

.priv ul li{
list-style-type: none;
}

.priv p{
margin-bottom:20px;
}

.priv h2{
	font-size: 20px;
	text-align: left;
margin-bottom:15px;
}

.flowbox2 {
    margin: 0 10% 40px 10%;
    padding: 20px 20px 40px 20px;
	border-bottom: 1px dashed #e487be;
}
.flowbox2:last-child{
	border: unset;
}
.flow_l2{
	width: 20%;
	float: left;
	margin: 0 5% 0 0;
}

.flow_l2 img{
	width: 100%;
	height: auto;
}

.flow_r2{
	width: 75%;
	float: left;
	margin: 0;
}

.flow_r2 .flow_step{
	font-weight: bold;
	margin-bottom: 30px;
	font-size: 28px;
    color: #e487be;
}

.flow_txt{
	line-height: 2;
}

.flowbox3 {
    margin: 0 0 40px 0;
    padding: 20px;
    border: 2px solid #ddc5d3;
}

.flow_l3{
	width: 30%;
	float: left;
	margin: 0 5% 0 0;
}

.flow_l3 img{
	width: 100%;
	height: auto;
	margin-bottom: 15px;
}

.flow_r3{
	width: 65%;
	float: left;
	margin: 0;
}

.flow_r3 .flow_step{
	font-size: 28px;
	color: #8b5890;
	margin-bottom: 20px;
}

.photo_caution{
	color: #ff0000;
}

.about{
	padding: 0 0 50px 0;
	width: 1200px;
	margin: 0 auto;
}


.about h2{
	text-align: center;
	font-size: 36px;
	font-weight: bold;
}

.en_wrap .about h2{
	text-align: center;
	font-size: 36px;
	font-weight: bold;
	margin-bottom: 30px;

}


.about h3{
	text-align: center;
	font-size: 16px;
	margin-bottom: 30px;
}

.about h4{
	text-align: center;
	font-size: 25px;
	font-weight: bold;
	color: #e487be;
	margin-bottom: 30px;
}

.about_txt{
	line-height: 2;
	margin-bottom: 30px;
}

.top_about img{
	width: 100%;
	height: auto;
}

.top_feature{
	padding: 50px 0;
	background: #fbf0f6;
}

.top_feature h2{
	text-align: center;
	font-size: 36px;
	font-weight: bold;
}

.top_feature h3{
	text-align: center;
	font-size: 16px;
	margin-bottom: 30px;
}
.top_feature h4{
	text-align: center;
	font-size: 25px;
	font-weight: bold;
	color: #e487be;
	margin-bottom: 30px;
}
.tf_txt{
	font-size: 14px;
	margin-bottom: 30px;
	line-height: 1.8;
    height: 70px;
}

.tf_txt {
    font-size: 14px;
    margin-bottom: 30px;
    line-height: 1.8;
    height: 70px;
}

.en_wrap .tf_txt {
    font-size: 14px;
    margin: 30px 0;
    line-height: 1.8;
    height: 150px;
}

.tf3{
	width: 1200px;
	display: flex;
	margin: 0 auto;
}

.tf-inner{
	flex-basis: 30%;
	margin: 0 1.5%;
	border-right: 1px silver solid;
	padding: 30px 2% 30px 0;
}
.tf-inner img{
	width: 100%;
}
.tf-inner:last-child{
	border: unset;
}

.top_education{
	padding: 50px 10%;
}
.top_education h2{
	text-align: center;
	font-size: 36px;
	font-weight: bold;
}

.en_wrap .top_education h2{
	text-align: center;
	font-size: 36px;
	font-weight: bold;
	margin-bottom: 30px;
}

.top_education h3{
	text-align: center;
	font-size: 16px;
	margin-bottom: 30px;
}

.edu3 {
    width: 1200px;
    display: flex;
    margin: 0 auto 50px auto;
    justify-content: center;
    flex-wrap: wrap;
}

.edu-inner {
    flex-basis: 45%;
    margin: 0 2.5% 5% 2.5%;
    border: 3px solid #f6cee6;
    border-radius: 20px;
    padding: 30px 3%;
}

.edu-inner img{
	display: block;
	width: auto;
	height: 150px;
	text-align: center;
	margin: 0 auto 20px auto;
}
.edu_photo{
	text-align: center;
}
.edu-inner h4{
	text-align: center;
	font-size: 25px;
	font-weight: bold;
	color: #e487be;
	margin-bottom: 30px;
}
.edu-inner h5{
	text-align: center;
	font-size: 15px;
	font-weight: bold;
	background: #faeaf8;
	padding: 10px 20px;
	border-radius: 20px;
	margin: -20px 0 30px 0;
}

.edu-inner .tf_txt{
height: auto;
margin-bottom: 0;
}

.teacher_txt{
	text-align: center;
	font-weight: bold;
	font-size: 22px;
	color: #e487be;
	letter-spacing: 2px;
}

.teacher_name{
    color: #8b5890;
    font-weight: bold;
    font-size: 24px;
    text-align: center;
}
.teacher_role{
    color: #8b5890;
    font-weight: bold;
    font-size: 18px;
    text-align: center;
	margin-bottom: 30px;
}

.foot_btn{
	margin: 0 10% 60px 10%;
	text-align: center;
}

a.btn01{
	display: block;
	color: #fff !important;
	padding: 15px 20px;
	background: #e487be;
	width: 220px;
	margin: 0 auto;
	text-align: center;
	text-decoration: unset;
}

.campus2{
	display: flex;
	margin: 0 auto 40px auto;
    justify-content: center;
	width: 1000px;
}
.campus2 p{
	flex-basis: 45%;
	margin: 0 2.5%;
}

.campus2 p img{
	border-radius: 30px;
	width: 100%;
	height: auto;
}

.campus2 p img:hover{
	opacity: 0.7;
}

.campus3{
	display: flex;
	margin: 0 auto 40px auto;
    justify-content: center;
}

.campus-inner{
	position: relative;
	flex-basis: 30%;
	margin: 0 1.5%;
}
.campus-inner img{
	width: 100%;
	height: auto;
}

.campus-inner h4{
	color: #fff;
    font-size: 45px;
    text-align: center;
    position: absolute;
    top: 30%;
    left: 10px;
    right: 10px;
    width: auto;
    border-bottom: 3px solid #fff;
    margin: 0 auto;
}
.campus-inner h5{
	color: #fff;
	font-size: 18px;
	text-align: center;
	position: absolute;
	top: 55%;
	left: 0;
	right: 0;
	width: 300px;
    margin: 0 auto;
}

.top_course{
	background-image: url(./images/bg01.jpg);
	background-size: cover;
	padding: 80px 15%;
	margin-bottom: 60px;
}

.tcon01{
	width: 40%;
	margin: 0 0 0 auto;
	color: #fff;
}

.tcon01 h2{
	text-align: center;
	font-size: 36px;
	font-weight: bold;
}

.tcon01 h3{
	text-align: center;
	font-size: 16px;
	margin-bottom: 30px;
}

.top_admission{
	background-image: url(./images/bg02.jpg);
	background-size: cover;
	padding: 80px 15%;
	margin-bottom: 60px;
}

.top_news{
	padding: 50px 0;
}

.top_news h2{
	text-align: center;
	font-size: 36px;
	font-weight: bold;
}

.en_wrap.top_news h2{
	text-align: center;
	font-size: 36px;
	font-weight: bold;
	margin-bottom: 30px;

}

.top_news h3{
	text-align: center;
	font-size: 16px;
	margin-bottom: 30px;
}



.top_access h2{
	text-align: center;
	font-size: 36px;
	font-weight: bold;
}
.en_wrap .top_access h2{
	margin-bottom: 30px;
	text-align: center;
	font-size: 36px;
	font-weight: bold;
}

.top_access h3{
	text-align: center;
	font-size: 16px;
	margin-bottom: 30px;
}

.fbp{
	text-align: center;
}

.top_access{
	margin-bottom: 70px;
}

.top_contact{
	background-image: url(./images/contactbg.jpg);
	background-size: cover;
	padding: 80px 15%;
	margin-bottom: 60px;
	color: #fff;
}

.top_contact h2{
	text-align: center;
	font-size: 36px;
	font-weight: bold;
}

.top_contact h3{
	text-align: center;
	font-size: 16px;
	margin-bottom: 30px;
}

.tcon02{
	width: 40%;
	margin: 0;
	color: #fff;
}

.tcon02 h2{
	text-align: center;
	font-size: 36px;
	font-weight: bold;
}

.tcon02 h3{
	text-align: center;
	font-size: 16px;
	margin-bottom: 30px;
}

.flogo{
	text-align: center;
	margin-bottom: 40px;
}

.fad{
	text-align: center;
	margin-bottom:30px;
}

.phone a{
	display: block;
	margin: 0 auto 40px auto;
	width: 320px;
	font-size: 24px;
	background-repeat: no-repeat;
	background-image: url(./images/phone.png);
	background-size: 25px;
	background-position: left center;
	padding: 0 0 0 40px;
}

.fax{
	display: block;
	margin: 0 auto 40px auto;
	width: 320px;
	font-size: 24px;
	background-repeat: no-repeat;
	background-image: url(./images/fax.png);
	background-size: 25px;
	background-position: left center;
	padding: 0 0 0 40px;
}

#toc14{

    text-align: center;
    width: 100%;
}

.privacy{
	text-align: center;
	margin-bottom: 30px;
}


.message_catch{
	font-size: 32px;
	text-align: center;
	letter-spacing: 4px;
	color: #81530a;
	font-weight: bold;
	margin: 40px auto;
}

.message_t{
	margin: 0 20% 50px 20%;
	z-index: 1000;
    position: absolute;
}

.message_t p{
	font-size: 20px;
	line-height: 3;
}

.under {
	border-bottom: dashed 1px #daa174;
	padding-bottom: 20px;
}

.global_menu { /* メニュー全体のスタイル */
    width: 100%;
    position: relative;
    color: #333;
    background: #fff;
    text-align: center;
    padding: 10px 0 0 0;
}

.global_menu li {
    display: inline-block;
    padding: 0 25px;
}

.global_menu a { /* 各項目のスタイル */
  display: block;
  padding: 0 0 10px 0;
}

.menu:hover > a {
  background: #fff;
}

.menu:hover > a img{
	opacity: 0.7;
}

.child_menu > li > a { /* 子項目のスタイル */
	font-size: 0.8em;
	background: #21c1ca;
    padding: 10px 20px;
    margin: 10px;
    color: #fff;
    text-decoration: none;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}
.child_menu > li > a:hover { /* 子項目のスタイル（ホバー時） */
	background: #21c1ca;
    text-decoration: underline;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}

.child_menu { /* 下層メニューのスタイル */
  width: 100%;
  position: absolute;
  top: 100%; /* 親項目の直下に配置 */
  left: 0;
  padding: 30px;
  color: #333; /* 文字色 */
  background: #fff; /* 背景色 */
  visibility: hidden; /* 下層メニューを非表示 */
}

.menu:hover .child_menu { /* 下層メニューのスタイル（親項目ホバー時） */
  visibility: visible; /* 下層メニューを表示 */
}

.child_menu a:hover {
  color: #fff;
}

.article{
	position: static;
}

.feature{
	width: 100%;
	min-height: 850px;
	padding: 20px 0;
	position: relative;
}

.tooth001{
	position: absolute;
	top: 0px;
	left: 0;
}

.tooth002{
  -ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
	position: absolute;
	top: 80px;
	left: 100px;
	font-size: 20px;
	color: #663514;
}

.tooth003{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	position: absolute;
	top: 140px;
	left: 30px;
	font-size: 48px;
	color: #663514;
}


.feabox{
    margin: 0 20%;
    font-size: 20px;
    min-height: 160px;
}

.fea01{
	position: relative;
}

.fea01 .fea_title{
	position: absolute;
	z-index: 5;
	top: 0;
	background-image:url(images/fea01.png);
	background-repeat: repeat;
	color: #fff;
	padding: 5px 30px;
	letter-spacing: 4px;
	font-weight: bold;
    border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;   /* Firefox用 */ 
}

.fea01 .fea_contents{
	position: absolute;
	z-index: 1;
	width: 100%;
	top: 35px;
	padding: 20px 40px;
	font-size: 18px;
	text-align: center;
	background: #fff;
    border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;   /* Firefox用 */ 
}

.fea02{
	position: relative;
}

.fea02 .fea_title{
	position: absolute;
	z-index: 5;
	top: 0;
	background-image:url(images/fea02.png);
	background-repeat: repeat;
	color: #fff;
	padding: 5px 30px;
	letter-spacing: 4px;
	font-weight: bold;
    border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;   /* Firefox用 */ 
}

.fea02 .fea_contents{
	position: absolute;
	z-index: 1;
	width: 100%;
	top: 35px;
	padding: 20px 40px;
	font-size: 18px;
	text-align: center;
	background: #fff;
    border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;   /* Firefox用 */ 
}

.fea03{
	position: relative;
}

.fea03 .fea_title{
	position: absolute;
	z-index: 5;
	top: 0;
	background-image:url(images/fea03.png);
	background-repeat: repeat;
	color: #fff;
	padding: 5px 30px;
	letter-spacing: 4px;
	font-weight: bold;
    border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;   /* Firefox用 */ 
}

.fea03 .fea_contents{
	position: absolute;
	z-index: 1;
	width: 100%;
	top: 35px;
	padding: 20px 40px;
	font-size: 18px;
	text-align: center;
	background: #fff;
    border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;   /* Firefox用 */ 
}

.fea04{
	position: relative;
}

.fea04 .fea_title{
	position: absolute;
	z-index: 5;
	top: 0;
	background-image:url(images/fea04.png);
	background-repeat: repeat;
	color: #fff;
	padding: 5px 30px;
	letter-spacing: 4px;
	font-weight: bold;
    border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;   /* Firefox用 */ 
}

.fea04 .fea_contents{
	position: absolute;
	z-index: 1;
	width: 100%;
	top: 35px;
	padding: 20px 40px;
	font-size: 18px;
	text-align: center;
	background: #fff;
    border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;   /* Firefox用 */ 
}

.fea05{
	position: relative;
}

.fea_caution{
	text-align: center;
	font-size: 20px;
}

.pinkbd{
	font-weight: bold;
	color: #e22e72;
}

.fea05 .fea_title{
	position: absolute;
	z-index: 5;
	top: 0;
	background-image:url(images/fea05.png);
	background-repeat: repeat;
	color: #fff;
	padding: 5px 30px;
	letter-spacing: 4px;
	font-weight: bold;
    border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;   /* Firefox用 */ 
}

.fea05 .fea_contents{
	position: absolute;
	z-index: 1;
	width: 100%;
	top: 35px;
	padding: 20px 40px;
	font-size: 18px;
	text-align: center;
	background: #fff;
    border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;   /* Firefox用 */ 
}

.fea_caution{
	margin: 30px 20% 60px 20%;
	line-height: 2;
}

.bot_flower{
	text-align: center;
}

.bot_flower img{
	width: 300px;
}


.aboutbox{
	margin: 0 5%;
	padding: 20px 0;
}

.about_l{
	width: 30%;
	margin: 0 5% 0 0;
	float: left;
}


.about_l img{
	width: 100%;
	height: auto;
}

.about_r{
	float: left;
	width: 65%;
}

.about_r h2{
    font-size: 28px;
    font-weight: bold;
    padding: 15px 15px 0 0;
	background: linear-gradient(transparent 80%, #f4de6c 20%);
	margin-bottom: 40px;
}

span.num01{
    display: block;
    background-image: url(images/num01.png);
    background-repeat: no-repeat;
    background-position: left bottom;
	height: 55px;
	padding: 0 0 0 100px;
}

.about_r p{
	line-height: 2.5;
	margin-bottom: 30px;
	font-size: 20px;
}

.marker{
	background: linear-gradient(transparent 70%, #fff991 70%);
}

.about001{
    margin: 90px 0 0 0;
}

.about002 img{
    width: 70%;
    height: auto;
    margin: 300px 0 0 0;
}


.about_l2{
	float: left;
	width: 65%;
	margin: 0 0 0 5%;
}

.about_l2 h2{
    font-size: 28px;
    font-weight: bold;
    padding: 15px 15px 0 0;
	background: linear-gradient(transparent 80%, #f4de6c 20%);
	margin-bottom: 40px;
}

span.num02{
    display: block;
    background-image: url(images/num02.png);
    background-repeat: no-repeat;
    background-position: left bottom;
	height: 60px;
	padding: 0 0 0 140px;
}

span.num03{
    display: block;
    background-image: url(images/num03.png);
    background-repeat: no-repeat;
    background-position: left bottom;
	height: 60px;
	padding: 0 0 0 140px;
}

span.num04{
    display: block;
    background-image: url(images/num04.png);
    background-repeat: no-repeat;
    background-position: left bottom;
	height: 60px;
	padding: 0 0 0 140px;
}

.about_l2 p{
	line-height: 2;
	margin-bottom: 30px;
	font-size: 20px;
}

.about_r2{
	width: 30%;
	float: right;
}

.about_r2 img{
	width: 100%;
	height: auto;
}

.about003{
	margin: 100px 0 0 0;
}


	.about003{
	text-align: right;
	}
	.about004{
	text-align: right;
	}

.about004 img{
    width: 70%;
    height: auto;
    margin: 250px 0 0 0;
}


	.about005{
	text-align: right;
	}

.about005 img{
    width: 70%;
    height: auto;
    margin: 150px 0 0 0;
}

.maru {
    height: 50px;
    width: 50px;
    border-radius: 50%;
    line-height: 50px;
    text-align: center;
    background: #f4de6c;
    color: #663514;
    font-weight: bold;
    font-size: 24px;
    float: left;
    margin: 0 20px 0 0;
}

.point01{
	margin-bottom: 60px;
	line-height: 2;
}

.point01 h3{
    color: #663514;
	line-height: 2.5;
	margin-bottom: 30px;
	font-size: 20px;
	font-weight: bold;
}

.about006 img{
    margin: 70px 0 0 0;
}

.about007 img{
    width: 100%;
    height: auto;
    margin: 300px 0 0 0;
}

ul.star{
	margin: 0 0 30px 0;
}

.star li{
	background-image:url(images/star.png);
	background-repeat: no-repeat;
	padding: 10px 0 10px 60px;
	margin: 0 0 15px 0;
	list-style-type: none;
	background-position: 5px;
	font-size: 20px;
	color: #663514;
	font-weight: bold;
}

.about008 img{
    margin: 70px 0 0 0;
}
.about009{
	text-align: right;
}
.about009 img{
    width: 50%;
    height: auto;
	margin: 150px 0 0 0;
}

.slidewrap{
	margin: 50px auto 80px auto;
	background-image:url(images/dotbg.png);
	background-repeat: repeat-x;
	background-position: 140px center;
}

.slidewrap img{
    border-radius: 200px;        /* CSS3草案 */  
    -webkit-border-radius: 200px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 200px;   /* Firefox用 */ 
	border: 5px solid #fff;
	margin-bottom: 20px;
}

.slidewrap div{
	text-align: center;
	font-size: 20px;
	color: #663514;
}

.slidewrap div span{
	background: linear-gradient(transparent 60%, #f4de6c 60%);
}

.slick-dots{
	
}
.slidewrap img {
    width: 85%;
	margin: 0 auto 20px auto;
	display: block;
	text-align: center;
}

.infobox{
    margin: 0 10%;
    padding: 50px 0 100px 0;
    line-height: 2.5;
    font-size: 20px;
}

.info_menu{
	background: #fff;
	padding: 0;
    border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;   /* Firefox用 */ 
	z-index: 5;
}

.info_menu h3{
    font-size: 28px;
    font-weight: bold;
	background: linear-gradient(transparent 80%, #f4de6c 80%);
	margin-bottom: 40px;
	text-align: center;
	padding: 20px 0 0 0;
	margin: 0 20px 30px 20px;
	letter-spacing: 3px;
}

.info_menu p{
	padding: 20px 40px;
	font-size: 20px;
	line-height: 2.5;
}

.info_menu p.detail01{
	padding: 10px 40px;
	font-size: 20px;
	line-height: 2.5;
	background: #eea1b5;
	color: #fff;
	text-align: center;
    border-radius: 0 0 20px 20px;        /* CSS3草案 */  
    -webkit-border-radius: 0 0 20px 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 0 0 20px 20px;   /* Firefox用 */ 
	font-weight: bold;
	letter-spacing: 3px;
}

a:hover .info_menu p.detail01 {
    background: rgba(238,161,181,0.8);
}

.info_menu p.detail02{
	padding: 10px 40px;
	font-size: 20px;
	line-height: 2.5;
	background: #e8b83e;
	color: #fff;
	text-align: center;
    border-radius: 0 0 20px 20px;        /* CSS3草案 */  
    -webkit-border-radius: 0 0 20px 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 0 0 20px 20px;   /* Firefox用 */ 
	font-weight: bold;
	letter-spacing: 3px;
}


a:hover .info_menu p.detail02 {
    background: rgba(232,184,62,0.8);
}


.info_menu p.detail03{
	padding: 10px 40px;
	font-size: 20px;
	line-height: 2.5;
	background: #bcd975;
	color: #fff;
	text-align: center;
    border-radius: 0 0 20px 20px;        /* CSS3草案 */  
    -webkit-border-radius: 0 0 20px 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 0 0 20px 20px;   /* Firefox用 */ 
	font-weight: bold;
	letter-spacing: 3px;
}


a:hover .info_menu p.detail03 {
    background: rgba(188,217,117,0.8);
}


.info_menu p.detail04{
	padding: 10px 40px;
	font-size: 20px;
	line-height: 2.5;
	background: #448da0;
	color: #fff;
	text-align: center;
    border-radius: 0 0 20px 20px;        /* CSS3草案 */  
    -webkit-border-radius: 0 0 20px 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 0 0 20px 20px;   /* Firefox用 */ 
	font-weight: bold;
	letter-spacing: 3px;
}

a:hover .info_menu p.detail04 {
    background: rgba(68,141,160,0.8);
}

.info_menu p.detail05{
	padding: 10px 40px;
	font-size: 20px;
	line-height: 2.5;
	background: #3a6a9a;
	color: #fff;
	text-align: center;
    border-radius: 0 0 20px 20px;        /* CSS3草案 */  
    -webkit-border-radius: 0 0 20px 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 0 0 20px 20px;   /* Firefox用 */ 
	font-weight: bold;
	letter-spacing: 3px;
}

a:hover .info_menu p.detail05 {
    background: rgba(58,106,155,0.8);
}

.info_menu p.detail06{
	padding: 10px 40px;
	font-size: 20px;
	line-height: 2.5;
	background: #cf4d5d;
	color: #fff;
	text-align: center;
    border-radius: 0 0 20px 20px;        /* CSS3草案 */  
    -webkit-border-radius: 0 0 20px 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 0 0 20px 20px;   /* Firefox用 */ 
	font-weight: bold;
	letter-spacing: 3px;
}

a:hover .info_menu p.detail06 {
    background: rgba(207,77,93,0.8);
}


.flex-item-info a{
	text-decoration: none;
	z-index: 5;
}

.flower{
	position: absolute;
	top: -30px;
	left: 0px;
}

.contact_txt{
	margin: 0 10%;
	padding: 50px 0 70px 0;
	line-height: 2.5;
	font-size: 18px;
	text-align: center;
}

.contact01{
	padding: 10px;
	background: #8bd0b2;
	color: #fff;
	min-height: 240px;
}

a:hover .contact01{
	padding: 10px;
	border: 5px solid #8bd0b2;
	color: #fff;
	min-height: 240px;
	background: #a0d9c0;
}

.contact_icon01{
	min-height: 60px;
	margin: 20px 0;
}

.contact02{
	padding: 10px;
	background: #79c4d1;
	color: #fff;
	min-height: 240px;
}

a:hover .contact02{
	padding: 10px;
	border: 5px solid #79c4d1;
	color: #fff;
	min-height: 240px;
	background: #94ced8;
}

.contact_icon02{
	min-height: 60px;
	margin: 30px 0 30px 0;
}

.contact03{
	padding: 10px;
	background: #f79fa7;
	color: #fff;
	min-height: 240px;
}

a:hover .contact03{
	padding: 10px;
	border: 5px solid #f79fa7;
	color: #fff;
	min-height: 240px;
	background: #f4b6bb;
}


.contact_icon03{
	min-height: 60px;
	margin: 50px 0 10px 0;
}

.contact04{
	padding: 10px;
	background: #e4c559;
	color: #fff;
	min-height: 240px;
}

a:hover .contact04{
	padding: 10px;
	border: 5px solid #e4c559;
	color: #fff;
	min-height: 240px;
	background: #e4cb72;
}

.contact_icon04{
	min-height: 60px;
	margin: 35px 0 25px 0;
}

.contact05{
	padding: 10px;
	background: #66a4b4;
	color: #fff;
	min-height: 240px;
}

a:hover .contact05{
	padding: 10px;
	border: 5px solid #66a4b4;
	color: #fff;
	min-height: 240px;
	background: #91beca;
}

.contact_icon05{
	min-height: 60px;
	margin: 35px 0 25px 0;
}


.c-time-table__schedule {
    width: 100%;
    max-width: 100%;
	margin-bottom: 15px;
	border-collapse: collapse;
}

.c-time-table__schedule thead > tr > th {
    padding: 8px 6px;
    text-align: center;
    background-color: #78c5d2;
    border: 1px solid rgba(51, 51, 51, 0.15);
    color: white;
    font-size: 1rem;
    line-height: 1.2;
}

.c-time-table__schedule tbody > tr > td:first-child {
    padding: 8px 6px;
    letter-spacing: 0.1px;
    width: 24%;
    color: #78c5d2;
}

.c-time-table__schedule tbody > tr > td {
    padding: 8px 6px;
    text-align: center;
    border: 1px solid rgba(51, 51, 51, 0.15);
    background-color: white;
    line-height: 1.2;
    width: 10.8%;
}
.c-time-table__schedule tbody > tr > td span {
    font-size: 1rem;
    color: #78c5d2;
}

.googlemap {
    position: relative;
    width: 60%;
	height: 0;
	margin: 0 auto;
	text-align: center;
	padding-top: 36.25%;/*比率をお好みで*/
}
.googlemap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
	height: 100%;
    border: 3px solid #21c1ca;
    border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;   /* Firefox用 */ 
}

.flex-item-contact{
	text-align: center;
	font-size: 20px;
}

.flex-item-contact a{
	text-decoration: none;
}

.contact_bg{
	background-image:url(images/contactbg.png);
	background-repeat: repeat;
	padding: 40px 0;
}

.contact-inner{
	background: #fff;
	padding: 30px 40px;
    border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;   /* Firefox用 */ 
	margin: 0 10%;
}

.contact-inner h2{
	text-align: center;
	font-weight: bold;
	font-size: 28px;
	letter-spacing: 4px;
}

.contact-inner h3{
	text-align: center;
	font-size: 14px;
	color: #34a8bc;
	margin-bottom: 40px;
}

.map_ad2{
    text-align: center;
    padding: 15px 0 0 0;
}


.cbox_l{
	float: left;
	width: 46%;
	margin: 0 4% 0 0;
}

.cbox_l p{
	margin-bottom: 25px;
}

.cbox_r{
	float: left;
	width: 46%;
	margin: 0 4% 0 0;
}

.foot_contact{
    font-size: 16px;
    color: #34a8bc;
    line-height: 1;
    border: 3px solid #34a8bc;
    padding: 10px;
	border-radius: 20px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 15px;
}

.foot_tel{
    color: #34a8bc;
    font-size: 32px;
	background-image:url(images/phone.png);
	background-repeat: no-repeat;
    width: 300px;
    padding: 5px 0 5px 67px;
    margin: 0 auto 20px auto;
}

.foot_tel a{
	color: #34a8bc;
}

.map{
	margin: 30px 0 0 0;
	text-align: center;
}

.column{
	background: #fff;
	padding: 60px 0;
	text-align: center;
}

.doctors_file{
	text-align: center;
}

.fbox{
	position: relative;
	padding:20px;
}

.fl{
    float: left;
}

.fl p{
	margin-bottom: 15px;
}

.fr{
	position: absolute;
	right: 40px;
}

.fc{
	background: #fff;
	padding: 15px;
}

.fc_l{
	float: left;
	margin: 0 20px 0 0;
	wiidth: 180px;
}

.fc_tel01{
	font-size: 12px;
	text-align: center;
}

.fc_tel02{
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}

.fc_tel02 a{
	text-decoration: none;
}

.fc_tel02 a:hover{
	text-decoration: underline;
}

.fc_r{
	float: left;
}

.fc_mail a{
	display: block;
	padding: 10px;
	text-align: center;
	background: #7cbd0c;
	color: #fff;
	text-decoration: none;
	margin: 5px 0 0 0;
	font-size: 14px;
}

.fc_mail a:hover{
	background: #9fd346;
}

.googlemap {
    position: relative;
    width: 100%;
	height: 0;
	margin: 0 auto;
	text-align: center;
	padding-top: 56.25%;/*比率をお好みで*/
	border: 3px solid #78c5d2;
    border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;   /* Firefox用 */ 
}
.googlemap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
	height: 100%;
    border: 3px solid #21c1ca;
    border-radius: 20px;        /* CSS3草案 */  
    -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 20px;   /* Firefox用 */ 
}


footer{
}

.copyright{
	font-size: 14px;
    text-align: center;
    padding: 20px 15px 20px 15px;
}

.copyright a{
	color: #663514;
	text-decoration: none;
}

.copyright a:hover{
	text-decoration: underline;
}

.c-time-table__schedule {
    width: 100%;
    max-width: 100%;
	margin-bottom: 15px;
	border-collapse: collapse;
}

.c-time-table__schedule thead > tr > th {
    padding: 8px 6px;
    text-align: center;
    background-color: #78c5d2;
    border: 1px solid rgba(51, 51, 51, 0.15);
    color: white;
    font-size: 1rem;
    line-height: 1.2;
}

.c-time-table__schedule tbody > tr > td:first-child {
    padding: 8px 6px;
    letter-spacing: 0.1px;
    width: 24%;
    color: #78c5d2;
}

.c-time-table__schedule tbody > tr > td {
    padding: 8px 6px;
    text-align: center;
    border: 1px solid rgba(51, 51, 51, 0.15);
    background-color: white;
    line-height: 1.2;
    width: 10.8%;
}
.c-time-table__schedule tbody > tr > td span {
    font-size: 1rem;
    color: #78c5d2;
}

/* flex */
.flex-box {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    padding:  0;             /* 余白指定 */
}

.flex-box-item {
    display: flex;
    flex-wrap: wrap;
    margin: 0 5%;
    padding:  0;             /* 余白指定 */
}

.flex-box-contact {
    display: flex;
    flex-wrap: wrap;
    margin: 0 10%;
    padding:  0;             /* 余白指定 */
}

.flex-box-dentition {
    display: flex;
    flex-wrap: wrap;
    margin: 0 5%;
    padding:  0;             /* 余白指定 */
}

.flex-box-reason {
    display: flex;
    flex-wrap: wrap;
    margin: 0 5%;
    padding:  0;             /* 余白指定 */
}

.flex-box-movie {
    display: flex;
    flex-wrap: wrap;
	margin: 0 10%;
    padding:  0;             /* 余白指定 */
}

.flex-box-facility {
    display: flex;
    flex-wrap: wrap;
	margin: 0 10%;
    padding:  0;             /* 余白指定 */
}

.flex-box2 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 5%;
    padding:  0;             /* 余白指定 */
}

.flex-box3 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 5%;
    padding:  0;             /* 余白指定 */
}

.flex-item {
    position: relative;
    width: calc( 100% / 4 );
    padding: 0 15px;
    margin-bottom: 50px;
}

.flex-item3 {
    position: relative;
    width: calc( 100% / 3 );
    padding: 0 35px;
    margin-bottom: 50px;
}

.flex-item3 img{
	width: 100%;
	height: auto;
}

.flex-item3 .dentition_img img{
	width: 70%;
	height: auto;
}

.flex-item3 .to_detail img{
	width: auto;
	height: auto;
}

.flex-item-info {
    position: relative;
    width: calc( 100% / 3 );
    padding: 0 35px;
	margin-bottom: 80px;
}

.flex-item-contact {
    position: relative;
    width: calc( 100% / 5 );
    padding: 0 5px;
	margin-bottom: 80px;
}

.w100 img{
	width: 100%;
	height: auto;
}

@media only screen and (max-width: 1240px){	
.tel {
    width: 240px;
    margin: 0 6%;
    float: left;
    padding: 10px 0 0 0;
	}
.pdf3 li a {
    display: block;
    list-style-type: none;
    background: #f39233;
    color: #fff;
    text-align: center;
    background-repeat: no-repeat;
    padding: 20px 20px 20px 40px;
    font-size: 15px;
    background-size: 18px;
    background-position: left 20px center;
    box-shadow: 6px 6px #f7c28e;
    background-image: url(./images/pdf_icon.png);
}
.pdf3 li a:hover{
    opacity: 0.7;
    display: block;
    list-style-type: none;
    background: #f39233;
    color: #fff;
    text-align: center;
    background-repeat: no-repeat;
    padding: 20px 20px 20px 40px;
    font-size: 15px;
    background-size: 18px;
    background-position: left 20px center;
    box-shadow: 6px 6px #f7c28e;
    background-image: url(./images/pdf_icon.png);
}
.campus2 {
    display: flex;
    margin: 0 auto 40px auto;
    justify-content: center;
    width: auto;
}
.ac4-inner {
    flex-basis: 45%;
    margin: 0 2.5% 40px 2.5%;
}
.ac4-inner img.vertical{
	width: auto;
	display: block;
	height: 143px;
	text-align: center;
	margin: 0 auto 15px auto;
}
.tf_txt {
    height: 100px;
}
.main-img img{
	width: 100%;
	height: auto;
}
.main_con {
    width: auto;
    margin: 0 10% 60px 10%;
}

.foot_con {
    width: auto;
    margin: 0 10% 60px 10%;
}

.edu3 {
    width: auto;
    display: flex;
    margin: 0;
}
.hmenu {
    position: absolute;
    top: 70px;
    right: 50px;
    display: flex;
    width: auto;
}
.hmenu li {
    flex-basis: auto;
    padding: 0 15px;
    text-align: center;
    font-size: 22px;
    list-style-type: none;
}

.about {
    padding: 0 0 50px 0;
    width: auto;
    margin: 0 10%;
}
.tf3 {
    width: auto;
    display: flex;
    margin: 0 10%;
}
.top_education{
	margin: 0 10%;
}
}

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

html.is-fixed,
html.is-fixed body {
  height: 100%;
  overflow: hidden;
}




.low-img {
    position: relative;
    margin-bottom: 50px;
    margin-top: 130px;
}
.lang_switch{
display: none;
}
.lang_switch_sp{
display: block;
        position: fixed;
        top: 80px;
        padding: 10px;
        width: 100%;
        z-index: 10;
        background: #f3e3f5;
}
.lang_switch_sp div {
        margin: 0 auto;
    }

.nintei_logo{
top: 20px;
}

.ac4-inner img.vertical{
	width: auto;
	display: block;
	height: 131px;
	text-align: center;
	margin: 0 auto 15px auto;
}

.tf_txt {
    height: auto;
}
.en_wrap .tf_txt {
    height: auto;
}
.top_logo img {
    height: 60px;
    width: auto;
}


.head_wrap {
    height: 80px;
}
.cal-inner {
    flex-basis: 45%;
    margin: 0 2.5% 40px 2.5%;
    border: 2px solid #c7a6ca;
    padding: 30px 5%;
    background: #fff;
    text-align: center;
}
.low-img img {
    display: block;
    height: 300px;
    object-fit: cover;
    width: 100%;
    object-position: 100% 0;
}

.low-img h1 {
    position: absolute;
    z-index: 1;
    color: #fff;
    top: 50%;
    text-align: center;
    font-size: 28px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.hmenu{
display: none;
}
.hcon{
display: none;
}

.hamburger-menu{
	display: block;	
    position: relative;
		z-index: 1000;
	}
	.head_phone{
		display: none;
	}
#menu_button {
    position: absolute;
    z-index: 50;
    right: 0px;
    bottom: unset;
	top: 0;
    z-index: 10000;
	}
.hotaru {
    position: unset;
    right: 40px;
    top: 40px;
    text-align: center;
    margin-bottom: 30px;
}
.hotarubg {
    background: #052040;
    position: relative;
    padding: 30px 0 90px 0;
    min-height: auto;
}
	
.menu-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #8b5890;
	z-index: 100000;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #fff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#menu-btn-check {
    display: none;
}
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    background-color: #e6aecf;
}
.menu-content ul {
    padding: 80px 30px 0 30px;
}
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 20px 15px 20px 0;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 24px;
}
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 10000;
    background-color: #bb97bf;
    transition: all 0.5s;/*アニメーション設定*/
}
#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}
.main-img img{
	width: 100%;
	height: auto;
	}
	
.logo img {
    width: 100%;
    height: auto;
}
.tel {
    width: 240px;
    margin: 0 5% 0 3%;
    float: left;
    padding: 10px 0 0 0;
}
.illust01 {
    position: absolute;
    top: 0;
    left: 2%;
    z-index: 15;
	}

	.illust01 img{
		width: 60%;
	}
.illust02 {
    position: absolute;
    top: 0;
    right: 2%;
    z-index: 15;
    text-align: right;
}
	.illust02 img{
		width: 60%;
	}
.illust03 {
    position: absolute;
    top: 400px;
    left: 2%;
    z-index: 15;
	}

	.illust03 img{
		width: 60%;
	}
.illust04 {
    position: absolute;
    top: 350px;
    right: 2%;
    z-index: 15;
    text-align: right;
}
	.illust04 img{
		width: 60%;
	}
.illust05 {
    position: absolute;
    top: 800px;
    left: 2%;
    z-index: 5;
	}
	.illust05 img{
		width: 60%;
	}
.illust06 {
    position: absolute;
    top: 840px;
    right: 2%;
    z-index: 5;
    text-align: right;
	}

	.illust06 img{
		width: 60%;
	}
.feabox {
    min-height: 160px;
    margin: 0 10% 0 15%;
}
	.flex-item-info {
    position: relative;
    width: calc( 100% / 2 );
    padding: 0 35px;
    margin-bottom: 80px;
	}
.flex-item-contact {
    position: relative;
    width: calc( 100% / 2 );
    padding: 0 5px;
    margin-bottom: 80px;
	}
.map img{
    width: 100%;
	}
.feature {
    width: 100%;
    min-height: 850px;
    padding: 20px 0;
    position: relative;
	}
.tooth002 {
    -ms-writing-mode: tb-rl;
    writing-mode: horizontal-tb;
    position: relative;
		text-align: center;
		top: unset;
    left: unset;
    font-size: 20px;
    color: #663514;
	}
.tooth003 {
    writing-mode: horizontal-tb;
    position: relative;
    top: unset;
    left: unset;
    text-align: center;
    font-size: 48px;
		color: #663514;
		margin-bottom: 30px;
	}
span.num02 {
    padding: 20px 0 0 120px;
    font-size: 24px;
}
.tf3 {
        width: auto;
        display: block;
        margin: 0 10%;
    }
.tf-inner {
    flex-basis: 30%;
    margin: 0 1.5% 40px 1.5%;
    border: unset;
    padding: unset;
}
.low_photo800{
width: auto;
margin: 0 10% 30px 10%;
}

.low_photo800 img{
width: 100%;
height: auto;
}
.ac_li {
    width: auto;
    text-align: center;
    margin: 0 auto 40px auto;
}
}


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

.nintei_logo{
	display: none;
}

.foot_btn img{
	width: 100%;
	height: auto;
}
.pdf3{
	display: block;
}
    .campus2 {
        display: block;
        margin: 0 5% 40px 5%;
        justify-content: center;
        width: auto;
    }
.campus2 p {
    flex-basis: 45%;
    margin: 0 0 40px 0;
}
.campus2 p img{
width: 100%;
height: auto;
}
    .top_education {
        margin: 0 5%;
    }
.pdf3 li{
	margin-bottom: 30px;
}

	.ac4-inner img.vertical {
        width: 100%;
        display: block;
        height: auto;
        text-align: center;
        margin: 0 auto 15px auto;
    }
.ac4{
display: block;
}
.ac4-inner {
    flex-basis: 45%;
    margin: 0 2.5% 40px 2.5%;
}
.cal_p img {
    width: auto;
    height: 70px;
    margin-bottom: 20px;
}
.main_con h2.cal01::before{
    font-size: 3.5rem;
}
.main_con h2.cal02::before{
    font-size: 3.5rem;
}
.main_con h2.cal03::before{
    font-size: 3.5rem;
}
.main_con h2.cal04::before{
    font-size: 3.5rem;
}
.main_con h2.cal05::before{
    font-size: 3.5rem;
}
.main_con h2.cal06::before{
    font-size: 3.5rem;
}
.main_con h2.cal07::before{
    font-size: 3.5rem;
}
.main_con h2.cal08::before{
    font-size: 3.5rem;
}
.main_con h2.cal09::before{
    font-size: 3.5rem;
}
.main_con h2.cal10::before{
    font-size: 3.5rem;
}
.main_con h2.cal11::before{
    font-size: 3.5rem;
}
.main_con h2.cal12::before{
    font-size: 3.5rem;
}
.cal_t {
    font-size: 16px;
}
.cal_p {
    margin: 20px 0 0 0;
}
    .cal-inner {
        flex-basis: 45%;
        margin: 0 2.5% 30px 2.5%;
        border: 2px solid #c7a6ca;
        padding: 30px 3% 15px 3%;
        background: #fff;
        text-align: center;
    }
.flow_l3 {
    width: auto;
    float: none;
    margin: 0 0 40px 0;
}
.flow_r3 {
    width: auto;
    float: none;
    margin: 0;
}
table.salon_tab tr:nth-child(odd) th {
    padding: 20px 10px;
}
table.salon_tab tr:nth-child(odd) td {
    padding: 20px 10px;
}
table.salon_tab th {
    padding: 20px 10px;
}
table.salon_tab td {
    padding: 20px 10px;
}
.low_photo800{
width: auto;
margin: 0 0 30px 0;
}

.low_photo800 img{
width: 100%;
height: auto;
}

.tcon01 {
    width: auto;
    margin: 0 10%;
    color: #fff;
}
.tcon02 {
    width: auto;
    margin: 0 10%;
    color: #fff;
}
.contact_txt {
    margin: 0 10%;
    padding: 50px 0 70px 0;
    line-height: 2;
    font-size: 15px;
    text-align: center;
}

.flow_l2 {
    width: auto;
    float: none;
    margin: 0 0 40px 0;
}
.flow_l2 img{
	width: 60%;
	display: block;
	margin: 0 auto;
}
.flow_r2 {
    width: auto;
    float: none;
    margin: 0;
}
.h_contact {
	display: none;
	}

.about h4 {
    text-align: left;
    font-size: 20px;
    font-weight: bold;
    color: #e487be;
    line-height: 1.7;
    margin-bottom: 30px;
}
.flowbox2 {
    margin: 0;
}

.flow_l {
    width: auto;
    float: none;
    margin: 0 0 40px 0;
}

.flow_l img{
	width: 60%;
	display: block;
	margin: 0 auto;
}
.flow_txt{
    font-size: 14px;
    margin-bottom: 30px;
    line-height: 1.8;
}

.flow_r {
    width: auto;
    float: none;
    margin: 0 0 40px 0;
}

.salon_tab{
    font-size: 13px;
}
table.salon_tab td textarea {
    height: 150px;
}
.price_tab th {
    font-size: 14px;
}
.price_tab td {
    font-size: 14px;
}

.edu3 {
    width: auto;
    display: block;
    margin: 0;
}
.edu-inner {
    margin: 0 1.5% 40px 1.5%;
    padding: 30px;
}
	.global_menu{
	display: none;
	}
.cbox_l {
    float: none;
    width: 100%;
    margin: 0 0 40px 0;
	}
.cbox_r {
    float: none;
    width: 100%;
    margin: 0;
	}
	.googlemap{
	margin-bottom: 30px;
	}
	.map_ad2{
	text-align: center;
	}
.contact-inner {
    margin: 0 5%;
	}
.fl {
    float: none;
	}
.fl p {
    margin-bottom: 25px;
    text-align: center;
}
.fr {
    position: unset;
    right: 40px;
}
.fc {
    background: #fff;
    padding: 15px;
    text-align: center;
}
.fc_l {
    float: left;
    margin: 0 20px 0 0;
    width: 50%;
	}

.feabox {
    margin: 0 10% 50px 10%;
    font-size: 20px;
    min-height: 130px;
}
.message {
    position: relative;
    min-height: 1150px;
	}
.illust03 {
    top: 250px;
	}
.illust04 {
    top: 200px;
	}
.illust04 img {
    width: 50%;
	}
.flex-item-info {
    width: calc( 100% / 1 );
	}
.flex-item-contact {
    position: relative;
    width: calc( 100% / 1 );
    padding: 0 5px;
    margin-bottom: 30px;
	}
.logo {
    width: 65%;
    margin: 0 0 0 20px;
    float: left;
	}
.message_catch {
    padding: 0 20px;
	}
.message_t {
    margin: 0 10% 50px 10%;
    z-index: 1000;
    position: absolute;
	}
.illust05 img {
    width: 60%;
    opacity: 0.4;
}
.illust06 img {
    width: 60%;
    opacity: 0.4;
	}
.fea_caution {
    margin: 30px 10% 60px 10%;
    line-height: 2;
	}
	.doctors_file{
	margin: 0 5%;
	}
	.doctors_file img{
		width: 100%;
		height: auto;
	}
.about_l {
    width: 100%;
    margin: 0 0 30px 0;
    float: none;
	}
.about002{
	display: none;
	}
.about_r {
    float: none;
    width: 100%;
	}
.about_r2 {
    width: 100%;
    float: none;
    margin: 0 0 30px 0;
	}
.about_l2 {
    float: none;
    width: 100%;
    margin: 0;
}
	.about004{
	display: none;
	}
	.about005{
	display: none;
	}
	.about007{
	display: none;
	}
	.about009{
	display: none;
	}
.about003 {
    margin: 40px 0 0 0;
	}
.about006 img {
    margin: 0;
	}
.about008 img {
    margin: 0;
	}
	.global_menu{
	display: none;
	}
	
.spmenu_btn {
    display:block;
    position:absolute;
    top:14px;
    right:15px;
    width:30px;
    height:22px;
    background:#000;
    border-top:10px solid #fff;
    border-bottom:10px solid #fff;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    -moz-transition:all 0.3s;
    -webkit-transition:all 0.3s;
    transition:all 0.3s;
}
.spmenu_btn:before {
    content:'';
    position:absolute;
    width:30px;
    height:2px;
    background:#000;
    top:-9px;
    right:0;
    -moz-transition:all 0.3s;
    -webkit-transition:all 0.3s;
    transition:all 0.3s;
}
.spmenu_btn:after {
    content:'';
    position:absolute;
    width:30px;
    height:2px;
    background:#000;
    bottom:-9px;
    right:0;
    -moz-transition:all 0.3s;
    -webkit-transition:all 0.3s;
    transition:all 0.3s;
}
.spmenu_btn.active {
    background:#FFF;
}
.spmenu_btn.active:before {
    -moz-transform:rotate(-135deg);
    -webkit-transform:rotate(-135deg);
    transform:rotate(-135deg);
    top:0;
    right:0;
}
.spmenu_btn.active:after {
    -moz-transform:rotate(135deg);
    -webkit-transform:rotate(135deg);
    transform:rotate(135deg);
    bottom:0;
    right:0;
}




nav.globalMenuSp {
    display: block;
    position: fixed;
    z-index: 300;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
    color: #000;
    text-align: center;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 100%;
-webkit-overflow-scrolling: touch;

}


/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
    transform: translateY(0%);
}


.navToggle {
    display: block;
    position: absolute;
    right: 10px;
    top: 10px;
    width: 64px;
    height: 64px;
    cursor: pointer;
    z-index: 310;
    background: #1db5bf;
    text-align: center;
}
		
		
.navToggle span {
    display: block;
    position: absolute;    /* .navToggleに対して */
    width: 52px;
    border-bottom: solid 6px #eee;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 6px;
}

.navToggle span:nth-child(1) {
    top: 14px;
}

.navToggle span:nth-child(2) {
    top: 30px;
}

.navToggle span:nth-child(3) {
    top: 45px;
}

.navToggle span:nth-child(4) {
    border: none;
    color: #eee;
    font-size: 9px;
    font-weight: bold;
    top: 75px;
}


/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
    top: 35px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
    top: 35px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
	}
.menu {
    max-width: 100%;
}

.menu a {
    display: block;
    padding: 15px;
    text-decoration: none;
	}
	
.menu p {
    display: block;
    margin: 0;
    line-height: 1;
    color: #313131;
    background: #dddddd;
    cursor: pointer;
    border-bottom: 1px solid silver;
}


.menu label {
    display: block;
    margin: 0;
    padding: 15px;
    line-height: 1;
    color: #313131;
    background: #dddddd;
    cursor: pointer;
    border-bottom: 1px solid silver;
}

.menu input {
    display: none;
}

.menu ul {
    margin: 0;
    padding: 0;
    background: #f4f4f4;
    list-style: none;
}

.menu li {
height: 0;
    overflow: hidden;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}

#menu_bar01:checked ~ #links01 li,
#menu_bar02:checked ~ #links02 li,
#menu_bar03:checked ~ #links03 li,
#menu_bar04:checked ~ #links04 li{
    height: 65px;
    opacity: 1;
    border-bottom: 1px dashed silver;
	}
	
.about_title h2 {
    text-align: center;
    font-size: 40px;
    color: #663514;
	}
.spnon{
	display: none;
	}
.pcnon{
	display: block;
}
	.fea01 .fea_contents{
	text-align: left;
	}
	
	.fea02 .fea_contents{
	text-align: left;
	}
	
	.fea03 .fea_contents{
	text-align: left;
	}
	
	.fea04 .fea_contents{
	text-align: left;
	}
	
	.fea05 .fea_contents{
	text-align: left;
	}
.flogo img{
	width: 300px;
	height: auto;
}
.campus3 {
    display: block;
    margin: 0 auto 40px auto;
}
.fbp {
    text-align: center;
    margin: 0 10%;
}
.fbp img{
	width: 100%;
	height: auto;
}

.lesson_tab01 th {
    font-size: 14px;
}


.lesson_tab01 td {
    font-size: 13px;
	padding: 5px;
}
.en_wrap .lesson_tab01 td {
        font-size: 11px;
        padding: 5px 2px;
        word-break: break-all;
    }
    .main_con {
        width: auto;
        margin: 0 5% 60px 5%;
    }
}

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


.illust01 {
    position: absolute;
    top: -30px;
    left: 0;
    z-index: 15;
	}
.illust01 img {
    width: 40%;
}
.illust02 {
    position: absolute;
    top: -30px;
    right: 0;
    z-index: 15;
    text-align: right;
	}
.illust02 img {
    width: 30%;
}
.illust03 {
    top: 150px;
	}
.illust03 img {
    width: 40%;
}
.illust04 {
    top: 140px;
	}
.illust04 img {
    width: 30%;
}
.main-img {
    text-align: center;
    margin: 80px auto 30px auto;
    z-index: 10;
	}
	.about_r h2{
	font-size: 20px;
	}
	.about_l2 h2{
	font-size: 20px;
	}
span.num01 {
    display: block;
    background-image: url(images/num01.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    height: 40px;
    padding: 0 0 0 80px;
    background-size: contain;
	}
span.num02 {
    display: block;
    background-image: url(images/num02.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    height: 40px;
    padding: 0 0 0 80px;
    background-size: contain;
	}
span.num03 {
    display: block;
    background-image: url(images/num03.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    height: 40px;
    padding: 0 0 0 80px;
    background-size: contain;
	}
span.num04 {
    display: block;
    background-image: url(images/num04.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    height: 40px;
    padding: 0 0 0 80px;
    background-size: contain;
	}
.fc_l {
    float: none;
    margin: 0 20px 0 0;
    width: 100%;
	}
.fc_r {
    float: none;
	}
.about001 {
    margin: 0;
	}
.about003 {
    margin: 0;
	}
span.num02 {
    display: block;
    background-image: url(images/num02.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    height: 40px;
    padding: 13px 0 0 65px;
    font-size: 16px;
    background-size: contain;
	}
.fea_caution {
    text-align: left;
}
.point01 {
    margin-bottom: 10px;
    line-height: 2;
	}
.info_menu h3 {
	font-size: 22px;
	}
	.flower img{
	width: 80%;
	}
.flower {
    position: absolute;
    top: -30px;
    left: 10px;
	}
.contact_txt {
        margin: 0 5%;
        padding: 20px 0 40px 0;
        line-height: 2;
        font-size: 14px;
        text-align: left;
    }
.feabox {
    margin: 0 10% 50px 10%;
    font-size: 20px;
    min-height: 150px;
	}
	.slick-slide p{
		margin: 15px;
	}
.bot_flower img {
		width: 200px;
		margin: 20px 0;
}
.top_education {
    padding: 50px 5%;
}
a.pdf_icon {
    background: #f39233;
    display: block;
    padding: 20px 20px 20px 40px;
    text-align: center;
    color: #fff;
    width: auto;
    margin: 0 auto;
    font-size: 16px;
    background-image: url(/images/pdf_icon.png);
    background-repeat: no-repeat;
    background-size: 30px;
    background-position: left 20px center;
    box-shadow: 6px 6px 0px rgba(247, 194, 142, 1);
}
}