@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:600);

html{ height: 100%;}
body { margin: 0; padding: 0; font-size: 93.7%; font-family: 'Open Sans' ,'Noto Sans Japanese', sans-serif, "游ゴシック", "Yu Gothic", Yu Gothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック"; line-height: 1.7em; color: #444; height: 100%; position: relative; letter-spacing: 0.1em;}
header,main,article,section,nav,footer { display: block;}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { margin: 0; padding: 0; font-size: 100%;}
input {font-family: 'Open Sans' ,'Noto Sans Japanese', sans-serif, "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック"; line-height: 1.7em; color: #444; position: relative; letter-spacing: 0.1em;}
table {	border-collapse: collapse; border-spacing: 0;}
fieldset,img { border: 0;}
address,caption,cite,code,dfn,th,var { font-style: normal; font-weight: normal;}
em { font-style: normal; font-weight: 500;}
ol,ul { list-style: none;}
caption{ text-align: left;}
h1,h2,h3,h4,h5,h6 { font-size: 100%; font-weight: normal;}
q:before,q:after { content:'';}
abbr,acronym { border:0;}
/* ↑ここまでリセットcss */

/* フォーム入力欄 */
::-webkit-input-placeholder { color: #ccc;}
::-moz-placeholder { color: #ccc; opacity: 1;}
:-ms-input-placeholder { color: #ccc;}
input:focus::-webkit-input-placeholder { color:transparent;}
input:focus:-moz-placeholder { color:transparent;}
input:focus::-moz-placeholder { color:transparent;}

.cf:after {
	content: "";
	clear: both;
	display: block;
}
#content_wrap a { color: #333; text-decoration: underline;}
#content_wrap a:visited { color: #9b2d98;}
#content_wrap a:hover { text-decoration: none;}
#content_wrap a[target="_blank"] {
	background: url(img/popup.svg) 0 center no-repeat;
	padding-left: 20px;
}
#footer_area address a { color: #333; text-decoration: underline;}
#footer_area address a:visited { color: #9b2d98;}
#footer_area address a:hover { text-decoration: none;}
#footer_area address a[target="_blank"] {
	background: url(img/popup.svg) 0 center no-repeat;
	padding-left: 20px;
}

/*-------------------------------------------------------------
	ページに関する指定
-------------------------------------------------------------*/
body#top { position: relative;}
body#top::before {
	content: '';
	position: fixed;
	background: url(img/bg_logo.png) center no-repeat;
	width: 699px;
	height: 722px;
	bottom: 0;
	right: 0;
	z-index: -1;
}
#nojs {
	width: 940px;
	background: #fff;
	color: #f00;
	padding: 25px;
	border: 5px solid #F00;
	text-align: center;
	margin: 20px auto;
}
#header_wrap {
	position: absolute;
	top: 32px;
	left: 50px;
	z-index: 100;
}
#header_wrap a,#header_wrap img { display: block; width: auto; height: auto; max-width: 100%;}

#index_main { position: relative;}
#index_main img {
	display: block;
	width: 100%;
	height: auto;
}
#index_main img.index_main_sp { display: none;}
#index_main_in {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items:center;
	justify-content:center;
}
#index_main_txt h1 {
	text-align: center;
	font-size: 226.666666%;
	line-height: 1.5;
	font-weight: 500;
	text-shadow: 0 0 10px #fff;
}
#index_main_renew {
	background: rgba(255,255,255,0.9);
	padding: 10px 20px;
	font-size: 93.333333%;
	margin-top: 40px;
}
#index_main_renew strong {
	display: block;
	font-weight: 500;
	text-align: center;
	font-size: 142.85%;
	margin-bottom: 10px;
}
#index_main_renew_sp { display: none;}

#index_renew { background: #E13147; padding: 59px 0 118px;}
.content_area { max-width: 1000px; margin: auto; padding: 0 20px;}
#index_renew h2 {
	color: #fff;
	text-align: center;
	font-size: 240%;
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 19px;
}
#index_renew .txt_center {
	text-align: center;
	font-size: 146.66666%;
	line-height: 1.6em;
	margin-bottom: 30px;
	color: #fff;
}
#index_renew_box { background: #fff;}
#index_renew_box h3 {
	text-align: center;
	padding: 20px;
	font-size: 160%;
	line-height: 1.43;
	font-weight: 500;
	border-bottom: 1px dotted #666;
}
#index_renew_list { padding: 50px 50px 20px;}
#index_renew_list img { display: block; width: auto; height: auto; margin: 0 auto 20px; max-width: 100%;}

