@charset "utf-8";

/* -----------------------------------------------------------
CSS Information

 File name:      style.css
 Style Info:     コンテンツ共通のスタイル
----------------------------------------------------------- */
body {
	color:#333333;
	font-size:14px;
	word-break: break-all;
	line-height:1.4;
}
/*（iOSの場合）zoom設定を不可にしなくても、縦向き/横向き時にテキストサイズを変えない*/
html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}
/*a要素のフォントサイズなどをリセットしフォントの縦方向の揃え位置を親要素のベースラインに揃えるようにしています*/
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/*共通で設定されているpタグの行間をリセット*/
p{
	line-height:1.6 !important;	
}

img {
	max-width:100%;
	vertical-align:middle;
}

/*float解除*/
.clearfix:after{
    content: "."; 
    display: block; 
    height: 0; 
    font-size:0;	
    clear: both; 
	visibility:hidden;
}
.clearfix {	display: inline-block; } 
* html .clearfix{ height: 1%; }
.clearfix{ display:block; }
* html .clearfix { zoom: 1;}
*:first-child+html .clearfix { zoom: 1;}


/*コンテンツ*/
#contents{
	padding:20px 10px;
}

/*セクション*/
.section {
	margin:30px 0 50px;
}
.section.last {
    margin: 30px 0 30px;
}

/*テキスト*/
.contents_txt {
	font-size:13px;
	text-align:left;
	margin-top:10px;
}
.contents_txt.top {
	margin-top:25px;
}

/*準備中*/
.contents_preparation {
	text-align:center;
	background:#f8f8f8;
	border-radius:12px;
	padding:20px 15px;
	font-size:13px;
}


/*配列*/
.align_c {
	text-align:center;
}

/*フォントカラー*/
.red {
	color:#f44601;
}
.orange {
	color:#f5790b;
}

/*フォントウェイト*/
.strong {
	font-family: 'Oxygen',"UD新ゴ DB",sans-serif;
	font-weight:bold;
}

/*フォントカラー*/
.fc_orange {
	color:#ff883d;
}

/*イメージ*/
.contents_img {
	margin-top:10px;
	text-align:center;
	display:inline-block;
}
.contents_img img {
	border:1px solid #9c9c9c;
}

/*マージン*/
.mt15 {
	margin-top:15px;
}

/*h2*/
h2 {
	font-size:28px;
	text-align:center;
	display:inline-block;
	padding:0 15px 5px;
	border-bottom:2px solid #333;
	position:relative;
}

h2.program {
	font-size:18px;
}
h2.program span {
	display:block;
}


h2:before {
	content:"";
	display:block;
	width:8px;
	height:8px;
	position:absolute;
	bottom:-2px;
	left:-5px;
	border-radius:50%;
	border:2px solid #333;
}
h2:after {
	content:"";
	display:block;
	width:8px;
	height:8px;
	position:absolute;
	bottom:-12px;
	right:-5px;
	border-radius:50%;
	border:2px solid #333;
}

/*h3*/
h3 {
	font-size:18px;
	text-align:left;
	position:relative;
	padding-left:14px;
	line-height:1.2;
	margin-bottom:15px;
}
h3:before {
	content:"";
	display:block;
	position:absolute;
	width:7px;
	height:20px;
	top:-1px;
	left:0;
	background: rgb(253,149,20);
	background: -moz-linear-gradient(0deg, rgba(253,149,20,1) 0%, rgba(255,200,11,1) 100%);
	background: -webkit-linear-gradient(0deg, rgba(253,149,20,1) 0%, rgba(255,200,11,1) 100%);
	background: linear-gradient(0deg, rgba(253,149,20,1) 0%, rgba(255,200,11,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fd9514",endColorstr="#ffc80b",GradientType=1);
}
h3 span {
	padding-left:10px;
	font-size:65%;
}
h3 span.long {
	padding-left:0;
	display:block;
	margin-top:5px;
}
h3#title_ope {
	text-align:center;
	display:inline-block;
	padding:15px 0;
	border-top:3px solid #ffc80b;
	border-bottom:3px solid #ffc80b;
	position:relative;
}
h3#title_ope:before {
	content:"";
	display:block;
	position:absolute;
	width:90%;
	height:1px;
	top:-7px;
	left:0;
	right:0;
	margin:0 auto;
	background: #ffc80b;
}
h3#title_ope:after {
	content:"";
	display:block;
	position:absolute;
	width:90%;
	height:1px;
	bottom:-7px;
	left:0;
	right:0;
	margin:0 auto;
	background: #ffc80b;
}
h3#title_ope span{
	padding-left:0;
}

