@charset “UTF-8”;
/* ==============================================================================

CSS Information

 File name:	parts.css

 Style Info: parts style 

============================================================================== */

/*-------------------------------------------------------------------------------

 txt

-------------------------------------------------------------------------------*/

.color__txt {
	font-weight: bold;
}
.color__txt.txt_01 {
	color: #d48691;
}
.color__txt.txt_02 {
	color: #a40000;
}
.color__txt.txt_11 {
	color: #94b8e3;
}
.color__txt.txt_12 {
	color: #00479d;
}

.marker__txt {
	display: inline;
}
.marker__txt.txt_01 {
	background: linear-gradient(transparent 50%, #f1d0db 0%);
}
.marker__txt.txt_02 {
	background: linear-gradient(transparent 50%, #dfa5b8 0%);
}
.marker__txt.txt_11 {
	background: linear-gradient(transparent 50%, #bcd4e3 0%);
}



/*-------------------------------------------------------------------------------

 list

-------------------------------------------------------------------------------*/


/* ul
-----------------------------------------------------------*/

.entry_content ul {
	padding-left: 0;
}
.entry_content ul > li {
	position: relative;
	padding-left: 2em;
	list-style-type: none;
}
.entry_content ul > li::before {
	position: absolute;
	content: '';
	display: block;
	top: .5em;
	left: .6em;
	width: .5em;
	height: .5em;
	border-radius: 50%;
	background: #dfba84;
}



/* ol
-----------------------------------------------------------*/

.entry_content ol {
	counter-reset: item;
	padding-left: 0;
}
.entry_content ol > li {
	position: relative;
	margin-top: 4px;
	margin-bottom: 4px;
	padding-top: 1px;
	padding-left: 2.5em;
	list-style-type: none;
}
.entry_content ol > li:before {
	position: absolute;
	counter-increment: item;
	content: counter(item)'';
	top: 0;
	left: 0;
	width: 2em;
	height: 2em;
	border-radius: 50%;
	background: #dfba84;
	color: #FFF;
	font-size: 87.5%;
	font-weight: bold;
	text-align: center;
	line-height: 2;
}


/* カラー色々
-----------------------------------------------------------*/

.box_sl01r ul > li::before ,
.box_sl01r ol > li:before {
	background: #7badd8;
}

.box_sl01r.box_color03 ul > li::before ,
.box_sl01r.box_color03 ol > li:before {
	background: #FFF;
	color: #9eb7c7;
}


.box00r ul > li::before ,
.box00r ol > li:before {
	background: #cfc99d;
}
.box00r.box_color03 ul > li::before ,
.box00r.box_color03 ol > li:before {
	background: #aeab96;
}

.tabbox ul > li::before ,
.tabbox ol > li:before {
	background: #ea91a9;
}

.mastabox ul > li::before ,
.mastabox ol > li:before {
	background: #57b3ba;
}


.pointbox ul > li::before ,
.pointbox ol > li:before {
	background: #85db8f;
}

.attentionbox ul > li::before ,
.attentionbox ol > li:before {
	background: #efb055;
}

.goodbox ul > li::before ,
.goodbox ol > li:before {
	background: #86cee8;
}

.badbox ul > li::before ,
.badbox ol > li:before {
	background: #ed8989;
}

.notebox ul > li::before ,
.notebox ol > li:before {
	background: #9e9e9e;
}

.memobox ul > li::before ,
.memobox ol > li:before {
	background: #8eaced;
}

.hintbox ul > li::before ,
.hintbox ol > li:before {
	background: #ffcd45;
}


/*-------------------------------------------------------------------------------

 box

-------------------------------------------------------------------------------*/

/* インナーパーツ初期化
-----------------------------------------------------------*/

.basic__box h1   , .basic__box h2 , .basic__box h3 , .basic__box h4 , .basic__box h5 , .basic__box h6 ,
.caption__box h1 , .caption__box h2 , .caption__box h3 , .caption__box h4 , .caption__box h5 , .caption__box h6 ,
.iconcap__box h1 , .iconcap__box h2 , .iconcap__box h3 , .iconcap__box h4 , .iconcap__box h5 , .iconcap__box h6 {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.6;
}

.basic__box ul ,
.basic__box ol ,
.caption__box ul ,
.caption__box ol ,
.iconcap__box ul ,
.iconcap__box ol ,
.iconcap__box p {
	margin-bottom: 0;
}

.basic__box p ,
.caption__box p ,
.iconcap__box p {
	margin: 0 0 20px;
}
.basic__box p:last-child ,
.caption__box p:last-child ,
.iconcap__box p:last-child {
	margin-bottom: 0;
}


/* simple !important
-----------------------------------------------------------*/

.basic__box {
	position: relative;
	margin: 0 auto 20px;
	padding: 10px 15px;
}

.basic__box.box_sl03r {
	border-radius: 4px;
	border: 3px solid #CCC;
	border-color: #60678c;
	color: #FFF;
}

.basic__box.box_da03r {
	border-radius: 4px;
	border: 3px dashed #CCC;
	border-color: #f2bf7d;
}

.basic__box.box_do03r {
	border-radius: 3px;
	border: 3px dotted #CCC;
	border-color: #0161af;
}

.basic__box.box_db03r {
	border-radius: 4px;
	border: 3px double #CCC;
	border-color: #b5e28a;
}

.basic__box.box_sl01r {
	border-radius: 4px;
	border: 1px solid #CCC;
	border-color: #7badd8;
	background: #F9FCFE;
}
.basic__box.box_sl01r.box_color02 {
	background: #e5edf2;
}
.basic__box.box_sl01r.box_color03 {
	background: #9eb7c7;
	border-color: #6b8698;
	color: #FFF;
}

.basic__box.box_da01r {
	border-radius: 4px;
	border: 1px dashed #CCC;
	border-color: #e896c7;
	background: #fefafb;
}

.basic__box.box00 {
	background: #fbf9e9;
}

.basic__box.box00r {
	border-radius: 4px;
	background: #fbf9e9;
}
.basic__box.box00r.box_color02 {
	background: #f0edd6;
}
.basic__box.box00r.box_color03 {
	background: #cdc9ad;
	color: #FFF;
}

.basic__box.box_sl10 {
	border: 10px solid #CCC;
	border-color: #def1f9;
	background: #f9fcfe;
}

.basic__box.box_sll05 {
	border-left: 5px solid #999;
	border-color: #96ddc1;
	background: #f5fcf9;
}

.basic__box.box00ex {
	background: #f9f3fb;
}
.basic__box.box00ex:after {
	position: absolute;
	content: '';
	display: block;
	right: 0;
	top: 0;
	border-width: 0 30px 30px 0;
	border-style: solid;
	border-color: #fff #fff #e1c0e8 #e1c0e8;
}

.basic__box.box04sk {
	border: 4px solid #f6bfbc;
	border-radius: 3em .8em 3em .7em/.9em 2em .8em 3em;
}

.basic__box.box_slt05 {
	border: 1px solid #999;
	border-top: 5px solid #f2bf7d;
}

.basic__box.crossbox {
	border-top: solid 1px black;
	border-bottom: solid 1px black;
}
.basic__box.crossbox:before ,
.basic__box.crossbox:after {
	content: '';
	position: absolute;
	top: -10px;
	width: 1px;
	height: -webkit-calc(100% + 20px);
	height: calc(100% + 20px);
	background-color: black;
}
.basic__box.crossbox:before {left: 10px;}
.basic__box.crossbox:after {right: 10px;}

.basic__box.brackets:before,.basic__box.brackets:after {
	position: absolute;
	display: inline-block;
	content:'';
	width: 50px;
	height: 50px;
}
.basic__box.brackets:before {
	top:0;
	left: 0;
	border-left: solid 1px #5767bf;
	border-top: solid 1px #5767bf;
}
.basic__box.brackets:after {
	bottom:0;
	right: 0;
	border-right: solid 1px #5767bf;
	border-bottom: solid 1px #5767bf;
}


/* title
-----------------------------------------------------------*/

.caption__box {
	position: relative;
	overflow: hidden;
	margin: 0 auto 20px;
	padding: 10px 15px;
	background: #EEE;
}
.caption__box .title {
	margin: -20px -25px 20px;
	padding: 12px 0;
	background: #666;
	color: #FFF;
	text-align: center;
}

.caption__box.box00r {
	border-radius: 4px;
	background: #fff4f1;
}
.caption__box.box00r .title {
	background: #ffb49e;
}

.caption__box.box_sl01r {
	border-radius: 4px;
	background: #FFF;
	border: 1px solid #404a75;
}
.caption__box.box_sl01r .title {
	background: #404a75;
}

.caption__box.blackboard {
	padding-bottom: 30px;
	background: #0c5937;
	border: 10px solid #9f8023;
	color: #FFF;
}
.caption__box.blackboard:before {
	position: absolute;
	content: '';
	right: 0px;
	bottom: 0px;
	width: 62px;
	height: 25px;
	background-image: url(../image/common/icon_eraser.svg);
	background-size: cover;
}
.caption__box.blackboard .title {
	margin-bottom: 8px;
	background: none;
}
.caption__box.blackboard .bb_yw {
	color: #fbf332;
}
.caption__box.blackboard .bb_pk {
	color: #dd6aa5;
}
.caption__box.blackboard .bb_sky {
	color: #27b7dc;
}
.caption__box.blackboard.bl {
	background: #333;
}

.caption__box.tabbox {
	overflow: visible;
	margin-top: 55px;
	background: #FFF;
	border: 1px solid #ea91a9;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom-left-radius: 4px;
}
.caption__box.tabbox .title {
	position: absolute;
	top: -38px;
	left: -1px;
	margin: 0;
	padding: 10px 15px;
	background: #ea91a9;
	border-top-right-radius: 4px;
	border-top-left-radius: 4px;
	line-height: 18px;
}

.caption__box.mastabox {
	overflow: visible;
	margin-top: 35px;
	padding-top: 30px;
	border-radius: 4px;
	background: #ebf6f7;
	border-radius: 4px;
}
.caption__box.mastabox .title {
	position: absolute;
	top: -18px;
	left: 20px;
	margin: 0;
	padding: 10px 15px;
	border-radius: 4px;
	background: #57b3ba;
	line-height: 18px;
}


/* iconcap__box
-----------------------------------------------------------*/

.iconcap__box {
	position: relative;
	margin: 40px auto 20px;
	padding: 35px 15px 10px;
	border-radius: 4px;
	border: 1px solid #CCC;
}

.iconcap__box .title {
	position: absolute;
	top: -20px;
	margin-right: 8px;
	padding: 8px 8px 8px 50px;
	background: #FFF;
	font-weight: bold;
	line-height: 1.2;
}

.iconcap__box::after {
	position: absolute;
	content: '';
	top: -20px;
	left: 20px;
	width: 18px;
	height: 18px;
	padding: 10px;
	background: #999;
	border-radius: 50%;
	color: #FFF;
	font-size: 1.125rem;
	font-family: FontAwesome;
	text-align: center;
	line-height: 1;
}

.iconcap__box.pointbox {
	border-color: #85db8f;
}
.iconcap__box.pointbox .title {
	color: #85db8f;
}
.iconcap__box.pointbox::after {
	background: #85db8f;
	content: '\f00c';
}

.iconcap__box.attentionbox {
	border-color: #efb055;
}
.iconcap__box.attentionbox .title {
	color: #efb055;
}
.iconcap__box.attentionbox::after {
	background: #efb055;
	content: '\f071';
}

.iconcap__box.goodbox {
	border-color: #86cee8;
}
.iconcap__box.goodbox .title {
	color: #86cee8;
}
.iconcap__box.goodbox::after {
	background: #86cee8;
	content: '\f1db';
}

.iconcap__box.badbox {
	border-color: #ed8989;
}
.iconcap__box.badbox .title {
	color: #ed8989;
}
.iconcap__box.badbox::after {
	background: #ed8989;
	content: '\00d7';
	font-size: 1.75rem;
	line-height: .5;
}

.iconcap__box.notebox {
	border-color: #9e9e9e;
}
.iconcap__box.notebox .title {
	color: #9e9e9e;
}
.iconcap__box.notebox::after {
	background: #9e9e9e;
	content: '\f02d';
}

.iconcap__box.memobox {
	border-color: #8eaced;
}
.iconcap__box.memobox .title {
	color: #8eaced;
}
.iconcap__box.memobox::after {
	background: #8eaced;
	content: '\f040';
}

.iconcap__box.hintbox {
	border-color: #ffcd45;
}
.iconcap__box.hintbox .title {
	color: #ffcd45;
}
.iconcap__box.hintbox::after {
	background: #ffcd45;
	content: '\f0eb';
}


/* fukidashi
-----------------------------------------------------------*/

.fukidashi__box {
	display: -webkit-flex;
	display: flex;
	margin-bottom: 20px;
}

.fukidashi__box .fig {
	overflow: hidden;
	display: block;
	width: 90px;
	height: 90px;
	border-radius: 50vw;
}
.fukidashi__box .fig img {
	width: 100%;
}

.fukidashi__box .fukidashi {
	position: relative;
	flex: 1;
	padding: 30px;
	background: #EEE;
	border-radius: 5px;
}

.fukidashi__box .fukidashi::before {
	position: absolute;
	content: '';
	top: 45px;
	margin-top: -15px;
	border-style: solid;
	border-width: 15px;
}
.fukidashi__box.fuki_left .fukidashi::before {
	left: -30px;
	border-color: transparent #EEE transparent transparent;
}
.fukidashi__box.fuki_right .fukidashi::before {
	right: -30px;
	border-color: transparent transparent transparent #EEE;
}

.fukidashi__box .fukidashi p:last-child {
	margin-bottom: 0!important;
}

/* left/right */
.fukidashi__box.fuki_left {
	flex-direction: row;
}
.fukidashi__box.fuki_left .fukidashi {
	margin-left: 20px;
}
.fukidashi__box.fuki_right {
	flex-direction: row-reverse;
}
.fukidashi__box.fuki_right .fukidashi {
	margin-right: 20px;
}

/* color */
.fukidashi__box.color01 .fukidashi {
	background: #EBF0ED;
}
.fukidashi__box.fuki_left.color01 .fukidashi::before {
	border-color: transparent #EBF0ED transparent transparent;
}
.fukidashi__box.fuki_right.color01 .fukidashi::before {
	border-color: transparent transparent transparent #EBF0ED;
}
.fukidashi__box.color02 .fukidashi {
	background: #F2E9F1;
}
.fukidashi__box.fuki_left.color02 .fukidashi::before {
	border-color: transparent #F2E9F1 transparent transparent;
}
.fukidashi__box.fuki_right.color02 .fukidashi::before {
	border-color: transparent transparent transparent #F2E9F1;
}


/* /////////////////////////////////////////////////////////////////////////////

 デバイス別 ※ 基本 mobile first でPCに追加style

///////////////////////////////////////////////////////////////////////////// */

@media only screen and (max-width: 768px) {
	.basic__box ul ,
	.basic__box ol ,
	.caption__box ul ,
	.caption__box ol ,
	.iconcap__box ol ,
	.iconcap__box p {
		padding-left: 20px;
	}
	.fukidashi__box .fukidashi {
		padding: 15px;
	}
	.fukidashi__box .fig {
		width: 80px;
		height: 80px;
	}
	.fukidashi__box .fukidashi::before {
		top: 40px;
	}
	.fukidashi__box.fuki_column {
		display: block;
	}
	.fukidashi__box.fuki_column.fuki_left .fukidashi {
		margin-top: 20px;
		margin-left: 0;
	}
	.fukidashi__box.fuki_column.fuki_left .fukidashi::before {
		position: absolute;
		content: '';
		top: -30px;
		left: 40px;
		margin-top: 0;
		margin-left: -15px;
		border-color: transparent transparent #EEE transparent;
	}
	.fukidashi__box.fuki_column.fuki_right .fig {
		float: right;
		margin-bottom: 20px;
	}
	.fukidashi__box.fuki_column.fuki_right .fukidashi {
		clear: both;
		margin-right: 0;
	}
	.fukidashi__box.fuki_column.fuki_right .fukidashi::before {
		position: absolute;
		content: '';
		top: -30px;
		right: 40px;
		margin-top: 0;
		margin-right: -15px;
		border-color: transparent transparent #EEE transparent;
	}
	.fukidashi__box.fuki_column.fuki_left.pgy .fukidashi::before ,
	.fukidashi__box.fuki_column.fuki_right.pgy .fukidashi::before {
		border-color: transparent transparent #EBF0ED transparent;
	}
	.fukidashi__box.fuki_column.fuki_left.pgy .fukidashi::before ,
	.fukidashi__box.fuki_column.fuki_right.pgy .fukidashi::before {
		border-color: transparent transparent #F2E9F1 transparent;
	}
}


/*media Queries PCサイズ
----------------------------------------------------*/

@media only screen and (min-width: 769px) {
	/* margin 調整 */
	.basic__box ,
	.fukidashi__box {
		margin-top: 35px;
	}
	.caption__box.tabbox {
		margin-top: 70px;
	}
	.caption__box.mastabox {
		margin-top: 60px;
	}
	.iconcap__box {
		margin-top: 60px;
	}
	.basic__box ,
	.caption__box ,
	.iconcap__box ,
	.fukidashi__box {
		margin-bottom: 40px;
	}
	/* padding 調整 */
	.basic__box {
		padding: 20px 25px;
	}
	.caption__box {
		padding: 20px 25px;
	}
	.iconcap__box {
		padding: 35px 25px 20px;
	}
	.iconcap__box::after {
		left: 30px;
	}
	.caption__box.mastabox {
		padding-top: 35px;
	}
}