#index_curri { margin-bottom: 77px;}
.catch_main { display: block; width: 100%; height: auto;}
.bg_wrap { background: #fff; max-width:1200px; margin: -50px auto 0; position: relative; padding-top: 70px;}
.h2_wrap { position: relative;}
.h2_wrap img { display: block; width: auto; height: auto; margin: auto; max-width: 100%;}
.h2_wrap span { display: block; text-align: center; font-size: 266.6666%; position: relative; top: -20px; font-weight: 500;}
.h2_wrap em { display: block; text-align: center; font-size: 133.3333%; position: relative; font-weight: bold; top:13px;}
#index_curri .h2_wrap { margin-bottom: 68px;}
.index_curri_box {
	border-radius: 5px;
	border: 1px solid #E13147;
	margin: 30px 0 0;
}
.index_curri_box h3 { display: flex; font-size: 133.3333%; color: #E13147; padding: 19px 30px;border-bottom: 1px solid #E13147; align-items:center;font-weight: 500;}
.index_curri_box h3 sup { position: relative; font-size:50%;}
.index_curri_box h3 span.h3_num { font-size: 200%; display: inline-block; margin-right: 10px;}
.index_curri_txt { padding: 20px 30px;}
.link_page_d { margin-top: 20px;}
.link_page_d a {
	background: url(img/arrow_b_circle.svg) 0 center no-repeat;
	padding-left: 25px;
	color: #333;
	text-decoration: underline;
}
.link_page_d a:hover { text-decoration: none;}
.column_b { overflow: hidden; margin-top: 20px;}
.column_b_l { float: left;}
.column_b_img { float: right;}
.index_curri_txt p { margin: 20px 0;}
.index_curri_txt *:first-child { margin-top: 0;}
.index_curri_txt *:last-child { margin-bottom: 0;}
.catch { display: block; width: auto; height: auto; max-width: 100%;}
.right { text-align:right;}

#index_course { margin-bottom: 72px;}
#index_course h3 {
	border-bottom: 1px dotted #666;
	border-top: 1px dotted #666;
	text-align: center;
	padding: 15px 20px;
	font-size: 160%;
	margin: 70px 0 23px;
	font-weight: 500;
}
.center{ text-align: center;}
#index_course_list { display: flex; overflow: hidden; margin: 25px -20px 100px 0;}
#index_course_list .icl_box { width: 33.333333%; box-sizing:border-box; padding-right:20px;}
#index_course_list .icl_box div { height: 100%; box-sizing:border-box; border: 3px solid;}
#index_course_list .icl_box div h4 { color: #fff; text-align: center; font-size: 160%; padding: 12px 20px;font-weight: 500;}
#index_course_list .icl_box div p { padding: 20px;}
#index_course_list #icl_1.icl_box div { border-color: #52AB9F;}
#index_course_list #icl_1.icl_box div h4 { background: #52AB9F;}
#index_course_list #icl_2.icl_box div { border-color: #E0A145;}
#index_course_list #icl_2.icl_box div h4 { background: #E0A145;}
#index_course_list #icl_3.icl_box div { border-color: #D06D8C;}
#index_course_list #icl_3.icl_box div h4 { background: #D06D8C;}

#index_module {
	display: flex;
	border-radius: 5px;
	border: 1px solid #E13147;
	padding: 27px 0;
	margin: 20px 0 40px;
	align-items: center;
}
#index_module h4 {
	text-align: center;
	padding: 0 50px;
	color: #E13147;
	white-space: nowrap;
	font-weight: 500;
	font-size: 133.33333%;
}
#index_module p {
	padding: 15px 50px;
	border-left: 1px dotted #666;
	line-height: 1.3;
}
.h4_nor { font-size: 133.3333%; text-align: center; margin: 50px 0 20px; font-weight:500;}
.pc_module_pic { display: block; width: auto; height: auto; margin: 0 auto 20px; max-width:100%;}
#index_module_list { display: none;}

