@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Roboto:400');

/*----------------------------------------------------
Default Layout
----------------------------------------------------*/
html {
	overflow-y:scroll;
	font-size:62.5% !important;
}
body {
	width:100%;
	margin:0;
	padding:0;
	color:#222;
	font-family: Roboto, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	line-height:1.6;
	font-size:16px;
	font-size:1.6rem;
    letter-spacing: 0.1em;
	word-wrap : break-word;
	overflow-wrap : break-word;
}

/* --- link --- */
a,
a:link,
a:visited {
	color:#096148;
	outline:none;
	text-decoration:none;
}
a:hover,
a:active,
a:focus {
	color:#c23c31;
	text-decoration:underline;
}
a:hover img,
a:active img,
a:focus img {
	opacity:0.8;
	filter:alpha(opacity=80);
	-o-opacity:0.8;
	-ms-filter:"alpha(opacity=80)";
	-moz-opacity:0.8;
	-webkit-opacity:0.8;
	transition:opacity .2s linear;
	-o-transition:opacity .2s linear;
	-ms-transition:opacity .2s linear;
	-moz-transition:opacity .2s linear;
	-webkit-transition:opacity .2s linear;
}
a img {
	border-style: none;
}
ul,
ol {
	margin:0;
	padding:0;
}
ul li,
ol li {
	list-style: none;
}
img {
	max-width:100%;
	height:auto;
}
/*----------------------------------------------------
General Layout
----------------------------------------------------*/
/* --- clear fix --- */
.cf {zoom:1;}
.cf:before,.cf:after {content:""; display:table;}
.cf:after {clear:both;}

.clear {clear:both;}

.img-l {
	float:left;
	margin:0 40px 20px 0;
}
.img-r {
	float:right;
	margin:0 0 20px 40px;
}
.txt{
    overflow: hidden;
}
.float-l {
	float: left;
}
.float-r {
	float: right;
}
.layout-l {
	text-align:left !important;
}
.layout-c {
	text-align:center !important;
}
.layout-r {
	text-align:right !important;
}
.txt-large {
	font-size:20px;
	font-size:2.0rem;
}
.txt-small {
	font-size:12px;
	font-size:1.2rem;
}
.txt-red{
    color:#c23c31;
}
.txt-read{
    line-height:2.0;
}

.mgn_t0 {
	margin-top: 0px !important;
}
.mgn_t5 {
	margin-top: 5px !important;
}
.mgn_t10 {
	margin-top: 10px !important;
}
.mgn_t20 {
	margin-top: 20px !important;
}
.mgn_t30 {
	margin-top: 30px !important;
}
.mgn_t40 {
	margin-top: 40px !important;
}
.mgn_t60 {
	margin-top: 60px !important;
}
.mgn_t-5 {
	margin-top: -5px !important;
}
.mgn_t-10 {
	margin-top: -10px !important;
}
.mgn_t-20 {
	margin-top: -20px !important;
}
.mgn_t-30 {
	margin-top: -30px !important;
}
.mgn_t-60 {
	margin-top: -60px !important;
}
.mgn_b0 {
	margin-bottom: 0px !important;
}
.mgn_b5 {
	margin-bottom: 5px !important;
}
.mgn_b10 {
	margin-bottom: 10px !important;
}
.mgn_b20 {
	margin-bottom: 20px !important;
}
.mgn_b-20 {
	margin-bottom: -20px !important;
}
.mgn_b25 {
	margin-bottom: 25px !important;
}
.mgn_b30 {
	margin-bottom: 30px !important;
}
.mgn_b40 {
	margin-bottom: 40px !important;
}
.mgn_b60 {
	margin-bottom: 60px !important;
}

.mgn_r0 {
	margin-right: 0px !important;
}
.mgn_r5 {
	margin-right: 5px !important;
}
.mgn_r10 {
	margin-right: 10px !important;
}
.mgn_r20 {
	margin-right: 20px !important;
}
.mgn_r30 {
	margin-right: 30px !important;
}
.mgn_r40 {
	margin-right: 40px !important;
}

.mgn_l0 {
	margin-left: 0px !important;
}
.mgn_l5 {
	margin-left: 5px !important;
}
.mgn_l10 {
	margin-left: 10px !important;
}
.mgn_l20 {
	margin-left: 20px !important;
}
.mgn_l30 {
	margin-left: 30px !important;
}
.mgn_l40 {
	margin-left: 40px !important;
}
.mgn_l60 {
	margin-left: 40px !important;
}

.pdg_t0 {
	padding-top: 0px !important;
}
.pdg_t5 {
	padding-top: 5px !important;
}
.pdg_t10 {
	padding-top: 10px !important;
}
.pdg_t20 {
	padding-top: 20px !important;
}
.pdg_t30 {
	padding-top: 30px !important;
}
.pdg_t35 {
	padding-top: 35px !important;
}
.pdg_t40 {
	padding-top: 40px !important;
}
.pdg_b0 {
	padding-bottom: 0px !important;
}
.pdg_b5 {
	padding-bottom: 5px !important;
}
.pdg_b10 {
	padding-bottom: 10px !important;
}
.pdg_b20 {
	padding-bottom: 20px !important;
}
.pdg_b30 {
	padding-bottom: 30px !important;
}
.pdg_b40 {
	padding-bottom: 40px !important;
}

