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


/* contents-top */

.contents-top {
	width: 100%;
}

/* contents01 */

.contents01 {
	width: 100%;
	display: flex;
  justify-content: flex-start;
	align-items: flex-end;
	margin-bottom: 140px;
}

.contents01 .box01 {
	width: 50%;
	text-align: right;
	position: relative;
	margin-right: 70px;
}

.contents01 .box01 img {
	width: 100%;
height: auto;
}

.contents01 .box01 h3 {
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 47px;
color: #384f78;
line-height: 1.2;
font-weight: 300;
}

.contents01 .box01 p {
	font-family: 'Zen Maru Gothic', sans-serif;
color: #000;
line-height: 1.4;
	padding-top: 10px;
}

.contents01 .box01 .box002 {
	position: absolute;
right: 30px;
bottom: 50px;
}

.contents01 .box02 {
	padding-bottom: 20px;
}

.contents01 .box02 h3 {
	position: relative;
	padding-top: 105px;
}

.contents01 .box02 h3::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("common/images/logo-header2.svg");
background-position: left top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 174px;
	height: 47px;
}

.contents01 .box02 .box001 {
	margin: 40px auto;
}

.contents01 .box02 .box001 a {
	display: block;
	background-color: rgba(56,79,120,0.5);
	transition: .5s;
}

.contents01 .box02 .box001 a:hover {
	opacity: 1;
	background-color: rgba(56,79,120,0.8);
}

.contents01 .box02 .box001 h4, .contents01 .box02 .box001 h6 {
color: #FFF;
line-height: 1.2;
letter-spacing: 0.05em;
font-weight: 200;
}

.contents01 .box02 .box001 h4 {
	font-size: 33px;
	padding: 25px 30px;
}

.contents01 .box02 .box001 h6 {
	font-size: 19px;
	padding: 10px 30px;
	background-color: rgba(56,79,120,0.5);
	background-image: url("common/images/link-arrow01.svg");
background-position: right 40px center;
background-repeat: no-repeat;
	transition: .5s;
}

.contents01 .box02 .box001:hover h6 {
background-position: right 20px center;
}

.contents01 .box02 .box002 .box a {
	display: flex;
  justify-content: space-between;
	align-items: center;
	padding-left: 150px;
	background-image: url("common/images/logo-orthodontic.svg");
background-position: left center;
background-repeat: no-repeat;
}

.contents01 .box02 .box002 .box a:hover {
	opacity: 1;
}

.contents01 .box02 .box002 .box:not(:last-child) {
	margin-bottom: 10px;
}

.contents01 .box02 .box002 h4 {
	width: 94px;
}

.contents01 .box02 .box002 h5 {
color: #000;
line-height: 1.2;
font-weight: 200;
	font-size: 30px;
	letter-spacing: 0.15em;
	text-align: left;
	flex: 1;
	padding-left: 20px;
	transition: .5s;
}

.contents01 .box02 .box002 h5 span {
font-size: 16px;
	letter-spacing: 0em;
	line-height: 1;
	display: inline-block;
}

.contents01 .box02 .box002 .box:hover h5 {
color: #c59b6d;
}

.contents01 .box02 .box002 h6 {
	width: 91px;
	position: relative;
}

.contents01 .box02 .box002 h6::after {
	content: "";
	position: absolute;
right: 0px;
bottom: 20px;
	background-image: url("common/images/link-arrow02.svg");
background-position: right bottom;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 54px;
	height: 7px;
	margin-right: -10px;
	transition: .5s;
}

.contents01 .box02 .box002 .box:hover h6::after {
	margin-right: -20px;
}



/* contents02 */

.contents02 {
	width: 100%;
	background-image: url("top/images/back01a.png");
background-position: left top 110px;
background-repeat: no-repeat;
	margin-bottom: 130px;
}

.contents02 .box01 {
	margin-left: 15%;
	height: 432px;
	background-image: url("top/images/back01b.jpg");
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
	display: flex;
  justify-content: center;
align-items: center;
}

.contents02 .box02 {
	display: flex;
  justify-content: center;
align-items: center;
	gap:40px;
	padding-top: 35px;
}

.contents02 .box02 .box001 {
	width: 800px;
}

.contents02 .box02 .box002 {
	width: 147px;
	position: relative;
}

.contents02 .box02 .box002::after {
	content: "";
	position: absolute;
right: 0px;
bottom: 35px;
	background-image: url("common/images/link-arrow02.svg");
background-position: right bottom;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 84px;
	height: 10px;
	margin-right: -15px;
	transition: .5s;
}

.contents02 .box02 .box002:hover::after {
	margin-right: -30px;
}


/* contents03 */

.contents03 {
	width: 100%;
	margin-bottom: 130px;
}

.contents03 .box01 {
	background-image: url("top/images/back02.jpg");
background-position: center top;
background-repeat: no-repeat;
background-size: cover;
	width: 100%;
	height: 569px;
	display: flex;
  justify-content: center;
align-items: center;
}