#index_after { margin-bottom:70px;}
#index_after .h2_wrap { margin-bottom:58px;}
#index_after .h2_wrap span { top: -8px;}
#index_after .txt_p { font-size: 166.6666%; text-align: center; color: #DF3246; font-weight: 500; margin: 50px 0; line-height: 1.5;}
#ia_txt1 { position: relative; display: flex; padding: 0 42% 0 0; overflow: hidden; align-items:center; height: 350px; margin: 50px 0;}
.ia_txt1_txt { background: #fff; padding: 50px; position: relative;}
.ia_txt1_photo { position: absolute; top: 0; right: 0;}
#ia_txt2 { position: relative; display: flex; padding: 0 0 0 42%; overflow: hidden; align-items:center; height: 350px; margin: 50px 0;}
.ia_txt2_txt { background: #fff; padding: 50px; position: relative;}
.ia_txt2_txt p:last-child { margin-top: 20px;}
.ia_txt2_photo { position: absolute; top: 0; left: 0;}
#ia_b_txt {
	background: #eee;
	padding: 30px;
	margin-top:30px;
}
#ia_b_txt p {
	background: #fff;
	padding: 14px 20px;
	margin-bottom: 10px;
}
#ia_b_txt p:last-child { margin-bottom: 0;}

#return { position: relative;}
#return a {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: block;
	background: #E13147 url(img/arrow_t_white.svg) center no-repeat;
	width: 50px;
	height: 50px;
	transition: background 0.3s;
}
#return a:hover { background-color: #BB1C30;}
#return a span { display: none;}

#footer_wrap { background: #E13147; padding: 70px 20px;}
#footer_area { max-width: 1000px; margin: auto;}
.f_f_b { text-align: center; color: #fff; font-size: 160%; line-height: 1.5; margin-bottom: 30px;}
#footer_area address { display: flex; background: #fff; padding: 20px 0;}
#footer_area address strong { text-align: center; width: 20%; border-right: 1px dotted #333; font-size: 133.3333%;}
#footer_area address em { font-weight: bold !important; font-size: 133.3333%;}
#footer_area address div { padding: 0 40px;}
.link_mail { color: #333; text-decoration: none;}
.link_mail:hover { text-decoration: underline;}
.link_tel { color: #333 !important; text-decoration: none !important; cursor: default !important;}
#footer_nav { text-align: center; margin: 43px auto;}
#footer_nav ul li { display: inline-block; margin: 0 20px;}
#footer_nav ul li a,#footer_nav ul li img { display: block; width: auto; height: auto;}

#footer_logo img { display: block; width: auto; height: auto; margin: auto;}
#footer_area small { font-size: 80%; display: block; color: #fff; text-align: center;}

.br_sp { display: none;}

/*-------------------------------------------------------------
	ページに関する指定(tab)
-------------------------------------------------------------*/
@media screen and (min-width: 768px) and (max-width: 1240px) {
body#top::before { display: none;}
#header_wrap { top: 20px; left: 20px;}
#index_main_txt h1 { font-size: 2.5vw; margin-top: 60px;}
.bg_wrap { margin: -50px 20px 0;}

}

/*-------------------------------------------------------------
	ページに関する指定(tab)
-------------------------------------------------------------*/
@media screen and (min-width: 768px) and (max-width: 1000px) {
#header_wrap a, #header_wrap img { width:150px;}
#index_main_renew { font-size: 80%;}
#index_main_renew strong { font-size: 120%; margin: 0;}
#index_renew h2 { font-size: 180%;}
#index_renew .txt_center { font-size: 120%;}
#index_course_list .icl_box div h4 { font-size: 146.66666%;}
#index_course_list .icl_box div p { padding: 18px;}
#index_module { padding: 20px 0;}
#index_module h4 { padding: 0 20px;}
#index_module p { padding: 15px 20px;}
.ia_txt1_txt,.ia_txt2_txt { padding: 20px;}

}


/*--------------------------------------------------------
	ページに関する指定(SP)
--------------------------------------------------------*/
@media screen and (max-width: 767px) {
input[type="button"],input[type="submit"] {
	-webkit-appearance: none;
}
body {
    -webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	font-size:81.25%;
}
input,textarea,select { font-size: 16px;}
body {
	background: #fff;
	width: auto;
}
img {
	width: auto;
	height: auto !important;
	max-width: 100%;
}

#nojs {
	width: auto;
	background: #fff;
	color: #f00;
	padding: 10px;
	border: 5px solid #F00;
	text-align: center;
	margin: 10px auto;
}
body#top::before { display: none;}
#header_wrap { top: 10px; left: 10px;}
#header_wrap a,#header_wrap img {width: 134px;}
#index_main_txt h1 { font-size: 123.07%; letter-spacing:normal;}
#index_main_renew { display:none;}
#index_main_renew_sp { display:block; padding: 20px 22px;}
#index_main_renew_sp strong { display: block; font-size: 115.38%; text-align: center; margin-bottom: 10px;}

#index_renew { padding: 29px 20px 35px;}
#index_renew h2 {
	font-size: 153.84%;
	margin-bottom: 19px;
}
#index_renew .txt_center {
	text-align: left;
	font-size: 115.38%;
	margin-bottom: 20px;
}
#index_renew_box h3 {
	padding: 20px;
	font-size: 123.07%;
	line-height: 1.43;
}
#index_renew_list { padding: 30px 20px 30px;}
.content_area { padding: 0;}
#index_curri { margin-bottom: 50px;}
.bg_wrap { margin: -25px 20px 0; position: relative; padding-top: 30px;}
.h2_wrap img { display: none;}
.h2_wrap span {font-size: 169.23%; top: auto;}
.h2_wrap em {font-size: 107.69%;top:auto;}
#index_curri .h2_wrap { margin-bottom: 28px;}
.index_curri_box { margin: 20px 0 0;}
.index_curri_box h3 { font-size: 123.07%; padding: 19px 20px;}
.index_curri_box h3 span.h3_num { font-size: 150%;}
.index_curri_txt { padding: 20px;}
.link_page_d { margin-top: 0;}
.link_page_d a { background-size: 16px 16px; padding-left: 22px;}