.pdg_r0 {
	padding-right: 0px !important;
}
.pdg_r5 {
	padding-right: 5px !important;
}
.pdg_r10 {
	padding-right: 10px !important;
}
.pdg_r20 {
	padding-right: 20px !important;
}
.pdg_r30 {
	padding-right: 30px !important;
}
.pdg_r40 {
	padding-right: 40px !important;
}
.pdg_r100 {
	padding-right: 100px !important;
}
.pdg_l0 {
	padding-left: 0px !important;
}
.pdg_l5 {
	padding-left: 5px !important;
}
.pdg_l10 {
	padding-left: 10px !important;
}
.pdg_l15 {
	padding-left: 10px !important;
}
.pdg_l20 {
	padding-left: 20px !important;
}
.pdg_l30 {

	padding-left: 30px !important;
}
.pdg_l40 {
	padding-left: 40px !important;
}
.pdg_l100 {
	padding-left: 100px !important;
}

.f10 {
	font-size: 10px !important;
}
.f12 {
	font-size: 12px !important;
}
.f14 {
	font-size: 14px !important;
}
.f16 {
	font-size: 16px !important;
}
.f18 {
	font-size: 18px !important;
}
.f20 {
	font-size: 20px !important;
}
.f21 {
	font-size: 21px !important;
}
.f22 {
	font-size: 22px !important;
}
.f24 {
	font-size: 24px !important;
}
.f26 {
	font-size: 26px !important;
}
.f28 {
	font-size: 28px !important;
}
.bold {
	font-weight: bold !important;
}
.border{
    border: 1px solid #d8b53d;
    padding: 1em;
}
.letter-n{
	letter-spacing:normal !important;
}
.letter-w{
	letter-spacing:0.125em !important;
}
.nowrap{
	white-space: nowrap;
}
.br{
	display: inline-block;
}


/*----------------------------------------------------
Base Layout PC
----------------------------------------------------*/

/*----------------------------
共通要素のレイアウト
----------------------------*/
#page {
	position: relative;
}

/* センターボックス */
@media screen and (min-width: 768px), print {
  .box-center {
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 60px;
    position: relative; } }

@media screen and (max-width: 767px) {
  .box-center {
/*    padding: 0 20px;*/
    position: relative; } }

/*----------------------------------------------------
header
----------------------------------------------------*/
header {
  z-index: 1000; }
header {
  box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  min-width: 1120px; }


@media screen and (min-width: 768px), print {
#header {
    position: fixed !important;
    background-color: #FFF;
    height: 105px;
    margin-bottom: 46px;
    padding-top: 20px; }
#header .head-logo a {
    width: 200px;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear; }
#header .head-logo a:hover {
    opacity: .8; }

#header .head-lang {
    position: absolute;
    top: -10px;
    right: 60px;
    letter-spacing: 0px }
#header .head-lang li {
    margin-left: 15px;
  }
#header .head-lang ul li {
    display: inline-block;
    font-size: 13px;
}
#header .head-lang ul li a {
    color: #222;
    text-decoration: none;
}
#header .head-lang ul li a:hover {
    color: #096148;
}

#header #gNav {
    position: absolute;
    top: 60px;
    right: 60px;
}
#header #gNav .head-nav {
    letter-spacing: -.4em;
    line-height: 1;
    text-align: right;
}
#header #gNav .head-nav li {
    border-right: 1px solid #d4d4d4;
    display: inline-block;
    letter-spacing: normal;
}
#header #gNav .head-nav li:first-child {
    border-left: 1px solid #d4d4d4;
}
#header #gNav .head-nav li a:hover {
    color: #8c8c8c;
    text-decoration: none;
}
#header #gNav .head-nav li.active a {
    color: #096148;
}
#header #gNav .head-nav li.activeParent a {
    color: #096148;
}
#header #gNav .head-nav span {
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 0em;
    padding: 0 10px;
}

#header #gNav .head-utility-wrap {
    position: absolute;
    top: -30px;
    right: 0px; }
#header #gNav .head-utility {
    letter-spacing: -.4em;
    line-height: 1;
    position: absolute;
    top: 0;
    right: 0px;
    white-space: nowrap;
}
#header #gNav .head-utility li {
    display: inline-block;
    margin-left: 20px;
    letter-spacing: normal;
    font-size: 14px;
    font-size: 1.4rem;
}
#header #gNav .head-utility li a:hover {
    color: #8c8c8c;
    text-decoration: none;
}

#header .btn {
    display: none;
}
}



@media screen and (max-width: 767px) {
header {
    min-width: 100%;
    z-index: 1000;
}
header {
    position: fixed;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.13);
}
header .container {
     padding: 0;
}

#header .head-inner {
    background-color: #FFFFFF;
    /* height: 80px; */
	height: auto; /* 2020.06.25 メニューが増えたときに表示が崩れたため修正 */
    position: relative;
}

#header .head-logo {
    padding-top: 0px;
    padding-left: 10px;
    width: 245px;
}
#header .head-logo a {
	display: block;
	padding: 10px 10px 0 0;
}
#header .head-logo a:hover {
	opacity: .8; }

#header .head-lang {
    position: relative;
    border-bottom: 1px solid #ddd ;
    top: 3px;
    letter-spacing: 0px;
}
#header .head-lang ul {
    font-size: 11px;
    text-align: center;
}
#header .head-lang ul li {
    display: inline-block;
    margin-left: 5px;
}
#header .head-lang  li a {
	text-decoration: none;
	color: #222222;
}
#header .head-lang li a:hover,
#header .head-lang li a.active {
	color: #096148;
}