.contents03 .box01 h3 {
	font-size: 85px;
color: #FFF;
line-height: 1.2;
font-weight: 300;
	font-family: 'Zen Maru Gothic', sans-serif;
	text-shadow: 0px 0px 5px #000;
}

.contents03 .box02 {
	display: flex;
  justify-content: center;
align-items: center;
	padding: 40px 0px 70px;
}

.contents03 .box02 .box001 {
	width: 450px;
}

.contents03 .box02 .box002 {
	padding-left: 70px;
	border-left-style : solid;
border-left-color : rgba(0, 0, 0, 0.5);
border-left-width : 1px;
}

.contents03 h4, .contents03 .box02 h5, .contents03 .box02 p {
color: #000;
line-height: 1.2;
letter-spacing: 0.1em;
font-weight: 200;
}

.contents03 h4 {
	font-family: 'Zen Maru Gothic', sans-serif;
color: #384f78;
	font-size: 36px;
	margin-bottom: 15px;
}

.contents03 .box02 h5 {
	font-size: 40px;
}

.contents03 .box02 h5 span {
	font-size: 30px;
}

.contents03 .box02 p {
	font-size: 36px;
	line-height: 1.8;
}

.contents03 .box03 {
	display: flex;
  justify-content: center;
}

.contents03 .box03 .box001 {
	width: 630px;
}

.contents03 .box03 .box001 .movie {
	position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.contents03 .box03 .box001 .movie iframe {
	position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.contents03 .box03 .box002 {
	padding-left: 100px;
	padding-top: 30px;
}

/* contents04 */

.contents04 {
	width: 100%;
	margin-bottom: 100px;
	text-align: center;
	background-color: rgba(241,241,241,0.6);
}

.contents04 h3 {
	font-size: 32px;
color: #000;
line-height: 1.2;
letter-spacing: 0.15em;
font-weight: 200;
	padding: 20px 0px;
	background-color: #e5e5e5;
}

.contents04 .box-in {
	padding: 50px 0px;
	display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
	gap:30px;
}

.contents04 .box {
	width: 222px;
}

.contents04 h5 img {
	border-radius: 50%;
}

.contents04 p {
	padding-top: 15px;
	font-size: 18px;
color: #384f78;
line-height: 1.2;
}


/* contents05 */

.contents05 {
	width: 940px;
	margin-bottom: 120px;
}

.contents05a {
	margin-bottom: 60px;
}

.contents05 .midashi-box {
	display: flex;
  justify-content: space-between;
	align-items: center;
	margin-bottom: 35px;
}

.contents05 .midashi-box .box01 {
	display: flex;
  justify-content: flex-start;
	align-items: center;
}

.contents05 .midashi-box h3, .contents05 .midashi-box h4 {
line-height: 1.2;
font-weight: normal;
}

.contents05 .midashi-box h3 {
	font-size: 40px;
color: #384f78;
	margin-right: 20px;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight: 200;
}

.contents05 .midashi-box h4 {
color: #303030;
	letter-spacing: 0.2em;
	padding-top: 3px;
}

.contents05 .midashi-box h6 a {
	font-size: 18px;
color: #384f78;
line-height: 1.2;
letter-spacing: 0.2em;
font-weight: 200;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-style: italic;
	position: relative;
}

.contents05 .midashi-box h6 a::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("common/images/link-arrow02.svg");
background-position: left center;
background-repeat: no-repeat;
	background-size: auto 9px;
	width: 98px;
	height: 100%;
	margin-left: -90px;
	transition: .5s;
}

.contents05 .midashi-box h6 a:hover {
	opacity: 1;
}

.contents05 .midashi-box h6 a:hover::before {
	margin-left: -80px;
}

.contents05 .box-in {
	display: flex;
  justify-content: flex-start;
flex-wrap: wrap;
	gap:42px;
}

.contents05 .box {
	width: 284px;
	border-bottom-style : solid;
border-bottom-color : rgba(35, 24, 21, 0.5);
border-bottom-width : 1px;
	padding-bottom: 40px;
	position: relative;
}

.contents05 .box::after {
	content: "";
	position: absolute;
right: 0px;
bottom: 0px;
	background-image: url("common/images/link-arrow03.svg");
background-position: right bottom;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 28px;
	height: 28px;
	transition: .5s;
}

.contents05 .box:hover::after {
	margin-right: -10px;
}

.contents05 .box img {
	width: 100%;
height: auto;
}

.contents05 .box h4 {
	margin-bottom: 20px;
}

.contents05 .box h5 {
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
color: #384f78;
line-height: 1.2;
font-weight: 500;
	padding-bottom: 10px;
}

.contents05 .box p {
	font-size: 14px;
color: #000;
line-height: 1.6;
}

.contents05 .box a:hover {
	opacity: 1;
}

    .sp-view {
        display: none;
    }