@charset "utf-8";


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

↓↓↓↓↓機能、構成やレイアウトに関するcss

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


/*===============================
フレックスボックス
===============================*/
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.fl_btw_str {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.fl_btw_sta {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.fl_btw_cen {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.fl_aro_str {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.fl_aro_sta {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.fl_aro_cen {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.fl_cen_str {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.fl_cen_sta {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.fl_cen_cen {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.fl_sta_str {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.fl_sta_sta {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.fl_sta_cen {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
/* flex-flow */
.col_wrap{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column wrap;
	flex-flow: column wrap;
}
.col_nowrap{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column nowrap;
	flex-flow: column nowrap;
}
.col_wrap-rev{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column wrap-reverse;
	flex-flow: column wrap-reverse;
}
.row_wrap{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
}
.row_nowrap{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row nowrap;
	flex-flow: row nowrap;
}
.row-rev_wrap{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-flow: row-reverse wrap;
	flex-flow: row-reverse wrap;
}
.row-rev_nowrap{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-flow: row-reverse nowrap;
	flex-flow: row-reverse nowrap;
}
.row_wrap-rev{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap-reverse;
	flex-flow: row wrap-reverse;
}
.row-rev_wrap-rev{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-flow: row-reverse wrap-reverse;
	flex-flow: row-reverse wrap-reverse;
}

/*フレックスボックスのgap
-------------------------------*/
/*左右の隙間*/
.gap-c0 {
	-webkit-column-gap: 0!important;
	column-gap: 0!important;
}
.gap-c20 {
	-webkit-column-gap: 40px!important;
	column-gap: 40px!important;
}
.gap-c40 {
	-webkit-column-gap: 40px!important;
	column-gap: 40px!important;
}
/*上下の隙間*/
.gap-r0 {
	row-gap: 0!important;
}
.gap-r10 {
	row-gap: 10px!important;
}
.gap-r20 {
	row-gap: 20px!important;
}
.gap-r30 {
	row-gap: 30px!important;
}
.gap-r40 {
	row-gap: 40px!important;
}
.gap-r50 {
	row-gap: 50px!important;
}
.gap-r60 {
	row-gap: 60px!important;
}
.gap-r70 {
	row-gap: 70px!important;
}
.gap-r80 {
	row-gap: 80px!important;
}

/*フレックスボックスの均等分割
-------------------------------*/
.separate-2,
.separate-3,
.separate-4,
.separate-5,
.separate-6,
.separate-7,
.separate-8 {
	-webkit-column-gap: 40px;
	column-gap: 40px;
}
/* 1/2 */
.separate-2 .flex_item {
	width: calc(100%/2 - 20px);
}
.separate-2.gap-c0 .flex_item {
	width: 50%;
}
/* 1/3 */
.separate-3 .flex_item {
	width: calc(100%/3 - (80px/3));
}
.separate-3.gap-c0 .flex_item {
	width: calc(100%/3);
}
/* 1/4 */
.separate-4 .flex_item {
	width: calc(100%/4 - (120px/4));
}
.separate-4.gap-c0 .flex_item {
	width: calc(100%/4);
}
/* 1/5 */
.separate-5 .flex_item {
	width: calc(100%/5 - (160px/5));
}
.separate-5.gap-c0 .flex_item {
	width: calc(100%/5);
}
/* 1/6 */
.separate-6 .flex_item {
	width: calc(100%/6 - (200px/6));
}
.separate-6.gap-c0 .flex_item {
	width: calc(100%/6);
}
/* 1/7 */
.separate-7 .flex_item {
	width: calc(100%/7 - (240px/7));
}
.separate-7.gap-c0 .flex_item {
	width: calc(100%/7);
}
/* 1/8 */
.separate-8 .flex_item {
	width: calc(100%/8 - (280px/8));
}
.separate-8.gap-c0 .flex_item {
	width: calc(100%/8);
}

/*flex boxの中のpic、sentence
-------------------------------*/
.flex_item.-pic01 {
	width: 40%;
}
.flex_item.-sentence01 {
	width: calc(60% - 40px);
}
.flex_item.-pic02 {
	width: 30%;
}
.flex_item.-sentence02 {
	width: calc(70% - 40px);
}

/*マージントップ
-------------------------------*/
.mt_auto {
	margin-top: auto;
}




/*================================
↓　各ブレイクポイント毎の flex-direction
==================================
横並びのアイテムのflex-direction を column に変更して
タブレット・スマホ幅で見やすいように変更する
==================================
.pc-col_wrap…………………ノートPCで縦並びにする
.tab_lg-col_wrap………タブレット(横画面)で縦並びにする
.tab-col_wrap………………タブレット(縦画面)で縦並びにする
.sp-col_wrap…………………スマホで縦並びにする
================================*/



/*================================
ノートPC 1366px～0px
================================*/
@media (max-width: 1366px) {
	/* flex-flow　縦並び
	-------------------------------*/
	.pc-col_wrap {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column wrap;
		flex-flow: column wrap;
	}
	.pc-col_wrap .flex_item {
		width: 100%!important;
	}
}


/*================================
TABLET横 1080px～0px
================================*/
@media screen and (max-width: 1080px) {
	/* flex-flow　縦並び
	-------------------------------*/
	.tab_lg-col_wrap {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column wrap;
		flex-flow: column wrap;
	}
	.tab_lg-col_wrap .flex_item {
		width: 100%!important;
	}

	
}


/*================================
TABLET縦 834px～0px
================================*/
@media screen and (max-width: 834px) {
	/* flex-flow　縦並び
	-------------------------------*/
	.tab-col_wrap {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column wrap;
		flex-flow: column wrap;
	}
	.tab-col_wrap .flex_item {
		width: 100%!important;
	}

	/*flex boxの中のpic、sentence
	-------------------------------*/
	.flex_item.-pic01 {
		width: 100%;
	}
	.flex_item.-sentence01 {
		width: 100%;
	}
	.flex_item.-pic02 {
		width: 100%;
	}
	.flex_item.-sentence02 {
		width: 100%;
	}
}


/*================================
SP表示 480px～0px
================================*/
@media(max-width: 480px) {
	/* flex-flow　縦並び
	-------------------------------*/
	.sp-col_wrap {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column wrap;
		flex-flow: column wrap;
	}
	.sp-col_wrap .flex_item {
		width: 100%!important;
	}

	/*flex boxの中のpic、sentence
	-------------------------------*/
	.flex_item.-pic {}
	.flex_item.-sentence {}
}

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

↑↑↑↑↑機能、構成やレイアウトに関するcss

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







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

↓↓↓↓↓外観、デザインや飾りに関するcss

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


/*================================
コンテナ類
===============================*/
.main {
	padding-top: 10px;
}
.section {
	padding-top: 100px;
}
.section:first-of-type {
	padding-top: 50px;
}
.inner {
	max-width: calc(1000px + 120px);
}
.content {
	/*padding-top: 50px;*/
	padding-bottom: 50px;
}
.content:last-of-type {
	padding-bottom: 100px;
}

/*================================
ページタイトル
===============================*/
.mainvisual {
	background:
		url(../img/mv_deco.png)top center repeat-x, 
		url(../img/mv_cover.png)bottom center no-repeat #b2dff1;
}
.mainvisual .inner {
	max-width: calc(1200px + 120px);
}
.page-title_wrap {
	/*flex*/
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	/*others*/
	min-height: 300px;
}
.page-title {
	background: linear-gradient(to top,#fff168 16px,transparent 16px);
	text-align: center;
}
.page-title .word {
	position: relative;
	z-index: 1;
	display: inline-block;
	min-height: 76px;
	padding: 4px 40px 4px 110px;
	background-position: left 10px center;
	background-repeat: no-repeat;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 6rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.2;
	color: #563717;
	text-shadow: 3px 3px 1px #fff, -3px 3px 1px #fff, 3px -3px 1px #fff, -3px -3px 1px #fff, 3px 0px 1px #fff, 0px 3px 1px #fff, -3px 0px 1px #fff, 0px -3px 1px #fff;
}
.page-title .word::before {
	position: absolute;
	content: "";
	background: url(../img/page_ttl_deco.png)center/contain no-repeat;
	width: 55px;
	height: 57px;
	right: 0;
	top: -24px;
}

/* パンくずリスト
================================*/
.breadcrumb_lists {
	display: flow-root;
}
.breadcrumb_lists li {
	float: left;
	position: relative;
	z-index: 1;
	font-size: 1.8rem;
	line-height: 1.2;
}
.breadcrumb_lists li a {
	color: #000;
}
.breadcrumb_lists li:not(:last-child) {
	margin-right: 20px;
}
.breadcrumb_lists li:not(:last-child)::after {
	position: absolute;
	content: ">";
	top: -1px;
	right: -18px;
	width: 12px;
	height: 13px;
}

/* ブロック要素、インライン要素
================================*/
.block_center {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.block_right {
	display: block;
	margin-left: auto;
}
.block_left {
	display: block;
	margin-right: auto;
}
.block {
	display: block!important;
}
.inline-block {
	display: inline-block!important;
}

/* 文字揃え
================================*/
.text_center {
	text-align: center !important;
}
.text_left {
	text-align: left !important;
}
.text_right {
	text-align: right !important;
}
.indent {
	padding-left: 1em;
	text-indent: -1em;
}

/* object-fit
================================*/
.fit-cover {
	-o-object-fit: cover;
	object-fit: cover;
	height: 100%;
	width: 100%;
}

/* 見出し
================================*/
.section_title_wrap {
	max-width: calc(1200px + 120px);
	margin: 0 auto 50px;
	padding: 0 60px;
}
.section_title {
	padding: 0 0 10px;
	border-bottom: 4px dashed #ffda68;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 4.8rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.4;
	color: #563717;
}
.section_title .color {
	color: #95bc10;
}
.content_title01 {
	margin-bottom: 60px;
	padding: 0 20px;
	background: linear-gradient(to top,#fefbd2 20px,transparent 20px);
	text-align: center;
}
.content_title01 .brackets {
	display: inline-block;
	max-width: 930px;
	min-height: 50px;
	margin: 0 auto;
	padding: 4px 60px 4px;
	background: 
		url(../img/content_title01_brackets01.png)left center/auto 50px no-repeat,
		url(../img/content_title01_brackets02.png)right center/auto 50px no-repeat;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 3rem;
	text-align: center;
	line-height: 1.4;
	color: #563717;
}
.content_title01 .brackets .big01 {
	font-size: 3.6rem;
	color: #e97c28;
	vertical-align: baseline;
}	
.content_title01 .brackets .big02 {
	font-size: 3.6rem;
	color: #158e15;
	vertical-align: baseline;
}	
.content_title01.-color02 {
	background: linear-gradient(to top,#fff 20px,transparent 20px);
}
.content_title02 {
	margin-bottom: 30px;
	padding: 2px 40px;
	background: #b3d465;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 2.6rem;
	text-align: center;
	line-height: 1.4;
	color: #563718;
}
.content_title02 .big {
	font-size: 3rem;
	color: #fff;
}
.content_title02.-color02 {
	background: #87d0f6;
}
.content_title02.-color03 {
	background: #ff9cc8;
}
.content_title02.-color04 {
	background: #d8c824;
}
.content_title02.-color05 {
	background: #f49e36;
}
.content_title03 {
	margin-bottom: 20px;
	padding: 8px 40px;
	background: #ffebf4;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 2.2rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.6;
	color: #eb75b5;
}
.content_title03.-color02 {
	background: #eaf5cf;
	color: #76af00;
}
.content_title03.-color03 {
	background: #ffedcb;
	color: #e89800;
}
.content_title04 {
	margin-bottom: 20px;
	padding: 5px 40px;
	background: #efb851;
	border-radius: 8px;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 2.6rem;
	text-align: center;
	line-height: 1.4;
	color: #fff;
}
.content_title04 .small {
	font-size: 2rem;
}
.content_title04.-color02 {
	background: #f2944b;
}
.block_title01 {
	margin-bottom: 20px;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 2.4rem;
	text-align: center;
	color: #563717;
}
.block_title01 .word {
	background: linear-gradient(to top,#fff 10px,transparent 10px);
}
.block_title01 .word.-color02 {
	background: linear-gradient(to top,#fff168 10px,transparent 10px);
}
.block_title01 .word.-color03 {
	background: linear-gradient(to top,#b3d465 10px,transparent 10px);
}
.block_title01 .word.-color04 {
	background: linear-gradient(to top,#ff9cc8 10px,transparent 10px);
}
.block_title01 .word.-color05 {
	background: linear-gradient(to top,#d8c824 10px,transparent 10px);
}
.block_title01 .word.-color06 {
	background: linear-gradient(to top,#b7ddf1 10px,transparent 10px);
}
.block_title02 {
	margin-bottom: 20px;
	border-bottom: 3px solid #95bc10;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 2.4rem;
	color: #563717;
}
.block_title03 {
	margin-bottom: 10px;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 2.4rem;
	color: #64512d;
}
.block_title04 {
	margin-bottom: 20px;
	padding: 0 20px;
	text-align: center;
}
.block_title04 .brackets {
	display: inline-block;
	max-width: 930px;
	min-height: 50px;
	margin: 0 auto;
	padding: 8px 60px 2px;
	background: 
		url(../img/content_title01_brackets01.png)left center/auto 50px no-repeat,
		url(../img/content_title01_brackets02.png)right center/auto 50px no-repeat;
	font-size: 2rem;
	text-align: center;
	line-height: 1.4;
	color: #158f15;
}
.block_title04 .big {
	font-size: 2.4rem;
}
.block_title04 .color {
	color: #e97c28;
}
.block_title05 {
	margin-bottom: 10px;
	font-size: 2.2rem;
	text-align: center;
	line-height: 1.8;
	color: #158f15;
}
.block_title05 .color {
	color: #e97c28;
}

/* リンクボタン
================================*/
.link_btn {
	position: relative;
	z-index: 1;
	-webkit-transition: .4s;
	transition: .4s;
	display: inline-block;
	padding: 2px 50px 2px 20px;
	border-radius: 30px;
	font-family: 'Zen Maru Gothic', sans-serif;
	text-align: center;
	line-height: 1.6;
	color: #fff;
}
.link_btn:hover {
	opacity: 0.7;
}
.link_btn.-color01 {
	background: #00b7ee;
}
.link_btn.-color02 {
	background: #ec6b6c;
}
.link_btn.-color03 {
	background: #ff9300;
}
.link_btn.-color04 {
	background: #f8b551;
}
.link_btn.-color05 {
	background: #8fc771;
}
.link_btn.-color06 {
	background: #f29c9f;
}
.link_btn.-color07 {
	background: #158f15;
}
.link_btn.-color08 {
	background: #b3d465;
}
.link_btn::before {
	position: absolute;
	z-index: -1;
	content: "→";
	right: 20px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #fff;
}
/*nolink*/
.link_btn.-nolink {
	background: #ccc;
}

/* フレーム
================================*/
.frame01 {
	padding: 30px;
	background: #fff;
	border-radius: 20px;
}
.frame02 {
	padding: 30px;
	background: #fff;
	border: 4px solid #b7ddf1;
	border-radius: 20px;
}
.frame02.-type02 {
	border: 4px solid #87d0f6;
}
.frame02.-type03 {
	border: 4px solid #b3d465;
}
.frame02.-type04 {
	border: 4px solid #ff9cc8;
}
.frame02.-type05 {
	border: 4px solid #d8c824;
}
.frame02.-type06 {
	border: 4px solid #f49e36;
}
.frame03 {
	padding: 30px;
	background-image:
		-webkit-gradient(linear, left bottom, left top, color-stop(2.38%, #e7e7e7), color-stop(2.38%, transparent), color-stop(50%, transparent), color-stop(50%, #e7e7e7), color-stop(52.38%, #e7e7e7), color-stop(52.38%, transparent), to(transparent)),
		-webkit-gradient(linear, left top, right top, color-stop(48%, #fff), color-stop(48%, #e7e7e7), color-stop(50%, #e7e7e7), color-stop(50%, #fff), color-stop(98%, #fff), color-stop(98%, #e7e7e7), to(#e7e7e7));
	background-image:
		linear-gradient(0deg, #e7e7e7 2.38%, transparent 2.38%, transparent 50%, #e7e7e7 50%, #e7e7e7 52.38%, transparent 52.38%, transparent 100%),
		linear-gradient(90deg, #fff 48%, #e7e7e7 48%, #e7e7e7 50%, #fff 50%, #fff 98%, #e7e7e7 98%, #e7e7e7 100%);
	background-size: 50.00px 50.00px;
	border-radius: 20px;
}
.frame03.-type02 {
	padding: 30px 20px;
	border: 20px solid #f7f0e3;
}
.frame04 {
	padding: 30px;
	background: #e5f6ff;
}
.frame04.-color02 {
	background: #fff9d9;
}
.frame04.-color03 {
	background: #fdfaec;
}
.frame04.-color04 {
	background: #fff;
}
.frame05 {
	padding: 30px;
	background: #fff;
	border-radius: 6px;
}

/* 枠・囲み
================================*/
.brackets01 {
	padding: 20px 30px;
	background: 
		url(../img/brackets01.png)left top no-repeat,
		url(../img/brackets02.png)right bottom no-repeat;
}

/* 吹き出し
================================*/
/*speech_flex01*/
.speech_flex01 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 30px 50px;
}
.speech_flex01.-rev {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.speech_flex01 .pic {
	width: 150px;
}
.speech_flex01 .sentence {
	width: calc(100% - 200px);
	position: relative;
	z-index: 1;
	padding: 20px 30px;
	background: #b3d465;
	border-radius: 20px;
}
.speech_flex01 .sentence::before {
	position: absolute;
	content: "";
	right: 0;
	top: 50%;
	-webkit-transform: translate(100%,-50%);
	transform: translate(100%,-50%);
	border-left: 16px solid #b3d465;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}
.speech_flex01.-rev .sentence::before {
	right: auto;
	left: 0;
	top: 50%;
	-webkit-transform: translate(-100%,-50%);
	transform: translate(-100%,-50%);
	border-left: none;
	border-right: 16px solid #b3d465;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}
.speech_flex01 .sentence_text {
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 2.4rem;
	text-align: center;
	line-height: 1.5;
	color: #563b31;
}
/*speech_flex02*/
.speech_flex02 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 30px 50px;
}
.speech_flex02.-rev {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.speech_flex02 .pic {
	width: 300px;
}
.speech_flex02 .sentence {
	width: calc(100% - 350px);
	min-height: 300px;
	position: relative;
	z-index: 1;
	padding: 30px;
	background: #fff;
	border-radius: 20px;
}
.speech_flex02 .sentence.-color02 {
	background: #e5f6ff;
}
.speech_flex02 .sentence::before {
	position: absolute;
	content: "";
	right: 0;
	top: 50%;
	-webkit-transform: translate(100%,-50%);
	transform: translate(100%,-50%);
	border-left: 16px solid #fff;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}
.speech_flex02.-rev .sentence::before {
	right: auto;
	left: 0;
	top: 50%;
	-webkit-transform: translate(-100%,-50%);
	transform: translate(-100%,-50%);
	border-left: none;
	border-right: 16px solid #fff;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}
.speech_flex02 .sentence.-color02::before {
	border-left: 16px solid #e5f6ff;
}
.speech_flex02.-rev .sentence.-color02::before {
	border-left: none;
	border-right: 16px solid #e5f6ff;
}
/*speech_flex03*/
.speech_flex03 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 30px 50px;
}
.speech_flex03.-rev {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.speech_flex03 .pic {
	width: 175px;
}
.speech_flex03 .sentence {
	width: calc(100% - 225px);
	position: relative;
	z-index: 1;
	padding: 50px 30px 30px;
	background:
		url(../img/star_deco.png)left 30px top 10px no-repeat #fff;
	border: 2px solid #8dcc0a;
	border-radius: 6px;
	text-align: center;
}
.speech_flex03 .sentence::before {
	position: absolute;
	content: "";
	right: 0;
	top: 50%;
	-webkit-transform: translate(100%,-50%);
	transform: translate(100%,-50%);
	border-left: 16px solid #8dcc0a;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}
.speech_flex03 .sentence::after {
	position: absolute;
	content: "";
	right: 3px;
	top: 50%;
	-webkit-transform: translate(100%,-50%);
	transform: translate(100%,-50%);
	border-left: 16px solid #fff;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}
.speech_flex03.-rev .sentence::before {
	right: auto;
	left: 0;
	top: 50%;
	-webkit-transform: translate(-100%,-50%);
	transform: translate(-100%,-50%);
	border-left: none;
	border-right: 16px solid #8dcc0a;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}
.speech_flex03.-rev .sentence::after {
	right: auto;
	left: 3px;
	top: 50%;
	-webkit-transform: translate(-100%,-50%);
	transform: translate(-100%,-50%);
	border-left: none;
	border-right: 16px solid #fff;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}
.speech_flex03 .sentence p {
	display: inline-block;
	text-align: left;
}

/* 背景（ブラウザ幅100％）
================================*/
.bg_pattern01 {
	position: relative;
	z-index: 1;
}
.bg_pattern01::before {
	position: absolute;
	z-index: -1;
	content: "";
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 102vw;
	height: 100%;
	background: url(../img/bg_pattern_deco.png)top center repeat-x #e5f6ff;
}
.bg_pattern02 {
	position: relative;
	z-index: 1;
}
.bg_pattern02::before {
	position: absolute;
	z-index: -1;
	content: "";
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 102vw;
	height: 100%;
	background:
		url(../img/bg_pattern_deco.png)top center repeat-x,
		url(../img/bg_pattern02.jpg)top center;
}
.bg_pattern03 {
	position: relative;
	z-index: 1;
}
.bg_pattern03::before {
	position: absolute;
	z-index: -1;
	content: "";
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 102vw;
	height: 100%;
	background: url(../img/bg_pattern_deco.png)top center repeat-x #fff;
}
/*
.bg_color01 {
	position: relative;
	z-index: 1;
	background: #e3eaf4;
}
.bg_color01::before {
	position: absolute;
	z-index: -1;
	content: "";
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 102vw;
	height: 100%;
	background: #e3eaf4;
}
*/

/* 背景（コンテンツ幅）
================================*/

/* 文字サイズ
================================*/
.font_l {
	font-size: 2rem;
	vertical-align: baseline;
}
.font_xl {
	font-size: 2.4rem;
	vertical-align: baseline;
}
.font_xxl {
	font-size: 2.6rem;
	vertical-align: baseline;
}
.font_s {
	font-size: 1.6rem;
	vertical-align: baseline;
}
/* 文字色など
================================*/
/*太字*/
.bold{
	font-weight: 700;
	vertical-align: baseline;
}
.text_green {
	color: #158f15;
	vertical-align: baseline;
}
.text_orange {
	color: #e97c28;
	vertical-align: baseline;
}
.text_orange02 {
	color: #dc5800;
	vertical-align: baseline;
}
.text_white {
	color: #fff;
	vertical-align: baseline;
}
.text_red {
	color: #f45733;
	vertical-align: baseline;
}
.text_pink {
	color: #cd4c92;
	vertical-align: baseline;
}

/* リスト
================================*/
.check_list01 {
	padding-left: 35px;
	background: url(../img/check_icon01.png)left 4px top 13px no-repeat;
	text-align: left;
}
.check_list02 {
	padding-left: 35px;
	background: url(../img/check_icon02.png)left 4px top 13px no-repeat;
	text-align: left;
}
.check_list03 {
	padding-left: 35px;
	background: url(../img/check_icon03_01.png)left 4px top 13px no-repeat;
	text-align: left;
}
.check_list03.-color02 {
	background: url(../img/check_icon03_02.png)left 4px top 13px no-repeat;
}
.check_list03.-color03 {
	background: url(../img/check_icon03_03.png)left 4px top 13px no-repeat;
}
.check_list04 {
	padding-left: 35px;
	background: url(../img/check_icon04.png)left 4px top 13px no-repeat;
	text-align: left;
	color: #158f15;
}
.circle_list01 {
	position: relative;
	padding-left: 24px;
	text-align: left;
}
.circle_list01::before {
	position: absolute;
	content: "";
	left: 8px;
	top: 16px;
	width: 4px;
	height: 4px;
	background: #563717;
	border-radius: 50%;
}

/*リスト横並び*/
.fl_cen_str ul + ul {
	margin-left: 6%;
}

/* やじるし
================================*/
/*下矢印*/
.arrow_bottom {
	position: relative;
	z-index: 1;
	margin-bottom: 100px;
}
.arrow_bottom::before {
	position: absolute;
	content: "";
	bottom: 0;
	left: 50%;
	-webkit-transform: translate(-50%,calc(100% + 30px));
	transform: translate(-50%,calc(100% + 30px));
	border-top: 40px solid #563718;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
}
/*
.arrow_bottom.-small {
	height: 20px;
}
.arrow_bottom.-small::before {
	border-top: 20px solid #d2288c;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
}
*/
/*右矢印*/
/*
.arrow_right {
	position: relative;
	z-index: 1;
}
.arrow_right::before {
	position: absolute;
	content: "";
	top: 50%;
	right: 0;
	-webkit-transform: translate(calc(100% + 13px),-50%);
	transform: translate(calc(100% + 13px),-50%);
	border-top: 20px solid transparent;
	border-left: 15px solid #d2288c;
	border-bottom: 20px solid transparent;
}
*/



/*================================
ノートPC 1366px～0px
================================*/
@media (max-width: 1366px) {
	

}


/*================================
TABLET横 1080px～0px
================================*/
@media (max-width: 1080px) {
	


}


/*================================
TABLET縦 834px～0px
================================*/
@media (max-width: 834px) {
	/* margin-bottom
	-------------------------------*/
	.tab-mb0 {
		margin-bottom:0 !important;
	}
	.tab-mb10 {
		margin-bottom:10px !important;
	}
	.tab-mb15 {
		margin-bottom:15px !important;
	}
	.tab-mb20 {
		margin-bottom:20px !important;
	}
	.tab-mb25 {
		margin-bottom:25px !important;
	}
	.tab-mb30 {
		margin-bottom:30px !important;
	}
	.tab-mb40 {
		margin-bottom:40px !important;
	}
	.tab-mb50 {
		margin-bottom:50px !important;
	}
	.tab-mb60 {
		margin-bottom:60px !important;
	}
	.tab-mb70 {
		margin-bottom:70px !important;
	}
	.tab-mb80 {
		margin-bottom:80px !important;
	}

	/* 横スクロール
	================================*/
	.tab-scroll {
		overflow-x: scroll;
		position: relative;
		z-index: 1;
	}
	.scroll_text {
		text-align: center;
	}
	.scroll_text .word {
		position: relative;
		z-index: 1;
		display: inline-block;
		padding-right: 20px;
		font-family: 'Zen Maru Gothic', sans-serif;
		font-size: 2rem;
		line-height: 1;
		color: #563717;
	}
	.scroll_text .word::after {
		position: absolute;
		content: "";
		right: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		border-left: 8px solid #95bc10;
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
	}



	/*================================
	コンテナ類
	===============================*/
	.main {}
	.section {}
	.section:not(:last-child) {}
	.inner {}
	.content {}
	.content:last-of-type {}

	/*================================
	ページタイトル
	===============================*/
	.mainvisual {}
	.mainvisual .inner {}
	.page-title_wrap {}
	.page-title {}
	.page-title .word {}
	.page-title .word::before {}

	/* パンくずリスト
	================================*/
	.breadcrumb_lists {}
	.breadcrumb_lists li {}
	.breadcrumb_lists li a {}
	.breadcrumb_lists li:not(:last-child) {}
	.breadcrumb_lists li:not(:last-child)::after {}

	/* 見出し
	================================*/
	.section_title_wrap {}
	.section_title {}
	.section_title .color {}
	.content_title01 {}
	.content_title01 .brackets {}
	.content_title01 .brackets .big01 {}
	.content_title01 .brackets .big02 {}
	.content_title02 {}
	.content_title02 .big {}
	.content_title03 {}
	.content_title04 {}
	.block_title01 {}
	.block_title01 .word {}
	.block_title02 {}
	.block_title03 {}

	/* リンクボタン
	================================*/
	.link_btn {}
	.link_btn::before {}

	/* フレーム
	================================*/
	.frame01 {}
	.frame02 {}
	.frame03 {}
	.frame04 {}

	/* 枠・囲み
	================================*/
	.brackets01 {}

	/* 吹き出し
	================================*/
	/*speech_flex01*/
	.speech_flex01 {}
	.speech_flex01.-rev {}
	.speech_flex01 .pic {}
	.speech_flex01 .sentence {}
	.speech_flex01 .sentence::before {}
	.speech_flex01.-rev .sentence::before {}
	.speech_flex01 .sentence_text {}
	/*speech_flex02*/
	.speech_flex02,
	.speech_flex02.-rev {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.speech_flex02 .pic {
		width: 100%;
	}
	.speech_flex02 .pic img {
		margin: 0 auto;
	}
	.speech_flex02 .sentence {
		width: 100%;
		min-height: auto;
		padding: 20px;
	}
	.speech_flex02 .sentence.-color02 {}
	.speech_flex02 .sentence::before,
	.speech_flex02.-rev .sentence::before {
		right: auto;
		top: auto;
		left: 50%;
		bottom: 0;
		-webkit-transform: translate(-50%,100%);
		transform: translate(-50%,100%);
		border-top: 16px solid #fff;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
	}
	.speech_flex02 .sentence.-color02::before,
	.speech_flex02.-rev .sentence.-color02::before {
		right: auto;
		top: auto;
		left: 50%;
		bottom: 0;
		-webkit-transform: translate(-50%,100%);
		transform: translate(-50%,100%);
		border-top: 16px solid #e5f6ff;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
	}
	/*speech_flex03*/
	.speech_flex03,
	.speech_flex03.-rev {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.speech_flex03 .pic {
		width: 100%;
	}
	.speech_flex03 .pic img {
		margin: 0 auto;
	}
	.speech_flex03 .sentence {
		width: 100%;
		min-height: auto;
		padding: 40px 20px 20px;
		background:
			url(../img/star_deco.png)left 20px top 10px/auto 26px no-repeat #fff;
	}
	.speech_flex03 .sentence::before,
	.speech_flex03.-rev .sentence::before {
		right: auto;
		top: auto;
		left: 50%;
		bottom: 0;
		-webkit-transform: translate(-50%,100%);
		transform: translate(-50%,100%);
		border-top: 16px solid #8dcc0a;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
	}
	.speech_flex03 .sentence::after,
	.speech_flex03.-rev .sentence::after {
		right: auto;
		top: auto;
		left: 50%;
		bottom: 3px;
		-webkit-transform: translate(-50%,100%);
		transform: translate(-50%,100%);
		border-top: 16px solid #fff;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
	}

	/* リスト
	================================*/
	.check_list01 {}
	.check_list02 {}
	.circle_list01 {}
	.circle_list01::before {}

	/* やじるし
	================================*/
	/*下矢印*/
	.arrow_bottom {}


	
}



/*================================
SP表示 480px～0px
================================*/
@media (max-width: 480px) {
	/* margin-bottom
	-------------------------------*/
	.sp-mb0 {
		margin-bottom:0 !important;
	}
	.sp-mb10 {
		margin-bottom:10px !important;
	}
	.sp-mb15 {
		margin-bottom:15px !important;
	}
	.sp-mb20 {
		margin-bottom:20px !important;
	}
	.sp-mb25 {
		margin-bottom:25px !important;
	}
	.sp-mb30 {
		margin-bottom:30px !important;
	}
	.sp-mb40 {
		margin-bottom:40px !important;
	}
	.sp-mb50 {
		margin-bottom:50px !important;
	}
	.sp-mb60 {
		margin-bottom:60px !important;
	}
	.sp-mb70 {
		margin-bottom:70px !important;
	}
	.sp-mb80 {
		margin-bottom:80px !important;
	}

	/* 横スクロール
	================================*/
	.sp-scroll {
		overflow-x: scroll;
		position: relative;
		z-index: 1;
	}
	

	/*================================
	コンテナ類
	===============================*/
	.main {}
	.section {}
	.section:not(:last-child) {}
	.inner {}
	.content {}
	.content:last-of-type {}

	/*================================
	ページタイトル
	===============================*/
	.mainvisual {}
	.mainvisual .inner {}
	.page-title_wrap {
		min-height: 200px;
	}
	.page-title {
		background: linear-gradient(to top,#fff168 10px,transparent 10px);
	}
	.page-title .word {
		min-height: 50px;
		padding: 4px 22px 4px 66px;
		font-size: 3.8rem;
		background-size: 50px;
		background-position: left 6px center;
	}
	.page-title .word::before {
		width: 30px;
		height: 32px;
		top: -14px;
	}
	
	/* パンくずリスト
	================================*/
	.breadcrumb_lists {}
	.breadcrumb_lists li {}
	.breadcrumb_lists li a {}
	.breadcrumb_lists li:not(:last-child) {}
	.breadcrumb_lists li:not(:last-child)::after {}

	/* 見出し
	================================*/
	.section_title_wrap {
		padding: 0px;
	}
	.section_title {
		font-size: 3.5rem;
		padding: 0 20px 10px;
	}
	.section_title .color {}
	.content_title01 {
		padding: 0;
		background: linear-gradient(to top,#fefbd2 14px,transparent 14px);
		text-align: center;
	}
	.content_title01.-color02 {
		background: linear-gradient(to top,#fff 14px,transparent 14px);
	}
	.content_title01 .brackets {
		min-height: auto;
		margin: 0 auto;
		padding: 4px 30px 4px;
		background: url(../img/content_title01_brackets01.png)left center/auto 26px no-repeat, url(../img/content_title01_brackets02.png)right center/auto 26px no-repeat;
		font-size: 2.25rem;
	}
	.content_title01 .brackets .big01,
	.content_title01 .brackets .big02 {
		font-size: 2.8rem;
	}
	.content_title02 {
		padding: 2px 20px;
		font-size: 2.25rem;
	}
	.content_title02 .big {
		font-size: 2.5rem;
	}
	.content_title03 {
		padding: 8px 20px;
		font-size: 2rem;
	}
	.content_title04 {
		padding: 5px 20px;
		font-size: 2.25rem;
	}
	.block_title01 {
		font-size: 2.25rem;
	}
	.block_title01 .word {
		background: linear-gradient(to top,#fff 6px,transparent 6px);
	}
	.block_title01 .word.-color02 {
		background: linear-gradient(to top,#fff168 6px,transparent 6px);
	}
	.block_title01 .word.-color03 {
		background: linear-gradient(to top,#b3d465 6px,transparent 6px);
	}
	.block_title01 .word.-color04 {
		background: linear-gradient(to top,#ff9cc8 6px,transparent 6px);
	}
	.block_title01 .word.-color05 {
		background: linear-gradient(to top,#d8c824 6px,transparent 6px);
	}
	.block_title01 .word.-color06 {
		background: linear-gradient(to top,#b7ddf1 6px,transparent 6px);
	}
	.block_title02 {
		border-bottom: 2px solid #95bc10;
		font-size: 2.25rem;
	}
	.block_title03 {
		font-size: 2.25rem;
	}
	.block_title04 {
		padding: 0;
	}
	.block_title04 .brackets {
		min-height: auto;
		margin: 0 auto;
		padding: 4px 30px 4px;
		background: url(../img/content_title01_brackets01.png)left center/auto 26px no-repeat, url(../img/content_title01_brackets02.png)right center/auto 26px no-repeat;
	}
	.block_title05 {
		font-size: 2rem;
	}

	/* リンクボタン
	================================*/
	.link_btn {
		font-size: 1.8rem;
	}

	/* フレーム
	================================*/
	.frame01 {
		padding: 20px;
	}
	.frame02 {
		padding: 20px;
		border-width: 3px;
	}
	.frame02.-type02,
	.frame02.-type03,
	.frame02.-type04,
	.frame02.-type05,
	.frame02.-type06 {
		border-width: 3px;
	}
	.frame03 {
		padding: 20px;
	}
	.frame03.-type02 {
		padding: 20px;
		border-width: 8px;
	}
	.frame04 {
		padding: 20px;
	}
	.frame05 {
		padding: 20px;
	}

	/* 枠・囲み
	================================*/
	.brackets01 {
		padding: 10px 20px;
		background: url(../img/brackets01.png)left top/30px auto no-repeat, url(../img/brackets02.png)right bottom/30px auto no-repeat;
	}
	
	/* 吹き出し
	================================*/
	/*speech_flex01*/
	.speech_flex01,
	.speech_flex01.-rev {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.speech_flex01 .pic {
		width: 100%;
	}
	.speech_flex01 .pic img {
		margin: 0 auto;
		width: 100px;
	}
	.speech_flex01 .sentence {
		width: 100%;
		padding: 20px;
	}
	.speech_flex01 .sentence::before,
	.speech_flex01.-rev .sentence::before {
		right: auto;
		top: auto;
		left: 50%;
		bottom: 0;
		-webkit-transform: translate(-50%,100%);
		transform: translate(-50%,100%);
		border-top: 16px solid #b3d465;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
	}
	.speech_flex01 .sentence_text {
		font-size: 2.25rem;
	}
	/*speech_flex02*/
	.speech_flex02,
	.speech_flex02.-rev {}
	.speech_flex02 .pic {}
	.speech_flex02 .pic img {}
	.speech_flex02 .sentence {}
	.speech_flex02 .sentence.-color02 {}
	.speech_flex02 .sentence::before,
	.speech_flex02.-rev .sentence::before {}
	.speech_flex02 .sentence.-color02::before,
	.speech_flex02.-rev .sentence.-color02::before {}

	/* リスト
	================================*/
	.check_list01 {
		padding-left: 24px;
		background: url(../img/check_icon01.png)left 4px top 10px no-repeat;
	}
	.check_list02 {
		padding-left: 24px;
		background: url(../img/check_icon02.png)left 4px top 10px no-repeat;
	}
	.check_list03 {
		padding-left: 24px;
		background: url(../img/check_icon03_01.png)left 4px top 12px/16px auto no-repeat;
		text-align: left;
	}
	.check_list03.-color02 {
		background: url(../img/check_icon03_02.png)left 4px top 12px/16px auto no-repeat;
	}
	.check_list03.-color03 {
		background: url(../img/check_icon03_03.png)left 4px top 12px/16px auto no-repeat;
	}
	.check_list04 {
		padding-left: 24px;
		background: url(../img/check_icon04.png)left 4px top 10px no-repeat;
	}
	.circle_list01 {}
	.circle_list01::before {
		top: 14px;
	}

	/* やじるし
	================================*/
	/*下矢印*/
	.arrow_bottom {
		margin-bottom: 60px;
	}
	.arrow_bottom::before {
		-webkit-transform: translate(-50%,calc(100% + 20px));
		transform: translate(-50%,calc(100% + 20px));
		border-top: 20px solid #563718;
		border-left: 16px solid transparent;
		border-right: 16px solid transparent;
	}



}



























