@charset "utf-8";

.staff_comments {
    padding-left: 100px;
    position: relative;
    display: grid;
    align-items: center;
    min-height: 80px;
    line-height: 1.2;
    font-size: 18px;
    margin-bottom: 30px;
    font-family: "noto sans jp", sans-serif;
}
.staff_comments::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-blend-mode: soft-light;
}
.staff_comments_name {
    font-weight: bold;
}
.staff_comments_en {
    font-size: 80%;
    font-family: yuji-syuku;
    letter-spacing: 0.05px;
}
.staff_comments01::before {
    background:url(../../../uploads/2023/11/staff_owner.jpg) 0 0 / contain no-repeat;
}

.countup_wrap {
    font-family: "noto sans jp", sans-serif;
}
.countup_title {
    font-size: 20px;
    margin-bottom: 5px;
}
.countup_item {
    font-size: 60px;
    line-height: 1;
    font-weight: 500;
}

@media (max-width: 559px){
    .countup_item {
        margin-bottom: 30px;
    }
}



.countup_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    text-align: center;
    color: #fff;
    align-items: center;
    width: 100%;
    width: min(980px,98vw);
    margin: auto;
}

.countup_grid01 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}
.countup_grid02 {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
}
.countup_grid03 {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
}
.countup_grid04 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}
.countup_grid05 {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
}
@media (min-width: 560px) and (max-width: 959px){
    .countup_grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr auto;
    }
    .countup_grid01 {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        margin-bottom: 20px;
    }
    .countup_grid02 {
        grid-column: 1 / 3;
        grid-row: 3 / 4;
        margin-bottom: 20px;
    }
    .countup_grid03 {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }
    .countup_grid04 {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }
    .countup_grid05 {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
    }
    .countup_grid p:empty {
        display: none;
    }
}
@media (max-width: 559px){
    .countup_grid {
        display: block;
        margin-bottom: -60px;
        padding-bottom: 100px;
    }
    .countup_grid p:empty {
        display: none;
    }
    .countup_grid02 {
        display: none;
    }
}

.countup_grid3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    text-align: center;
    align-items: end;
    align-items: center;
    width: 100%;
    width: min(980px,98vw);
    margin: auto;
}

.countup_grid3 .countup_grid3_left {
    grid-column: 1 / 2;
    grid-row: unset;
}
.countup_grid3 .countup_grid3_center {
    grid-column: 2 / 3;
    grid-row: unset;
}
.countup_grid3 .countup_grid3_rigth {
    grid-column: 3 / 4;
    grid-row: unset;
}
@media (max-width: 559px){
    .countup_grid3 {
        grid-template-columns: 1fr 1fr;
    }
    .countup_grid3 .countup_grid3_left {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }
    .countup_grid3 .countup_grid3_center {
        grid-column: 1 / 3;
        grid-row: 2 / 3;
    }
    .countup_grid3 .countup_grid3_rigth {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }
}

.frame_design_stitch01 {
  background-color: rgb(114,136,164); /*背景色*/
  box-shadow: 0 0 0 8px rgb(114,136,164); /*背景色外側*/
  border: 2px dashed #ffffff; /*線*/
  padding: 1em 1em;
  margin: 8px 8px 2em;
  color: #fff;
}
.frame_design_double {
  border: double 4px rgb(114,136,164); /*線*/
  padding: 1em 1em;
  margin: 8px 0 2em;
}



