@charset "UTF-8";
@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css);

@media screen and (max-width:768px) {
	#approach .pc_only {
		display: none!important
	}
}
@media print, screen and (min-width:769px) {
	#approach .sp_only {
		display: none!important
	}
}
#approach .center {
	margin: auto;
	text-align: center;
	line-height: 180%
}
#approach .clearfix::after {
	content: "";
	display: block;
	clear: both
}
#approach .txt_base p {
	line-height: 2
}
#approach .txt_base p:not(:last-child) {
	margin-bottom: 1.8em
}
#approach .txt_base.fs15 p {
	font-size: 1.5rem
}
#approach .txt_base.fs16 p {
	font-size: 1.6rem
}
#approach .txt_base a {
	text-decoration: underline
}
#approach .mb20 {
	margin-bottom: 20px
}
#approach .mb40 {
	margin-bottom: 40px
}
#approach .mb60 {
	margin-bottom: 60px
}
#approach .tel_link, .tel_link a {
	color: inherit;
	font-size: 1em
}
#approach .main_width {
	width: calc(100% - 50px);
	max-width: 1040px;
	margin: auto
}
#approach .main_width.size1090 {
	max-width: 1090px
}
#approach .main_width.size830 {
	max-width: 830px
}
#approach .main_width.size760 {
	max-width: 760px
}
section#approach {
	padding: 80px 0;
    overflow:clip;
}

/* APPROACH */
#approach .bg_white.ver_po_ajust {
	position: relative;
	z-index: 1
}
#approach .top_know_block .right .img_po_txt {
	position: relative;
	top: 20px;
	display: block;
	text-align: center;
	font-size: 1.5rem
}
#approach.top_approach_block {
	padding-top: 80px
}
#approach.top_approach_block .flexbox {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 80px
}
#approach.top_approach_block .flexbox .left {
	width: 43%
}
#approach.top_approach_block .flexbox .left .ttl {
	line-height: 1.8;
	letter-spacing: .1em;
	font-size: 3.6rem
}
#approach.top_approach_block .flexbox .right {
	width: 55%
}
#approach.top_approach_block .img {
	position: relative;
	margin:0 auto 50px;
	z-index: 2
}
#approach .jp_slide_img_wrapper {
	position: relative;
	width: 100%;
	height: 575px;
	max-height: 50vh;
	background-image: url(../img/home/loop-img.webp);
	background-repeat: repeat-x;
	background-size: cover;
	background-position: 0 0;
	animation-name: slide_img;
	animation-duration: 200s;
	animation-iteration-count: infinite;
	animation-timing-function: linear
}
@keyframes slide_img {
	100% {
		background-position: -10000px 0
	}
}

#approach .txt_scroll_box {
	position: relative
}
#approach .txt_scroll_box .txt_scroll_txt {
	position: absolute;
	bottom: 0.1em;
	font-size: 30rem;
	height: 1em
}
#approach .txt_scroll_box .txt_scroll_txt span {
	color: #DFE8F4;
	font-size: 1em;
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	white-space: nowrap
}
#approach .top_concept_block .txt_scroll_box .txt_scroll_txt {
	bottom: .5em
}
#approach .txt_scroll_txt .loop_txt {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	width: 200vw
}
#approach .txt_scroll_txt .loop_txt img {
	min-width: 200vw;
	padding-left: .3em;
	padding-right: .3em
}
#approach .txt_scroll_txt .loop_txt img:first-child {
	animation: loop 100s -50s linear infinite
}
#approach .txt_scroll_txt .loop_txt img:last-child {
	animation: loop2 100s linear infinite
}
@keyframes loop {
	0% {
		transform: translateX(100%)
	}
	to {
		transform: translateX(-100%)
	}
}
@keyframes loop2 {
	0% {
		transform: translateX(0)
	}
	to {
		transform: translateX(-200%)
	}
}
@media screen and (max-width:768px) {
	#approach.top_approach_block {
		padding-top: 80px
	}
	#approach.top_approach_block .flexbox {
		display: block;
		margin-bottom: 50px
	}
	#approach.top_approach_block .flexbox .left {
		width: 100%
	}
	#approach.top_approach_block .flexbox .left .ttl {
		letter-spacing: .04em;
		font-size: 2.3rem
	}
	#approach.top_approach_block .flexbox .right {
		width: 100%
	}
	#approach.top_approach_block .img {
		margin-bottom: 60px
	}
	#approach.top_approach_block .img:after {
		height: 80px;
		bottom: -30px
	}
	#approach .center_ttl {
		font-size: 1.5rem
	}
	#approach .txt_scroll_box {
		position: relative
	}
	#approach .txt_scroll_box .txt_scroll_txt {
		position: absolute;
		bottom: -.4em;
		font-size: 30rem;
		height: 1em
	}
	#approach .txt_scroll_box .txt_scroll_txt span {
		color: #DFE8F4;
		font-size: 1em;
		font-family: 'Montserrat', sans-serif;
		font-weight: 600;
		white-space: nowrap
	}
	#approach .top_concept_block .txt_scroll_box .txt_scroll_txt {
		top: 1.5em;
		bottom: auto
	}
	#approach .txt_scroll_txt .loop_txt {
		display: -ms-flexbox;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		width: 450vw
	}
	#approach .txt_scroll_txt .loop_txt img {
		min-width: 450vw;
		padding-left: .3em;
		padding-right: .3em
	}
	#approach .txt_scroll_txt .loop_txt img:first-child {
		animation: loop 50s -25s linear infinite
	}
	#approach .txt_scroll_txt .loop_txt img:last-child {
		animation: loop2 50s linear infinite
	}
}


