@charset "utf-8";
/*==================================================
	タブレットのみ適応
==================================================*/
@media only screen and (max-width: 768px) and (min-width: 641px){
	.dsp_smt { display: none !important; }
}
/*==================================================
	タブレット・スマホに適応
==================================================*/
@media only screen and (max-width: 768px) {
	body { font-size: 90%; }
	.dsp_hp { display: none !important; }

	/* ベースカラー*/
	#switchBtnArea #switchBtn { background: #f5eef3; }
	#rwdMenuWrap { background: #bb8dae; }

	/* ヘッダ */
	#header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 50px;
		padding: 0 !important;
		background: #fff;
		z-index: 9997;
		/* フレックス */
		display: flex;
		justify-content: space-between;
	}
	#header h1.title {
		width: 120px;
		padding-left: 10px;
	}
	/* お問い合わせ */
	#header .contact {
		position: relative;
		/* フレックス */
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#header .contact .tel a,
	#header .contact .btn a {
		width: 46px;
		height: 50px;
		padding: 0 8px;
		box-sizing: border-box;
		/* 縦方向中央揃え */
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#header .contact .btn {
		margin-left: 1px;
		padding-right: 45px;
	}
	#header .contact .txt,
	#header .contact .tel span {
		display: none;
	}
	/* コンテナ */
	#container {
		padding-top: 50px;
		line-height: 1.8;
	}
	#container h3.sub, #container h3.ico {
		margin-bottom: 30px;
		font-size: 25px;
	}
	#container h3.sub span, #container h3.ico span {
		font-size: 18px;
	}
	#page_title .sub {
		background-size: 35% auto;
		height: 130px;
		font-size: 25px;
		line-height: 1.3;
	}
	#page_title .txt {
		font-size: 16px;
	}
	.main {
		padding-left: 5% !important;
		padding-right: 5% !important;
	}
	#main, #navi {
		clear: both;
		padding-bottom: 30px;
	}
	/* フッター */
	#footer .box {
		padding: 50px 0;
	}
	#footer .logo {
		margin-bottom: 30px;
	}
	#footer .txt table {
		margin-bottom: 30px;
	}
	#footer .txt th,
	#footer .txt td {
		padding: 10px 5px !important;
	}
	#footer .txt td.pick {
		font-size: 120%;
	}
	#footer .contact {
		padding-bottom: 30px;
	}
	#footer .contact .ttl {
		top: -30px;
		font-size: 125%;
	}
	#footer .contact .ttl span {
		font-size: 25px;
	}
	#footer .contact a {
		font-size: 18px;
	}
	#footer .contact a img {
		width: 20px;
	}
	#footer .contact .tel a {
		font-size: 20px;
	}
	#copyright {
		font-size: 10px;
	}
	/* パンくずリスト */
	#page_navi {
		margin-bottom: 20px;
		padding-top: 15px;
		font-size: 11px;
	}
	/* 枠のマージン・パディング */
	.mb { margin-bottom: 60px; }
	.pt { padding-top: 60px; }
	.pb { padding-bottom: 60px; }
	/* アンカーリンク用上部スペース */
	.pad_anchor {
		margin-top: -50px;
		padding-top: 50px;
	}
	.bg_lb:before {
		background-size: 80% auto;
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	/* お知らせ */
	#top_info {
		padding-top: 30px;
	}
	#top_info dl {
		padding: 12px;
	}
	@media print, screen and (min-width: 641px){ /* PC用 */
		#top_info .txt_area {
			width: calc(100% - 100px);
			padding-top: 30px;
		}
	}
	/* 挨拶 */
	#top_msg {
		background-position: right top 130px;
		background-size: 31% auto;
	}
	#top_msg .txt .pick {
		font-size: 20px;
	}
	#top_msg .name span.spm {
		font-size: 20px;
	}
	/* コンテンツ */
	#top_contents {
		background-size: 40% auto;
	}
	#top_contents li {
		padding-top: 30px;
		margin-bottom: 30px;
	}
	#top_contents li a {
		height: 140px;
		padding-bottom: 20px;
		font-size: 125%;
	}
	#top_contents li.en a {
		font-size: 110%;
	}
	#top_contents li a::before {
		right: 10px;
		bottom: 10px;
		width: 26px;
		height: 26px;
	}
	#top_contents li a::after {
		right: 20px;
		bottom: 15px;
	}
	#top_contents li a img {
		width: 60px;
	}
	@media print, screen and (min-width: 641px){ /* PC用 */
		#top_contents ul {
			width: calc(100% - 100px);
		}
		#top_contents li {
			width: 48%;
		}
	}
	/*--------------------------------------------------
		当医院について
	--------------------------------------------------*/
	#about .list {
		margin-top: 0;
	}
	#about .sec {
		margin-bottom: 60px;
	}
	#about .sec:last-of-type {
		margin-bottom: 0;
	}
	#about .sec dl {
		width: 100%;
		margin-bottom: 20px;
	}
	#about .sec04 dl {
		margin-right: 0;
	}
	#about .sec dl dt {
		font-size: 18px;
		margin-bottom: 20px;
		letter-spacing: 1px;
	}
	#about .sec03 dl dt:before {
		right: 0;
	}
	#about .sec01 dl dt img {
		top: -10px;
		right: 0;
	}
	#about .sec .img {
		width: 100%;
		text-align: center;
	}
	#about .sec:nth-of-type(even) dl {
		order: 1;
	}
	#about .sec:nth-of-type(even) .img {
		order: 2;
	}
	#about .sec04 .img {
		margin-left: 0;
	}
	#about .waku {
		width: 100%;
		padding: 15px;
		margin-bottom: 100px;
	}
	#about .waku dt {
		font-size: 20px;
	}
	#about .waku dd .btn01 {
		bottom: -44px;
	}
	#about .waku dd .btn01 a {
		width: 400px;
		padding: 15px 0 15px 30px;
	}
	#about .photos {
		margin-top: 80px;
		width: 580px;
	}
	#about .photos li {
		width: 280px;
		padding: 15px;
	}
	/*--------------------------------------------------
		一般歯科
	--------------------------------------------------*/
	#general .general {
		display: block;
	}
	#general .general .in {
		width: 100%;
		margin-bottom: 20px;
	}
	#general .general .in .biz {
		font-size: 18px;
		letter-spacing: 1px;
	}
	#general .general .in .txt {
		line-height: 1.7;
	}
	#general .general .img {
		width: 100%;
		text-align: center;
	}
	#general .general .img img {
		width: auto;
		border-radius: 10px;
		margin: 0 10px;
	}
	#general .chks {
		width: 100%;
		padding: 15px;
	}
	#general .msg .biz {
		font-size: 18px;
		letter-spacing: 1px;
		margin-bottom: 20px;
	}
	/*--------------------------------------------------
		予防歯科
	--------------------------------------------------*/
	#prevention h3.ico span.maru {
		margin-bottom: 0;
	}
	#prevention .fst_msg {
		font-size: 18px;
		letter-spacing: 2px;
	}
	#prevention .sec {
		margin-bottom: 50px;
	}
	#prevention .sec .txt {
		width: 100%;
		line-height: 1.8;
		margin-bottom: 30px;
	}
	#prevention .sec .txt b {
		font-size: 16px;
	}
	#prevention .sec .img {
		position: relative;
		text-align: center;
		width: 100%;
		left: auto;
	}
	#prevention .sec .img img {
		max-width: unset;
		width: auto;
		height: 200px;
		border-radius: 10px;
		margin: 0 15px;
	}
	#prevention .chk {
		width: 100%;
		padding: 15px;
		margin-bottom: 20px;
	}
	#prevention .chk ul {
		width: 32%;
	}
	#prevention .chk ul li {
		margin-bottom: 5px;
		font-size: 13px;
		background-position: left top;
		padding-left: 25px;
	}
	#prevention .msg .biz {
		font-size: 18px;
		letter-spacing: 2px;
	}
	/*--------------------------------------------------
		小児・矯正・インプラント
	--------------------------------------------------*/

	/*--------------------------------------------------
		ホワイトニング・医療アートメイク
	--------------------------------------------------*/
	#whitening .teeth .sec {
		margin-bottom: 40px;
	}
	#whitening .teeth .sec .img {
		position: relative;
		left: auto;
		width: 100%;
		max-width: 400px;
		margin: 0 auto 30px;
	}
	#whitening .teeth .sec .img img {
		border-radius: 30px;
	}
	#whitening .teeth .sec .in {
		width: 100%;
	}
	#whitening .teeth .sec .in h3.ico .en {
		letter-spacing: 1px;
	}
	#whitening .teeth .sec .biz {
		font-size: 18px;
		letter-spacing: 1px;
		line-height: 2;
	}
	#whitening .teeth .sec .txt b {
		font-size: 15px;
	}
	#whitening .teeth .msg {
		font-size: 18px;
	}
	#whitening .treatment h3.sub {
		-ms-writing-mode: unset;
		writing-mode: unset;
		text-align: center;
		width: 100%;
	}
	#whitening .treatment .list {
		width: 100%;
	}
	#whitening .treatment .list dl dt {
		font-size: 18px;
		margin-bottom: 15px;
	}
	#whitening .treatment .list dl dd .imgs li {
		width: 33%;
	}
	#whitening .treatment .list dl dd .ba {
		width: 33%;
	}
	#whitening .treatment .list dl dd .ba .before {
		margin-bottom: 35px;
	}
	#whitening .treatment .list dl dd .ba .after {
		margin-bottom: 10px;
	}
	#whitening .treatment .list dl dd .ba .txt {
		padding: 10px;
	}
	/*--------------------------------------------------
		訪問歯科サービス
	--------------------------------------------------*/
	#visit .service .img {
		position: relative;
		left: auto;
		width: 100%;
		max-width: 400px;
		margin: 0 auto 30px;
	}
	#visit .service .in {
		width: 100%;
	}
	#visit .service .img img {
		border-radius: 30px;
	}
	#visit .service .in .biz {
		font-size: 18px;
		letter-spacing: 1px;
		line-height: 2;
	}
	#visit .example:before {
		background-size: 80% auto;
	}
	#visit .example h3.sub {
		-ms-writing-mode: unset;
		writing-mode: unset;
		text-align: center;
		width: 100%;
	}
	#visit .example .list {
		width: 100%;
	}
	#visit .example .list .box {
		margin-bottom: 30px;
	}
	#visit .example .list .box:last-of-type {
		margin-bottom: 0;
	}
	#visit .example .list .box .maru {
		width: 150px;
		height: 150px;
	}
	#visit .example .list .box dl {
		width: calc(100% - 180px);
	}
	#visit .example .list .box dl dt {
		margin: 0 0 15px;
		font-size: 18px;
		letter-spacing: 2px;
	}
	#visit .example .list .box dl dd .img {
		position: relative;
		top: auto;
		right: auto;
	}
	#visit .msg {
		margin-bottom: 50px;
	}
	#visit .msg .biz {
		font-size: 18px;
		line-height: 2;
		letter-spacing: 2px;
	}
	#visit .cost .ttl {
		width: 100%;
		margin: 0 auto 30px;
	}
	#visit .cost .ttl h3.sub {
		margin-bottom: 20px;
	}
	#visit .cost .ttl .label {
		width: 220px;
		margin: 0 auto;
	}
	#visit .cost .list {
		width: 100%;
	}
	#visit .cost .list dl {
		align-items: center;
		padding: 15px;
	}
	#visit .cost .list dl dt span {
		margin-left: 0;
		display: block;
	}
	/*--------------------------------------------------
		FAQ・ご予約・お問合せ
	--------------------------------------------------*/
	#faq .faq dl dt, #faq .faq dl.on dt {
		background-size: 20px auto;
	}
	#faq .faq dl dt {
		padding-right: 45px;
		padding-left: 60px;
		font-size: 16px;
		line-height: 1.5;
	}
	#faq .faq dl dd {
		padding-left: 60px;
	}
	#faq .faq dl dt::before, #faq .faq dl dd::before {
		width: 35px;
		height: 35px;
		line-height: 33px;
		font-size: 28px;
	}
	#faq .faq dl dt::before {
		top: 15px;
	}
	#mailform .tbl {
		border-bottom: 1px solid #BBB;
	}
	#mailform .tbl th,
	#mailform .tbl td {
		display: block;
		width: auto;
		border-bottom: none;
	}
	#mailform .tbl input[type="text"],
	#mailform .tbl textarea {
		font-size: 120%;
	}
	#mailform .btn input {
		width: 120px;
	}
	/*--------------------------------------------------
		DENTAL PREVENTIVE CLEANING SERVICE FOR TOURIST
	--------------------------------------------------*/
	#page_title .sub.ttl_cleaning {
		font-size : 20px;
		line-height : 1.5;
		letter-spacing : 4px;
	}
	#cleaning dl dt {
		font-size: 16px;
	}
	#cleaning dl.price {
		align-items: center;
		padding: 15px;
		display: block;
	}
	#cleaning dl.price dt, 
	#cleaning dl.price dd {
		width: 100%;
	}

/*------------------------------------------------*/
}