/*
point table
*/
.hint_table {
	width: 40em;
	margin: 62px auto 40px;
	position: relative;
    background: #eee;
    border-radius: 10px;
    box-shadow: inset 0 0 0 8px #000;
}
.hint_table th {
	padding: 20px 10px 5px;
    color: #d7835e;
	font-weight: bold;
	text-align: center;
	font-size: 120%;
	position: relative;
}
.hint_table th::before {
    content: 'Point\A!';
    white-space: pre;
    position: absolute;
    background: #d7835e;
    color: #fff;
    left: -1em;
    top: -1em;
    z-index: 2;
    width: 3.5em;
    height: 3.5em;
    padding-top: 0.8em;
    box-sizing: border-box;
    border-radius: 50%;
    line-height: 1.2;
}
.hint_table th::after {
    content: "";
    bottom: 0;
    position: absolute;
    left: 30px;
    right: 30px;
	border-bottom: 2px dotted #d7835e;
}
.hint_table tbody td:nth-child(2n+1) {
	padding: 10px 10px 25px 30px;
}
/*
.hint_table tbody td:nth-child(2n+0) {
	padding: 10px 30px 25px 10px;
}
.hint_table tbody td:only-child {
	padding: 10px 30px 25px 30px;
}
*/
.hint_table tbody td:nth-child(2n+1){
	padding: 10px 30px 0;
	display: block;
}
.hint_table tbody td:nth-child(2n+0),
.hint_table tbody td:only-child {
	padding: 15px 30px 20px;
	display: block;
}
.hint_table td:first-child::before {
	content: "";
	position: absolute;
	left: -55px;
	top: -55px;
	-webkit-mask-image: url("../img/common/ico_hint.svg");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: contain;
	mask-image: url("../img/common/ico_hint.svg");
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: contain;
/*
clip-path: path("M129.5,0c4.695,0,8.528,18.8,8.5,42-0.027,22.982-9.1,57.449-8.8,59.767,0,0-8.2-36.571-8.2-59.767S124.806,0,129.5,0Z",
  "M37.821,37.975c3.319-3.32,19.327,7.266,35.709,23.688,16.231,16.27,34.186,47.059,36.036,48.486,0,0-31.656-20.063-48.058-36.465S34.5,41.294,37.821,37.975Z",
  "M0,129.5c0-4.695,18.844-8.528,42.09-8.5,23.032,0.027,57.573,9.1,59.895,8.8,0,0-36.649,8.2-59.895,8.2S0,134.194,0,129.5Z");
*/
	background: #d7835e;
	width: 50px;
	height: 50px;
}

.hint_table td p:last-child {
	margin-bottom: 0;
}

.hint_table::before {
    content: "";
    position: absolute;
    left: 2px;
    right: 2px;
    top: 2px;
    bottom: 2px;
    border: 6px solid #fff;
    border-radius: 7px;
	pointer-events: none;
}
.hint_table::after {
    content: "";
    position: absolute;
    left: 7px;
    right: 7px;
    top: 7px;
    bottom: 7px;
    border: 2px solid #000;
    border-radius: 7px;
	pointer-events: none;
}
@media (max-width: 959px){	
	.hint_table {
		width: 90%;
		margin: 60px 20px 40px 60px;
		width: calc(100% - 80px);
	}
}

@media (max-width: 559px){	
	.hint_table {
		margin: 60px 20px 40px 20px;
		width: calc(100% - 40px);
	}
	.hint_table tbody td:nth-child(2n+1){
		padding: 10px 30px 0;
		display: block;
	}
	.hint_table tbody td:nth-child(2n+0),
	.hint_table tbody td:only-child {
		padding: 0 30px 20px;
		display: block;
	}
	.hint_table th {
		padding: 20px 35px 5px
	}
	.hint_table td:first-child::before {
		content: "";
		position: absolute;
		left: 40px;
		transform: rotate(90deg);
	}
}




/* ================================================
Q&A
================================================ */
.qa_box dl {
	margin-bottom: 1em;
	position: relative;
}
.qa_box dt {
	position: relative;
	padding: 0.7em 2em 1em 4.5rem;
	border-bottom: 1px solid;
	border-bottom-color: currentcolor;
	font-weight: bold;
}
.qa_box dd {
	position: relative;
/*	padding: 2em 2em 2em 4.5em;*/
	background: rgba(244,174,187,0.5);
	overflow: hidden;
	transition: 0.3s;
	height: 0;
}
.qa_box_contens {
	padding: 2em 2em 2em 4.5rem;
/*	margin: -2em -2em -2em -4.5em;*/
}

.qa_box dt::before,
.qa_box dt::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 20px;
	height: 2px;
	background: #666;
	transition: 0.3s;
}
.qa_box dt::after{
	transform: translateY(-50%) rotate(90deg);
}
.qa_box dl.active dt::before,
.qa_box dl.active dt::after{
	transform: translateY(-50%) rotate(180deg);
}

.qa_box_title {
	position: relative;
	display: inline-block;
}
.qa_box_title::before {
	content: "Q";
	position: absolute;
	font-size: 20px;
    left: -3rem;
    line-height: 1;
	background: rgba(244,174,187,1);
	color: #fff;
	width: 1.5em;
	height: 1.5em;
	border-radius: 50%;
	display: grid;
	justify-content: center;
	align-items: center;
	font-family: 'Tilt Warp', cursive;
	letter-spacing: 0;
	top: 50%;
	transform: translateY(-50%);
}