.top_slide_block .top_know_block {
	margin: 0 auto;
	max-width: 1090px;
	height: 100%;
	padding: 40px 140px 80px;
	background-color: #FFF;
	border-radius: 300px;
	box-shadow: 0 8px 20px rgba(181, 202, 217, .35);
}
.top_slide_block .slide_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.top_slide_block .slide_inner .txt_base{
	line-height: 2;
}
.top_slide_block .sub_ttl_container {
	margin: 0 auto 20px;
	text-align: center;
}
.top_slide_block .top_know_block .sub_ttl {
	display: inline-block;
	letter-spacing: .1em;
	font-size: 2rem;
	letter-spacing: .08em;
	line-height: 4rem;
	border-top: solid 1px #DFE8F4;
	border-bottom: solid 1px #DFE8F4;
}
.top_slide_block .top_know_block .left {
	width: 58%
}
.top_slide_block .top_know_block .right {
	width: 38%
}
.top_slide_block .top_know_block .ttl {
	margin-bottom: .8em;
	line-height: 1.8;
	letter-spacing: .1em;
	font-size: min(1.6vw,30px);
	letter-spacing: .08em
}
.top_slide_block .top_know_block .right .c_txt {
	position: relative;
	top: 1em;
	display: block;
	text-align: center;
	font-size: 1.5rem;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	z-index: 1
}

/* morning_&_night__slide */
.top_slide_block .top_know_block {
	margin: 0 auto;
	max-width: 1090px;
	height: 100%;
	padding: 40px 140px 80px;
	background-color: #FFF;
	border-radius: 300px;
	box-shadow: 0 8px 20px rgba(181, 202, 217, .35);
}
.top_slide_block .slide_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.top_slide_block .sub_ttl_container {
	margin: 0 auto 20px;
	text-align: center;
}
.top_slide_block .top_know_block .sub_ttl {
	display: inline-block;
	letter-spacing: .1em;
	font-size: 2rem;
	letter-spacing: .08em;
	line-height: 4rem;
	border-top: solid 1px #DFE8F4;
	border-bottom: solid 1px #DFE8F4;
}
.top_slide_block .top_know_block .left {
	width: 58%
}
.top_slide_block .top_know_block .right {
	width: 38%
}
.top_slide_block .top_know_block .ttl {
	margin-bottom: .8em;
	line-height: 1.8;
	letter-spacing: .1em;
	font-size: min(1.6vw,30px);
	letter-spacing: .08em
}
.top_slide_block .top_know_block .right .c_txt {
	position: relative;
	top: 1em;
	display: block;
	text-align: center;
	font-size: 1.5rem;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	z-index: 1
}

/* swiper */
.top_slide_block #night_pc_swiper.swiper {
	padding: 0 0 50px;
	overflow: visible;
}
.top_slide_block #night_pc_swiper .swiper-wrapper {
	z-index: 11;
}
.top_slide_block #night_pc_swiper .swiper-slide {
	height: auto;
}
.top_slide_block #night_pc_swiper.swiper {
	padding: 0 0 50px;
}
.top_slide_block #night_pc_swiper .swiper-slide {
	height: auto;
}

@keyframes scrolle_hint{
	0%{
		transform: translateX(0%);
	}
	100%{
		transform: translateX(100%);
		opacity: 0;
	}
}