#header .btn {
	position: absolute;
    right: 0;
    top: 0;
    height: 55px;
    width: 50px; 
}
#header .btn .icon-bar {
	display: block;
	width: 36px;
	height: 2px;
    left: 22px;
	border-radius: 1px;
	background-color: #096148;
	margin-top: 6px;
}
#header .btn .icon-bar-label {
    color: #096148;
    font-size: 11px;
    display: block;
    margin-top: 5px;
}
#header .btn .icon-bar:first-child {
	margin-top: 40px;
}


#gNav {
    display: block;
    background-color: #FFFFFF;
    padding: 10px;
}
#gNav ul {
	display: none;
}
#gNav ul.open {
	display: block;
}

#gNav::after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
#gNav li {
    background-color: #FFFFFF;
    float: left;
    margin-bottom: 10px;
    text-align: center;
    width: 50%;
    font-size: 12px;
    font-size: 1.2rem;
}
#gNav li:nth-child(2n) {
    margin-right: -10px;
}
#gNav li.active {
    background-color: #d0e6fc;
}
#gNav a {
    display: block;
    padding: 3px;
}
#gNav a:hover {
    text-decoration: none;
}
#gNav span {
    display: block;
    padding: 10px 0;
    position: relative;
    speak: none;
    letter-spacing: 0px;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1.1;
    /* Better Font Rendering =========== */
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
}
#gNav span:after {
    color: #096148;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 3px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 18px;
    font-size: 1.8rem;
}
#gNav img {
    height: auto;
    width: 100%;
}


#gNav .head-utility li {
    line-height: 1;
    margin-bottom: 10px;
    font-size: 13px;
    font-size: 1.3rem;
}
#gNav .head-utility li:last-child {
    margin-bottom: 0;
}
#gNav .head-utility li.active span {
    background-color: #d0e6fc;
}
#gNav .head-utility a {
    text-decoration: none !important;
}
#gNav .head-utility span {
    background-color: #FFFFFF;
    border: 1px solid #cecece;
    display: block;
    padding: 16px 0px;
    position: relative;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
#gNav .head-utility span:before {
    display: none;
}
#gNav .head-utility span:after {
    color: #212121;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 18px;
    font-size: 1.8rem;
}
}

/* 言語ごとのスタイル調整 */
@media screen and (min-width: 768px), print {
  html[lang="vi"] .head-nav span {
    font-size: 12px;
    font-size: 1.2rem; } }

@media screen and (max-width: 767px) {
  html[lang="vi"] .head-nav li:nth-child(4) span {
    letter-spacing: -.05em;
    padding: 11px 14px 11px 0;
    font-size: 12px;
    font-size: 1.2rem; }
  html[lang="vi"] .head-nav span:after {
    font-size: 14px;
    font-size: 1.4rem; } }


/* --- お問い合わせボタン ヘッダー --- */
#unav .contact {
  background:url(../images/icon_mail_top.png) 1.5em center no-repeat;
  border: 2px solid #222;
  margin-left: 0.5em;
  font-size: 20px;
  font-size: 2.0rem;
  letter-spacing:normal;
}
#unav .contact a,
#unav .contact a:link,
#unav .contact a:visited{
    display: block;
    padding: 0.7em 1.5em 0.5em 3.2em;
	color: #222;
}
#unav .tel {
  background:url(../images/icon_tel.png) 0 center no-repeat;
  font-size: 24px;
  font-size: 2.4rem;
}
#unav .tel a,
#unav .tel a:link,
#unav .tel a:visited{
    display: block;
    padding: 0.2em 0 0.2em 1.0em;
	color: #222;	
}
#unav .contact a:hover,
#unav .contact a:active,
#unav .contact a:focus,
#unav .tel a:hover,
#unav .tel a:active,
#unav .tel a:focus{
	color: #222;
}
/* --- メインビジュアル --- */
.mainvisualWrap{
	clear:both;
	width:100%;
	margin:0 auto;
	background:url(../images/bg_topimg.jpg) 0 0 repeat-x;
}
.mainvisual{
	width:100%;
    max-width: 1120px;
    position: relative;
	margin:0 auto;
    padding: 50px 0 0;
}
.mainvisual img{
    float: right;
	width:100%;
	max-width: 700px;
	height:auto;
    margin:10px;
    box-shadow: 10px 10px rgba(10, 61, 23, 0.8);
}
.mainvisualWrap .messageArea{
    float: left;
    position:absolute;
    top:50px;
    left:0;
    font-size:20px;
    font-size: 2.0rem;
    letter-spacing:0.1em;
    font-weight: bold;
    line-height: 1.8;
    z-index: 9999;
    color:#e9cd4c;
}
.mainvisualWrap .messageArea p{
    margin: 0.2rem;
}
.mainvisualWrap .messageArea .messageArea_marker{
    display: inline-block;
    padding: 0 1.5rem;
    margin: 0.2em .5em;
    background: rgba(233, 205, 76, 0.7);
    color:#0f441d;
}
.mainvisualWrap .messageArea .message2{
    margin-left: 4rem;
}
.mainvisualWrap .messageArea .message2 .message2_mgn{
    margin-left: 10px;
}
.mainvisualWrap .messageArea .message2 .message2_mgn_2{
    margin-left: 20px;
}
.mainvisualWrap .messageArea .message3{
    margin-left: 6rem;
}
.mainvisualWrap .messageArea .message3 .message3_mgn{ margin-left: 10px;}
.mainvisualWrap .messageArea .message3 .message3_mgn_2{
    margin-left: 20px;
}
/*=== テキストアニメーション ======================================= */