/*h4*/
h4 {
	margin:50px 0 10px 0;
	font-size:15px;
	text-align:center;
	padding:10px 0;
	position:relative;
}
h4.top {
	margin:0 0 10px 0;
}
h4:before {
	content:"";
	display:block;
	width:40px;
	height:40px;
	padding:3px;
	border-radius:50%;
	background: rgb(253,149,20);
	background: -moz-linear-gradient(0deg, rgba(253,149,20,1) 0%, rgba(255,200,11,1) 100%);
	background: -webkit-linear-gradient(0deg, rgba(253,149,20,1) 0%, rgba(255,200,11,1) 100%);
	background: linear-gradient(0deg, rgba(253,149,20,1) 0%, rgba(255,200,11,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fd9514",endColorstr="#ffc80b",GradientType=1);
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
	z-index:0;
}
h4:after {
	content:"";
	display:block;
	width:40px;
	height:40px;
	border-radius:50%;
	background:#FFF;
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
	z-index:0;
}
h4.multiline:before {
	width:65px;
	height:65px;
}
h4.multiline:after {
	width:65px;
	height:65px;
}
h4.multiline.plus:before {
	width:90px;
	height:90px;
}
h4.multiline.plus:after {
	width:90px;
	height:90px;
}
h4 span {
	position:relative;
	z-index:2;
	padding:2px 10px;
	background:#FFF;
}
h4.multiline span {
	display:inline-block;
}

/*h5*/
h5 {
	margin-top:20px;
	font-size:13px;
	/*font-family: 'Oxygen',"UD新ゴ M",sans-serif;
	font-weight:bold;*/
	position:relative;
	padding-bottom:2px;
	border-bottom:1px solid #ffa200;
	text-align:left;
}
h5 span {
	display:inline-block;
	position:relative;
}
h5 span:after {
	content:"";
	display:inline-block;
	width:100%;
	height:3px;
	background: rgb(253,149,20);
	background: -moz-linear-gradient(0deg, rgba(253,149,20,1) 0%, rgba(255,200,11,1) 100%);
	background: -webkit-linear-gradient(0deg, rgba(253,149,20,1) 0%, rgba(255,200,11,1) 100%);
	background: linear-gradient(0deg, rgba(253,149,20,1) 0%, rgba(255,200,11,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fd9514",endColorstr="#ffc80b",GradientType=1);
	position:absolute;
	bottom:-4px;
	left:0;
}

h5.btn_title {
	margin-top: 0;
	margin-bottom: 10px;
	color: #ffa200;
	transition:all 0.5s;
}
h5.btn_title span {
	font-size: 16px;
	font-family: 'Oxygen',"UD新ゴ M",sans-serif;
	font-weight:bold;
}

/*h6*/
h6 {
	margin-top:5px;
	font-size:12px;
	color:#f5790b;
	text-align:left;
	font-family: 'Oxygen',"UD新ゴ M",sans-serif;
	font-weight:bold;
}

/*****ボックス*****/
.box {
	padding:3px;
	border-radius:24px;
	position:relative;
	z-index:1;
}
.box .box_title {
	font-size:14px;
	font-family: 'Oxygen',"UD新ゴ M",sans-serif;
	font-weight:bold;
	text-align:center;
}
/*（ストライプの背景）*/
.box.stripe {
	background:url(../img/bg_pattern01.jpg) repeat;
}

/*（グラデーションの背景）*/
.box.gradation:before {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background: rgb(255,102,64);
background: -moz-linear-gradient(52deg, rgba(255,102,64,1) 0%, rgba(255,192,2,0.7539390756302521) 100%);
background: -webkit-linear-gradient(52deg, rgba(255,102,64,1) 0%, rgba(255,192,2,0.7539390756302521) 100%);
background: linear-gradient(52deg, rgba(255,102,64,1) 0%, rgba(255,192,2,0.7539390756302521) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff6640",endColorstr="#ffc002",GradientType=1);
	position:absolute;
	top:-3px;
	left:-3px;
	border-radius:24px;
	z-index:1;
}
.box.gradation:after {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background: rgb(255,102,64);
background: -moz-linear-gradient(209deg, rgba(255,102,64,1) 0%, rgba(255,192,2,0.7539390756302521) 100%);
background: -webkit-linear-gradient(209deg, rgba(255,102,64,1) 0%, rgba(255,192,2,0.7539390756302521) 100%);
background: linear-gradient(209deg, rgba(255,102,64,1) 0%, rgba(255,192,2,0.7539390756302521) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff6640",endColorstr="#ffc002",GradientType=1);
	position:absolute;
	bottom:-3px;
	right:-3px;
	border-radius:24px;
	z-index:2;
}
.box>div {
	padding:10px;
	border-radius:24px;
	background:#FFF;
	position:relative;
	z-index:3;
}

/*（ラインの枠）*/
.box.line {
	border-radius:0;
	padding:10px;
	border:1px solid #e8e8e8;
	font-size:13px;
}

/*（格子柄）*/
.box.plaid {
	margin-top:15px;
	background:url(../img/support/bg_box.jpg) repeat;
}

/*****リスト一覧*****/
/*リスト（●）*/
.list_dot {
	text-align:left;
	font-size:13px;
}
.list_dot.box {
	background:#FFF;
	border-radius:24px;
	color:#333;
	padding:20px;
	text-align:left;
}
.list_dot.margin_height {
	margin:10px 0;
}
.list_dot > li {
	margin-bottom:5px;
	position:relative;
	padding-left:12px;
}
.list_dot > li:last-child {
	margin-bottom:0;
}
.list_dot > li:before {
	content:"●";
	display:block;
	position:absolute;
	left:0;
	top:2px;
	font-size:10px;
	color:#f5790b;
}
.list_dot.gray > li:before {
	color:#9d9d9d;
}

/*リスト（①）*/
.list_encircled {
	text-align:left;
	margin:10px 0;
	font-size:13px;
}
.list_encircled li {
	margin-bottom:5px;
	position:relative;
	padding-left:80px;
	text-align:left;
}
.list_encircled li:before {
	position:absolute;
	left:0;
}
.list_encircled li span {
	display:block;
	position:absolute;
	top:0;
	left:15px;
}
.list_encircled li:first-child:before {
	content:"①";
}
.list_encircled li:nth-child(2):before {
	content:"②";
}
.list_encircled li:nth-child(3):before {
	content:"③";
}

/*リスト（文字：）*/
.list_txt {
	text-align:left;
	font-size:13px;
}
.list_txt.font_small {
	font-size:75%;
}
.list_txt > li {
	position:relative;
	padding-left:50px;
	margin:5px 0 8px;
}
.list_txt.wide > li {
	padding-left:70px;
}
.list_txt.wider > li {
	padding-left:95px;
}
.list_txt.widest > li {
	padding-left:120px;
}
.list_txt > li span {
	display:block;
	position:absolute;
	top:0;
	left:0;
}
.list_txt > li span:after {
	content:"：";
}

/*リスト（(数字)）*/
.list_num {
	text-align:left;
	font-size:13px;
}
.list_num li {
	counter-increment:num;
	margin-bottom:10px;
	padding-left:25px;
	position:relative;
}
.list_num li:before {
	content:"("counter(num)")";
	display:block;
	position:absolute;
	top:0;
	left:0;
}

/*リスト（・）*/
.list_midpoint {
	text-align:left;
	font-size:13px;
	margin-top:10px;
}
.list_midpoint > li {
	margin-bottom:10px;
	padding-left:15px;
	position:relative;
}
.list_midpoint > li:before {
	content:"・";
	display:block;
	position:absolute;
	top:0;
	left:0;
}

/*リスト（数字)）*/
.list_literature {
	width:100%;
	margin-left:auto;
	font-size:11px;
	margin-top:10px;
	margin-bottom:30px;
	text-align:left;
}
.list_literature.left {
	margin-right:auto;
	margin-left:0;
}
.list_literature li {
	counter-increment:num;
	margin-bottom:5px;
	padding-left:20px;
	position:relative;
}
.list_literature li:before {
	content:counter(num)")";
	display:block;
	position:absolute;
	top:0;
	left:0;
}

/*監修*/
.superviser {
	text-align:right;
	font-size:10px;
}

/*参照*/
.reference {
	margin-top:5px;
	text-align:right;
	font-size:10px;
	color:#777777;
}

/*アスタリスク*/
.asterisk {
	margin-top:5px;
	text-align:left;
	font-size:10px;
	color:#777777;
	position:relative;
	padding-left:12px;
	line-height:1.2 !important;
}
.asterisk:before {
	content:"＊";
	position:absolute;
	left:0;
}


/********************************************
タブレット
*********************************************/
@media print, screen and (min-width:480px){
	/*h2*/	
	h2.program {
		font-size:28px;
	}
	
	/*リスト（数字)）*/
	.list_literature {
		width:92%;
	}
	
}

/********************************************
タブレット
*********************************************/
@media print, screen and (min-width:640px){
	/*コンテンツ*/
	#contents{
		padding:30px 15px;
	}
	
	/*h2*/
	h2 {
		font-size:32px;
	}
	
	/*h3*/
	h3 {
		font-size:22px;
	}
	h3:before {
		height:24px;
	}
	h3 span.long {
		padding-left:10px;
		display:inline-block;
		margin-top:5px;
	}

	
	/*h4*/
	h4 {
		font-size:18px;
	}
	h4:before {
		width:50px;
		height:50px;
	}
	h4:after {
		width:50px;
		height:50px;
	}
	h4.multiline:before {
		width:80px;
		height:80px;
	}
	h4.multiline:after {
		width:80px;
		height:80px;
	}
	h4.multiline.plus:before {
		width:110px;
		height:110px;
	}
	h4.multiline.plus:after {
		width:110px;
		height:110px;
	}
	h4 span {
		padding:4px 10px;
	}
	
	/*h5*/
	h5 {
		font-size:15px;
	}
	
	/*h6*/
	h6 {
		margin-top:10px;
		font-size:14px;
	}
	
	/*****ボックス*****/
	.box .box_title {
		font-size:15px;
	}
	/*（グラデーションの背景）*/
	.box>div {
		padding:15px 25px;
	}
	
	/*リスト（数字)）*/
	.list_literature {
		width:60%;
	}
	
	
	/*監修*/
	.superviser {
		font-size:12px;
	}
	

}


/********************************************
タブレット
*********************************************/
@media print, screen and (min-width:768px){
	/*h2*/
	h2.program span {
		display:inline;
		padding-left:15px;
	}
	
	/*h4*/
	h4 {
		margin:50px 0 10px 0;
	}

	/*コンテンツ*/
	#contents{
		padding:30px 20px;
	}
	
	/*テキスト*/
	.contents_txt {
		font-size:14px;
		line-height:1.6 !important;
	}
	
	/*準備中*/
	.contents_preparation {
		font-size:14px;
	}
	
	/*****ボックス*****/
	.box .box_title {
		font-size:16px;
	}
	/*（ストライプの背景）*/
	.box.stripe {
		width:80%;
		margin:0 auto;
		padding:4px;
	}
	/*（グラデーションの背景）*/
	.box.gradation {
		width:80%;
		margin:0 auto;
		padding:4px;
	}
	
	/*リスト（●）*/
	.list_dot {
		font-size:14px;
	}
	.list_dot.box {
		padding:20px 30px 10px 30px;
	}
	.list_dot.box li {
		float:left;
		width:50%;
		padding:0 15px;
		box-sizing:border-box;
		-moz-box-sizing:border-box;
		-webkit-box-sizing:border-box;
	}
	.list_dot.box li:nth-child(even):after {
		
	}
	
	/*リスト（文字：）*/
	.list_txt {
		font-size:14px;
	}
	.list_txt > li {
		padding-left:60px;
		margin:10px 0 10px;
	}
	.list_txt.wide > li {
		padding-left:80px;
	}
	.list_txt.wider > li {
		padding-left:95px;
	}
		.list_txt.widest > li {
		padding-left:130px;
	}
	
	/*参照*/
	.reference {
		margin-top:10px;
		font-size:12px;
	}
	
	/*リスト（(数字)）*/
	.list_num {
		font-size:14px;
		margin-top:5px;
	}
	.list_num li {
		margin-bottom:15px;
		padding-left:25px;
	}

	/*リスト（・）*/
	.list_midpoint {
		text-align:left;
		font-size:13px;
		margin-top:10px;
	}
	.list_midpoint li {
		margin-bottom:10px;
		padding-left:15px;
		position:relative;
	}
	.list_midpoint li:before {
		content:"・";
		display:block;
		position:absolute;
		top:0;
		left:0;
	}
	
	/*リスト（・）*/
	.list_midpoint {
		font-size:14px;
	}
	.list_midpoint li {
		padding-left:20px;
	}
	
	/*リスト（数字)）*/
	.list_literature {
		width:62%;
		font-size:12px;
	}
	.list_literature.float {
		width:100%;
	}
	.list_literature li {
		padding-left:23px;
	}
	.list_literature.left li {
		padding-left:20px;
	}
	
	/*アスタリスク*/
	.asterisk {
		font-size:12px;
		padding-left:14px;
	}
	
}

/********************************************
PC
*********************************************/
@media print, screen and (min-width: 980px) {	
	/*コンテンツ*/
	#contents{
		width:960px;
		margin:0 auto;
		padding:40px 0;
		box-sizing:border-box;
		-moz-box-sizing:border-box;
		-webkit-box-sizing:border-box;
	}
	/*セクション*/
	.section {
		margin:40px 0 80px 0;
	}
	
	/*h2*/
	h2 {
		font-size:36px;
	}
	h2.program {
		font-size:36px;
	}
	h2:before {
		width:10px;
		height:10px;
	}
	h2:after {
		width:10px;
		height:10px;
		bottom:-14px;
	}
	
	/*h3*/
	h3 {
		font-size:24px;
		margin-bottom:25px;
	}
	h3.long {
		font-size:23px;
		margin-bottom:25px;
	}
	h3:before {
		height:26px;
	}
	h3#title_ope {
		margin-top:20px;
	}
	
	/*h4*/
	h4 {
		font-size:20px;
		margin-top:80px;
		margin-bottom:30px;
	}
	h4:before {
		width:60px;
		height:60px;
	}
	h4:after {
		width:60px;
		height:60px;
	}
	h4 span {
		padding:5px 15px;
	}
	
	/*h5*/
	h5 {
		margin-top:35px;
		padding-bottom:5px;
	}
	h5 span:after {
		bottom:-7px;
	}

	
	/*****ボックス*****/
	.box .box_title {
		font-size:18px;
	}
	/*（ストライプの背景）*/
	.box.stripe {
		width:70%;
		margin:0 auto;
		padding:4px;
	}
	
	/*（グラデーションの背景）*/
	.box.gradation {
		width:60%;
		margin:0 auto;
		padding:4px;
	}
	
	/*（ラインの枠）*/
	.box.line {
		font-size:15px !important;
		padding:15px;
	}

	/*参照*/
	.reference {
		margin-top:15px;
	}
	
	/*リスト（数字)）*/
	.list_literature.w50 {
		width:50%;
	}
	
	/*リスト（●）*/
	.list_dot.margin_height li {
		margin:10px 0 15px;
	}

	.list_dot.box {
		padding:30px 30px 15px 30px;
	}
	.list_dot.box li {
		margin-bottom:15px;
		font-size:15px;
	}

}