.top_slide_block .scroll_hint{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 20;
	background-color: rgba(39, 69, 116, 0.9);
	width: 150px;
	height: 150px;
	border-radius: 10px;
	text-align: center;
	transition: 0.3s all;
	padding: 10px;
}
.top_slide_block .scroll_hint.none{
	opacity: 0;
	visibility: hidden;
}
.top_slide_block .scroll_hint svg{
	width: 80px;
	height: 80px;
	animation: scrolle_hint backwards 1.5s ease-in-out 0s infinite;
}
.top_slide_block .scrolle_hint_text{
	text-align: center;
	font-size: 14px;
	color: #fff;
	margin: 15px auto 0;
}
.top_slide_block .scroll_hint svg .cls-1{
	fill:#fff
}
.top_slide_block .swiper_navigation_group {
	display: flex;
	justify-content: center;
	margin-top: 30px;
}
.top_slide_block .swiper-button-prev {
	position: static;
	top: initial;
	width: 48px;
	height: auto;
	margin: 0 10px;
}
.top_slide_block .swiper-button-prev:after {
	font-family: initial;
	font-size: initial;
	content: '';
}
.top_slide_block .swiper-button-next {
	position: static;
	top: initial;
	width: 48px;
	height: auto;
	transform: rotate(180deg);
	margin: 0 10px;
}
.top_slide_block .swiper-button-next:after {
	font-family: initial;
	font-size: initial;
	content: '';
}
.top_slide_block .swiper_navigation_text {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 100px;
	padding-top: 1px;
	font-size: 1.4rem;
}
.top_slide_block .swiper_navigation_text.navigation_left {
	text-align: right;
}
.top_slide_block .swiper_navigation_text.navigation_right {
	text-align: left;
	justify-content: flex-start;
}
.top_slide_block .swiper_navigation_text p{
	display: inline-block;
	margin: 0;
}
.top_slide_block .inspection_box {
	display: flex;
	justify-content: space-between;
	padding-bottom: 30px;
}
.top_slide_block .inspection_contents {
	width: 45%;
	text-align: center;
	display: none;
}
.top_slide_block .inspection_contents.active {
	display: block;
}
.top_slide_block .inspection_box .ttl {
	margin-bottom: 10px;
	letter-spacing: .1em;
	line-height: 1.5em;
	text-align: center;
	font-size: min(1.1vw,1.8rem);
}
.top_slide_block .inspection_box .left_img {
	width: 80%;
	margin: 0 auto 10px;
	text-align: center
}
.top_slide_block .inspection_box .right_img {
	width: 80%;
	margin: 0 auto 10px;
	text-align: center
}
.top_slide_block .inspection_tab_button {
	display: flex;
	justify-content: center;
	margin-bottom: 30px;
}
.top_slide_block .inspection_tab_button li{
	margin: 0;
}
.top_slide_block .inspection_tab_button li:nth-child(2) {
	margin-left: 10px;
}
.top_slide_block .inspection_tab_button_list {
	display: block;
	width: 40px;
	height: 2px;
	background-color: #BBC7D6;
}
.top_slide_block .inspection_tab_button .active {
	background-color: #1E4578;
}
.top_slide_block .buy_box .buy_list {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	align-items: flex-start;
}
.top_slide_block .buy_box .buy_list>li {
	position: relative;
	width: 48%;
	max-width: 280px;
	padding: 0;
	margin:0 1%;
}
.top_slide_block .buy_box .buy_list>li .open_ttl {
	padding-top: 15px;
	padding-bottom: 15px;
	padding-left: 10px;
	padding-right: 10px;
	cursor: pointer;
	border-bottom: solid 1px #274574;
	transition: all 0.2s;
}
.top_slide_block .buy_box .buy_list>li .open_ttl:after {
	top: 15px;
	right: 10px;
	transition: all 0.2s;
}
.top_slide_block .buy_box .buy_list>li .open_ttl.active {
	border-bottom: none;
}
.top_slide_block .buy_box .buy_list>li .txt_base {
	position: absolute;
	visibility: hidden;
	top: 2.5em;
	left: 0;
	max-height: 0;
	opacity: 0;
	margin-top: 15px;
	padding: 15px;
	background-color: #FFF;
	border-radius: 10px;
	box-shadow: 0 8px 20px rgba(181, 202, 217, .35);
	z-index: 100;
	transition: all 0.2s;
}
.top_slide_block .buy_box--mt .buy_list>li .txt_base {
	padding: 0 15px;
	position: relative;
	top:0;
	z-index: 1;
}
.top_slide_block .buy_box .buy_list>li .open_ttl.active+.txt_base {
	opacity: 1;
	max-height: none;
	height: 250px;
	overflow: scroll;
	visibility: visible;
}
.top_slide_block .buy_box--mt .buy_list>li .open_ttl.active+.txt_base {
	padding: 15px;
}
.top_slide_block .buy_box .buy_list>li .txt_base p {
	font-size: 1rem
}
.top_slide_block .buy_box .open_ttl {
	padding: 0 1.5em
}
.top_slide_block .buy_box .circle_list {
	margin-bottom: 20px
}
.top_slide_block .buy_box .circle_list li {
	position: relative;
	padding-left: 1.3em;
	line-height: 1.8;
	font-size: 1rem
}
.top_slide_block .buy_box .circle_list li:before {
	display: block;
	position: absolute;
	top: .5em;
	left: 0;
	content: "";
	width: .8em;
	height: .8em;
	background: #001C4A;
	border-radius: 10px
}

