@charset "UTF-8";
/* CSS Document flex */

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

flex-box
	
=======================================*/
.flex-box, .flex-box03, .flex-box04, .flex-box05 { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
/* flex-box02 .box */
.flex-box02__item, .flex-box02 .box, .flex-box .box.col2-box { -webkit-box-flex: 1; -ms-flex: 1 0 auto; flex: 1 0 auto; width: 50%; margin: -1px 0 0 -1px; padding: 50px 2.9661% 40px; }
/* flex-box03 .box */
.flex-box03__item, .flex-box03 .box, .flex-box .box.col3-box { -webkit-box-flex: 1; -ms-flex: 1 0 auto; flex: 1 0 auto; width: 33.33%; margin: -1px 0 0 -1px; padding: 50px 2.9661% 40px; }
/* flex-box04 .box */
.flex-box04__item, .flex-box04 .box { -webkit-box-flex: 1; -ms-flex: 1 0 auto; flex: 1 0 auto; width: 25%; margin: -1px 0 0 -1px; padding: 50px 2.9661% 40px; }
/* flex-box05 .box */
.flex-box05__item, .flex-box05 .box { -webkit-box-flex: 1; -ms-flex: 1 0 auto; flex: 1 0 auto; width: 20%; margin: -1px 0 0 -1px; padding: 50px 2.9661% 40px; }
/* .border-box */
.flex-box.border-box .item.border-box, .flex-box.border-box .box { border: 1px solid #ddd; }
/* icon */
.flex-box .box .icon, .flex-box02__item-icon, .flex-box02 .box .icon, .flex-box03__item-icon, .flex-box03 .box .icon, .flex-box04__item-icon, .flex-box04 .box .icon, .flex-box05__item-icon, .flex-box05 .box .icon { margin-bottom: 30px; text-align: center;}
/* icon.mgn アイコンの上下にマージン */
.flex-box .box .icon.mgn, .flex-box02__item-icon.mgn, .flex-box02 .box .icon.mgn, .flex-box03__item-icon.mgn, .flex-box03 .box .icon.mgn, .flex-box04__item-icon.mgn, .flex-box04 .box .icon.mgn, .flex-box05__item-icon.mgn, .flex-box05 .box .icon.mgn { margin-top:8px; margin-bottom: 36px;}
/* iconサイズ */
.flex-box .box .icon {  width:76px!important; height:auto; }
/* icon::before */
.flex-box03__item-icon::before, .flex-box04__item-icon::before, .flex-box05__item-icon::before { font-family: "design_plus"; font-size: 50px; }
/* title */
.flex-box .box .title, .flex-box03__item-title, .flex-box03 .box .title, .flex-box04__item-title, .flex-box04 .box .title, .flex-box05__item-title, .flex-box05 .box .title {
font-size:1.125rem; font-weight:bold; line-height:1.5!important; padding-bottom:1.2em!important; margin-top:0!important;
}
.flex-box .box .title, .flex-box03 .box span.title, .flex-box04 .box span.title, .flex-box05 .box span.title { display:block; }
@media screen and (max-width: 991px) {
.flex-box03__item, .flex-box03 .box, .flex-box04__item, .flex-box04 .box, .flex-box05__item, .flex-box05 .box { width: 33.33%; }
}
@media screen and (max-width: 767px) { 
.flex-box03, .flex-box04, .flex-box05 { margin-bottom: 40px; }
.flex-box03__item, .flex-box03 .box, .flex-box04__item, .flex-box04 .box, .flex-box05__item, .flex-box05 .box, .flex-box .box.col2-box, .flex-box .box.col3-box { width: 50%; padding: 30px 20px 14px; }

.flex-box .box .icon.mgn, .flex-box02__item-icon.mgn, .flex-box02 .box .icon.mgn, .flex-box03__item-icon.mgn, .flex-box03 .box .icon.mgn, .flex-box04__item-icon.mgn, .flex-box04 .box .icon.mgn, .flex-box05__item-icon.mgn, .flex-box05 .box .icon.mgn { margin-top:12px; margin-bottom: 24px;}
.flex-box03__item-icon::before, .flex-box04__item-icon::before, .flex-box05__item-icon::before { font-size: 40px; }
.flex-box03__item-desc, .flex-box04__item-desc, .flex-box05__item-desc { font-size: 12px; line-height: 2; }
}
/*@media screen and (max-width: 320px) {*/
@media screen and (max-width: 400px) {
.flex-box03__item, .flex-box03 .box, .flex-box04__item, .flex-box04 .box, .flex-box05__item, .flex-box05 .box, .flex-box .box.col2-box, .flex-box .box.col3-box { width: 100%; }
}
/* first-child */
.flex-box03 .title:first-child, .flex-box03 p:first-child, .flex-box03 img.icon:first-child, .flex-box04 .title:first-child, .flex-box04 p:first-child, .flex-box04 img.icon:first-child, .flex-box05 .title:first-child, .flex-box05 p:first-child, .flex-box05 img.icon:first-child { margin-top:0; padding-top:0; }
/* last-child */
.flex-box03 .title:last-child, .flex-box03 p:last-child, .flex-box03 img.icon:last-child, .flex-box03 ul:last-child, .flex-box04 .title:last-child, .flex-box04 p:last-child, .flex-box04 img.icon:last-child, .flex-box04 ul:last-child, .flex-box05 .title:last-child, .flex-box05 p:last-child, .flex-box05 img.icon:last-child, .flex-box05 ul:last-child { margin-bottom:0; padding-bottom:0; }
/*--------------------------------------
flex-box border-separate
---------------------------------------*/
.flex-box.border-separate { display: -webkit-box; display: -ms-flexbox; display: flex; border-top: 1px solid #ddd; }
.p-block03--more-margin, .flex-box.border-separate--more-margin { margin-bottom: 150px; }
.p-block03--no-border, .flex-box.border-separate--no-border { -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 50px; border-top: 0; }
.p-block03--no-border .p-block03__item, .flex-box.border-separate--no-border .box { width: 48%; margin-bottom: 90px; padding: 0; }
.p-block03--no-border .p-block03__item + .p-block03__item, .flex-box.border-separate--no-border .box + .flex-box.border-separate .box { border-left: 0; }
/* .box内padding */
.flex-box.border-separate .box { padding:40px 4.23729% 0 4.23729%;}
/* .box内padding */
.border .flex-box.border-separate .box, .back-color .flex-box.border-separate .box { padding:40px 4.23729%;}
/* box + box */
.border-separate .item.box + .border-separate .item.box, .item.box.b-st + .item.box.b-st { padding-left: 4.23729%; border-left: 1px solid #ddd; }
/* title */
.flex-box.border-separate .title {  }
/* p */
.flex-box.border-separate p { font-size: 14px; line-height: 2.4; }
/* スマホ */
@media screen and (max-width: 767px) {
.flex-box.border-separate { display: block;  }
.flex-box.border-separate--more-margin { margin-bottom: 0; }
.flex-box.border-separate--more-margin .box:last-child { padding-bottom: 0; }
.flex-box.border-separate .box { width: 100%; padding: 40px 20px 33px; }
.item.box.b-st + .item.box.b-st { padding: 40px 20px 33px; border-top: 1px solid #ddd; border-left: 0; }
.flex-box.border-separate .title { margin-bottom: 7px; }
.flex-box.border-separate p { line-height: 2; }
}