/*--------見出し用--------*/
.contents-wrap h1,
.contents-wrap h2,
.contents-wrap section h3,
.contents-wrap section h4,
.contents-wrap section h5,
.contents-wrap section h6{
    font-family: "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    line-height: 1.4;
}

.contents-wrap h1{
    font-weight: 700;
}

article .contents-wrap section h3{
    margin-right: 0;
    margin-bottom: 1em;
}

.contents-wrap section h4{
    font-size: 20px;
    margin-top: 2em;
}

.contents-wrap section h5{
    font-size: 18px;
    margin-top: 1.5em;
}

.contents-wrap section h6{
    font-size: 17px;
    margin-top: 1em;
}

.contents-wrap section :where(h2, h3, h4, h5, h6)>small{
    font-size: medium;
    color: inherit;
}

/*左に枠付き数字*/
.subhead001:not(:root){
    border:none;
}
.subhead001-num:not(:root){
    padding: 5px 6px;
    background: #de1687;
    color: #fff;
    vertical-align: middle;
    margin-right: 6px;
}

/*下に1本線　左に枠付き数字*/
.subhead002:not(:root){
    font-weight: 700;
    position: relative;
    margin-left: 48px;
    border-bottom: none;
    padding: 0px;
    margin-bottom: 1.2em;
}
.subhead002-num:not(:root){
    width: 42px;
    height: 42px;
    background: #D8357E;
    margin-right: 8px;
    display: inline-block;
    margin-left: -48px;
    vertical-align: bottom;
    color: #fff;
    font-size: 100%;
    line-height: 36px;
    text-align: center;
    margin-bottom: -3px;
}
.subhead002:not(:root)::after {
    content: '';
    border-bottom: 4px solid #D8357E;
    width: calc(100% + 48px);
    display: block;
    position: absolute;
    left: -48px;
}

/*下に1本線　左に四角*/
.subhead003:not(:root){
    border-bottom: solid 2px #d4b894;
	padding-bottom: 3px;
}
.subhead003:before{
    content:"";
    display:inline-block;
    width:25px;
    height:25px;
    margin-right: 5px;
    background: #967954;
    vertical-align: middle;
}