/* top_night_block */
.top_slide_block{
	overflow: clip;
}
.top_slide_block.top_night_block {
	overflow: clip;
}
.top_slide_block.top_night_block .top_know_block .right {
	position: relative;
}
.top_slide_block.top_night_block .top_know_block .right .txt_img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.top_slide_block .top_know_block .dental_ajust_img {
	position: relative;
	top: 26px;
	overflow: hidden
}
.top_slide_block .top_know_block .dental_ajust_img img {
	position: relative;
	top: -50px
}
.top_slide_block .open_ttl {
	position: relative
}
.top_slide_block .open_ttl:after {
	position: absolute;
	top: 0;
	right: 0;
	content: "+";
	color: #274574;
	font-weight: 700
}
.top_slide_block .open_ttl.active:after {
	content: "ー"
}

#morning_pc_swiper.swiper {
	padding: 0 0 50px;
	overflow: visible;
}
#morning_pc_swiper .swiper-wrapper {
	z-index: 11;
}
#morning_pc_swiper .swiper-slide {
	height: auto;
}

@media screen and (min-width:768px){
	.top_slide_block .inspection_contents{
		display: block;
	}
	.top_slide_block .inspection_tab_button{
		display: none;
	}
	.top_slide_block .scroll_hint{
		display: none;
	}
}
@media screen and (max-width:1024px) {
	.top_slide_block .top_know_block {
		padding: 60px 120px
	}
	.top_slide_block .top_know_block .ttl {
		font-size: 2.8rem
	}
}
@media screen and (max-width:768px) {
	.top_slide_block .pc_only {
        display: none !important;
    }
	.top_slide_block .top_know_block {
		display: block;
		padding: 80px 60px
	}
	.top_slide_block .top_know_block .sub_ttl {
		display: inline-block;
	}
	.top_slide_block .top_know_block .ttl {
		letter-spacing: .04em;
		font-size: 2.2rem
	}
	.top_slide_block .top_know_block .right .c_txt {
		font-size: 1.3rem
	}
	.top_slide_block .buy_box {
		width: 90%;
		max-width: 280px;
		margin: auto
	}
	.top_slide_block .buy_box .buy_list {
		display: block
	}
	.top_slide_block .buy_box .buy_list>li {
		width: 100%;
		margin: auto
	}
	.top_slide_block .buy_box .buy_list>li:not(:last-child) {
		margin: 0 auto 25px
	}
	.top_slide_block .slide_inner .txt_base{
		font-size: 12px;
	}
}
@media screen and (max-width: 767px) {
    #pagetop {
        z-index: 98;
    }
}

@media screen and (max-width:430px) {
	.top_slide_block .top_know_block {
		height: 100%;
		padding: 60px 20px 100px;
	}
	.top_slide_block .slide_inner {
		flex-flow: column;
	}
	.top_slide_block .top_know_block .left {
		width: 100%
	}
	.top_slide_block .top_know_block .right {
		width: 100%
	}
	.top_slide_block .inspection_box {
		flex-flow: column;
	}
	.top_slide_block .inspection_contents {
		width: 100%;
	}
}


#cosmion .sct-moning .feature .pc-none,
#cosmion .sct-night .feature .pc-none{
	display: none;
}
@media(max-width:768px){
	#cosmion .sct-moning .feature .pc-none,
	#cosmion .sct-night .feature .pc-none{
		display: block;
		margin-top: 20px;
	}
	#cosmion .sct-moning .feature .sp-none,
	#cosmion .sct-night .feature .sp-none{
		display: none;
	}
}

#pagetop{
	z-index: 98;
}

#cosmion .sct-moning h2{
	color: #001C4A;
}
#cosmion .sct-night h2{
	color: #001C4A;
}
@media(max-width:1850px){
	#cosmion .sct-night h2{
		margin-bottom: 60px;
	}
}
@media(max-width:1350px){
	#cosmion .sct-moning h2{
		margin-bottom: 20px;
	}
}
@media(max-width:1219px){
	#cosmion .sct-moning h2{
		margin-bottom: 0;
	}
	#cosmion .sct-night h2{
		margin-bottom: 0;
	}
	
}