@-webkit-keyframes fade1 {
    0% {
        opacity: 0;
    }

    20% {
        opacity: 1;
    }

    40% {
        opacity: 0;
    }

    60% {
        opacity: 0;
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes fade1 {
    0% {
        opacity: 0;
    }

    20% {
        opacity: 1;
    }

    40% {
        opacity: 0;
    }

    60% {
        opacity: 0;
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@-webkit-keyframes fade2 {
    0% {
        opacity: 0;
    }

    20% {
        opacity: 0;
    }

    40% {
        opacity: 1;
    }

    60% {
        opacity: 0;
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}


@keyframes fade2 {
    0% {
        opacity: 0;
    }

    20% {
        opacity: 0;
    }

    40% {
        opacity: 1;
    }

    60% {
        opacity: 0;
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@-webkit-keyframes fade3 {
    0% {
        opacity: 0;
    }

    20% {
        opacity: 0;
    }

    40% {
        opacity: 0;
    }

    60% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes fade3 {
    0% {
        opacity: 0;
    }

    20% {
        opacity: 0;
    }

    40% {
        opacity: 0;
    }

    60% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.messageArea .message1 {

    -webkit-animation: fade1 15s ease;

    animation: fade1 15s ease;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.messageArea .message2 {

    -webkit-animation: fade2 15s ease;

    animation: fade2 15s ease;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.messageArea .message3 {

    -webkit-animation: fade3 15s ease;
    animation: fade3 15s ease;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.main {
	clear: both;
	width:100%;	
}
#index section{
margin-bottom:0;
}
.main section{
margin-bottom: 80px;
}
.main .wrap{
margin-bottom: 40px;
}
.bg{
	background: url(../images/bg_white.jpg) 0 0 repeat;
}
.bgLogo{
	background: url(../images/bg_logo.png) 0 0 no-repeat;	
}
/* --- inner --- */
#index .inner{
	width:100%;
	max-width:960px;
	margin:0 auto;
	padding:40px 0;
}
.main .inner{
	width:100%;
	max-width:960px;
	margin:0 auto 50px;
	padding:0;
}
footer .inner{
	width:100%;
	max-width:960px;
	margin:0 auto;
	padding:50px 0 30px;
}
/* --- footer --- */
footer {
	clear:both;
	text-align: center;
	font-size:14px;
	font-size:1.4rem;
    border-top: 1px solid #d4d4d4;
}

.foot-nav {
  letter-spacing: -.4em;
  line-height: 1;
  margin-bottom: 30px;
  text-align: center; }
  .foot-nav li {
    border-left: 1px solid #d4d4d4;
    display: inline-block;
    letter-spacing: .02em; }
    .foot-nav li:first-child {
      font-family: 'Roboto', sans-serif; }
    .foot-nav li:last-child {
      border-right: 1px solid #d4d4d4; }
  .foot-nav li.activeParent a {
    color: #096148; }
  .foot-nav li.active a {
    color: #096148; }
  .foot-nav a {
    display: block;
    padding: 2px 20px; }
    .foot-nav a:hover {
      color: #8c8c8c;
      text-decoration: none; }

.foot-utility {
  letter-spacing: -.4em;
  line-height: 1;
  margin-bottom: 60px;
  text-align: center; }
  .foot-utility li {
    display: inline-block;
    margin: 0 10px;
    letter-spacing: .02em; }
    .foot-utility li a:hover {
      color: #8c8c8c;
      text-decoration: none; }
  .foot-utility span {
    display: block;
    position: relative; }
    .foot-utility span:before {
      margin-right: 5px;
      position: absolute;
      left: 0; }

.foot-info-logo {
  border-left: 1px solid #d4d4d4;
  border-right: 1px solid #d4d4d4;
  text-align: center;
  padding: 8px 40px 0 40px; }
.foot-info-address {
  border-right: 1px solid #d4d4d4;
  color: #000;
  text-align: left;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: normal; }
.copyright {
    border-top: 1px solid #d4d4d4;
    padding: 20px 0;
	font-size:12px;
	font-size:1.2rem;
	line-height: 2.0;
    color:#919191;
    font-weight: normal;}

@media screen and (max-width: 767px) {
  .foot-info-logo {
  border-left: none;
  border-right: none;
  text-align: center;
  padding: 8px 40px 0 40px; }
  .foot-info-address {
  border-right: none;
  color: #000;
  text-align: center;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: normal; }
}

/* --- pagetop --- */
.pagetop {
	position: fixed;
	width: 60px;
	height: 60px;
	right: 10px;
	bottom: 20px;
	z-index: 1000;
}
/* --- パンくず --- */
.main .path{
	width: 100%;
	max-width: 960px;
	margin:0 auto;
	padding:20px;
	font-size: 12px;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	color:#666;
}
.main .path li {
	float: left;
	padding:0;
}
.main .path li a {
	display: inline-block;
	padding: 0 10px 0 0;
	margin: 0 5px 0 0;
	background: url(../images/arrow_s.png) right 50% no-repeat;
	}

/* --- 見出し --- */
.page-ttl {
    padding: 60px 0 60px;
    margin-top: 85px;
}
#school .page-ttl{
    background:url(../images/h1_school.jpg) 0 0 / cover;
}
#admission .page-ttl{
    background:url(../images/h1_admission.jpg) 0 0 / cover;
}
#expenses .page-ttl{
    background:url(../images/h1_expenses.jpg) 0 0 / cover;
}
#course .page-ttl{
    background:url(../images/h1_course.jpg) 0 0 / cover;
}
#schoollife .page-ttl{
    background:url(../images/h1_schoollife.jpg) 0 0 / cover;
}
#residence .page-ttl{
    background:url(../images/h1_residence.jpg) 0 0 / cover;
}
#access .page-ttl{
    background:url(../images/h1_access.jpg) 0 0 / cover;
}
#download .page-ttl{
    background:url(../images/h1_download.jpg) 0 0 / cover;
}
#recruit .page-ttl{
    background:url(../images/h1_recruit.jpg) 0 0 / cover;
}
#recruitthanks .page-ttl{
    background:url(../images/h1_recruitthanks.jpg) 0 0 / cover;
}
#inquiry .page-ttl{
    background:url(../images/h1_inquiry.jpg) 0 0 / cover;
}
#thanks .page-ttl{
    background:url(../images/h1_thanks.jpg) 0 0 / cover;
}
#selfinspection .page-ttl{
    background:url(../images/h1_selfinspection.jpg) 0 0 / cover;
}
#privacy .page-ttl{
    background:url(../images/h1_privacy.jpg) 0 0 / cover;
}
.ttl01 {
    margin-left: 30px;
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1.2;
    letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
 .page-ttl {
    margin-top: 33px;
}
.ttl01 {
    font-size: 22px;
    font-size: 2.2rem;}
}

