	@charset "utf-8";
/* ======================================================
 * ELEMENT **********************************************
 * Common Parts
 * Section Parts
 * COMPONENT ********************************************
 * RESPONSIVE *******************************************
 * - 769px <= width <= 1024px
 * Clearfix
====================================================== */
@media only screen and (min-width: 769px), print {
/********************************************************

  ELEMENT

********************************************************/
  h1, h2, h3, h4, h5, h6 {
      font-weight: bold !important;
  }
	.flexArea {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.sec-lead {
		width: 860px;
		margin: 0 auto;
	}
	.sec-lead .sec-lead__img {
		margin: 0 auto 30px;
		text-align: center;
	}
	.sec-lead .list_contents {
		background: #edf3db;
		padding: 35px 45px;
		font-weight: bold;
	}
	.sec-lead .list_contents .list_contents__ttl {
		margin-bottom: 30px;
		text-align: center;
		font-size: 24px;
		color: #555555;
	}
	.sec-lead .list_contents ol {
		counter-reset: section;
		list-style-type: none;
	}
	.sec-lead .list_contents ol li {
		margin-bottom: 18px;
		padding-left: 1.7em;
		text-indent: -1.7em;
	}
	.sec-lead .list_contents ol li ol li {
		margin-left: 23px;
		padding-left: 2.7em;
		text-indent: -2.7em;
	}
	.sec-lead .list_contents ol li:before {
		counter-increment: section;
		content: counters(section, "") "";
		margin-right: 15px;
	}
	.sec-lead .list_contents ol li ol li:before {
		counter-increment: section;
		content: counters(section, ".") ;
	}
	.sub__ttl {
		line-height: 1.4;
		margin: 30px 0 25px;
		padding: 10px 20px;
		border-radius: 5px;
		background: #edf3db;
		font-size: 18px;
		font-weight: bold;
	}
	.sec__img {
		text-align: center;
	}
	.relation {
		margin: 0 40px 0;
		padding-top: 10px;
	}
	/* .relation .section03:first-of-type{
		margin-top: 0;
	} */
	.relation p{
		margin: 0;
	}
	.relation .relation__item{
		margin-bottom: 40px;
	}
	.relation .relation__item:nth-child(3){
		margin-bottom: 60px;
	}
	.relation .relation__img{
		width: 269px;
	}
	.relation .relation__txt{
		width: 780px;
		font-size: 16px;
		line-height: 1.5;
	}

	.relation .relation__ttl {
		font-size: 22px;
		font-weight: bold;
		color: #24753b;
		line-height: 1.5;
		margin-bottom: 10px;
	}

	.relation .relation__txt .link-txt {
		width: 100%;
		text-align: right;
	}

	.relation .relation__txt a {
		display: inline-block;
		padding: 8px 0 8px 33px;
		background: #ffffff url(/common/img/com_ic44.png) no-repeat 17px 50%;
		background-size: 8px auto;
		color: #24753b;
	}

	.relation .bnr_relation {
		text-align: center;
		padding-bottom: 30px;
		padding-top: 50px;
	}

	.relation .bnr_relation {
		text-align: center;
		padding-bottom: 30px;
		padding-top: 50px;
	}

	/* (add 2025/05) */
	.btn_category {
		position: relative;
		display: block;
		width: 100%;
		max-width: 480px;
		margin: 24px auto 0;
	}
	.btn_category a {
		display: block;
		width: 100%;
		padding: 16px 32px 16px 32px;
		border-radius: 6px;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		text-align: center;
		background-color: #007a48;
	}
	.btn_category a:visited	 {
		color: #fff;
	}
	.btn_category a::before {
		position: absolute;
		top: 50%;
		left: 24px;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 6px 10px;
		border-style: solid;
		border-color: transparent transparent transparent #fff;
		transform: translateY(-50%);
		content: '';
	}

	.box_bnr {
		margin-top: 50px;
	}
	.box_bnr ul {
		width: 100%;
		margin-bottom: 60px;
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.box_bnr ul li{
		width: 346px;
		height: 81px;
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		position: relative;
	}
	.box_bnr ul li:hover{
		opacity: 0.7;
	}

	.box_bnr ul li::before {
		content: '';
		position: absolute;
		right: 17px;
		top: 50%;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 4px 0 4px 8px;
		border-color: transparent transparent transparent #fff;
		-moz-transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-o-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}
	.box_bnr ul li a{
		color: #fff;
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
		padding-left: 38px;
	}
	.box_bnr ul li a:hover{
		opacity: 1;
	}
	.box_bnr ul li a span{
		display: block;
		font-size: 25px;
		font-weight: bold;
	}
	.box_bnr ul li a span.min-txt{
		font-size: 11px;
		font-weight: normal;
	}
	.box_bnr ul li.bnr_01{
		background: url(/products/img/common/bg_family_photo.png) no-repeat 0 0;
		background-size: cover
	}
	.box_bnr ul li.bnr_02{
		background: url(/products/img/common/bg_senior_photo.png) no-repeat 0 0;
		background-size: cover
	}
	.box_bnr ul li.bnr_03{
		background: url(/products/img/common/bg_puchi_photo.png) no-repeat 0 0;
		background-size: cover
	}

    /* (add 2025/08) */
    .supervised{
        display: flex;
        align-items: start;
        justify-content: center;
        padding: 2em 2.5em;
        margin: 0 auto;
        border: 3px solid #007048;
        width: 100%;
        max-width: 800px;
    }
    .supervised .image{
        width: 200px;
    }
    .supervised .desc{
        padding-left: 2.5em;
        width: 600px;
    }
    .supervised .desc h2 {
        font-size: 20px;
        font-weight: bold;
        color: #00743F;
    }
    .supervised .desc ul {
        margin-top: 1.5em;
    }
    .supervised .desc li {
        margin-left: 1.5em;
        list-style-type: disc;
        color: #00743F;
    }
    .supervised .desc li + li {
        margin-top: .4em;
    }
    .supervised .desc li a {
        position: relative;
        color: #333;
        text-decoration: underline;
    }
    .supervised .desc li a:before {
        content: "";
        position: absolute;
        top: 50%;
        right: -20px;
        width: 10px;
        height: 10px;
        background-image: url(/beginner/img/icon_external.svg);
        background-size: contain;
        background-repeat: no-repeat;
        transform: translate(-50%, -50%);
    }
    .supervised .desc .fs-11 {
        font-size: 11px !important;
    }
}

.link-txt{
	font-weight: bold;
}