@charset "utf-8";

/* common */
html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }

body {
font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight: 500;
font-size: 16px;
line-height: 1.6;
color: #282828;
background: #fff;
overflow-x: hidden;
}
@media all and (max-width: 767px) {
body {font-size: 16px;}
}
@media all and (max-width: 480px) {
body {font-size: 14px;}
}	
h1,h2,h3,h4,h5 { margin: 0 !important; font-size: 100%; }
p { margin-bottom: 28px; }
.sp0 { display: none !important; }
.pc0 { display: inherit !important; }
.pc0_il { display: inline-block !important; }
@media all and (max-width: 768px) {
.sp0 { display: inherit !important; }
.pc0 { display: none !important; }
.pc0_il { display: none !important; }
}
.sp1 { display: none !important; }
.pc1 { display: inherit !important; }
.sp2 { display: none !important; }
.pc2 { display: inherit; }
@media all and (max-width: 540px) {
.sp2 { display: inherit !important; }
.pc2 { display: none !important; }
}
@media all and (max-width: 480px) {
.sp1 { display: inherit !important; }
.pc1 { display: none !important; }
.sp_mg { margin-bottom: 23px !important;}
}
.ps_rlt { position: relative; }
.al_center { margin: 0 auto; }
.banner_cap { position: absolute; top: -20px; width: 100%; text-align: center; left: 0; font-size: 10px; }
@media all and (max-width: 991px) {.banner_cap { font-size: 0.8vw; top: -18px; }}
@media all and (max-width: 768px) {.banner_cap { font-size: 1.3vw; top: -18px; }}
@media all and (max-width: 480px) {.banner_cap { font-size: 1.8vw; top: -18px; }}