.main h2{
	font-size:22px;
	font-size:2.2rem;
	margin-bottom: 1.5em;
	padding:0;
    border-bottom: 2px solid;
}
#index.main h2{
	font-size:22px;
	font-size:2.2rem;
	margin-bottom: 1.5em;
	padding:0;
	text-align:center;
}
/*
.main h2,footer h2 {
    clear: both;
	font-size:22px;
	font-size:2.2rem;
	margin:0 -20px 30px;
	padding:0;
	text-align:center;
}
.main h2 span.jpn,.main h2 span,footer h2 span.jpn,footer h2 span{
	display:inline-block;
	border-bottom:3px solid #096148;
	padding-bottom:3px;
	margin-bottom:10px;
}
.main h2 span.eng,footer h2 span.eng{
	display:block;
	margin:0 auto;
	font-size:14px;
	font-size:1.4rem;
	border-bottom:none;
	padding-bottom:0;
    letter-spacing:normal;
}
*/
.main h3{
	font-size:20px;
	font-size:2.0rem;
	padding-top:0.5em;
	margin-bottom:1.0em;
}
.main#index h3{
	letter-spacing:normal;
}
footer h3{
	font-size:24px;
	font-size:2.4rem;
	padding:0.5em 0 0.2em;
}
.main h4 {
    display: inline-block;
	padding: 0 0.3em;
	margin-bottom:.5em;
    background: #f1f1f1;
	font-size:18px;
	font-size:1.8rem;
    line-height: normal;
}
.main h5{
	font-size:18px;
	font-size:1.8rem;
	padding:0.3em 0.8em 0;
	margin-bottom:5px;
	background:#f3edd2;
	display: inline-block;
}

.main p,footer p{
	margin-bottom:15px;
}
/* --- リスト --- */
.main ul {
	margin-bottom: 1em;
}
.main ul li {
	position: relative;
	margin-bottom: 4px;
	padding-left: 20px;
}
.main ul li:before {
	content: " ";
	position: absolute;
	left: 0.2em;
	top: 0.45em;
	width: 10px;
	height: 10px;
	background:#d5bd4c url(../images/bg_yellow.jpg) repeat left bottom;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	-o-border-radius: 5px;
	-ms-border-radius: 5px;	
	border-radius: 5px;
}
.main .mfp ul li:before {
	content:inherit;
	position:inherit;
	left: 0;
	top:0;
	width:0;
	height:0;
	background: none;
	-moz-border-radius:0;
	-webkit-border-radius:0;
	-o-border-radius:0;
	-ms-border-radius:0;	
	border-radius:0;
}
/*※リスト*/
.main ul.note li:before{
    content: "※";
    top: 0;
    background: none;
}
.main ol {
	margin-bottom: 10px;
	padding-left: 1.4em;
}
.main ol li {
	margin-bottom: 5px;
	list-style-type: decimal;
	list-style-position: outside;
}
.main ul.path li:before {
	width: 0;
	height: 0;
}
/* --- リンク --- */
.main a.link,
.main a.link:link,
.main a.link:visited {
	display: inline-block;
	padding-left: 0.8em;
	margin:0 0.2em;
	color: #096148;
	background: url(../images/arrow_green.png) left 0.3em no-repeat;
}
.main a.link:hover,
.main a.link:active,
.main a.link:focus {
	color: #c23c31;
	background: url(../images/arrow_red.png) left 0.3em no-repeat;
	text-decoration:underline;
}
/* --- リンク-ボタン --- */
.main a.btn,
.main a.btn:link,
.main a.btn:visited{
	display: inline-block;
	margin: 0;
	padding:8px 20px 5px 30px;
	letter-spacing:normal;
	color:#222;
	font-size:14px;
	font-size:1.4rem;
    line-height: 1.4;
	background:url(../images/arrow.png) 15px center no-repeat;
	text-decoration:none;
	border:1px solid #222;
}
.main a.btn:hover,
.main a.btn:active,
.main a.btn:focus{
	color: #c23c31;
	background:url(../images/arrow_red.png) 15px center no-repeat;
	border:1px solid #c23c31;
	text-decoration:underline;
}
.c-btn1__alt1 { font-size: 12px; text-align: center; }
.c-btn1__alt1 a { background: #fff; color: #959595; text-decoration: none; display: inline-block; padding: 7px 26px; border: 1px solid #808080; }
.c-btn1__alt1 a:hover { background: #096148; color: #fff; }

/* --- PDF --- */
a[href$=".pdf"]:after {
    content:" ";
    display: inline-block;
    width: 27px;
    height: 24px;
    background: url(../images/pdf.png) no-repeat 3px bottom;
}
.btnBox a[href$=".pdf"]:after,#languagenav a[href$=".pdf"]:after {
    content:inherit;
    display:inherit;
    width: 0;
    height: 0;
    background: none;
}
/* --- Excel --- */
a[href$=".xlsx"]:after {
    content:" ";
    display: inline-block;
    width: 27px;
    height: 24px;
    background: url(../images/excel.png) no-repeat 3px bottom;
}
.btnBox a[href$=".xlsx"]:after,#languagenav a[href$=".xlsx"]:after {
    content:inherit;
    display:inherit;
    width: 0;
    height: 0;
    background: none;
}
/* --- Word --- */
a[href$=".doc"]:after {
    content:" ";
    display: inline-block;
    width: 27px;
    height: 24px;
    background: url(../images/word.png) no-repeat 3px bottom;
}
.btnBox a[href$=".doc"]:after,#languagenav a[href$=".doc"]:after {
    content:inherit;
    display:inherit;
    width: 0;
    height: 0;
    background: none;
}