#index_course { margin-bottom: 50px;}
#index_course h3 {
	padding: 8px 20px;
	font-size: 138.46%;
	margin: 30px 0 13px;
}
.column_b { margin-top:0;}
.column_b_l,.column_b_img { margin-top: 20px;}

#index_course_list { display: block; overflow: hidden; margin: 25px 0 30px 0;}
#index_course_list .icl_box { width: auto;padding-right:0; margin-bottom:20px;}
#index_course_list .icl_box div { height: auto;}
#index_course_list .icl_box div h4 {font-size: 153.84%;}

#index_module {
	display: block;
	border: 1px solid #E13147;
	padding: 17px 20px;
	margin: 20px auto;
}
#index_module h4 {
	padding: 0 0 20px;
	position: relative;
	text-align: center;
	font-size: 123.07%;
}
#index_module h4:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -57px;
	width: 104px;
	height: 1px;
	background: none;
	border-top: 1px dotted #ccc;
}
#index_module p {
	padding: 0;
	border-left: none;
	margin-top: 20px;
}
.h4_nor { font-size: 123.07%;margin: 30px 0 20px;}
.pc_module_pic { display: none;}
#index_module_list { display: block; overflow: hidden; margin: auto;}
#index_module_list .iml_box { width: auto; box-sizing:border-box; margin-bottom:10px;}
#index_module_list .iml_box_in { box-sizing:border-box; background: url(img/bg_modules.png) repeat; padding: 15px;}
#index_module_list .iml_box_in h5 { border: 3px solid; background: #fff; text-align:center; padding: 20px; font-size:153.84%; margin-bottom: 20px;}
#index_module_list #iml_box1 h5 { border-color: #51AB9F; color: #51AB9F;}
#index_module_list #iml_box2 h5 { border-color: #E0A144; color: #E0A144;}
#index_module_list #iml_box3 h5 { border-color: #D06D8C; color: #D06D8C;}
.iml_choice{
	position: relative;
	padding: 7px 10px;
	border: 1px solid #ef8f3a;
	border-radius: 50px;
	text-align:center;
	background: #fff;
	font-size: 123.07%;
	margin-bottom: 20px;
}
.iml_choice:before,.iml_choice:after{
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	width: 0;
	height: 0;
	margin: auto;
}
.iml_choice:before{
	bottom: -15px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 14px 7.5px 0 7.5px;
	border-color: #ef8f3a transparent transparent transparent;
}
.iml_choice:after{
	bottom: -13px;
	border-style: solid;
	border-width: 13px 6.5px 0 6.5px;
	border-color: #fff transparent transparent transparent;
	z-index: 10;
}
#iml_box1 .iml_choice { border-color: #51AB9F; color:#51AB9F;}
#iml_box2 .iml_choice { border-color: #E0A144; color:#E0A144;}
#iml_box3 .iml_choice { border-color: #D06D8C; color:#D06D8C;}
#iml_box1 .iml_choice:before { border-color: #51AB9F transparent transparent transparent;}
#iml_box2 .iml_choice:before { border-color: #E0A144 transparent transparent transparent;}
#iml_box3 .iml_choice:before { border-color: #D06D8C transparent transparent transparent;}
.iml_box_in li { margin-bottom: 10px; color: #fff; text-align: center; display: flex;align-items:center; height: 64px;justify-content:center;}
#iml_box1 .iml_box_in li { background: url(img/img_fusen_blue.png) right top no-repeat; background-size: auto 64px;}
#iml_box2 .iml_box_in li { background: url(img/img_fusen_yellow.png) right top no-repeat; background-size: auto 64px;}
#iml_box3 .iml_box_in li { background: url(img/img_fusen_pink.png) right top no-repeat; background-size: auto 64px;}
#iml_box1 .iml_box_in li:last-child,#iml_box2 .iml_box_in li:last-child,#iml_box3 .iml_box_in li:last-child { margin-bottom:0;}

#index_after { margin-bottom:100px;}
#index_after .h2_wrap { margin-bottom:28px;}
#index_after .h2_wrap span { top: -8px;}
#index_after .txt_p { font-size: 123.07%;margin: 0 0 20px;}
#ia_txt1,#ia_txt2 { position: relative; display: block; padding: 0; height: auto; margin: 0;}
.ia_txt1_txt,.ia_txt2_txt { background: #fff; padding: 20px; position: relative; top:-20px; margin: 0 20px;}
.ia_txt1_photo,.ia_txt2_photo { position: relative; top: auto; right: auto; left: auto;}
.ia_txt1_photo img,.ia_txt2_photo img { display: block; width: 100%; height: auto; margin: auto;}
#ia_b_txt { padding: 10px;}

#return { position: relative;}
#return a {
	width: 40px;
	height: 40px;
}
#footer_wrap {padding: 40px 20px 30px;}
.f_f_b {font-size: 123.07%;}
.f_f_b br { display:none;}
#footer_area address { display: block;padding: 20px;}
#footer_area address strong { display:block;width: auto; border-right: none; font-size: 123.07%; text-align:center; position:relative; padding-bottom:20px;}
#footer_area address strong::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -57px;
	width: 104px;
	height: 1px;
	background: none;
	border-top: 1px dotted #333;
}
#footer_area address div { padding: 0; margin-top:20px;}
#footer_nav { text-align: center; margin: 20px auto;}
#footer_nav ul li { display: inline-block; margin: 0 20px;}
#footer_nav ul li a,#footer_nav ul li img { display: block; width: auto; height: auto; max-width:100%;}

