@charset "utf-8";

/*
	Description: initial setting
	Version: 1.0
	Author: idealgrow
*/

/*
===== 0: web font =================================
*/
/* noto-sans-jp-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/noto-sans-jp-v52-japanese-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* noto-sans-jp-700 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/noto-sans-jp-v52-japanese-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/roboto-v30-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/roboto-v30-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


@font-face {
  font-family: 'icf';
  src:  url('../fonts/icf.eot?ne38kn');
  src:  url('../fonts/icf.eot?ne38kn#iefix') format('embedded-opentype'),
    url('../fonts/icf.ttf?ne38kn') format('truetype'),
    url('../fonts/icf.woff?ne38kn') format('woff'),
    url('../fonts/icf.svg?ne38kn#icf') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

i {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icf' !important;
  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;
}

.icf-nav:before {
  content: "\e903";
}
.icf-book:before {
  content: "\e902";
}
.icf-about:before {
  content: "\e900";
}
.icf-column:before {
  content: "\e901";
}
.icf-calendar:before {
  content: "\e905";
  color: #adadac;
}
.icf-graph .path1:before {
  content: "\e906";
  color: rgb(35, 24, 21);
}
.icf-graph .path2:before {
  content: "\e907";
  margin-left: -1.0029296875em;
  color: rgb(35, 24, 21);
}
.icf-graph .path3:before {
  content: "\e908";
  margin-left: -1.0029296875em;
  color: rgb(0, 0, 0);
}
.icf-graph .path4:before {
  content: "\e909";
  margin-left: -1.0029296875em;
  color: rgb(0, 0, 0);
}
.icf-graph .path5:before {
  content: "\e90a";
  margin-left: -1.0029296875em;
  color: rgb(0, 0, 0);
}
.icf-graph .path6:before {
  content: "\e90b";
  margin-left: -1.0029296875em;
  color: rgb(0, 0, 0);
}
.icf-attent01:before {
  content: "\e90c";
  color: #fff;
}
.icf-attent02:before {
  content: "\e90d";
  color: #fff;
}
.icf-menu:before {
  content: "\e90e";
  color: #fff;
}
.icf-totaltime:before {
  content: "\e90f";
  color: #fff;
}
.icf-boarding:before {
  content: "\e910";
  color: #fff;
}
.icf-flag:before {
  content: "\e911";
  color: #fff;
}
.icf-starttime:before {
  content: "\e912";
  color: #fff;
}
.icf-anchor:before {
  content: "\e913";
}
.icf-check:before {
  content: "\e914";
  color: #fff;
}
.icf-plus:before {
  content: "\e915";
  color: #adadac;
}
.icf-hotspot:before {
  content: "\e916";
}
.icf-course:before {
  content: "\e917";
}
.icf-leader:before {
  content: "\e918";
  color: #23a7b7;
}
.icf-news:before {
  content: "\e919";
  color: #fff;
}
.icf-arrow01:before {
  content: "\e91a";
}
.icf-arrow02:before {
  content: "\e91b";
}
.icf-search:before {
  content: "\e91c";
}
/*
===== 1: universal reset =================================
*/

*{
	margin:0;
	padding:0;
	box-sizing:border-box;
}