/* --- テーブル --- */
.main table {
	width: 100%;
	margin:0 auto 20px;
	border-left: 1px solid #C7C2B9;
	border-top: 1px solid #C7C2B9;
}
.main table th,
.main table td {
	padding: 5px 10px;
	vertical-align: middle;
	border-right: 1px solid #C7C2B9;
	border-bottom: 1px solid #C7C2B9;
}
.main table th {
	text-align: center;
	font-weight: normal;
	white-space: nowrap;
	background: #f3edd2;
}
/* --- テーブル-stylishTable --- */
.main table.stylishTable {
	width: 100%;
	margin-bottom: 20px;
	border-left:none;
	border-top:none;
}
.main .stylishTable th {
	padding: 5px;
	text-align: left;
	font-weight: normal;
	white-space: nowrap;
	vertical-align: middle;
	background: url(../images/line_th.png) 0 bottom repeat-x;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	border-right:none;
	border-bottom:none;
}
.main .stylishTable th h3{
    margin: 0;
    padding: 0;
}
.main .stylishTable td ul{
    margin: 0;
}
.main .stylishTable td {
	padding: 8px 3.4%;
	vertical-align:middle;
	background: url(../images/dot.png) 0 bottom repeat-x;
	border-right:none;
	border-bottom:none;
}
/* --- テーブル-scroll- --- */
.main .scrollTable{
    width: 100%;
    overflow: auto;
    margin-bottom: 20px;
    -webkit-overflow-scrolling: touch;
}
.main .scrollTable table{
    margin-bottom: 10px;
    max-width: initial;
}
.main .scrollTable::-webkit-scrollbar{
    height:13px;
}
.main .scrollTable::-webkit-scrollbar-track{
    background:#F1F1F1;
}
.main .scrollTable::-webkit-scrollbar-thumb{
    background:#BCBCBC;
}

