img { max-width:100%; height: auto; }
/* 基本デザイン 1段組み
---------------------------------------------*/
/* 1.全体共通指定
---------------------------------------------*/
/* 全体基本指定 */
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;}
img{border:0; vertical-align:top;}
img.lp {border:1px solid #a9a9a9;}
li{list-style:none;}
h1,h2,h3,h4,h5,h6{font-size:100%;text-align:left;}
sup {vertical-align:text-top;}
sub {vertical-align:text-bottom;}

.fs18 { font-size: 18px;}
.mg0a {margin:0 auto; }
.mg0 { margin: 0!important;}
.mgb10 { margin-bottom: 10px!important;}
.mgb30 { margin-bottom: 30px!important;}
.mgb40 { margin-bottom: 1rem!important;}
.mgb60 { margin-bottom: 2rem!important;}
.pd0 {padding: 0!important;}
.spw80 {width:80%;}

/* input */
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;vertical-align:middle;margin:2px;padding:0px;}
input.txt,textarea.txt {margin:2px;padding:3px;border:1px solid #999;vertical-align:middle;font-size:14px;color:#333;}
select {margin:2px;padding:1px;border:1px solid #999;vertical-align:middle;font-size:14px;color:#333;}

body {
font-family: YuGothic, 'Yu Gothic', 游ゴシック体, '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
font-size:90%;
line-height:1.7;
padding:0px;
margin:0px;
color:#151515;
border-top: 3px solid red;
}
.cnt{text-align: center;}

/* 基本リンク色指定 */
a:link {color: #0e6fbc;}
a:visited {color: #0e6fbc;}
a:hover {color: #e60000;}
a:active {color: #0e6fbc;}

/* 2.基本エリア指定
---------------------------------------------*/
#wrapper {margin:0px;padding:0px;}
#container {margin:0px;padding:0px;}
#header {margin:0px; padding:2%; }
/*#header {background: URL(../../../core_sys/images/sys/smartphone/head_bg.gif) bottom repeat-x #fff;}*/
#contents {clear:both;margin:0px; padding:0;}
#contents_main {clear:both;margin:0px;padding:0px;}
#main {margin: 0px auto;padding:0;}
#side {margin:0px;padding:0px;text-align:center;}
#right_side {margin:0px;padding:0px;text-align:right;}
#footer {clear:both; margin-top: 4% auto; padding:25px 0px 0px 0px; color: #fff; }
/*#footer {background: URL(../../../core_sys/images/sys/smartphone/footer_bg.gif) top repeat-x #fff;}*/
#ext_area_01 {clear:both;margin:0px;padding:0px;}
#ext_area_02 {clear:both;margin:0px auto;padding:0px;}

/* サブエリア指定
============================================= */
/* ヘッダー内サブエリア指定
--------------------------------------------- */
/* ======1行目指定====== */
.header_sa01 {clear:both;margin:0px auto;padding:0px;}
.header_sa01_c {margin:0px;padding:0px;}
.header_sa01_l {float:left;margin:0px;padding:0px;}
.header_sa01_r {float:right;margin:0px;padding:0px;}

/* ======2行目指定====== */
.header_sa02 {clear:both;margin:0px auto;padding:0px;}
.header_sa02_c {margin:0px;padding:0px;}
.header_sa02_l {float:left;margin:0px;padding:0px;}
.header_sa02_r {float:right;margin:0px;padding:0px;}

/* ======3行目指定====== */
.header_sa03 {clear:both;margin:0px auto;padding:0px;}
.header_sa03_c {margin:0px;padding:0px;}
.header_sa03_l {float:left;margin:0px;padding:0px;}
.header_sa03_r {float:right;margin:0px;padding:0px;}

/* ======4行目指定====== */
.header_sa04 {clear:both;margin:0px auto;padding:0px;}
.header_sa04_c {margin:0px;padding:0px;}
.header_sa04_l {float:left;margin:0px;padding:0px;}
.header_sa04_r {float:right;margin:0px;padding:0px;}

/* 拡張エリア01内サブエリア指定
--------------------------------------------- */
.ext_area_01_sa01_c {margin:0px;padding:0px;}
.ext_area_01_sa01_l {float:left;margin:0px;padding:0px;}
.ext_area_01_sa01_r {float:right;margin:0px;padding:0px;}

/* メイン内サブエリア指定
--------------------------------------------- */
/* ======1行目指定====== */
.main_sa01 {margin:0px auto;padding:0px;}
.main_sa01_c {margin:0px;padding:0px;}
.main_sa01_l {float:left;margin:0px;padding:0px;}
.main_sa01_r {float:right;margin:0px;padding:0px;}

/* ======2行目指定====== */
.main_sa02 {clear:both;margin:0px auto;padding:0px;}
.main_sa02_c {margin:0px;padding:0px;}
.main_sa02_l {float:left;margin:0px;padding:0px;}
.main_sa02_r {float:right;margin:0px;padding:0px;}

/* ======3行目指定====== */
.main_sa03 {clear:both;margin:0px auto;padding:0px;}
.main_sa03_c {margin:0px;padding:0px;}
.main_sa03_l {float:left;margin:0px;padding:0px;}
.main_sa03_r {float:right;margin:0px;padding:0px;}

/* ======4行目指定====== */
.main_sa04 {clear:both;margin:0px auto;padding:0px;}
.main_sa04_c {margin:0px;padding:0px;}
.main_sa04_l {float:left;margin:0px;padding:0px;}
.main_sa04_r {float:right;margin:0px;padding:0px;}

/* ======5行目指定====== */
.main_sa05 {clear:both;margin:0px auto;padding:0px;}
.main_sa05_c {margin:0px;padding:0px;}
.main_sa05_l {float:left;margin:0px;padding:0px;}
.main_sa05_r {float:right;margin:0px;padding:0px;}

/* ======6行目指定====== */
.main_sa06 {clear:both;margin:0px auto;padding:0px;}
.main_sa06_c {margin:0px;padding:0px;}
.main_sa06_l {float:left;margin:0px;padding:0px;}
.main_sa06_r {float:right;margin:0px;padding:0px;}

/* ======7行目指定====== */
.main_sa07 {clear:both;margin:0px auto;padding:0px;}
.main_sa07_c {margin:0px;padding:0px;}
.main_sa07_l {float:left;margin:0px;padding:0px;}
.main_sa07_r {float:right;margin:0px;padding:0px;}

/* ======8行目指定====== */
.main_sa08 {clear:both;margin:0px auto;padding:0px;}
.main_sa08_c {margin:0px;padding:0px;}
.main_sa08_l {float:left;margin:0px;padding:0px;}
.main_sa08_r {float:right;margin:0px;padding:0px;}

/* 拡張エリア02内サブエリア指定
--------------------------------------------- */
.ext_area_02_sa01_c {margin:0px;padding:0px;}
.ext_area_02_sa01_l {float:left;margin:0px;padding:0px;}
.ext_area_02_sa01_r {float:right;margin:0px;padding:0px;}

/* フッタ内サブエリア指定
--------------------------------------------- */
/* ======1行目指定====== */
.footer_sa01 {clear:both;margin:0px auto; padding-bottom: 4rem; background:#666;}
.footer_sa01_c {margin:0px;padding:0px; color:fff; font-size:80%;}
.footer_sa01_l {float:left;margin:0px;padding:0px;}
.footer_sa01_r {float:right;margin:0px;padding:0px;}

/* ======2行目指定====== */
.footer_sa02 {clear:both;margin:0px auto;padding:0px;}
.footer_sa02_c {margin:0px;padding:0px;}
.footer_sa02_l {float:left;margin:0px;padding:0px;}
.footer_sa02_r {float:right;margin:0px;padding:0px;}

/* ======3行目指定====== */
.footer_sa03 {clear:both;margin:0px auto;padding:0px;}
.footer_sa03_c {margin:0px;padding:0px;}
.footer_sa03_l {float:left;margin:0px;padding:0px;}
.footer_sa03_r {float:right;margin:0px;padding:0px;}

/***************************************************
2019年改定版
***************************************************/
/* ユーザエリア010指定
---------------------------------------------*/
/* エリア指定 */
#user_area_010 { margin: 20px 0 20px 0px; padding: 0px; }
.login{}
.login ul.login_inner{ display: flex; justify-content: center; }
.login ul.login_inner li {}
.login ul.login_inner li a{
  display: block;
  align-items: center;
  text-decoration: none;
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  border: solid 1px #333;
  border-radius: 10px;
  padding: 0.3rem 3rem;
  background: #6ABFED;
  transition: 0.5s;
}
.login ul.login_inner li a:hover{
  color:#ff0;
  background: #1a8fe9;
  border: solid 1px #333;
  box-shadow: 0 8px 15px -8px rgba(0,0,0,0.8);
}

.forget { text-align: center; margin: 1rem; }
.forget a { color:#666; text-decoration:underline; transition: 0.5s; }
.forget a:hover { color:#9C2022; }

/* ユーザエリア016指定
---------------------------------------------*/
#user_area_016 { margin: 0px;	padding: 0px;}
.main_img{margin: 0 auto; text-align: center;}

.youtube { position:relative; width: 100%; max-width: 1200px; margin: 0 auto;}
.youtube::before { content: ""; display: block; width: 100%; padding-top: 56.25%;}
.youtube iframe{ position: absolute; top: 0; right: 0; width: 100%; height: 100%;}

/* ユーザエリア020指定
---------------------------------------------*/
/* エリア指定 */
#user_area_020 { margin: 0px; padding: 0px; }
.voice { margin: 0 auto 6rem; }
.voice_item { margin: 0 auto; text-align: center; padding: 0 1rem; }
 .voice_item a { transition: 0.3s;}
.voice_item img { max-width:100%; }


/* ユーザエリア017指定
---------------------------------------------*/
/* エリア指定 */
#user_area_017 { margin: 0px; padding: 0px; }

section.bg_white { margin-bottom: 3rem; padding: 2rem 0; }
section.bg_white_line {  padding: 2rem 0; border-top: 2px solid #666; }
section.bg_blue { margin-bottom: 3rem; padding: 2rem 0; background: #E7F6F8; border-top: 2px solid #666; border-bottom: 2px solid #666; }
section.bg_gray { margin-bottom: 3rem; padding: 2rem 0; background: #eee; border-top: 2px solid #666; border-bottom: 2px solid #666; }
.main_content { margin: 0 auto; padding: 0 1rem; }

h2.tit{
 position: relative;
 padding-bottom: 1rem;
 margin-bottom: 2rem;
 font-weight: bold;
 font-size: 1.4rem;
 text-align: center;
 color: #353535;
}

h2.tit::before {
 position: absolute;
 border-bottom: 2px solid #353535;
 top: 100%;
 left: 50%;
 transform: translateX(-50%);
 width: 60px;
 content: '';
}


ul.admission_btn { display: flex; flex-wrap: wrap; justify-content:space-between; }
ul.admission_btn li { width: 100%; margin-bottom: 1rem; padding: 1rem; background: #E7F6F8; border: 6px double #A88E72; border-radius: 10px; box-sizing: border-box;}
ul.admission_btn li img {max-width: 100%; height: auto;}


ul.sample { display: flex; flex-wrap: wrap; justify-content:space-between; }
ul.sample li { width: 100%; margin-bottom: 1rem; padding: 1rem; background: #E7F6F8; border: 6px double #A88E72; border-radius: 10px; box-sizing: border-box; background: #fff;}
ul.sample li h3.tit { margin: 0 0 1rem 0; font-size: 1.3rem; font-weight: bold; text-align: center; border-bottom:dotted 2px #999;}
ul.sample li ul.sample_item { display: flex; flex-wrap: wrap; justify-content:space-between; align-items: center;}
ul.sample li ul.sample_item li { border: none; padding: 0; margin-bottom: 0.5rem;}
ul.sample li ul.sample_item li.image { width: 42%;}
ul.sample li ul.sample_item li.txt { width: 56%; font-size: 1.2rem; font-weight: bold; text-align: center; }
ul.sample li ul.sample_item li.txt span {display: block; font-size: 0.8rem; font-weight: normal;}
ul.sample li img {max-width: 100%; height: auto;}


ul.request { display: flex; flex-wrap: wrap; justify-content:space-around; }
ul.request li {
  width: 100%;
  margin-bottom: 1rem;
  padding: 20px;
  display: flex;
  flex-direction: column;
  list-style: none;
  border: 4px solid #A88E72;
  border-radius: 10px;
  line-height: 1;
  color: #333;
  background: #E7F6F8;
}
ul.request li p.txt{
  font-size: 1rem;
  text-align: center;
  line-height: 1.7;
}
ul.request li .btn a { padding: 0.9rem 0;}


.benefit_List {
  margin: 30px auto;
  text-align: left;
}
.benefit_List ol{
  list-style-type: decimal;
  line-height: 2;
  font-size: 0.9rem;
  overflow: hidden;
}
.benefit_List ol li{
  list-style-type: decimal;
  margin-bottom: 0.8rem;
  padding-left: 1rem;
  background: #fff;
  list-style-position: inside;
}


.flow { margin: auto;}
.flow img {max-width: 100%;}

h4.tit {font-size: 1.1rem; font-weight: bold; border-left:5px solid #333; padding-left: 0.8rem;}
ul.normal { list-style: none; padding-left: 2rem;  margin-bottom: 2rem;}
ul.normal li { list-style: disc; }


.table_circle{
  border-collapse: collapse;
  text-align: center;
  margin: 0 auto 2rem;
}
.table_circle tr { border:none; }
.table_circle th { padding: 10px; border-top:solid 1px #666; border-bottom:solid 1px #666; border-left:none; background: #BBDFF0; }
.table_circle td { padding: 10px; border-top:solid 1px #666; border-bottom:solid 1px #666;border-right:none; background: #fff; }
.table_circle span { font-size:1rem; }


.btn {margin-top: auto;}
.btn a {
  display: block;
  margin-top: 1rem;
  padding: 0.5rem 2.5rem 0.5rem 1rem;
  background: #6ABFED;
  border: 2px solid #333;
  border-radius: 10rem;
  color: #333;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  font-size: 1rem;
  position: relative;
  transition: 0.3s;
  }
.btn a::after {
  position: absolute;
  right: 20px;
  top: 40%;
  content: "";
  display: block;
  width: 23px;
  height: 9px;
  background: url(../../../core_sys/images/sys/arrow_yellow.png) no-repeat;
  background-size: 23px 9px;
  transition: 0.3s;
}
.btn a:hover{
  color:#fff;
  background: #1a8fe9;
  border: solid 2px #333;
  box-shadow: 0 8px 15px -8px rgba(0,0,0,0.8);
}
.btn a:hover::after {
  right: 10px;
}

/* SNS アイコン
---------------------------------------------*/
ul.sns {display: flex; flex-wrap: wrap; justify-content: space-around;}
ul.sns li { width: 50%; text-align: center;}
ul.sns li img { width:50%; }
ul.sns li p {margin-top: 1rem;}
ul.sns li p a {color: #333; }

/* トップへボタン
-------------------- */
/* ボタンのスタイル */
#page-top {
  /* buttonタグのリセットCSS */
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  /* ボタンの装飾 */
  position: fixed;
  right: 10px;
  bottom: 65px;
  z-index: 100;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #115582;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
/* 矢印のスタイル */
#page-top::before {
  content: "";
  width: 12px;
  height: 12px;
  margin-bottom: -6px;
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
  transform: rotate(-45deg);
}
/* ホバー時のスタイル */
#page-top:hover { transform: scale(1.1);}

/* 右固定バナー
---------------------------------------------*/
/* 右固定バナー
---------------------------------------------*/
#R-bnr {position: fixed; bottom:0; margin: 0 auto; left:0; right:0; display: flex; flex-wrap: wrap; align-items: center; justify-content: center;}
#R-bnr .fixed_btn { width: 100%; border-bottom: 1px solid #fff; height: 3.8rem}
#R-bnr .fixed_btn.first,
#R-bnr .fixed_btn.second{
    width: 50%;
    background: #00BAE3;
}
#R-bnr .fixed_btn a { 
    display: block;
    font-size: 0.8rem;
    color: #FFFF00;
    text-align: center;
    text-decoration: none;
    padding: 0.8rem 0.2rem;
    height: 4rem;
    border-right: 1px solid #fff;
    }
#R-bnr .fixed_btn a::after {background: none;}

/* note */
#note { border: 3px solid #999; margin: 1rem; border-radius: 6px; display: inline-block; padding: 1rem; line-height: 1.5; }
#note p { margin: 0px; padding: 0px; font-size: 1rem; font-weight:bold; }