#wrapper.fix {
  width: 100%;
  height: 100%;
  position: fixed;
	z-index: 100;
}
/*
===== 2: body and base setting ===========================
*/
html{
	height: 100%;
	width: 100%;
	overflow: auto;
}
body {
	counter-reset:count-number;
	font-family: 'Roboto',"Noto Sans JP", "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
	font-size: 16px;
	line-height: 1.8;
	margin: 0px;
	padding: 0px;
	color: #000;
	font-weight: 500;
	-webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 1160px) {
	body{ 
		min-height: 100%;
		display: flex;
		flex-direction: column;
	}
}
.fontHWT{
	font-family: hwt-republic-gothic-solid, sans-serif; 
}
/*
===== margin setting ====
*/
.mt00 { margin-top: 0   !important;}
.mt05 { margin-top: 5px !important;}
.mt10 { margin-top:10px !important;}
.mt12 { margin-top:12px !important;}
.mt15 { margin-top:15px !important;}
.mt20 { margin-top:20px !important;}
.mt25 { margin-top:25px !important;}
.mt30 { margin-top:30px !important;}
.mt35 { margin-top:35px !important;}
.mt40 { margin-top:40px !important;}
.mt45 { margin-top:45px !important;}
.mt50 { margin-top:50px !important;}
.mt60 { margin-top:60px !important;}
.mr00 { margin-right: 0   !important;}
.mr05 { margin-right: 5px !important;}
.mr10 { margin-right:10px !important;}
.mr12 { margin-right:12px !important;}
.mr15 { margin-right:15px !important;}
.mr20 { margin-right:20px !important;}
.mr25 { margin-right:25px !important;}
.mr30 { margin-right:30px !important;}
.mr35 { margin-right:35px !important;}
.mr40 { margin-right:40px !important;}
.mr45 { margin-right:45px !important;}
.mr50 { margin-right:50px !important;}
.mr65 { margin-right:65px !important;}
.mr95 { margin-right:95px !important;}
.mb00 { margin-bottom: 0   !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom:10px !important;}
.mb12 { margin-bottom:12px !important;}
.mb15 { margin-bottom:15px !important;}
.mb20 { margin-bottom:20px !important;}
.mb25 { margin-bottom:25px !important;}
.mb30 { margin-bottom:30px !important;}
.mb35 { margin-bottom:35px !important;}
.mb40 { margin-bottom:40px !important;}
.mb45 { margin-bottom:45px !important;}
.mb50 { margin-bottom:50px !important;}
.mb60 { margin-bottom:60px !important;}
.ml00 { margin-left: 0   !important;}
.ml05 { margin-left: 5px !important;}
.ml10 { margin-left:10px !important;}
.ml12 { margin-left:12px !important;}
.ml15 { margin-left:15px !important;}
.ml20 { margin-left:20px !important;}
.ml25 { margin-left:25px !important;}
.ml30 { margin-left:30px !important;}
.ml35 { margin-left:35px !important;}
.ml40 { margin-left:40px !important;}
.ml45 { margin-left:45px !important;}
.ml50 { margin-left:50px !important;}
/*
===== font setting ====
*/
.txtalc{
	text-align:center !important;}
.ita{
	font-style:italic;
}
.bold{
	font-weight:bold;
}
.rb{
	color:#F00;
	font-weight:bold;
}
.reds{
	color:#F00;
	font-size:80%;
}
.red{
	color:#F00;
}
.fzss {
	font-size: 50%;
}
.fzs {
	font-size: 65%;
}
.fsms {
	font-size:75%;
}
.fzm {
	font-size: 80%;
}
.fzml {
	font-size: 90%;
}
.fzmll {
	font-size: 100%;
}
.fzl {
	font-size: 110%;
}
.fzll {
	font-size: 120%;
}
.fzxl {
	font-size: 130%;
}