.qa_box dd::before {
	content: "A";
	position: absolute;
	font-size: 20px;
    left: 20px;
    top: 1.8rem;
    line-height: 1;
	color: rgba(244,174,187,1);
	border: 2px solid rgba(244,174,187,1);
	background: #fff;
	width: 1.5em;
	height: 1.5em;
	border-radius: 50%;
	display: grid;
	justify-content: center;
	align-items: center;
	font-family: 'Tilt Warp', cursive;
	letter-spacing: 0;
}
.qa_box dt {
	border-color: rgba(244,174,187,1);
	font-size: 110%;
	transition: 0.3s;
}
.qa_box dt:hover {
	color: rgba(244,174,187,1);
}
@media (max-width: 559px){
	.qa_box dl::before {
		top: 50%;
		transform: translateY(-50%);
	}
}




.ortho_type {
    text-align: center;
    padding-bottom: 90px !important;
}
.ortho_type_title {
	font-size: clamp(20px, 2.02703vw, 22px);
	color: #000;
	text-align: center;
	margin-bottom: 20px;
}
.ortho_type_btn a {
	background: #000;
	color: #fff;
	padding: 15px 30px;
	display: inline-block;
	position: relative;
	line-height: 1;
	text-decoration: none;
}
.ortho_type_btn a:hover {
	opacity: 0.7;
}
.ortho_type_btn a::before {
	content: "";
	position: absolute;
	bottom: 5px;
	right: 5px;
	width: 10px;
	height: 10px;
	background: #fff;
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.ortho_type .swiper-pagination-clickable .swiper-pagination-bullet {
    width: 15px;
    height: 15px;
    margin: 0 10px !important;
}
.ortho_type .swiper-button-next,.ortho_type .swiper-button-prev {
    bottom: 0;
    top: unset;
}
.ortho_type .swiper-button-prev {
    left: 50%;
    margin-left: -110px;
}
.ortho_type .swiper-button-next {
    left: 50%;
    margin-left: 85px;
}
.ortho_type .swiper-wrapper{transition-timing-function:linear; }
@media (min-width: 560px){
    .ortho_type .swiper-slide img {
        transform: scale(0.8); /* スライドの大きさ調整 */
        transition: opacity .5s, transform .5s;      
        filter: blur(3px);
    }
    .ortho_type  .swiper-slide-active img {
        transform: scale(1); /* スライドの大きさ調整 */
        filter: blur(0);
    }
}



.voice_box_wrap {
/*
	display: grid;
	grid-template-columns: repeat(3,310px);
	grid-gap: 30px;
*/
	justify-content: center;
	background: #e6f0e8;
	padding: 30px 50px 50px;
	overflow: hidden;
	margin: 0 60px 40px;
	position: relative;
}
.voice_box_wrap .swiper_slide {
	overflow: hidden;
}
.voice_box_top { 
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
}
.voice_box {
	background: #fff;
	border-radius: 20px;
	padding: 20px;
}
.voice_box_img {
    width: 70px;
    height: 70px;
    object-fit: contain;
    line-height: 1;
    background: #f7f2c5;
    border-radius: 50%;
    padding: 10px 10px 0;
}
.voice_box_title {
	color: #387741;
	font-weight: bold;
	margin-left: 20px;
}
.voice_box_position {
	background: #dfa83d;
	color: #fff;
	font-size: 14px;
	line-height: 1;
	padding: 5px 20px;
	display: inline-block;
}
.voice_box_comments {
	color: #2c251e;
}
.voice_box_wrap .swiper-pagination {
	margin-top: 20px;
	padding-top: 20px;
}
@media (max-width: 559px){
	.voice_box_wrap {
		margin: 0 0 40px;
		padding: 20px;
	}
}




.list_box02 {
    border: 1px solid #828282;
    padding: 20px;
    border-radius: 5px;
    max-width: calc(100% - 8rem);
    margin: 20px auto;
    font-family: 'Noto Sans JP';
}
.list_box02_title {
    text-align: center;
    font-size: 130%;
    padding: 0;
}
.list_box02_list {
    max-width: fit-content;
    margin: auto;
    padding: 0 20%;
}
.list_box02_list li {
    position: relative;
    padding-left: 1.5em;
    margin-top: 0.7em;
}
.list_box02_list li::before {
    position: absolute;
    color: #233eb3;
    content: "・";
    font-size: 2em;
    height: 0.6em;
    left: 0;
    line-height: 0.6em;
    top: 0.1em;
    width: 0.5em;
}

@media (max-width: 959px){
    .list_box02_list { 
        padding: 0 10%;
    }
}
@media (max-width: 559px){
	.list_box02 {
		max-width: unset;
	}
    .list_box02_list { 
        padding: 0;
    }
}


.btn_ico_wrap  a {
	display: inline-block;
	background: #c53f3f;
	color: #fff;
	padding: 5px 15px 7px 10px;
	border-radius: 100px;
	margin-bottom: 20px;
}
.btn_ico_img {
	width: 35px;
	height: 35px;
	background: rgba(255,255,255,1);
	border-radius: 50%;
	padding: 7px;
	display: inline-block;
	vertical-align: middle;
}
.btn_ico_img img {
	filter: drop-shadow(0px 1px #c53f3f) 
			drop-shadow(-1px -1px #c53f3f) 
			drop-shadow(1px 0px #c53f3f)
}
.btn_ico_text {
	padding: 0px 20px 1px 15px;
	display: inline-block;
	vertical-align: middle;
}

.btn_ico_o a {
	background: #c5593f;
}
.btn_ico_o img {
	filter: drop-shadow(0px 1px #c5593f) 
			drop-shadow(-1px -1px #c5593f) 
			drop-shadow(1px 0px #c5593f);
}

.btn_ico_g a {
	background: #469612;
}
.btn_ico_g img {
	filter: drop-shadow(0px 1px #469612) 
			drop-shadow(-1px -1px #469612) 
			drop-shadow(1px 0px #469612);
}

.btn_ico_b a {
	background: #233eb3;
}
.btn_ico_b img {
	filter: drop-shadow(0px 1px #233eb3) 
		    drop-shadow(-1px -1px #233EB3) 
		    drop-shadow(1px 0px #233eb3);
}



.ctx_box_wrap {
	padding: 50px 0;
	/* background: linear-gradient(transparent 50%, #dfdfdf 50%); */
	text-align: center;
	position: relative;
    font-family: "noto serif jp",serif;
    font-size: 16px;
    font-weight: 300;
}
.ctx_box_wrap::before {
	content: "";
	position: absolute;
	top: 50%;
	bottom: 0;
	background: #f4adba;
	left: -50vw;
	right: -50vw;
	z-index: -10;
}
.ctx_box_wrap::after {
	content: "";
	position: absolute;
	top: 50%;
	bottom: 0;
	left: -50%;
	right: -50%;
	z-index: -9;
}
.ctx_box {
	background: #fff;
	display: inline-block;
	padding: 30px 50px 30px;
	border-radius: 20px;
	box-shadow: 0px 0px 32px rgba(0, 0, 0, 0.12);
	position: relative;
}
.ctx_box::before {
	content: "";
	position: absolute;
	top: 0;
	left: 100px;
    right: 100px;
    height: 7px;
	background: #f4adba; 
}
.ctx_box_title {
	font-size: 130%;
	font-weight: 700;
    padding-bottom: 20px;
	border-bottom: 2px solid #ccc;
    margin-bottom: 20px;
}
.ctx_box_btn {
	display: grid;
	grid-template-columns: auto auto;
	grid-gap: 40px;
	align-items: center;
	justify-content: center;
	padding: 30px 0 30px;
}
.ctx_box a {
	display: inline-block;
	padding: 20px 30px;
	border-radius: 4px;
	color: #fff;
	text-decoration: none;
	min-width: 200px;
	text-align: center;
}
.ctx_box_new a {
/*	background: #5c7597;*/
	background: #f4adba;
}
.ctx_box_again a {
/*	background: #8ea2bd;*/
	background: #df5b73;
}
.ctx_box a:hover {
	opacity: 0.7;
}
@media(max-width: 559px){
	.ctx_box {
		grid-template-rows: auto auto;
		grid-template-columns: unset;
        padding: 20px;
	}
    .ctx_box_btn {
        display: block;
    }
    .ctx_box_new {
        margin-bottom: 20px;
    }
}


.table03 {
    margin: 0 auto 20px;
    font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
    line-height: 1.75;
}
.table03 td {
    border: 1px solid #e1e1e0;
    padding: 1em;
    color: #333;
    line-height: 1.4;
    vertical-align: middle;
}
@media(max-width: 559px ){
   .table03 td {
        display: block;
       border-bottom-width: 0;
    }
   .table03 tr:last-child td:last-child {
       border-bottom-width: 1px;
    }
}



.table_investigation {
	margin: 0 auto 20px;
    font-family: 'Noto Sans JP', sans-serif;
}
.table_investigation th,
.table_investigation td {
	border: solid 1px #BCBCBC;
    padding: 10px;
	text-align: center;
	vertical-align: middle;
}
.table_investigation th {
	background-color: #E7EFF7;
}
.table_investigation td {
	min-width: 100px;
}

@media (max-width: 959px){
	.table_investigation {
		display: grid;
		grid-template-columns: repeat(4,1fr);
		border-top: 1px solid #BCBCBC;
		border-right: 1px solid #BCBCBC;
	}
	.table_investigation th,
	.table_investigation td {
		display: block;
	}
	.table_investigation tr th,
	.table_investigation tr td {
		border-top-width: 0;
		border-right-width: 0;
	}
	@supports (display: contents) {
		.table_investigation thead,
		.table_investigation tbody {
			-webkit-display: contents;
			-moz-display: contents;
			-ms-display: contents;
			-o-display: contents;
			display: contents;
		}
	}
	.table_investigation {
		grid-template-columns: 7em 1fr 1fr 1fr;
	}
	.table_investigation td {
		min-width: unset;
	}
}

.table_teething_period {
	margin: 0 auto 20px;
	text-align: center;
	line-height: 1.25;
    font-family: 'Noto Sans JP', sans-serif;
}
.table_teething_period td {
	border: 1px solid #bcbcbc;
}
.table_teething_period thead td {
	padding: 5px;
    vertical-align: middle;
	background-color: #E7EFF7;
}
.table_teething_period tbody td {
	padding: 6px 10px;
	font-size: 75%;
}
.table_teething_period tbody td[rowspan] {
	vertical-align: middle;
    line-height: 2;
	width: 1.5em;
    font-size: 100%;
}
@media (min-width: 960px){
	.table_teething_period thead td {
		padding-left: 15px;
		padding-right: 15px;
	}
	.table_teething_period tbody td {
		padding-top: 5px;
		padding-bottom: 5px;
	}
}
@media (min-width: 560px){
	.table_teething_period tbody td[rowspan] + td,
	.table_teething_period tbody td:nth-last-child(5) {
		padding: 3px 20px;
	}
}
@media (max-width: 559px){
	.table_teething_period tbody td {
		padding: 3px 5px;
	}
}


/* ===========================================
ノート風
=========================================== */
.frame_notobook_dotted {
	border: 1px solid #ccc;
	background: #eee;
	line-height: 3em;
	padding: 2em 1em;
	max-width: 960px;
	margin: 0 auto 40px;
	font-size: 1.1em;
	background-image: radial-gradient(circle,#ccc 1px,transparent 1px);
	background-size: 6px 3em;
	background-position: 0 3.5em;
	font-family: "yuji-syuku", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.page .frame_notobook_dotted p,
.single .frame_notobook_dotted p {
	margin-bottom: 3em
}
.frame_notobook_dotted p:last-child {
	margin-bottom: 0;
}

.frame_notobook_dotted.ft02 {
	font-family: "Noto Sans JP", sans-serif;
}


/* ===========================================
ステップ
=========================================== */
.step_box_wrap dl {
	display: grid;
	grid-template-columns: 200px 600px;
	grid-gap: 0 20px;
	align-items: center;
	justify-content: center;
	margin-bottom: 40px;
	position: relative;
}
.step_box_wrap dl::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 25px 0 25px;
	border-color: #f8991d transparent transparent transparent;
}
.step_box_wrap dl:last-child::after {
	content: none;
}
.step_box_wrap dt {
	width: 200px;
	height: 200px;
	border-radius: 50%;
	overflow: hidden;
}
.step_box_wrap dt img {
	object-fit: cover;
    height: 100%;
    width: 100%;
    max-width: unset;
}

@media (max-width: 959px){
    .step_box_wrap dl {
        display: block;
        padding-bottom: 2px;
    }
    .step_box_wrap dt {
        margin: 0 auto 20px;
    }
}
