	@charset "utf-8";
/* ======================================================
 * ELEMENT **********************************************
 * Common Parts
 * Section Parts
 * COMPONENT ********************************************
 * RESPONSIVE *******************************************
 * - 769px <= width <= 1024px
 * Clearfix
====================================================== */
@media only screen and (max-width: 768px) {
/********************************************************

  ELEMENT

********************************************************/
  h1, h2, h3, h4, h5, h6 {
      font-weight: bold !important;
  }
	.sec-lead {
		width: 100%;
	}
	.sec-lead .sec-lead__img {
		margin: 0 auto 20px;
		text-align: center;
	}
	.sec-lead .list_contents {
		background: #edf3db;
		padding: 15px 20px;
		font-weight: bold;
	}
	.sec-lead .list_contents .list_contents__ttl {
		margin-bottom: 8px;
		text-align: center;
		font-size: 19px;
		color: #555555;
	}
	.sec-lead .list_contents ol {
		counter-reset: section;
		list-style-type: none;
	}
	.sec-lead .list_contents ol li {
		margin-bottom: 15px;
		padding-left: 1.2em;
		text-indent: -1.2em;
	}
	.sec-lead .list_contents ol li ol li {
		margin-left: 15px;
		padding-left: 2.2em;
		text-indent: -2.2em;
		
	}
	.sec-lead .list_contents ol li:before {
		counter-increment: section;
		content: counters(section, "") "";
		margin-right: 8px;
	}
	.sec-lead .list_contents ol li ol li:before {
		counter-increment: section;
		content: counters(section, ".") ;
	}
	.sub__ttl {
		padding: 7px 10px;
		background: #edf3db;
		font-size: 15px;
		font-weight: bold;
	}
	.sec__img {
		margin-left: 20px;
		margin-right: 20px;
		text-align: center;
	}

	/* (add 2025/05) */
	.section02 .relation {
		margin: 0;
		padding: 6vw 5vw;
		text-align: left;
	}
	.relation .section03:first-of-type{
		margin-top: 0;
	}
	.relation p{
		margin: 0;
		font-size: 4.267vw;
		font-weight: 300;
		text-align: left;
	}
	.relation p::before,
	.relation p::after {
		content: none;
	}
	.relation .slide__item {
		width: 80vw;
		height: auto !important;
		/* margin: 0 2.667vw; */
		padding: 3vw;
		text-align: left;
	}
	.relation .relation__item{
		margin-bottom: 5vw;
	}
	.relation .relation__item:nth-child(3){
		margin-bottom: 8vw;
	}
	.relation .relation__img{
		width: 100%;
		margin-bottom: 2.5vw;
		text-align: center;
	}
	.relation .relation__img figure{
		width:35.867vw;
	}
	.relation .relation__txt{
		width: 100%;
		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;
		flex-wrap: wrap;
		font-size: 14px;
		line-height: 1.5;
	}

	.relation .relation__ttl {
		width: 100%;
		font-size: 4.267vw;
		font-weight: bold;
		color: #24753b;
		text-align: left;
		line-height: 1.5;
		margin-bottom: 2.5vw;
	}

	.relation .relation__txt .link-txt {
		width: 100%;
		text-align: right;
		margin-bottom: 2vw;
	}

	.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-top: 8vw;
		padding-bottom: 2vw;
	}
	.relation .prev-arrow,
	.relation .next-arrow {
		width: 8vw;
		height: 8vw;
		background: url(/beginner/img/icon_prev.png) no-repeat 0 0;
		background-size: contain;
		display: block;
		border-radius: 8vw;
		position: absolute;
		top: 50%;
		margin-top: -4vw;
		cursor: pointer;
		z-index: 1;
	}
	.relation .prev-arrow {
		left: 0;
	}
	.relation .next-arrow {
		background: url(/beginner/img/icon_next.png) no-repeat 0 0;
		background-size: contain;
		right: 0;
	}
	.relation .slick-dots {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
			-ms-flex-pack: center;
				justify-content: center;
		margin-top: 4vw;
	}
	.relation .slick-dots li {
		width: 1.867vw;
		height: 1.867vw;
		border-radius: 50%;
		background-color: #8ec31f;
		margin: 0 1.333vw;
		padding: 0;
		cursor: pointer;
	}
	.relation .slick-dots li:hover,
	.relation .slick-dots li.slick-active {
		background-color: #007a48;
	}
	.relation .slick-dots li button {
		display: none;
	}

	.relation .section03:first-of-type{
		margin-top: 0;
	}
	.relation p{
		margin: 0;
	}
	.relation .relation__item{
		margin-bottom: 5vw;
	}
	.relation .relation__item:nth-child(3){
		margin-bottom: 8vw;
	}
	.relation .relation__img{
		width:35.867vw;
		margin-bottom: 2.5vw;
	}
	.relation .relation__img figure{
		width:35.867vw;
	}
	.relation .relation__txt{
		width: 100%;
		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;
		flex-wrap: wrap;
		font-size: 14px;
		line-height: 1.5;
	}

	.relation .relation__ttl {
		width: 56vw;
		font-size: 4vw;
		font-weight: bold;
		color: #24753b;
		line-height: 1.5;
		margin-bottom: 0;
	}

	.relation .relation__txt .link-txt {
		width: 100%;
		text-align: right;
		margin-bottom: 2vw;
	}

	.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;
	}
	.btn_category {
		position: relative;
		display: block;
	}
	.btn_category a {
		display: block;
		width: 100%;
		padding: 16px 24px;
		border-radius: 5px;
		color: #fff;
		font-weight: bold;
		text-align: center;
		background-color: #007a48;
	}
	.btn_category a:visited	 {
		color: #fff;
	}
	.btn_category a::before {
		position: absolute;
		top: 50%;
		left: 4vw;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 6px 10px;;
		border-color: transparent transparent transparent #fff;
		transform: translateY(-50%);
		content: '';
	}

	.relation .bnr_relation {
		text-align: center;
		padding-top: 8vw;
		padding-bottom: 2vw;
	}
	.box_bnr {
		margin-top: 35px;
	}
	.box_bnr ul {
		width: 100%;
		margin-bottom: 30px;
		margin-left: auto;
		margin-right: auto;
	}
	.box_bnr ul li{
		width: 100%;
		height: 23.2vw;
		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 + li {
		margin-top: 3.75vw;
	}

	.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: 25px;
	}
	.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_sp.png) no-repeat 0 0;
			background-size: cover
	}
	.box_bnr ul li.bnr_02{
			background: url(/products/img/common/bg_senior_photo_sp.png) no-repeat 0 0;
			background-size: cover
	}
	.box_bnr ul li.bnr_03{
			background: url(/products/img/common/bg_puchi_photo_sp.png) no-repeat 0 0;
			background-size: cover
	}
  .anchor{
  padding-top:80px;
  margin-top:-80px;
  }

    /* (add 2025/08) */
    .supervised{
        flex-wrap: wrap;
        padding: 2em 1.6em;
        border: 3px solid #007048;
        width: 100%;
        max-width: 100%;
    }
    .supervised .image{
        width: 100%;
    }
    .supervised .image .logo{
        margin: 0 auto 2em;
        width: 60%;
    }
    .supervised .desc{
        padding-left: 0;
        width: 100%;
    }
    .supervised .desc h2 {
        font-size: 16px;
        color: #00743F;
    }
    .supervised .desc p {
        font-size: 14px;
    }
    .supervised .desc ul {
        margin-top: 1.5em;
    }
    .supervised .desc li {
        margin-left: 1em;
        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: 10px !important;
    }

}

@media only screen and (max-width: 599px) {
	.relation__img{
		width:100% !important;
	}
	.relation .relation__ttl {
		width:100% !important;
	}
}