/* general params
--------------------*/
h1, h2, h3, h4, h5, h6,
p, pre, ul, ol, dl, dt, dd,
address, blockquote{
	padding: 0;/* margin&padding reset */
	line-height: 1.8;
	display: block;
	margin: 0px;
	font-weight: normal;
	color: #333;
	box-sizing: border-box;
}
div,ul,li,p,a,dl,dt,dd,span,input,select,textarea{
	box-sizing:border-box;
}
form{
	padding: 0;/* margin&padding reset */
	margin: 0px;
}
::-ms-clear {
  visibility: hidden
}
::-ms-reveal {
  visibility: hidden
}
input::placeholder {
  color: #bbb;
}
input:-ms-input-placeholder {
  color: #bbb;
}
input::-ms-input-placeholder {
  color: #bbb;
}
select {
	font-family: 'Roboto', "Hiragino Kaku Gothic Pro",  "游ゴシック体", "Yu Gothic","Meiryo", sans-serif;
  width: 100%;
  font-size: 16px;
  line-height: 1.8;
  padding: 10px;
  border-radius: 3px;
  border: solid 1px #ddd;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url("../img/shared/ico_select.svg") right 10px center no-repeat, #fff;
  background-size: 16px auto, 100%;
}
select.blueSelect{
	color: #fff;
	font-weight: bold;
  width: 100%;
  font-size: 14px;
  line-height: 1.8;
  padding: 10px;
  border-radius: 3px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url("../img/shared/ico_select.png") right center no-repeat, #14b1c2;
  background-size: 30px auto, 100%;
}
input[type="submit"] {
  cursor: pointer;
  width: 100%;
  font-size: 16px;
}
input[type="text"], input[type="password"], input[type="tel"], input[type="email"], input[type="number"], textarea {
	font-family: 'Roboto', "Hiragino Kaku Gothic Pro",  "游ゴシック体", "Yu Gothic","Meiryo", sans-serif;
  width: 100%;
  line-height: 1.8;
  border: solid 1px #ddd;
  border-radius: 3px;
  padding:10px;
  font-size: 16px;
}
.calendarInput {
  position: relative;
  width: 100%;
}
.calendarInput input {
  padding-right: 40px;
  cursor: pointer;
}
.calendarInput::after {
  content: "\e905";
  font-family: 'icf' !important;
  speak: none;
  color: #ccc;
  position: absolute;
  right: 15px;
  top: 50%;
  font-size: 26px;
  transform: translateY(-50%);
  pointer-events: none;
}
input {
	font-family: 'Roboto', "Hiragino Kaku Gothic Pro",  "游ゴシック体", "Yu Gothic","Meiryo", sans-serif;
  -webkit-appearance: none;
}
input[type="text"]:focus, input[type="password"]:focus, input[type="tel"]:focus, input[type="email"]:focus, textarea:focus {
  background: #f6f6f6;
  border: solid 1px #005fa4;
}
input.error {
  border: solid 1px #f00;
  background: #fceaed;
}
input[type="checkbox"] {
  display: none;
}
input.baseCheck + label {
  position: relative;
  cursor: pointer;
  display: block;
	color: #999;
  line-height: 1.4;
	border: solid 1px #adadad;
	border-radius: 3px;
	background: rgba(255,255,255,0.4);
	padding: 14px 5px 14px 35px;
}
input.baseCheck + label::before {
	content: "";
	border: solid 2px #adadad;
	border-radius: 3px;
	width: 14px;
	height: 14px;
  position: absolute;
  left:10px;
  top: 50%;
  transform: translateY(-50%);
}
input.baseCheck:checked + label{
	background: #fff;
	color: #14b1c2;
	border: solid 1px #14b1c2;
}
input.baseCheck:checked + label::before {
	background: #14b1c2;
	border: solid 2px #14b1c2;
}
input.baseCheck:checked + label::after{
  font-family: 'icf' !important;
  speak: none;
  content: "\e914";
	color: #fff;
	position: absolute;
	left: 10px;
	font-size: 12px;
	top: 50%;
	transform: translateY(-50%);
}
input[type="radio"] {
  display: none;
}
input[type="radio"] + label {
  color: #898989;
  background: #dbdbdb;
  border-radius: 3px 0 0 3px;
  padding: 10px 12px 10px 40px;
  position: relative;
  cursor: pointer;
  display: block;
  box-sizing: border-box;
}
input[type="radio"] + label:last-of-type{
	border-radius: 0 3px 3px 0;
} 
input[type="radio"] + label::before {
	content: "";
	background: #fff;
	width:12px;
	height: 12px;
	border-radius: 30px;
  display: block;
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
	border: solid 4px #fff;
}
input[type="radio"]:checked + label {
  color: #fff;
  background: #00a0b8;
}
input[type="radio"]:checked + label::before {
	background: #00a0b8;
}
input[type="radio"] + label.baseRadio {
  border: none;
  padding: 10px 12px 10px 35px;
}
input[type="radio"] + label.baseRadio::before {
  left: 10px;
}
input[type="radio"]:checked + label.baseRadio {
  color: #005fa4;
  border: none;
  background: #fff;
}
input[type="radio"]:checked + label.baseRadio::before {
  color: #005fa4;
  content: "\e913";
}
input[type="radio"] + label.checkRadio01::before, input[type="radio"] + label.checkRadio02::before {
  content: "\e914";
}
input[type="radio"]:checked + label.checkRadio01::before, input[type="radio"]:checked + label.checkRadio02::before {
  content: "\e911";
}
input[type="radio"]:checked + label.checkRadio02 {
  border: solid 1px #bfbfbf;
  background: #bfbfbf;
}
.searchBtn button{
	font-family: 'Roboto',"Noto Sans JP", "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
	background: #ec3286;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	width: 100%;
	border: none;
	border-bottom: solid 2px #bf7496;
	border-radius: 3px;
	padding: 10px 10px 8px 10px;
	cursor: pointer;
	transition: all .3s ease;
}
.searchBtn button:hover{
	background: #f776b0;
}
.searchBtn button:before{
  font-family: 'icf' !important;
  speak: none;
	content: "\e91c";
	font-weight: normal;
	margin-right: 5px;
}
hr,.areaAnchor,.anchor { display : none; }
img {
	border: none;/* img do not want a border */
	display: block;
}
li { list-style: none; }/* link do not want a dot */

/* acronyms and abbreviations styles 
-------------------------------------*/
acronym,abbr{cursor:help;}

/*
===== 3: link setting ===========================
*/

a:link {  color: #000; text-decoration: none;transition: all .3s ease;}
a:visited {  color: #000; text-decoration: none}
a:hover {  color: #888; text-decoration: none;transition: all .3s ease;}
a:active {  color: #333; text-decoration: none}
a img{
	transition: all .3s ease;
	opacity:1;
}
a img:hover{
	opacity: 0.6;
	transition: all .3s ease;
}