img { max-width: 100%; height: auto; }
a { color: #0F765F; }
a:hover { color: #159b8b; }
a img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: 0.2s ease-in;
    transition: 0.2s ease-in;
	filter:alpha(opacity=100);
	-moz-opacity: 1.0;
	opacity: 1.0;
}
a img:hover {
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}
img.w100 { max-width: 100%; height: auto; }


.flex_wrap_0 { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; position: relative; z-index: 2; }
.flex_wrap_1 { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; position: relative; z-index: 2; }
.flex_wrap_2 { display: none; position: relative; z-index: 2; }
@media all and (max-width: 768px) {
.flex_wrap_1 { display: none; }
.flex_wrap_2 { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; }
}

.flex_wrap_end { justify-content: flex-end; }

/* ヘッダー */

.logo { width:240px; height: auto; position: absolute; top: 50%; left: 10px; margin-top: -35px; }
h1.main_ttl { font-size: 200%; text-align: center; font-weight: 400; letter-spacing: 2px; }
.head_link { float: right; padding: 0; margin-top: 10px; margin-right: 40px; }
.head_link a { background:#ebb629; border-radius: 4px; padding: 10px 18px 10px 12px; font-size: 14px; text-decoration: none; color: #fff; 
    -webkit-transition: 0.2s ease-in; transition: 0.2s ease-in; box-shadow: 0 0 3px rgba(0, 0, 0, 0.0); }
.head_link a img { width: 20px; height: auto; margin-right: 8px;}
.head_link a:hover { background:#e7ab0d; box-shadow: 0 0 4px rgba(168, 124, 9, 0.2);}
.header_block { height: auto; width: 100%; background: #fff; padding: 40px 0; z-index: 5; position: relative; }
.gNav { margin-top: 18px; overflow-x: hidden; }
.gNav ul li { width: auto; text-align: center; font-size: 14px !important; margin: 0; }
.gNav ul li a { display: block; color: #fff; text-decoration: none; }
.gNav ul { padding-left: 20px !important; padding-right: 20px !important; }
@media all and (max-width: 991px) {
.gNav ul { padding-left: 0 !important; padding-right: 0 !important; }
}

@media all and (max-width: 991px) {
.logo { width:200px; margin-top: -28px; }
h1.main_ttl { font-size: 180%; letter-spacing: 1px; }
.header_block { padding: 32px 0; }
}
@media all and (max-width: 768px) {
.logo { width:152px; margin-top: -22px; }
h1.main_ttl { font-size: 160%; letter-spacing: 1px; }
.header_block { padding: 27px 0; }
}
@media all and (max-width: 620px) {
.logo { width:20%; margin-top: 0; top:34.5%; }
h1.main_ttl { font-size: 4.4vw; letter-spacing: 0; }
.header_block { padding: 24px 0; }
}
@media all and (max-width: 480px) {
.header_block { padding: 18px 0; }
}
/* SPメニュー切替時使用
@media all and (min-width: 769px) {
.ul_wrap { background: #0d7966; box-shadow: 0 1px 4px inset; padding: 10px 10px 9px; width: 100%; box-sizing: content-box; margin-left: -10px; }
.gNav ul { 
	list-style: none;
	display: -webkit-flex;
	display: flex;
   -webkit-flex-flow: row nowrap;
   flex-flow: row nowrap;
   justify-content: space-between;
	width: 100%;
	margin-top: 10px;
}
.gNav ul li a { border-bottom: 1px solid #0d7966; transition: all  0.3s ease; }
.gNav ul li a:hover { border-bottom: 1px solid #dfe3e2; }
}

@media all and (max-width: 768px) {
.logo { width:160px; }
.header_block { box-shadow: 0 1px 4px gray; }
}


#nav_toggle{
	display: none;
	cursor: pointer;
}
*/



/* font */
.fn_min { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
.fn_en { font-family: 'Cormorant Garamond', serif; }

/* video */
.movie-wrap {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.mv_video { width: 65%; position: relative; }
.mv_ttl { width: 35%; position: relative; }
 
.movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.mgORG { margin-bottom: 60px; }
@media all and (max-width: 768px) {
.mgORG { margin-bottom: 40px; }
.mv_video { width: 100%; }
.mv_ttl { width: 100%; }
}


/* ttl */
.ttl_left { position: relative; padding: 3px 0; line-height: 1.0; text-align: left; z-index: 2; }
.ttl_left:before { content: ""; width: 100%; height: 1px; background: #282828; position: absolute; top: 50%; left: 1px; right: -1px; z-index: 1; }
.ttl_right { position: relative; padding: 3px 0; line-height: 1.0; text-align: right; z-index: 2; }
.ttl_right:before { content: ""; width: 100%; height: 1px; background: #282828; position: absolute; top: 50%; right: 1px; left: -1px; z-index: 1; }
.ttl_bg_w, .ttl_bg_g { font-size: 135%; position: relative; z-index: 2; font-weight: bold; }
.ttl_bg_w { background-color: #fff; }
.ttl_bg_g { background-color: #fafafa; }
.ttl_right .ttl_bg_w, .ttl_right .ttl_bg_g { padding: 0 80px 0 24px; }
.ttl_left .ttl_bg_w, .ttl_left .ttl_bg_g { padding: 0 24px 0 80px; }
@media all and (max-width: 1200px) {
.ttl_right .ttl_bg_w, .ttl_right .ttl_bg_g { padding: 0 50px 0 24px; }
.ttl_left .ttl_bg_w, .ttl_left .ttl_bg_g { padding: 0 24px 0 50px; }}
@media all and (max-width: 1024px) {
.ttl_right .ttl_bg_w, .ttl_right .ttl_bg_g { padding: 0 0 0 24px; }
.ttl_left .ttl_bg_w, .ttl_left .ttl_bg_g { padding: 0 24px 0 0; }}
@media all and (max-width: 991px) {
.ttl_bg_w, .ttl_bg_g { font-size: 128%; }
}
@media all and (max-width: 768px) {
.ttl_right .ttl_bg_w, .ttl_right .ttl_bg_g,
.ttl_left .ttl_bg_w, .ttl_left .ttl_bg_g { padding: 10px 0 6px; display: block; margin-bottom: 30px; }
.ttl_right { text-align: left; }
.ttl_left:before, .ttl_right:before { left: 50px; right: auto; top: auto; bottom: 0; height: 30px; width: 0.7px; }
.ttl_bg_w, .ttl_bg_g { font-size: 120%; }
}

.ttl_02 { font-size: 270%; letter-spacing: 5px; margin: 30px 0 !important; font-weight: 500; }
.ttl_02 span { font-size: 40%; letter-spacing: 2px; font-weight: 400; position: relative; top: -10px; }
@media all and (max-width: 768px) {.ttl_02 { font-size: 240%; letter-spacing: 4px; }}
@media all and (max-width: 480px) {.ttl_02 { font-size: 200%; letter-spacing: 3px; margin: 0 0 20px !important; }}

.ds_ttl_l { font-size: 155px; color: #e4ebe8; position: absolute; top: -80px; left: 0; z-index: 1; margin-bottom: -80px; }
.ds_ttl_r { font-size: 155px; color: #e4ebe8; position: absolute; top: -80px; right: 0; z-index: 1; margin-bottom: -80px; }
.mgORG1 { margin-top: 120px; }
.mgORG2 { margin-bottom: 60px; }
@media all and (max-width: 1280px) {
.ds_ttl_l,.ds_ttl_r { font-size: 140px; top: -70px; margin-bottom: -70px; }
.mgORG1 { margin-top: 90px; }
}
@media all and (max-width: 991px) {
.ds_ttl_l,.ds_ttl_r { font-size: 110px; top: -50px; margin-bottom: -50px; }
.mgORG1 { margin-top: 60px; }
}
@media all and (max-width: 768px) {
.ds_ttl_l,.ds_ttl_r { font-size: 70px; top: -60px; }
.mgORG1 { margin-top: 50px; }
}

@media all and (max-width: 600px) {
.ds_ttl_l,.ds_ttl_r { font-size: 50px; top: -30px; }
.mgORG1 { margin-top: 50px; }
.mgORG2 { margin-bottom: 40px; }
}


/* block */
.block_inner { padding: 80px 20px; }
.block_inner2 { padding: 90px 20px; }
@media all and (max-width: 991px) {.block_inner { padding: 70px 20px; }}
@media all and (max-width: 599px) {.block_inner { padding: 40px 20px 60px; }.block_inner2 { padding: 50px 20px 70px; }}
@media all and (max-width: 480px) {.block_inner { padding: 35px 15px 45px !important;}.block_inner2 { padding: 42px 15px 55px !important;}}

@media all and (min-width: 1500px) { 
.container { width: 1420px !important; margin: 0 auto !important; }
}

.block_wrap { padding: 0 !important; margin: 0 !important; }
.block_01 { padding: 0 !important; display: block !important; margin: 0 !important; }
.block_02 { background: #fff; padding: 0 !important; display: block !important; margin: 0 !important; }
.block_03 { background: #fafafa; padding: 0 !important; display: block !important; margin: 0 !important; }

.syllabus_box { padding: 17px; margin-bottom: 30px; background: #fff; }
.syllabus_box h4 { background: #29a38d; color: #fff; padding: 5px 8px 4px 12px; margin: 0 0 20px !important; border-left: 4px #74d1c1 solid; }
.syllabus_box h4:before { display: none; }
.txt_syl { font-size: 90%; padding: 0 6px; margin: -21px 0 24px; }

h4.ttl_check { border-left: none; padding-left: 26px;
background-image: url(../images/check.svg);
background-repeat: no-repeat;
background-size: 16px auto;
background-position: 0 10px;
margin-bottom: 0 !important; }
h4.ttl_check:before { display: none; }

h5 span { border: 1px solid #289b87; width: 130px; text-align: center; padding: 4px 0; font-size: 14px !important; font-weight: bold; display: inline-block; margin-right: 12px; margin-bottom: 9px; color: #289b87; border-radius: 3px; }
h5 { font-size: 16px !important; font-weight: bold; display: block; margin: 18px 0 !important; }

.lsm_1 { letter-spacing: -1px; }


a.nrm_link { color: #19a1b1 !important; border-bottom: 1px dotted #19a1b1; text-decoration: none; }
a.nrm_link:hover { color: #19a1b1 !important; border-bottom: 1px solid #19a1b1; text-decoration: none; }



.img_block { width: 84%; max-width: 960px; margin: 50px auto 0; padding: 0; box-sizing: border-box; background: #fff; }
@media all and (max-width: 991px) {.img_block {width:90%;margin:40px auto 0;}}
@media all and (max-width: 768px) {.img_block {width:100%;margin:36px 0 0;}}

table.table_02 { width: 100%; }
table.table_01 th,
table.table_02 th { white-space: nowrap; background: #84bdb3; font-weight: bold !important; color: #fff; text-align: center; }
table.table_01 td, table.table_02 td { background: #fff; }
table.table_01 th, table.table_01 td,
table.table_02 th, table.table_02 td {
    padding-top: .65em;
    padding-bottom: .65em;
    padding-left: .75em;
    padding-right: .75em;
    font-weight: normal;
    border: solid 1px #ddd;
    border-right: solid 1px #ddd;
    font-size: 1.4rem;
}
table.table_01 td.color_td, table.table_01 tr.color_td td,
table.table_02 td.color_td, table.table_02 tr.color_td td{ background: #f4f4f8; font-weight: bold; }
table.table_01 th strong, table.table_01 td strong,
table.table_02 th strong, table.table_02 td strong {
	font-weight: bold;
	color: #6ca99e;
}
@media all and (max-width: 599px) {
table.table_01 th,table.table_01 td { width: 100%; display: block; border: none; }
table.table_01 th { font-weight: normal !important; }
table.table_01 { border: solid 1px #ddd; }
}
.txt_mds01 { font-size: 120%; text-align: center; color: #1dc872; font-weight: bold; }

/* Contact */
.tag01 { background: #e7ab0d; padding: 2px 0 1px; width: 60px; border-radius: 3px; color: #fff; display: inline-block; margin-right: 10px; font-size: 12px; font-weight: bold; text-align: center; }

/* IE */
@media screen\0 {
h4 { padding: 10px 0 6px 10px; }
.syllabus_box h4 { padding: 7px 8px 4px 12px; }
h5 span { padding: 6px 0 3px; }
.tag01 { padding: 4px 0 1px; top: -2px; position: relative; }
}


/* footer */
.footer { padding: 44px 10px 12px;
background-image: url(../images/foot_bg.jpg);
background-repeat: no-repeat;
background-position: center bottom;
background-size: cover;
}
.footer p.foot_logo { margin-bottom: 12px; }
.footer p.foot_logo img { width: 240px; height: auto; }
.footer p.foot_logo a { display: inline-block; background: none !important; }
.footer p { font-size: 12px; margin: 0; font-weight: normal; color: #ddd; font-family: 'GildaDisplay-Regular', serif; text-align: center; }
@media all and (max-width: 480px) { .footer p.foot_logo img { width: 200px; height: auto; } }
.footer p.foot_link { letter-spacing: 1.3px; margin-bottom: 16px; }
.footer p.foot_link a { color: #fff; text-decoration: none; padding: 1px 4px 1px; display: inline-block; margin: 0 8px; }
.footer p.foot_link a:hover { background: #fff; color: #5A5A5A; text-decoration: none; }
.f_contact { width: 100%; text-align: center; }
.f_contact p { padding: 4px 20px; border-radius: 32px; margin: 32px auto; background: #fff; display: inline-block; font-size: 95%; }
.f_contact p, .f_contact p span a, .f_contact p span { color: #0F765F !important; text-decoration: none; }
.f_contact p span { padding-left: 24px; background-image: url("../images/tel_icon.png"); background-repeat: no-repeat; background-position: 0 center; background-size: 20px auto; margin-left: 17px; }
.cr { margin-top: 32px !important; }
@media all and (max-width: 480px) {.f_contact p { padding: 8px 16px; border-radius: 4px; font-size: 100%; } .f_contact p span { margin-left: 0;background-size: 15px auto;padding-left: 20px; }}

/* ページトップ */
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
	width: 60px;
	height: 60px;
	display: block;
}
#page-top img {
	width: 100%;
	height: auto;
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;}
#page-top:hover img {
	filter:alpha(opacity=100);
	-moz-opacity: 1.0;
	opacity: 1.0;}


/* margin */
.mgB0 { margin-bottom: 0 !important; }
.mgB5 { margin-bottom: 5px !important; }
.mgB10 { margin-bottom: 10px !important; }
.mgB16 { margin-bottom: 16px !important; }
.mgB20 { margin-bottom: 20px !important; }
.mgB24 { margin-bottom: 24px !important; }
.mgB30 { margin-bottom: 30px !important; }
.mgB40 { margin-bottom: 40px !important; }
.mgB50 { margin-bottom: 50px !important; }
.mgB60 { margin-bottom: 60px !important; }
.mgTM8 { margin-top: -8px !important; }
.mgTM12 { margin-top: -12px !important; }
.mgTM20 { margin-top: -20px !important; }

/* txt */
.txt_110 { font-size: 110% !important; }
.txt_105 { font-size: 105% !important; }
.txt_c { text-align: center !important; }
.txt_cl { text-align: center !important; }
.txt_lead { font-size: 110%; font-weight: normal; }
@media all and (max-width: 768px) {
.txt_cl { text-align: left !important; }
.txt_lead { font-size: 100%; }
}

/* banner */
.banner { padding: 30px 0; margin: 0; list-style: none; display: flex; flex-wrap: wrap; justify-content: center; }

ul.banner li img { box-shadow: 0 0 3px rgba(0, 0, 0, 0.5); }
@media all and (min-width: 1200px) {ul.banner li { width: 18.6%; margin-left: 1.75%; margin-bottom: 16px; }ul.banner li:nth-child(5n+1) { margin-left: 0; }ul.banner li:nth-last-child(-n+5) { margin-bottom: 0; }}
@media all and (max-width: 1199px) and (min-width: 769px) {ul.banner li { width: 23.5%; margin-left: 2%; margin-bottom: 16px; }ul.banner li:nth-child(4n+1) { margin-left: 0; }ul.banner li:nth-last-child(-n+4) { margin-bottom: 0; }}
@media all and (max-width: 768px) and (min-width:481px){ ul.banner li { width: 31%; margin-left: 3.5%; margin-bottom: 13px; }ul.banner li:nth-child(3n+1) { margin-left: 0; }ul.banner li:nth-last-child(-n+3) { margin-bottom: 0; }}
@media all and (max-width: 480px) {ul.banner li { width: 48.5%; margin-left: 3%; margin-bottom: 13px; }ul.banner li:nth-child(2n+1) { margin-left: 0; }ul.banner li:nth-last-child(-n+2) { margin-bottom: 0; }}




/* loading */
#is-loading {
	display:block;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #FFFFFF;
	z-index: 8;
}
#loading {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 200px;
	height: 200px;
	margin-top: -70px;
	margin-left: -100px;
	text-align: center;
	z-index: 9;
}
.sk-cube-grid {
  width: 40px;
  height: 40px;
  margin: 100px auto;
}

.sk-cube-grid .sk-cube {
  width: 33%;
  height: 33%;
  background-color: #23b6a4;
  float: left;
  -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
          animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; 
}
.sk-cube-grid .sk-cube1 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s; }
.sk-cube-grid .sk-cube2 {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s; }
.sk-cube-grid .sk-cube3 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s; }
.sk-cube-grid .sk-cube4 {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s; }
.sk-cube-grid .sk-cube5 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s; }
.sk-cube-grid .sk-cube6 {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s; }
.sk-cube-grid .sk-cube7 {
  -webkit-animation-delay: 0s;
          animation-delay: 0s; }
.sk-cube-grid .sk-cube8 {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s; }
.sk-cube-grid .sk-cube9 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s; }

@-webkit-keyframes sk-cubeGridScaleDelay {
  0%, 70%, 100% {
    -webkit-transform: scale3D(1, 1, 1);
            transform: scale3D(1, 1, 1);
  } 35% {
    -webkit-transform: scale3D(0, 0, 1);
            transform: scale3D(0, 0, 1); 
  }
}

@keyframes sk-cubeGridScaleDelay {
  0%, 70%, 100% {
    -webkit-transform: scale3D(1, 1, 1);
            transform: scale3D(1, 1, 1);
  } 35% {
    -webkit-transform: scale3D(0, 0, 1);
            transform: scale3D(0, 0, 1);
  } 
}


/* カルーセル */
.bg-slider {
	width: 100%;
	height: 80vh;
	background-position:center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}

.bg-slider__title{
	color: #fff;
	font-size: 60px;
	line-height: 1.6;
	font-weight: normal;
	text-align: left;
	text-shadow: 1px 1px 6px #05442a;
	width: 80%;
	z-index: 3;
	position: relative; 
}
@media all and (max-width: 991px) {
.bg-slider__title{ font-size: 7vw; }
}
@media all and (max-width: 768px) {
.bg-slider__title{ font-size: 8vw; }
}
@media all and (max-width: 480px) {
.bg-slider__title{ font-size: 9.4vw; }
}

/* print */
@media print {
 a[href]:after {
 content: "" !important;
 }
 
 abbr[title]:after {
 content: "" !important;
 }
}

/* Add 202009 */
.box_HH { width: 48%; }
.txt_01 { font-size: 110% !important; margin: 16px 0 8px !important; text-decoration: underline; }
.txt_02 { font-size: 90% !important; font-weight: 400; }
.flex_wrap_3 { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: flex-start; position: relative; z-index: 2; }
@media all and (max-width: 560px) {
.box_HH { width: 100%; margin-bottom: 20px; }
.box_HH:last-child { margin-bottom: 0; }
}