/*四角い枠　左に枠付き数字*/
h3.subhead004:not(:root){
	position: relative;
	margin-top:2em;
	padding: 0.25em 0.5em;
	border-left: solid 2em #e3007d;
	border-top: solid 2px #e3007d;
	border-right: solid 2px #e3007d;
	border-bottom:solid 2px #e3007d;
}
.subhead004-num:not(:root){
	position: absolute;
	background:none;
	padding: 0em;
	color: white;
	font-size:x-large;
	left: -1.5em;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
    vertical-align: middle;
}
/*下に1本線　左にイタリック数字*/
.subhead005:not(:root){
    border-bottom: solid #eb73ad 3px;
    padding-bottom: 2px;
    font-family: "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}
.subhead005-num:not(:root){
    padding: 0;
    color: #D8127E;
    margin-right: 6px;
    font-style: italic;
    background: transparent;
    font-size: 120%;
    font-family: "ヒラギノ角ゴ StdN", "Hiragino Kaku Gothic StdN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/*--------ポイント・コラム等の枠--------*/
/*枠の上に枠付き見出し*/
.point001{
	position: relative;
	padding: 1em 1em 0.5em;
	border: #a7d8f2 3px solid;
}
.point001-head:not(:root){
	background: #2ba9ed;
    padding: 1px 14px 0px;
    color: #fff;
    position: absolute;
    display: inline-block;
    top: -26px;
    left: -3px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
    margin:0;
}

/*四角い枠の中に略語集*/
.point002{
	background: #ECEEF6;
    padding: 1em;
    margin: 1.4em 0;
}
.point002-head:not(:root){
    font-weight: bold;
    font-family: "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    color: #0A4F97;
    margin:0;
}
.point002-list{
    font-size: medium;
    margin: 0.5em 0 0 0.6em;
}

.point002-list dt{
    float: left;
    font-weight: bold;
    font-family: "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}

/*枠線の上に枠なしの見出し*/
.point003 {
    position: relative;
    padding: 1.2em 1em 0.5em;
    border: solid 3px #b0b0b0;
    border-radius: 8px;
}
.point003-head:not(:root){
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #2a5fa3;
    font-weight: bold;
    margin:0;
}

/*枠の上に丸い枠付きの見出し*/
.point004{
	position: relative;
    padding: 1em 1.2em;
    background-color: #fff;
}
.point004-head:not(:root){
	position: absolute;
    display: inline-block;
    top: -16px;
    left: 0px;
    padding: 5px 9px 0px;
    height: 25px;
    line-height: 16px;
    font-size: 17px;
    background: #d90f3b;
    color: #fff;
    border-radius: 50px;
    margin:0;
}

/*角丸の枠*/
.point005{
    background-color: #fff;
    padding: 1em 1em 0.5em;
    border-radius: 10px;
}

/*レジ増刊用point*/
.point006{
    font-size: medium;
    font-weight: 700;
    font-family: "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}
.point006-head:not(:root){
    padding: 3px 0;
    background-color: #888889;
    color: #fff;
    border-radius: 10px;
    border: none;
    display: inline-block;
    font-size: 20px;
    line-height: 1;
    vertical-align: middle;
    font-family: "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    margin-bottom: 10px;
    }
.point006-head::before, .point006-head::after{
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #d8127e;
    margin: 2px 6px;
}
.point006 ul:not(:root){
    list-style-type:disc;
    padding-left: 20px;
}
.point006 li{
    border-bottom: dashed 1px #eb73ad;
    padding-bottom: 2px;
}
.point006 li:not(:last-child){
    margin-bottom:0.4em;
}

/*--------文中に使うスタイル--------*/
article.webarticle .contents-wrap p{
    line-height: 1.9;
}

.contents-wrap section div *:last-child{
    margin-bottom: 0;
}

/*フォントを変える*/
.font001:not(:root){
	font-family: "Hiragino Kaku Gothic ProN","メイリオ","Meiryo","verdana",sans-serif;
}
.font002:not(:root){
	font-family:"Times New Roman",Times,"ヒラギノ明朝 Pro","Hiragino Mincho Pro","游明朝",YuMincho,"HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;
}
.font003:not(:root){
	font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}
.font004:not(:root){
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}

/*行頭の空白なし*/
.zero001:not(:root){
	text-indent: 0;
}

/*行頭の空白なし　2行目以降、1文字分下がる*/
.zero002:not(:root){
    text-indent: -1em;
    margin-left:1.2em;
}

/*行頭に空白を入れる*/
.ind-1{
    text-indent: 1em;
}

/*右寄せ*/
.right001{
	text-align: right;
}

/*フォントを変えて強調*/
.bold001:not(:root){
	font-family: "Hiragino Kaku Gothic ProN",
    "メイリオ",
    "Meiryo",
    "verdana",
    sans-serif;
	font-weight: 700;
}
.bold002:not(:root){
    font-family: "Hiragino Kaku Gothic ProN",
    "メイリオ",
    "Meiryo",
    "verdana",
    sans-serif;
    font-size:17px;
}

/*フォントの太さ*/
.weight001{
    font-weight: bold;
}
.weight002{
    font-weight: normal;
}

/*フォントサイズ*/
.size85{
	font-size:85%;
}
.size18{
    font-size:18px;
}
.size16{
    font-size:16px;
}

/*マジックで引いたような線*/
.mark-yel{
    background: linear-gradient(transparent 70%, #ffef14 70%);
}
.contents-wrap mark{
    background: linear-gradient(transparent 60%, #FADCEA 60%);
    padding: 0.2em 0;
}

/*章の数字に枠を付ける*/
.num-color{
    padding: 2px 4px 1px;
    border: 1px solid #e3007d;
    font-family: "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    font-size: 14px;
    margin: 0 3px;
    color: #e3007d;
}

/*下線*/
.underline{
    text-decoration: underline;
}

/*図のリンク*/
a[href^="#modal-id"]{
    text-decoration: underline;
}
a[href^="#modal-id"]:hover{
    text-decoration: none;
}

/* 続きは書籍にてご覧ください */
.seeMore {
    margin: 4em auto 0;
    position: relative;
    border-top: 1px solid;
    font-family: "Hiragino Kaku Gothic ProN",
    "メイリオ",
    "Meiryo",
    "verdana",
    sans-serif;
    max-width: 500px;
}
.seeMore span {
    font-weight: 700;
    position: absolute;
    background: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 0 20px;
    text-align: center;
    font-size: max(14px, min(1.5vw,16px));
    min-width: 152px;
    line-height: 1.4;
}
@media (min-width: 639px){
.seeMore span {
    white-space: nowrap;
    }
}
@media (min-width: 610px){
.seeMore span br {
    display: none;
    }
}
@media not all and (min-width: 610px){
.seeMore span br {
    display: block;
    }
}

/*--------本書を一部〜--------*/
/*本書を一部〜と同じスタイル*/
.head-notes{
	text-align: center;
	font-size: 18px;
}
/*本書を一部〜の下に入れる注釈*/
.head-notes-small:not(:root){
	color: gray;
	text-align: center;
	font-size: small;
    font-family: "Hiragino Kaku Gothic ProN",
    "メイリオ",
    "Meiryo",
    "verdana",
    sans-serif;
}

/*--------リスト--------*/
.contents-wrap ul, .contents-wrap ol{
    margin-bottom: 0;
    font-family: "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    padding-left: 20px;
}
.contents-wrap li{
    line-height: 1.9;
    font-size: medium;
}
.contents-wrap li:not(:last-child){
    margin-bottom: 0.4em;
}

/*丸数字用*/
ol.num-cr {
	margin: 0;
	padding-left: 10px;
	list-style: none;
}
ol.num-cr li {
	padding-left: 1.2em;
	text-indent: -1.2em;
}

/*discの色変更*/
.color-dots{
	list-style-type: none;
	padding-left: 20px;
}
.color-dots li{
    text-indent: -0.2em;
    margin-left: 0.2em;
}
.color-dots>li::before{
    content: "";
    border-radius: 100%;
    width: 8px;
    height: 8px;
    background-color: #9e9f9e;
    display: inline-block;
    position: relative;
    top: -2px;
    left: -11px;
    margin-right: -4px;
}

/*--------popover用--------*/
span.tips{
    text-decoration:underline;
    color: #428bca;
    cursor:pointer;}
span.tips .glyphicon{
    text-indent:0;
}

/*--------文献リスト--------*/
article.webarticle section.reference h4{
    font-size: max(16px, min(2.5vw, 18px));
}
article.webarticle section.reference ul.reference li.reference{
    font-size: max(12px, min(1.5vw, 14px));
}
article.webarticle section.reference ul.reference li.reference:not(:last-child) {
    margin-bottom: 0.4em;
}

/*--------全体の幅指定--------*/
.yodobook-wrapper{
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.container-fluid{
    padding: 0 10px;
}

.content-wrap,
.contents-wrap{
	margin:0 auto;
	font-size: medium;
	line-height:1.9;
	word-break: break-word;
    margin-bottom: 4em;
}

@media screen and (max-width: 768px) {
	.content-wrap{
		width:100%;
	}
}
.yodobook-btn_sub{
    margin: 20px 0 !important;
}

/*--------図表--------*/
.figure001{
	margin:3em auto;
    max-width: 70%;
	}

/*２つ以上横並びにさせたい時*/
.figure002{
	display:flex;
	margin:3em auto;
    justify-content: space-evenly;
}
.figure002 img{
    max-width:95%;
}
.item002{
    flex:1;
}
@media screen and (max-width: 640px) {
    .figure001:not(:root), .figure002:not(:root){
    max-width:100%;
    margin:1.5em auto;
    }
	.figure002{
		flex-wrap: wrap;
}
	.figure002 a{
		padding-bottom:1.5em;
        margin-left: auto;
        margin-right: auto;
}
	.figure002 a:last-child{
		padding-bottom:0;
}
}

/*右側に図表(003→スマホサイズだとfloatなし）*/
.figure003,.figure004{
    float:right;
    max-width: 45%;
    margin:6px 0 10px 30px;
}
@media screen and (max-width: 640px) {
    .figure003{
    max-width:100%;
    float:none;
    margin:1.5em auto;
    }
}

/*左側に図表(スマホサイズだとfloatなし）*/
.figure005{
    float:left;
    max-width: 45%;
    margin:6px 30px 10px 0;
}
@media screen and (max-width: 640px) {
    .figure005{
    max-width:100%;
    float:none;
    margin:1.5em auto;
    }
}

.clear-fig:after{
    content:"";
    clear:both;
    display:block;
}
.clear{
    clear:both;
}

/*--------margin--------*/
.ma0 { margin: 0em; }
.ma0-5 { margin: 0.5em; }
.ma1 { margin: 1em; }
.ma1-5 { margin: 1.5em; }
.ma2 { margin: 2em; }
.ma3 { margin: 3em; }
.ma4 { margin: 4em; }
.ma5 { margin: 5em; }
.ma6 { margin: 6em; }
.ma7 { margin: 7em; }
.ma8 { margin: 8em; }
.ma10 { margin: 10em; }
.ma15 { margin: 15em; }

.mt-2:not(:root) { margin-top: -2em; }
.mt0 { margin-top: 0em !important; }
.mt0-5:not(:root) { margin-top: 0.5em; }
.mt1:not(:root) { margin-top: 1em; }
.mt1-2:not(:root) { margin-top: 1.2em; }
.mt1-4:not(:root) { margin-top: 1.4em; }
.mt1-5:not(:root) { margin-top: 1.5em; }
.mt1-6:not(:root) { margin-top: 1.6em; }
.mt1-8:not(:root) { margin-top: 1.8em; }
.mt2:not(:root) { margin-top: 2em;}
.mt2-2:not(:root) { margin-top: 2.2em;}
.mt2-4:not(:root) { margin-top: 2.4em;}
.mt2-5:not(:root) { margin-top: 2.5em;}
.mt2-6:not(:root) { margin-top: 2.6em;}
.mt2-8:not(:root) { margin-top: 2.8em;}
.mt3:not(:root) { margin-top: 3em;}
.mt3-2:not(:root) { margin-top: 3.2em;}
.mt3-4:not(:root) { margin-top: 3.4em;}
.mt3-6:not(:root) { margin-top: 3.6em;}
.mt3-8:not(:root) { margin-top: 3.8em;}
.mt4:not(:root) { margin-top: 4em; }
.mt5:not(:root) { margin-top: 5em; }
.mt6:not(:root) { margin-top: 6em; }
.mt7:not(:root) { margin-top: 7em; }
.mt8:not(:root) { margin-top: 8em; }
.mt10:not(:root) { margin-top: 10em; }
.mt11:not(:root) { margin-top: 11em; }
.mt12:not(:root) { margin-top: 12em; }
.mt15:not(:root) { margin-top: 15em; }
.mt20:not(:root) { margin-top: 20em; }
.mt30:not(:root) { margin-top: 30em; }

.mb0:not(:root) { margin-bottom: 0em; }
.mb0-5:not(:root) { margin-bottom: 0.5em; }
.mb1:not(:root) { margin-bottom: 1em; }
.mb1-2:not(:root) { margin-bottom: 1.2em; }
.mb1-4:not(:root) { margin-bottom: 1.4em; }
.mb1-5:not(:root) { margin-bottom: 1.5em; }
.mb1-6:not(:root) { margin-bottom: 1.6em; }
.mb1-8:not(:root) { margin-bottom: 1.8em; }
.mb2:not(:root) { margin-bottom: 2em; }
.mb2-2:not(:root) { margin-bottom: 2.2em;}
.mb2-4:not(:root) { margin-bottom: 2.4em;}
.mb2-5:not(:root) { margin-bottom: 2.5em;}
.mb2-6:not(:root) { margin-bottom: 2.6em;}
.mb2-8:not(:root) { margin-bottom: 2.8em;}
.mb3:not(:root) { margin-bottom: 3em; }
.mb3-2:not(:root) { margin-bottom: 3.2em;}
.mb3-4:not(:root) { margin-bottom: 3.4em;}
.mb3-5:not(:root) { margin-bottom: 3.5em;}
.mb3-6:not(:root) { margin-bottom: 3.6em;}
.mb3-8:not(:root) { margin-bottom: 2.8em;}
.mb4:not(:root) { margin-bottom: 4em; }
.mb5:not(:root) { margin-bottom: 5em; }
.mb6:not(:root) { margin-bottom: 6em; }
.mb7:not(:root) { margin-bottom: 7em; }
.mb8:not(:root) { margin-bottom: 8em; }
.mb10:not(:root) { margin-bottom: 10em; }
.mb11:not(:root) { margin-bottom: 11em; }
.mb12:not(:root) { margin-bottom: 12em; }
.mb15:not(:root) { margin-bottom: 15em; }
.mb20:not(:root) { margin-bottom: 20em; }
.mb30:not(:root) { margin-bottom: 30em; }

.ml0 { margin-left: 0em; }
.ml0-5 { margin-left: 0.5em; }
.ml1-2 { margin-left: 1em; }
.ml1-2 { margin-left: 1.2em; }
.ml1-5 { margin-left: 1.5em; }
.ml2 { margin-left: 2em; }
.ml3 { margin-left: 3em; }
.ml4 { margin-left: 4em; }
.ml5 { margin-left: 5em; }
.ml6 { margin-left: 6em; }
.ml7 { margin-left: 7em; }
.ml8 { margin-left: 8em; }
.ml1-20 { margin-left: 10em; }
.ml1-25 { margin-left: 15em; }
.ml20 { margin-left: 20em; }
.ml30 { margin-left: 30em; }

.mr0 { margin-right: 0em; }
.mr0-5 { margin-right: 0.5em; }
.mr1 { margin-right: 1em; }
.mr1-5 { margin-right: 1.5em; }
.mr2 { margin-right: 2em; }
.mr3 { margin-right: 3em; }
.mr5 { margin-right: 5em; }
.mr6 { margin-right: 6em; }
.mr7 { margin-right: 7em; }
.mr8 { margin-right: 8em; }
.mr10 { margin-right: 10em; }
.mr15 { margin-right: 15em; }
.mr20 { margin-right: 20em; }
.mr30 { margin-right: 30em; }

/*--------padding--------*/
.pa0-5 { padding: 0.5em; }
.pa1 { padding: 1em; }
.pa1-5 { padding: 1.5em; }
.pa2 { padding: 2em; }
.pa3 { padding: 3em; }
.pa5 { padding: 5em; }
.pa10 { padding: 10em; }
.pa15 { padding: 15em; }

.pt05:not(:root) { padding-top: 0.5em; }
.pt1:not(:root) { padding-top: 1em; }
.pt1-5:not(:root) { padding-top: 1.5em; }
.pt2:not(:root) { padding-top: 2em; }
.pt3:not(:root) { padding-top: 3em; }
.pt5:not(:root) { padding-top: 5em; }
.pt10:not(:root) { padding-top: 10em; }
.pt15:not(:root) { padding-top: 15em; }
.pt20:not(:root) { padding-top: 20em; }
.pt30:not(:root) { padding-top: 30em; }

.pb05 { padding-bottom: 0.5em; }
.pb1 { padding-bottom: 1em; }
.pb1-5 { padding-bottom: 1.5em; }
.pb2 { padding-bottom: 2em; }
.pb3 { padding-bottom: 3em; }
.pb5 { padding-bottom: 5em; }
.pb10 { padding-bottom: 10em; }
.pb15 { padding-bottom: 15em; }
.pb20 { padding-bottom: 20em; }
.pb30 { padding-bottom: 30em; }

.pl05 { padding-left: 0.5em; }
.pl1 { padding-left: 1em; }
.pl1-5 { padding-left: 1.5em; }
.pl2 { padding-left: 2em; }
.pl3 { padding-left: 3em; }
.pl5 { padding-left: 5em; }
.pl10 { padding-left: 10em; }
.pl15 { padding-left: 15em; }
.pl20 { padding-left: 20em; }
.pl30 { padding-left: 30em; }

.pr05 { padding-right: 0.5em; }
.pr1 { padding-right: 1em; }
.pr1-5 { padding-right: 1.5em; }
.pr2 { padding-right: 2em; }
.pr3 { padding-right: 3em; }
.pr5 { padding-right: 5em; }
.pr10 { padding-right: 10em; }
.pr15 { padding-right: 15em; }
.pr20 { padding-right: 20em; }
.pr30 { padding-right: 30em; }