/*------------------------
トップ
-------------------------*/
/* --- introArea --- */
.introArea .border{
    border-bottom: 1px solid #ccc;
    padding:1em 0;
}
.introArea .border:last-child{
    border-bottom: none;
}
/* 立体的なボタン　*/
a.btnBox {
    position: relative;
    display: inline-block;
    width: 100%;
	padding: 1.0em;
    padding-left: 2.2em;
    background:url(../images/bg_yellow.jpg) left bottom repeat;
    color: #222;
    font-size:20px;
	font-size:2.0rem;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    line-height: 52px;
    box-shadow: 0 5px 0 #937f3c;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}
a.btnBox:before {
    position: absolute;
    content : url(../images/icon_dl.png);
    margin-top: 7px;
    margin-left: -1.7em;
}
a.btnBox:after{
    display: none;
}
a.btnBox:hover{
	opacity:0.8;
	filter:alpha(opacity=80);
	-o-opacity:0.8;
	-ms-filter:"alpha(opacity=80)";
	-moz-opacity:0.8;
	-webkit-opacity:0.8;
	transition:opacity .2s linear;
	-o-transition:opacity .2s linear;
	-ms-transition:opacity .2s linear;
	-moz-transition:opacity .2s linear;
	-webkit-transition:opacity .2s linear;
}
a.btnBox:active {
    top: 5px;
    box-shadow: none;
}
footer a.btnBox{
    width: auto;
    padding: 0.3em 2.5em 0.3em 4em;
    background:url(../images/bg_green.jpg) left bottom repeat;/*ボタン色*/
	color:#fff;
    box-shadow: 0 5px 0 #0a3d17;
}
footer a.btnBox:before {
    content : url(../images/icon_mail.png);
    margin-top: 2px;
    margin-left: -1.5em;
}

/* --- newsArea --- */
.newsArea dl {
	float:left;
	width:100%;
	overflow: hidden;
	margin-bottom: 1.5em;
}
.newsArea dl dt {
	clear: both;
	float: left;
}
.newsArea dl dd {
	padding: 0 0em 1em 7em;
	margin: 0 0 1em;
	background:url(../images/dot.png) left bottom repeat-x;
}
time{
	font-size:14px;
	font-size:1.4rem;
}
.newsArea dl a,
.newsArea dl a:link,
.newsArea dl a:visited {
	color:#222;
}
.newsArea dl a:hover,
.newsArea dl a:active,
.newsArea dl a:focus {
	color:#c23c31;
}

/* ボックスリンク1　*/
.box-link01 {
        margin-top: 15px;
        box-sizing: border-box;
        width: 100%; }
.box-link01 a {
          display: block;
          padding: 15px 12px;
          border: 1px solid #e5e5e5;
          background: #fff;
          color: #000;
          text-decoration: none;
          -webkit-transition: 0.1s;
          transition: 0.1s; }
.box-link01 a:hover {
            background: #f5cd00; }
.box-link01 .box-link01-img {
          margin-bottom: 13px; }
.box-link01 .box-link01-img img {
            width: 100%;
            -webkit-backface-visibility: hidden; }
.box-link01 .box-link01-ttl {
          margin-bottom: 8px;
          text-align: center;
          line-height: 1.4;
          font-style: normal;
          font-weight: normal;
          font-size: 18px;
          font-size: 1.8rem; }
.box-link01 .box-link01-txt {
          line-height: 1.5em;
          text-align: left;
          font-size: 14px; }

/*------------------------
下層ページ
-------------------------*/
/* --- tabList --- */
.tabList{
    margin-bottom: 40px;
}
.tabList ul{
    margin: 0;
    border-bottom: 2px solid #096148;
}
.tabList ul li{
    position: static;
    margin: 0;
    padding: 0;
}
.tabList ul li+li{
    padding-left: 10px;
}
.tabList ul li:before{
    background: none;
}
.tabList ul li a, .tabList ul li.col.current{
    display: block;
    padding: 20px 10px 15px;
    background: -webkit-linear-gradient(225deg, transparent 14px, #eaeaea 14px);
    background: -o-linear-gradient(225deg, transparent 14px, #eaeaea 14px);
    background: linear-gradient(225deg, transparent 14px, #eaeaea 14px);
    background-position: top right;
    background-repeat: no-repeat;
    text-decoration: none;
}
.tabList ul li a:hover,.tabList ul li.col.current{
    background: -webkit-linear-gradient(225deg, transparent 14px, #096148 14px);
    background: -o-linear-gradient(225deg, transparent 14px, #096148 14px);
    background: linear-gradient(225deg, transparent 14px, #096148 14px);
    background-position: top right;
    background-repeat: no-repeat;
    color: #fff;
}
/* --- 出願資格・入学までの流れ --- */
.main .flow {
    margin-left: 15px;
    border-left: 2px solid #d5b338;
}
.main .flow ol{
    counter-reset: number 0;
    margin-left: -14px;
    padding:0;
}
.main .flow ol li{
    list-style-type: none;
    position: relative;
    margin-bottom: 3.5em;
    padding-left: 35px;
}
.main .flow ol li:before{
    position: absolute;
    display:inline-block;
    left: 0;
    width: 25px;
    height: 25px;
    padding-left: 0.1em;
    background: #d5b338;
    color: white;
    border-radius: 50%;
    text-align:center;
    counter-increment: number 1;
    content: counter(number) "";
}
.main .flow ol li h3{
    padding: 0;
}
/* 以下フロー最終項の位置調整 */
.main .flow ol li:last-child{
    line-height: 1.0;
    margin-bottom: 0px;
}
.main .flow ol li:last-child:before{
    padding-top: 0.4em;
    padding-left: 0.2em;
}
.main .flow ol li:last-child h3{
    padding-top: 0.2em;
}
/* --- 学費・奨学金 --- */
.main .dlBox .col{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 31.3%;
    margin: 0 1% 20px;
    padding: 0;
    line-height: normal;
}
.main .dlBox dt,.main .dlBox dd{
    padding: 1rem;
}
.main .dlBox dt{
    margin: 0;
    background: #f3edd2;
    font-size: 16px;
    font-size: 1.6rem;
}
.main .dlBox dd{
    border-right: 1px solid #f1f1f1;
    border-left: 1px solid #f1f1f1;
}
.main .dlBox .dlBox_btm{
    background: url(../images/bg_white.jpg);
}
#expenses table th {
	text-align: center;
	background-color: #FFFFFF;
}
#expenses table td {
	text-align: right;
	background-color: #FFFFFF;
}
#expenses table th.blue,
#expenses table td.blue{
	background-color: #DDEBF7;
}
#expenses table th.green,
#expenses table td.green{
	background-color: #E2EFDA;
}
#expenses table th.red,
#expenses table td.red{
	background-color: #FCE4D6;
}
/* --- コース紹介 --- */
#course.main .education_concept h4:before{
    padding-right: 0.3em;
    font-family: "Font Awesome 5 Free";
    content: "\f058";
    font-weight: bold;
    font-size: 20px;
    font-size: 2.0rem;
    color: #096148;
}
/* --- アクセス --- */
#access.main h3.plain:before{
    font-family: "Font Awesome 5 Free";
    content: "\f072";
    padding-right: 0.2em;
    color: #096148;
    font-weight: bold;
    font-size: 30px;
    font-size: 3.0rem;
}
#access.main .accessRoot{
    margin-left: 16px;
    border-left: 2px solid #d5b338;
}
#access.main .accessRoot ol{
    margin-left: -16px;
    padding:0;
}
#access.main .accessRoot ol li{
    list-style-type: none;
    position: relative;
    margin-bottom: 2.5em;
    padding-left: 36px;
}
#access.main .accessRoot ol li:before{
    position: absolute;
    left: 0;
    width: 30px;
    height: 30px;
    background: #d5b338;
    color: #fff;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    font-size: 20px;
    font-size: 2.0rem;
    text-align:center;
    border-radius: 50%;
}
#access.main .accessRoot ol li.train:before{
    content: "\f239";
    padding-left: 0.1em;
}
#access.main .accessRoot ol li.walk:before{
    content: "\f554";
}
#access.main .accessRoot ol li.school:before{
    content: "\f549";
    padding-left: 0.1em;
    background: #096148;
    color: #fff;
    font-size: 17px;
    font-size: 1.7rem;
}
#access.main .accessRoot ol li h4{
    padding: 0;
    background: none;
}
/* 以下フロー最終項の位置調整 */
#access.main .accessRoot ol li:last-child h4{
    margin-bottom:0;
}
/* --- 資料ダウンロード --- */
#download.main .dlArea ul{
    margin: 0;
}
#download.main .dlArea ul li{
    display: inline-block;
    position: static;
    margin-bottom: 15px;
    padding: 0;
}
#download.main .dlArea ul li:before{
    background: none;
}
#download.main .dlArea ul li a,#download.main .dlArea ul li a:link, #download.main .dlArea ul li a:visited{
    display: block;
    width: 200px;
    padding: 10px 20px;
    background: #fff;
    color: inherit;
    text-align: center;
    text-decoration: none;
    border: 2px solid #d5b338;
}
#download.main .dlArea ul li a:hover,#download.main .dlArea ul li a:active, #download.main .dlArea ul li a:focus{
    background: #d5b338;
    color: #fff;
    transition: .2s;
}

