@charset "UTF-8";
/*Gutenberg用リセットCSS
===============================================================*/
@font-face {
  /*フォントの名前*/
  font-family: "NotoSansJP";
  /*フォントファイルへのパス（複数指定の場合、上から順に読み込まれる）*/
  src: url("../font/NotoSansJP-Medium.woff2") format("woff2"),
       url("../font/NotoSansJP-Medium.woff") format("woff");
}
body{
	font-family: 'NotoSansJP', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	line-height: 1.8 !important;
}
hr{border-top: 1px solid #ccc !important; border-bottom: 0 !important; width: 100%;}
.block-editor-writing-flow{background: #fff;}
.block-editor-writing-flow a{
	color: #3f4c9b;
	transition: .3s all;
}
.block-editor-writing-flow a:hover{
	text-decoration: underline;
	opacity: 1;
}
.wp-block{
	max-width: 780px;
	font-size: 16px;
}
p.wp-block + p.wp-block{
	margin-top: 20px;
}
.blocks-gallery-caption, .wp-block-embed figcaption, .wp-block-image figcaption{
	text-align: left;
	font-size: 12px;
}
.blocks-gallery-grid .blocks-gallery-image figcaption, .blocks-gallery-grid .blocks-gallery-item figcaption, .wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption{padding-top: 10px !important; text-align: left; font-size: 12px !important;}
.wp-block-columns{
	margin-bottom: 20px !important;
}
.caption-orange{font-size: 12px; color: #d35400;}
.caption-gray{font-size: 12px;}
.caption-gray.mgT-30{margin-top: -20px !important;}
.wp-block ul{
	margin: 20px;
}
.block-editor-block-list__layout h1,
.wp-block.wp-block-post-title.block-editor-block-list__block.editor-post-title.editor-post-title__input{font-size: 28px;}
.block-editor-block-list__layout h1, .block-editor-block-list__layout h2, .block-editor-block-list__layout h3, .block-editor-block-list__layout h4, .block-editor-block-list__layout h5, .block-editor-block-list__layout h6{
	font-weight: normal;
}

/*tinymce用リセットCSS
===============================================================*/
.editor.mce-content-body{
	padding: 3rem;
	font-size: 1.4rem;
	background: #fff;
}
.wp-block-columns.has-background{padding: 20px 0 0;}
.wp-block-image .alignright, .wp-block-image .alignleft{margin-top: 0; margin-bottom: 0;}
.wp-block[data-align="right"] > .wp-block-image,
.wp-block[data-align="left"] > .wp-block-image{margin-top: 0; margin-bottom: 0;}
body{
	--wp--preset--font-size--small: 16px;
	--wp--preset--font-size--medium: 20px;
	--wp--preset--font-size--large: 24px;
	--wp--preset--font-size--x-large: 28px;
}
html :where(.wp-block){margin: 0;}
/*editor使用部分の共有CSS
===============================================================*/
.editor{font-size: 1.6rem;}
.editor *{
	position: relative;
	z-index: 1;
}
.editor .anchor{
	z-index: 0;
}
.editor p + p{margin-top: 2rem;}
.editor figcaption{
	text-align: left;
	font-size: 1.2rem;
}
.editor figure{position: relative;}
.editor figure a[href $='.png']::before, .editor figure a[href $='.jpg']::before, .editor figure a[href $='.gif']::before, .editor figure a[href $='.PNG']::before, .editor figure a[href $='.JPG']::before, .editor figure a[href $='.jpeg']::before, .editor figure a[href $='.JPEG']::before{
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 30px;
    height: 30px;
    background-image: url(../img/icon-colorbox.png);
    background-size: 100%;
	z-index: 2;
}

.editor ul{
	margin: 2rem;
}

.editor table{
	margin: 2rem 0;
	border: 1px solid #ccc;
}
.editor table td, .editor table th{
	padding: 1rem;
}


/*クラシックモード用
===============================================================*/
.classic p {
    display: block;
    margin: 1em 0;
}
.classic strong { font-weight: bold; }
.classic em { font-style: italic; }
.classic blockquote {
    display: block;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px;
}
.classic .aligncenter {
    display: block;
    margin: 0 auto;
}
.classic .alignright { float: right; }
.classic .alignleft { float: left; }
.classic img[class*="wp-image-"],
.classic img[class*="attachment-"] {
    height: auto;
    max-width: 100%;
}
.classic .clearfix {
    overflow: hidden;
    zoom: 1;
}
.classic .clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.fc-red{color: #e60012;}

/*パターン用style
===============================================================*/
/**/
.product-data{
	margin: 20px auto;
	padding: 20px;
	border: 1px solid #ccc;
}
.product-data .product-data-subname{
	margin: 0;
}
.product-data h3{
	font-size: 2.4rem;
	font-weight: bold;
}
.product-data h4{
	font-size: 1.4rem;
	font-weight: bold;
}
.product-data .product-data-note{
	/* border: 1px solid #000; */
	padding: 1.5rem;
}
.product-data p{font-size: 12px;}

.product-data p + h3,
.product-data p + h4,
.product-data p + p,
.product-data p + div,
.product-data h3 + h3,
.product-data h3 + h4,
.product-data h3 + p,
.product-data h3 + div,
.product-data h4 + h3,
.product-data h4 + h4,
.product-data h4 + p,
.product-data h4 + div,
.product-data div + h3,
.product-data div + h4,
.product-data div + p{
	margin-top: 1.5rem !important;
}




.gallery figcaption{
	color: #d35400;
	text-align: left !important;
	font-size: 12px;
}
.gallery a{
	display: block;
	line-height: 1;
}

.memo{
	padding: 20px;
	background: #f7f7f7;
	margin: 20px auto;
}

.toggle{
	margin: 20px auto;
}
.toggle h3{
	font-size: 2rem;
	font-weight: bold;
}
.toggle h3::before{
	content: "■";
}
.toggle h3::after{
	content: "－";
	background: #e60012;
	width: 20px;
	height: 20px;
	font-size: 18px;
	color: #fff;
	display: inline-block;
	margin-bottom: 2rem;
	position: static;
	line-height: 1;
}
.toggle h3:hover{
	cursor: pointer;
}
.single .toggle h3:not(.open)::after{
	content: "＋" !important;
}
.toggle p{
	font-size: 16px;
	line-height: 1.7;
}
.single .toggle p{
	display: none;
}

.chapter{
	max-width: 580px;
	width: 100%;
	background: #f7f7f7;
	padding: 35px 20px;
	margin: 6rem auto;
	position: relative;
	font-size: 1.6rem;
}
.chapter h2{
	display: block;
	width: 92px;
	height: 35px;
	font-size: 0;
	background-image: url(../img/lv-chapter.png);
	position: absolute;
	top: -5rem;
	left: -2rem;
}
.chapter ul{
	margin: 0 !important;
}
.chapter li{
	list-style: none !important;
	display: flex;
	align-items: flex-start;
}
.chapter li+li{
	margin-top: 3rem;
}
.chapter li::before{
    content: "";
    display: block;
	min-width: 12px;
    margin-right: 1em;
    background-image: url(../img/arrow-red-b.png);
    min-height: 20px;
    background-position: 0 10px;
    background-repeat: no-repeat;
}
.chapter a{
	color: #323232 !important;
}

.checkpoint{
	padding: 3rem;
	background: #5976ba;
	color: #fff;
	margin-bottom: 2rem;
}
.checkpoint h4{
	font-size: 2rem;
	font-weight: bold;
	position: relative;
	margin-bottom: 2rem
}
.checkpoint h4::before{
	content: "CHECK POINT";
	padding: .5rem 2rem;
	background: #dfe4f1;
	color: #5976ba;
	margin-left: -4rem;
	margin-right: 2rem;
	height: 4rem;
	display: inline-block;
}
.checkpoint h4::after{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 1rem 1rem 0;
	border-color: transparent #5976ba transparent transparent;
	position: absolute;
	top: 4rem;
	left: -4rem;
	z-index: 0;
}


.section{
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 3rem;
}

.lnk-arrow-right::after{
	content: "＞";
	margin-left: 1em;
}


.btn-red-arrow, .btn-r-arrow a{
	width: 100%;
	max-width: 320px;
	font-size: 1.6rem;
	display: inline-block;
	position: relative;
}
.btn-red-arrow span, .btn-r-arrow a span{
	display: block;
	background: #e60012;
	color: #fff !important;
	padding: 2rem 4rem;
	text-align: center;
	position: relative;
	z-index: 2;
	transition: .3s all;
}
.btn-red-arrow span:hover, .btn-r-arrow a span:hover{
	background: #7c7c7c;
	opacity: .85 !important;
}
.btn-red-arrow::before, .btn-r-arrow a span::before{
	content: "＞";
	color: #fff !important;
	position: absolute;
	right: 1em;
	top: 50%;
	margin-top: -.7em;
	z-index: 3;
}
.btn-red-arrow::after, .btn-r-arrow a::after{
	content: "";
	height: calc(100% + 10px);
	width: calc(100% + 10px);
	background-image: url(../img/bg-btn.png);
	position: absolute;
	top: 0;
	right: -10px;
	z-index: 1;
	display: block;
}
.btn-red-arrow:hover, .btn-r-arrow a:hover, section.content .btn-r-arrow a:hover, .block-editor-writing-flow .btn-r-arrow a:hover{
	text-decoration: none !important;
	opacity: .85 !important;
}

.btn-red-arrow-s{
	color: #fff !important;
	background: #e60012;
	padding: 1rem 2rem;
	display: inline-block;
	font-size: 1.4rem;
}
.btn-red-arrow-s::after{
	content: "＞";
	margin-left: 1em;
}
.btn-red-arrow-s:hover{
	text-decoration: none !important;
	opacity: .85 !important;
}

.btn-red-arrow-l{
	color: #fff !important;
	background: #e60012;
	padding: 1rem 2rem;
	display: inline-block;
	font-size: 1.4rem;
	font-weight: bold;
}
.btn-red-arrow-l::before{
	content: "＜";
	margin-right: 1em;
	font-weight: bold;
}
.btn-red-arrow-l:hover{
	text-decoration: none !important;
	opacity: .85 !important;
}

.btn-gray-arrow, .btn-g-arrow a{
	color: #fff !important;
	background: #575757;
	padding: 1rem 2rem;
	display: inline-block;
}
.btn-gray-arrow::after, .btn-g-arrow a::after{
	content: "＞";
	margin-left: 1em;
}
.btn-gray-arrow:hover, .btn-g-arrow a:hover, section.content .btn-g-arrow a:hover, .block-editor-writing-flow .btn-g-arrow a:hover{
	text-decoration: none !important;
	opacity: .85 !important;
}
.btn-gray-arrow-s{
	color: #fff !important;
	background: #575757;
	padding: 0 1rem;
	display: inline-block;
}
.btn-gray-arrow-s::after{
	content: "＞";
	margin-left: 1em;
}
.btn-gray-arrow-s:hover{
	text-decoration: none !important;
	opacity: .85 !important;
}


.lv-black-S{
	font-size: 16px;
	color: #000;
	font-weight: bold;
}
.lv-black-M{
	font-size: 20px;
	color: #000;
	font-weight: bold;
}
.lv-black-L, .lv-black{
	font-size: 30px;
	color: #000;
	font-weight: bold;
}
.lv-red-S{
	font-size: 16px;
	color: #e60012;
	font-weight: bold;
}
.lv-red-M{
	font-size: 20px;
	color: #e60012;
	font-weight: bold;
}
.lv-red-L{
	font-size: 30px;
	color: #e60012;
	font-weight: bold;
}

.lv-line-red{
	font-size: 30px;
	position: relative;
	padding-bottom: 3rem;
	margin-bottom: 3rem;
	line-height: 1.4;
}
.lv-line-red::after{
	content: "";
	width: 50px;
	border-bottom: 3px solid #e60012;
	position: absolute;
	bottom: 0;
	left: 0;
}
.lv-line-blue{
	font-size: 30px;
	position: relative;
	padding-bottom: 30px;
	margin-bottom: 30px;
	line-height: 1.4;
}
.lv-line-blue::after{
	content: "";
	width: 50px;
	border-bottom: 3px solid #5976ba;
	position: absolute;
	bottom: 0;
	left: 0;
}
.lv-bold-blue{
	font-weight: bold;
	font-size: 20px;
	margin-bottom: 20px;
}
.lv-bold-blue span{
	display: inline-block;
	margin-left: 1em;
	font-size: .8em !important;
	color: #5976ba !important;
	font-weight: normal !important;
}
.lv-bold-red{
	font-weight: bold;
	font-size: 20px;
	margin-bottom: 20px;
}
.lv-bold-red span{
	display: inline-block;
	margin-left: 1em;
	font-size: .8em !important;
	color: #e60012 !important;
	font-weight: normal !important;
}

.spacer{margin: 4rem auto;}

@media (max-width: 600px) {
	.chapter {margin: 4rem auto 3rem;padding:3rem 1rem 1.5rem;font-size: 1.2rem;}
	.wp-block-image figcaption {
		margin-top: 0em;
		margin-bottom: 1.5em;}
	.editor {font-size: 1.4rem;}
	.lv-line-red, .lv-line-blue{font-size: 2rem !important; padding-bottom: 2rem; line-height: 1.5; margin-bottom: 2rem; font-weight: bold;}
	.lv-line-red::after, .lv-line-blue::after{bottom: 0rem;width: 3rem;}
	.spacer{margin: 2rem 0;}
	.editor p + p{margin-top: 2rem;}
	.chapter li::before{background-position: 0 8px;}
	.chapter li+li {margin-top: 1.5rem;}
	.lv-bold-red{font-size: 1.6rem !important;}
	.lv-bold-blue{font-size: 1.6rem !important;}
	.product-data{padding: 1rem;}
	.product-data .product-data-note {padding: 0;}
}