/* CSS Document */@charset "utf-8";html {  font-size: 10px;}body {  font-family:YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";  color: #333333;  margin: 0 auto;	max-width: 100vw;}a {  text-decoration: none;}li {  list-style: none;}img {  max-width: 100%;}.flex {	display: flex;}.wrap {	flex-wrap: wrap;}.sp-only {	display: none;}/*----------------------------------------------------*/.mainvisual {	width: 100%;	height: 100vh;	background-image: url("../img/aqura_firstview03.jpg");	background-position: top center;	background-size: cover;	position: relative;}.mainvisual h1 {	position: absolute;	top: 5rem;	right: 5rem;	width: calc(100% - 45%);}.mainvisual .worries {	position: absolute;	top: 35rem;	right: 5rem;	width: calc(100% - 50%);}.worries-ttl {	width: 70%;	margin: 0 auto 2rem auto;}.worries-box {	background: linear-gradient(#DDDCD8,#ffffff,#DDDCD8);	padding: 5rem 0 3rem 0;	border-radius: 3rem;} .worries-box ul {	width: 90%;	margin: auto;	justify-content: center;	gap: 3%;}.worries-box ul li {	width: 48%;	background: #fff;	padding: 1rem 0;	margin-bottom: 2rem;	box-shadow: 2px 2px 3px #c0c0c0;	border-radius: 1rem;}.worries-box ul li:hover {	box-shadow: none;	background: #c0c0c0;}.worries-box ul li a {	display: block;	font-size: 1.8rem;	margin-left: 1rem;	color: #333;}@media screen and (max-width:1280px){	.mainvisual {		height: 80vh;		position: relative;	}	.mainvisual h1 {		position: absolute;		top: 5rem;		right: 5rem;		width: calc(100% - 55%);	}	.mainvisual .worries {		position: absolute;		top: 25rem;		right: 1rem;		width: calc(100% - 40%);	}	.worries-box ul {		width: 95%;		margin: auto;		justify-content: center;		gap: 3%;	}	}/*----------------------------------------------------*//*ヘッダー*/.head-bar {	display: flex;	justify-content: space-between;	padding: 1rem;	background: #fff;}.head-left h1 {	width: 36rem;	margin-bottom: 1rem;}.head-left h1 a {	display: block;}.head-left p {	font-size: 1.4rem;	letter-spacing: 0.1rem;	white-space: nowrap;}.head-tel {	display: flex;  justify-content: flex-end;}.telbnr {	width: 24rem;	padding: 0.8rem;	background:linear-gradient(to bottom, #29729C, #E6F0F6);	border-radius: 2rem;}.telbnr a {	display: block;	color: #fff;	font-size: 2.8rem;	text-align: center;	font-weight: 600;}.telbnr a i {	margin-right: 1rem;}.head-right ul {	margin-top: 2rem;	display: flex;	gap: 2rem;}.head-right ul li {	font-size: 1.8rem;	letter-spacing: 0.1rem;}.head-right ul li a {	display: block;	color: #333;}.head-right ul li a:hover {	color: #ccc;}/*金属アレルギーになる歯科材料*/#material {	background:linear-gradient(to top ,#E9E9E9 , #FFFFFF);	padding-top: 10rem;	padding-bottom: 15rem;}.top-sectitle {	text-align: center;	font-size: 4.8rem;	font-weight: 600;	margin-bottom: 5rem;}.mate-flex {	width: 80%;	margin: auto;	justify-content: space-between;}.mate-img {	width: 45%}.mate-txt {	width: 45%;}/*金属を使用されている方へ*/#menu {	background-image: url("../img/bg01.jpg");	background-size: cover;	padding: 10rem 0;}.menu-message {	text-align: center;	font-size: 3.6rem;}.bgtxt-b {	font-size: 7.2rem;	color: #1465CF;	font-weight: 600;}.menu-wrapper {	width: 85%;	margin: 5rem auto;	display: flex;	justify-content: space-between;}.menu-item {	width: 30%;	position: relative;	padding: 1rem 3rem;}.menu-item::before {	 content: "";   display: block;   height: 95%;   width: 0;   border-right: 0.2rem solid #a9a9a9;   position: absolute;   left: 0;   top: 5rem;   margin: auto;}.menu-item:first-of-type::before{    content: none;}.menu-title {	text-align: center;	font-size: 3rem;	margin-bottom: 1rem;	border-top: 0.2rem solid #a9a9a9;	padding-top: 5rem;}.bgtxt-0 {	font-size: 4rem;	font-weight: 600;}.detail {	width: 70%;	margin: 2rem auto;	background: linear-gradient(to top,#E2E2DA,#5A97E9);	padding: 1rem 0;	border-radius: 2rem;	box-shadow: 0rem 0.5rem 0.1rem #ccc;}.detail a {	display: block;	text-align: center;	font-size: 2.4rem;	color: #fff;}.detail:active {	box-shadow: none;	position: relative;	top: 0.5rem;}/*ドクター*/#doctor {	padding: 10rem 0;	color: #052147;}.doc-flex {	width: 85%;	margin: 0 auto;	display: flex;	flex-wrap: wrap;	justify-content: center;	gap: 3rem;	align-items: center;}.doc-left,.doc-right {	width: 45%;}.bgtxt-n {	font-size: 7.2rem;	font-weight: 600;}.plus {	font-size: 3.6rem;	margin: 3rem 0;}.fs30 {	font-size: 3rem;}.doc-name {	font-size: 4.2rem;	font-weight: 600;	margin-top: 1rem;}.readmore {	margin-top: 3rem;	width: 70%; 	background: linear-gradient(to top,#E6F0F6,#29729C);	padding: 1rem 0;	border-radius: 2rem;	box-shadow: 0rem 0.5rem 0.1rem #ccc;}.readmore a {	display: block;	color: #fff;	font-size: 3rem;	font-weight: 600;	text-align: center;	letter-spacing: 0.1rem;}.readmore:active {	box-shadow: none;	position: relative;	top: 0.5rem;}/*特徴*/#features {	background-image: url("../img/bg02.jpg");	background-size: cover;	padding: 10rem 0;	color: #052147;}.feature {	width: 80%;	margin: 5rem auto;	background-color: #fff;	padding: 4rem 0;}.feature-inner {	width: 90%;	margin: auto;	display: flex;	flex-wrap: wrap;	justify-content: space-between;	align-items: center;}.feature-img {	width: 50%;}.feature-img img {	width: 90%;}.feature-txt {	width: 48%;}.feature-title {	font-size: 4rem;	font-weight: 600;}.feature-p{	width: 90%;	font-size: 1.6rem;	line-height: 2;}.f-plus {	font-size: 3.6rem;	margin: 2rem 0;}/*お知らせ*/#news {	background: #fff;	padding: 8rem 0;}.news-inner {	width: 85%;	margin: auto;	border-top: 0.8rem solid #537BB0;	border-bottom: 0.8rem solid #537BB0;	padding: 5rem 0;}.bgtxt-ns {	font-size: 7.2rem;	font-weight: 600;	color: #052147;	text-align: center;}.news-box {	height: 30rem;	width: 90%;	margin: auto;	background: #fff;	box-shadow: 10px 5px 5px #ccc;	padding: 3rem 0;}.news-item {	width: 80%;	margin: auto;	display: flex;	align-items: center;	gap: 3rem;	border-bottom: 1px solid #ccc;	padding-bottom: 2rem;}.day {	font-size: 2rem;	color: #052147;}.news-title {	font-size: 2rem;}/*フッター*/#footer {	background: linear-gradient(to top, #D8D9DA,#EBF2F2);	padding-top: 3rem;	padding-bottom: 1rem;}.footer-menu ul {	width: 80%;	margin: 0 auto 3rem auto;	display: flex;	justify-content: center;	gap: 3rem;}.footer-menu ul li {	font-size: 1.6rem;}.footer-info {	width: 80%;	margin: auto;	text-align: center;}.footer-info img {	width: 50%;}.f-adress {	font-size: 1.4rem;	text-align: center;	margin: 2rem auto 1rem auto;	letter-spacing: 0.2rem;}.f-tel {	font-size: 2.4rem;	text-align: center;	font-weight: 600;	margin-bottom: 1rem;}.f-tel i {	color: #1485CF;	margin-right: 1rem;}.map iframe {	width: 100% !important;	height: 30rem !important;}.footer-copy {	margin-top: 1rem;}.footer-copy p {	text-align: center;	line-height: 2;}/*===== 下層ページ =====*//*ヘッダー*/#s-header {	margin-bottom: 5rem;}.s-head-bar {	display: flex;	justify-content: space-between;	padding: 1rem;	background: #fff;	box-shadow: 0 2px 2px #c0c0c0;}.s-head-left h1 {	width: 36rem;	margin-bottom: 1rem;}.s-head-left h1 a {	display: block;}.s-head-left p {	font-size: 1.2rem;	letter-spacing: 0.1rem;}.s-head-tel {	display: flex;  justify-content: flex-end;}.s-telbnr {	width: 24rem;	padding: 0.8rem;	background:linear-gradient(to bottom, #29729C, #E6F0F6);	border-radius: 2rem;}.s-telbnr a {	display: block;	color: #fff;	font-size: 2.8rem;	text-align: center;	font-weight: 600;}.s-telbnr a i {	margin-right: 1rem;}.container {	justify-content: space-between;}/*サイドバー*/#aside  {	width: 20%;	position: fixed;}.side-nav {	width: calc(100% - 10%);	margin: auto;	position: relative;	}.side-nav .nav-ttl {	text-align: center;	font-size: 3.6rem;	letter-spacing: 3px;	margin-bottom: 3rem;}.side-nav-list {	width: 100%;	margin: auto;	flex-direction: column;	gap: 1rem;	}.side-nav-list li {	background: #fff;	box-shadow: 3px 3px 2px #c0c0c0;	padding: 1rem 0;	}.side-nav-list li a {	display: block;	text-align: center;	font-size: 1.8rem;	color: #333;}.side-nav-list li:last-child {	margin-top: 3rem;}.accordion-001 {    max-width: 500px;    background-color: #fafdff;}.accordion-001:not([open]) {    margin-bottom: 7px;}.accordion-001 summary {    display: flex;		width: 80%;	margin: 0 auto;    justify-content: space-between;    align-items: center;    position: relative;    padding: 1rem 0;    border-radius: 0px;    background-color: #ffffff;    color: #333;    font-weight: 600;    cursor: pointer;		text-align: center;		font-size: 1.6rem;}.accordion-001 summary::-webkit-details-marker {    display: none;}.accordion-001 summary::after {    transform: translateY(-25%) rotate(45deg);    width: 7px;    height: 7px;    margin-left: 0px;    border-bottom: 3px solid #333;    border-right: 3px solid #333;    content: '';    transition: transform .3s;}.accordion-001[open] summary::after {    transform: rotate(225deg);}.side-nav-in {    transform: translateY(-10px);    opacity: 0;    margin: 0;    padding: 1em 0 2em 0;    color: #333333;    transition: transform .5s, opacity .5s;}.side-nav-in li {	width: 95%;	margin-left: auto;	margin-right: auto;	box-shadow: none;	margin-bottom: 1rem;	border-bottom: 1px solid #c0c0c0;}.side-nav-in li a {	width: 95%;	margin: auto;	font-size: 1.6rem;	text-align: left;}.accordion-001[open] .side-nav-in {    transform: none;    opacity: 1;		 position: absolute;    top: 0;    left: 100%;    background: #fff;    width: 265px;    z-index: 999;}/*メイン*/.container article {	width: 80%;	margin-left: auto;}.container article .inner {	width: 100%;	margin: auto;}.Topnav {	width: calc(100% - 40%);	margin: 0 auto 5rem auto;	padding-bottom: 1rem;	border-bottom: 2.4px dashed #c0c0c0;}.Topnav ul {	justify-content: center;	gap: 5%;}.Topnav ul li a {	display: block;	font-size: 1.6rem;	color: #3D3C3C;}.sec-ttl {	width: calc(100% - 30%);	margin: auto;	padding: 2rem 0;	background: linear-gradient(#CDEFF3,#EBECEC);}.sec-ttl p {	text-align: center;	color: #052147;	font-size: 6rem;	font-weight: 600;}.ttl02 {	width: calc(100% - 20%);	margin: 5rem auto 8rem auto;	position: relative;  padding: 0.3rem 0;  border-bottom: 2px solid;  color: #707070;  font-weight: bold;  font-size: 26px;  text-align: center;}.ttl02:before,.ttl02:after {    position: absolute;    top: 100%;    left: 50%;    content: "";    height: 0;    width: 0;}.ttl02:before {    border: 8px solid;    border-color: transparent;    border-top-color: #707070;    margin-left: -8px;}.ttl02:after {    border: 5px solid;    border-color: transparent;    border-top-color: white;    margin-left: -5px;}.ttl02 p {	color: #052147;	text-align: center;	font-size: 4.2rem;	letter-spacing: 3px;}/*歯科医師の紹介*/.doctor-intro {	padding: 3rem 0;	}.doctor-in {	width: calc(100% - 25%);	margin: 5rem auto;	justify-content: space-between;	align-items: center;}.doctor-in-left {	width: 48%;}.doctor-in-left .bgtxt-n {	font-size: 6rem;	font-weight: 600;}.doctor-in-left .plus {	font-size: 3.6rem;	margin: 1rem 0;}.fs30 {	font-size: 3rem;}.doctor-in-left .doc-name {	font-size: 4.2rem;	font-weight: 600;	margin-top: 1rem;}.doc-name span {	font-size: 2rem;}.doctor-in-left .doc-name {	font-size: 3.6rem;	font-weight: 600;	margin-top: 1rem;	line-height: 1;}.doctor-in-right {	width: 50%;}.doctor-message {	width: calc(100% - 28%);	margin: 3rem auto;}.in-txt {	font-size: 1.8rem;	color: #052147;	line-height: 2.5;}/*院長紹介*/.career-in {	width: calc(100% - 25%);	margin: 3rem auto;	color: #052147;}.career-in .ttl {	width: 100%;	margin-top: 2rem;	margin-bottom: 2rem;	border-bottom: 1px solid #ccc;}.career-in .ttl p {	font-size: 4rem;}.career-in dl {	width: 100%;	font-size: 2rem;}.career-in dl dt {	width: 15%;	padding: 0.8rem 0 0.8rem 1rem;	box-sizing: border-box;	border-bottom: 0.8px solid #D1CECE;}.career-in dl dd {	width: 85%;	padding: 0.8rem 0;	border-bottom: 0.8px solid #D1CECE;}.career-in-flex {	width: 80%;		justify-content: space-between;}.career-in-flex ul {	width: 48%;}.career-in-flex ul li {	font-size: 1.8rem;	list-style-type: square;	list-style-position: inside;	padding: 0.8rem 0;}/*医院紹介*/.clinic-intro {}.clinic-in {	width: calc(100% - 35%);	padding: 5rem 0;	margin: auto;	justify-content: space-between;	gap: 3rem;}.clinic-item {	width: 40%;	color: #052147;}.item-name {	font-size: 3rem;	font-weight: 600;	text-align: center;	letter-spacing: 1rem;}.item-txt {	font-size: 1.4rem;	line-height: 2;}/*治療の流れ*/.flow {	padding: 5rem 0;}.flow-wrapper {	width: 60%;	margin: 5rem auto 0 auto;}.flow-item {	padding: 2rem 0;	box-shadow: 2px 2px 2px #ccc;	margin-bottom: 5rem;}.flow-item:last-child {	margin-bottom: 1rem;}.flow-item-in {	width: 95%;	margin: auto;	justify-content: space-between;}.flow-left {	width: 10%;}.flow-no {	width: 6rem;	height: 6rem;	border-radius: 50%;	background: #073756;	margin: auto;}.flow-no p {	color: #fff;	line-height: 6rem;	text-align: center;	font-size: 3.6rem;}.flow-content {	width: 85%;}.flow-ttl {	border-bottom: 1px solid #ccc;	margin-bottom: 2rem;}.flow-ttl p {	color: #073756;	font-size: 3rem;	font-weight: 600;}.flow-txt {	font-size: 1.8rem;	line-height: 2;}/*医院情報*/.clinic-info {	padding: 5rem 0;	margin-bottom: 5rem;}.clinic-in {	width: 70%;	margin: 5rem auto;	justify-content: space-between;	align-items: center;}.clinic-left {	width: 45%;}.clinic-left dl {	font-size: 1.8rem;}.clinic-left dl dt {	width: 30%;	text-align: center;	border-bottom: 1px solid #ccc;	padding: 1rem 0;	font-weight: 600;}.clinic-left dl dd {	width: 70%;	border-bottom: 1px solid #ccc;	padding:1rem 0;	line-height: 2;}.clinic-right {	width: 45%;}.time-table {	width: 65%;	margin: auto;}/*----- 治療について -----*/.s-aboout {	padding-top: 5rem;}.s-aboout .ttl02 {	margin-bottom: 0;}.s-aboout .pic {	width: 50%;	margin: 2rem auto;}.s-aboout .txt-box {	width: 70%;	margin: auto;}.s-materia{	padding-top: 5rem;}.s-material .txt-box {	width: 70%;	margin: 5rem auto;}.ma-wrapper {	flex-direction: column;	gap: 5rem;	padding: 5rem 0;	margin-bottom: 10rem;}.ma-item {	width: 70%;	margin: auto;	padding: 3rem 0;	color: #073756;	background: #fff;	box-shadow: 2px 2px 3px #ccc;}.ma-in {	width: 90%;	margin: auto;}.ma-ttl {	text-align: center;	font-size: 3rem;	font-weight: 600;	margin-bottom: 2rem;}.ma-txt {	width: 90%;	margin: auto;	font-size: 1.8rem;	line-height: 2;}.ma-feature {	width: 60%;	margin: 3rem auto;	background: #D6ECF8;	padding: 2rem 0;}.mf-ttl {	text-align: center;	font-size: 2.2rem;	font-weight: 600;}.ma-feature ul {	width: 90%;	margin: 2rem auto;}.ma-feature ul li {	font-size: 1.6rem;	padding: 1rem;	list-style: disc;	list-style-position: inside;}/*入れ歯*/#dentures {	margin-bottom: 10rem;}/*アレルギー*/#allergy {	margin-bottom: 10rem;}.symptoms .txt-box {	margin: 8rem auto;}.symptoms-wrapper {	flex-direction: column;	gap: 5rem;}.symptoms-box {	width: 70%;	margin: auto;	padding: 3rem 0;	color: #073756;	background: #fff;	box-shadow: 2px 2px 3px #ccc;}.symptoms-ttl {	text-align: center;	font-size: 3rem;	font-weight: 600;}.symptoms-in {	width: 90%;	margin: auto;	justify-content: space-between;	align-items: center;}.symptoms-in .left,.symptoms-in .right {	width: 48%;}.navy-box {	width: 60%;	margin: 8rem auto;	padding: 3rem 0;	background: rgba(6,37,58,0.8);}.navy-box-in {	width: 90%;	margin: auto;	border: 1px solid #fff;	padding: 4rem;	box-sizing: border-box;}.in-txt02 {	color: #fff;	line-height: 2;	font-size: 2rem;	text-align: center;	letter-spacing: 3px;}/*メタルフリー治療*/#metalfree {	margin-bottom: 20rem;}.metalfree-wrapper {	width: 90%;	padding: 10rem 0;	margin: 5rem auto;	flex-direction: column;	gap: 15rem;}.metalfree-item-in {	width: 90%;	margin: auto;	position: relative;}.m-in-img {	width: 40%;	margin-left: auto;}.m-in-txt {	position: absolute;	top: 10rem;	left: 3rem;	z-index: 3;	width: 65%;	background: rgba(255,255,255,0.7);	box-shadow: 0px 0px 20px 20px rgba(255,255,255,0.7);	padding: 4rem 6rem;	box-sizing: border-box;}.m-in-txt p,.m-in-txt02 p {	font-size: 1.8rem;	line-height: 2;}.m-in-img02 {	width: 40%;	margin-right: auto;}.m-in-txt02 {	position: absolute;	top: 10rem;	right: 3rem;	z-index: 3;	width: 65%;	background: rgba(255,255,255,0.7);	box-shadow: 0px 0px 20px 20px rgba(255,255,255,0.7);	padding: 4rem 6rem;	box-sizing: border-box;}/*-----Q&A-----*/.qa-wrapper {	padding: 10rem 0;}.qa-container {	width: calc(100% - 25%);	margin: auto;	padding: 5rem 0;}h3 {  position: relative;  text-align: center;	font-size: 3rem;	font-weight: 600;	padding-bottom: 1rem;}h3:before {	position: absolute;  bottom: -10px;  left: 50%;	transform: translate(-50%);  width: 60rem;  height: 5px;  content: '';  background:linear-gradient(to right, #052147, #CDEFF3);}.qa-pic {	width: 50%;	margin: 5rem auto;	z-index: 3;}.answer-box {	width: calc(100% - 15%);	margin: 8rem auto;	background: linear-gradient(#bbe2f1,#ccffff);	padding: 5rem 0;	box-sizing: border-box;	position: relative;}.a-box-in {	width: 80%;	margin: auto;}.a-box-in p {	font-size: 1.8rem;	line-height: 2;	font-family: "游ゴシック";}.a-box-in p span {	font-size: 2rem;	font-weight: 600;	color: #052147;}.answer-box::before {	position: absolute;	top: -3rem;	left: 50%;	transform: translate(-50%);	content: "";	width: 0;  height: 0;  border-left: 30px solid transparent;  border-right: 30px solid transparent;  border-bottom: 30px solid #bbe2f1;}/*トップリンク*//*リンクの形状*/#page-top a{	display: flex;	justify-content:center;	align-items:center;	background:#fff;	box-shadow: 1px 1px 2px #164A84;	border-radius: 5px;	width: 60px;	height: 60px;	color: #164A84;	text-align: center;	text-transform: uppercase; 	text-decoration: none;	font-size:1.6rem;	transition:all 0.3s;}#page-top a:hover{	background: #777;}/*リンクを右下に固定*/#page-top {	position: fixed;	right: 10px;	bottom:10px;	z-index: 2;    /*はじめは非表示*/	opacity: 0;	transform: translateY(100px);}/*　上に上がる動き　*/#page-top.UpMove{	animation: UpAnime 0.5s forwards;}@keyframes UpAnime{  from {    opacity: 0;	transform: translateY(100px);  }  to {    opacity: 1;	transform: translateY(0);  }}/*　下に下がる動き　*/#page-top.DownMove{	animation: DownAnime 0.5s forwards;}@keyframes DownAnime{  from {  	opacity: 1;	transform: translateY(0);  }  to {  	opacity: 1;	transform: translateY(100px);  }}/*--------------- 動き用のCSS ---------------*//*==================================================ふわっ===================================*//* その場で */.fadeIn{animation-name:fadeInAnime;animation-duration:1s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeInAnime{  from {    opacity: 0;  }  to {    opacity: 1;  }}/* 下から */.fadeUp{animation-name:fadeUpAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeUpAnime{  from {    opacity: 0;  transform: translateY(100px);  }  to {    opacity: 1;  transform: translateY(0);  }}/* 上から */.fadeDown{animation-name:fadeDownAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeDownAnime{  from {    opacity: 0;  transform: translateY(-100px);  }  to {    opacity: 1;  transform: translateY(0);  }}/* 左から */.fadeLeft{animation-name:fadeLeftAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeLeftAnime{  from {    opacity: 0;  transform: translateX(-100px);  }  to {    opacity: 1;  transform: translateX(0);  }}/* 右から */.fadeRight{animation-name:fadeRightAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeRightAnime{  from {    opacity: 0;  transform: translateX(100px);  }  to {    opacity: 1;  transform: translateX(0);  }}/* スクロールをしたら出現する要素にはじめに透過0を指定　*/ .fadeInTrigger,.fadeUpTrigger,.fadeDownTrigger,.fadeLeftTrigger,.fadeRightTrigger{    opacity: 0;}/*==================================================スタート時は要素自体を透過0にするためのopacity:0;を指定する===================================*/.box{	opacity: 0;}/*==================================================動かしたい動き（今回は” ふわっ” を採用）===================================*/.fadeUp {animation-name:fadeUpAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity: 0;}@keyframes fadeUpAnime{  from {    opacity: 0;	transform: translateY(100px);  }  to {    opacity: 1;	transform: translateY(0);  }}