#footer_logo { margin-top:30px;}
#footer_area small { font-size: 92.3%; margin-top:5px;}


.br_sp { display: inline-block;}

.table {
	overflow-x: auto;
}
.table::-webkit-scrollbar {
	height: 5px;
}
.table::-webkit-scrollbar-track {
	border-radius: 5px;
	background: #eee;
}
.table::-webkit-scrollbar-thumb {
	border-radius: 5px;
	background: #666;
}
.table th,.table td { min-width: 20px !important;}
.sp_table_txt{
	display:table;
	margin:auto;
}
#content_area .sp_table_txt p{
	display:table-cell;
	vertical-align:middle;
	padding:10px 0 10px 60px;
}


}
/*--------------------------------------------------------
	ページに関する指定(SP)
--------------------------------------------------------*/
@media screen and (max-width: 568px) {
#index_main img.index_main_pc { display: none;}
#index_main img.index_main_sp { display: block; width: 100%; height: auto;}
#footer_nav { text-align: center; margin: 20px auto;}
#footer_nav ul li { display: block; margin: 0 20px 10px;}
#footer_nav ul li a,#footer_nav ul li img { margin:auto; max-width:235%;}

}
@media print {
	body {
		width: 1200px;
		transform: scale(1);
		-moz-transform: scale(1);
		-webkit-transform: scale(1);
		transform-origin: 0 0;
		zoom: 0.91;
		margin: auto;
	}
	@media all and (-ms-high-contrast: none) { /* ハイコントラストモードが「オフ」の場合 */
		body { width:1200px;}
	}
	@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
		body { width:1200px;}
	}
	@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
		body {
			width: 1200px;
			transform: scale(0.8);
			-moz-transform: scale(0.8);
			-webkit-transform: scale(0.8);
			transform-origin: 0 0;
			margin: auto;
		}
	}
}