/* --- pageList --- */
.pageList {
	text-align: center;
	margin-bottom:30px;
}
.pageList .prev {
	display: inline-block;
	margin: 2px 15px 0 0;
}
.pageList .next {
	display: inline-block;
	margin: 2px 0 0 15px;
}
/* Next */
.pageList .next a,
.pageList .next a:link,
.pageList .next a:visited {
	display: inline-block;
	padding-right: 0.8em;
	margin-right: 0.5em;
	background: url(../images/arrow.png) right 0.3em no-repeat;
    color: #222;
}
.pageList .next a:hover,
.pageList .next a:active,
.pageList .next a:focus {
	color: #c23c31;
	background: url(../images/arrow_red.png) right 0.3em no-repeat;
}
/* Prev */
.pageList .prev a,
.pageList .prev a:link,
.pageList .prev a:visited {
	display: inline-block;
	padding-left: 0.8em;
	margin-left: 0.5em;
	background: url(../images/arrow_prev.png) left 0.3em no-repeat;
    color: #222;
}
.pageList .prev a:hover,
.pageList .prev a:active,
.pageList .prev a:focus {
	color: #c23c31;
	background: url(../images/arrow_prev_red.png) left 0.3em no-repeat;
}
/* list */
.pageList .list {
	display: inline-block;
	vertical-align: top;
}
.pageList .list a,
.pageList .list span {
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: 0 0px;
	padding-top: 4px;
	color: #222;
	text-align: center;
	vertical-align: top;
	background: url(../images/bg_white.jpg) 0 0 repeat;
	border-radius:30px;
	text-decoration: none;
}
.pageList .list a:hover,
.pageList .list span.current_page {

	background: url(../images/bg_yellow.jpg) 0 0 repeat;
}
/* --- pageIndex --- */
.main .pageIndex {
	text-align: center;
	margin-bottom:30px;
}
.main .pageIndex ul li{
	display:inline-block;
	padding:0 0 0 25px;
}
.main .pageIndex ul li:before{
	content: "│";
	position: absolute;
	left: 0;
	top: 0;
	width:auto;
	height:auto;
	background:none;
	color:#ccc;
}
.main .pageIndex ul li:first-child:before{
	content: "";
}
/* --- 地図 --- */
.gmap {
	position: relative;
	padding-bottom: 72.72%;
	height: 0;
	overflow: hidden;
    text-align: center;
/*    max-width:440px;*/
    margin: 1em auto 0;
}
.gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% ;
	height: 100% ;
}
/* --- FAQ --- */

/*------------------------
フォント
-------------------------*/
.messageArea p span.prTxt{
	font-family: Roboto, serif;
}

/*----------------------------------------------------
display
----------------------------------------------------*/
.block {
  display: block; }

.sp-item {
  display: none; }

.pc-block {
  display: block; }

@media screen and (max-width: 767px) {
 .mainvisualWrap {
    padding-top: 37px;}
 .main {
    padding-top: 60px;}
 .sp-item {
    display: block; }
  .pc-item {
    display: none !important; }
  .pc-block {
    display: inline; }
  .sp-block {
    display: block; }
  .sp-pdg {
    padding-left: 20px;
    padding-right: 20px; } }

@media print, screen and ( min-width : 769px ) {
  .mainvisualWrap {
    padding-top: 70px;}
  .main {
    padding-top: 20px;}
}