/*
Theme Name: スマイルデンタルオフィス内ヶ島
Theme URI: 
Author: Wreath Enterprise co.,Ltd.
Author URI: https://wreath-ent.co.jp/
Description: Original Theme of theme's name
Version: 1.0
License: Wreath Enterprise co.,Ltd.
License URI: https://wreath-ent.co.jp/
Tags: 
Text Domain: 
*/
@charset "UTF-8";

.gradient-text {
	background: -webkit-gradient(linear, left top, left bottom, from(#1650B1), to(#EEFAFF));
	background: linear-gradient(to bottom, #1650B1, #EEFAFF);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
}

.fwb {
	font-weight: 700;
}

.font-en {
	font-family: "Bebas Neue", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.poppins-bold {
	font-family: "Poppins", sans-serif;
	font-weight: 700;
	font-style: normal;
}

.chonburi {
	font-family: "Chonburi", serif;
	font-weight: 400;
	font-style: normal;
}

.font-mincho {
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-style: normal;
	font-optical-sizing: auto;
}

.font-mincho-bold {
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	font-style: normal;
	font-optical-sizing: auto;
}

.vertical-text {
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl; /* または vertical-lr */
	text-orientation: mixed; /* mixed / upright / sideways */
}

.fadein {
	opacity: 0;
	-webkit-transition: all 1000ms;
	transition: all 1000ms;
	-webkit-transform: translate(0, 50px);
	        transform: translate(0, 50px);
}

.fadein.scrollin {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	        transform: translate(0, 0);
}

.fade-appear {
	opacity: 0;
}

.fade-appear.fade-action {
	-webkit-animation-name: appear;
	        animation-name: appear;
	-webkit-animation-duration: 0.8s;
	        animation-duration: 0.8s;
	-webkit-animation-timing-function: ease;
	        animation-timing-function: ease;
	-webkit-animation-fill-mode: forwards;
	        animation-fill-mode: forwards;
}

.fade-in {
	opacity: 0;
}

.fade-in.fade-action {
	-webkit-animation-name: fade-in;
	        animation-name: fade-in;
	-webkit-animation-duration: 0.8s;
	        animation-duration: 0.8s;
	-webkit-animation-timing-function: ease;
	        animation-timing-function: ease;
	-webkit-animation-fill-mode: forwards;
	        animation-fill-mode: forwards;
}

.fade-up {
	opacity: 0;
}

.fade-up.fade-action {
	-webkit-animation-name: fade-up;
	        animation-name: fade-up;
	-webkit-animation-duration: 0.8s;
	        animation-duration: 0.8s;
	-webkit-animation-timing-function: ease;
	        animation-timing-function: ease;
	-webkit-animation-fill-mode: forwards;
	        animation-fill-mode: forwards;
}

.fade-right {
	opacity: 0;
}

.fade-right.fade-action {
	-webkit-animation-name: fade-right;
	        animation-name: fade-right;
	-webkit-animation-duration: 0.8s;
	        animation-duration: 0.8s;
	-webkit-animation-timing-function: ease;
	        animation-timing-function: ease;
	-webkit-animation-fill-mode: forwards;
	        animation-fill-mode: forwards;
}

.fade-left {
	opacity: 0;
}

.fade-left.fade-action {
	-webkit-animation-name: fade-left;
	        animation-name: fade-left;
	-webkit-animation-duration: 0.8s;
	        animation-duration: 0.8s;
	-webkit-animation-timing-function: ease;
	        animation-timing-function: ease;
	-webkit-animation-fill-mode: forwards;
	        animation-fill-mode: forwards;
}

html {
	margin: 0;
	padding: 0;
	font-size: 62.5%;
	line-height: 1.15;
	word-wrap: break-word;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-ms-overflow-style: scrollbar;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

html.wf-active,
html.loading-delay {
	visibility: visible;
}

body {
	width: 100%;
	height: 100%;
	margin: 0;
	background: #ffffff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.7;
	color: #022D50;
	text-align: left;
	letter-spacing: 0.07em;
	font-optical-sizing: auto;
	-webkit-text-size-adjust: 100%;
}

img {
	width: 100%;
	height: auto;
}

.all_txt {
	line-height: 1.8;
}

.all_txt p {
	margin-bottom: 2rem;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
}

.container {
	width: 92.85%;
	max-width: 1245px;
	margin-inline: auto;
}

.tar {
	text-align: right;
}

.tac {
	text-align: center;
}

.fwb {
	font-weight: 700;
}

.indents {
	padding-left: 1em;
	text-indent: -1em;
}

.br:after {
	white-space: pre;
	content: "\a";
}

.image-mask {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 755/488;
	clip-path: polygon(10% 0, 100% 0, 100% 90%, 90% 100%, 0 100%, 0 10%);
}

.image-mask img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

.mb100 {
	margin-bottom: 100px;
}

.mb80 {
	margin-bottom: 80px;
}

.mb60 {
	margin-bottom: 60px;
}

.mb40 {
	margin-bottom: 40px;
}

.mb20 {
	margin-bottom: 20px;
}

.mt30 {
	margin-top: 30px;
}

.mt60 {
	margin-top: 60px;
}

/* A Modern CSS Reset */

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

ul[class],
ol[class] {
	padding: 0;
}

body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
figure,
blockquote,
dl,
dd {
	margin: 0;
}

html {
	scroll-behavior: smooth;
}

body {
	min-height: 100vh;
	line-height: 1.5;
	text-rendering: optimizeSpeed;
}

ul[class],
ol[class] {
	list-style: none;
}

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	        text-decoration-skip-ink: auto;
}

img,
picture {
	display: block;
	max-width: 100%;
}

article > * + * {
	margin-top: 1em;
}

input,
button,
textarea,
select {
	font: inherit;
}

img:not([alt]) {
	-webkit-filter: blur(10px);
	        filter: blur(10px);
}

a {
	color: #022D50;
	text-decoration: none;
}

/* A Modern CSS Reset */

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

ul[class],
ol[class] {
	padding: 0;
}

body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
figure,
blockquote,
dl,
dd {
	margin: 0;
}

html {
	scroll-behavior: smooth;
}

body {
	min-height: 100vh;
	line-height: 1.5;
	text-rendering: optimizeSpeed;
}

ul[class],
ol[class] {
	list-style: none;
}

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	        text-decoration-skip-ink: auto;
}

img,
picture {
	display: block;
	max-width: 100%;
}

article > * + * {
	margin-top: 1em;
}

input,
button,
textarea,
select {
	font: inherit;
}

img:not([alt]) {
	-webkit-filter: blur(10px);
	        filter: blur(10px);
}

#header {
	position: fixed;
	z-index: 9999;
	top: 0;
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
	-webkit-transition: 0.3s;
	transition: 0.3s; /* スマホレイアウト */
}

#header .site-logo {
	background: #022D50;
}

#header .btn_head_contact a {
	display: block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 2vw 4vw 2vw 3vw;
	background: #022D50;
	color: #FFFFFF;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

#header .btn_head_contact a .icon_mail {
	padding-left: 45px;
	background: url("images/common/icon-mail.svg") no-repeat;
	background-size: 26px;
}

#header .btn_head_contact a:hover,
#header .btn_head_contact a:active {
	background: #FFFFFF;
	color: #022D50;
}

#header .btn_head_contact a:hover .icon_mail,
#header .btn_head_contact a:active .icon_mail {
	padding-left: 45px;
	background: url("images/common/icon-mail-blue.svg") no-repeat;
	background-size: 26px;
}

#head-wrap {
	position: relative;
}

.head_nav_pctb {
	position: absolute;
	z-index: 9999;
	top: 4vw;
	left: 14vw;
	font-weight: 700;
}

.nav_btn {
	position: fixed;
	z-index: 100000;
	top: 0;
	right: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 130px;
	height: 130px;
	background: #fff;
	cursor: pointer;
	-webkit-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.nav_btn .bar {
	position: absolute;
	display: block;
	width: 50px;
	height: 2px;
	border-radius: 1px;
	background-color: #002b45;
	-webkit-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
}

.nav_btn .bar.top {
	-webkit-transform: translateY(-12px);
	        transform: translateY(-12px);
}

.nav_btn .bar.middle {
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

.nav_btn .bar.bottom {
	-webkit-transform: translateY(12px);
	        transform: translateY(12px);
}

.nav_btn.active {
	background: #002b45;
}

.nav_btn.active .bar {
	background-color: #FFFFFF;
}

.nav_btn.active .top {
	-webkit-transform: translateY(0) rotate(45deg);
	        transform: translateY(0) rotate(45deg);
}

.nav_btn.active .middle {
	opacity: 0;
}

.nav_btn.active .bottom {
	-webkit-transform: translateY(0) rotate(-45deg);
	        transform: translateY(0) rotate(-45deg);
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#navContent {
	position: fixed;
	z-index: 99999;
	top: 0;
	left: 0;
	visibility: hidden;
	overflow-y: auto;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	height: 100vh;
	padding-bottom: 10vw;
	border-top: solid 15px #022D50;
	background: #FFFFFF;
	pointer-events: none;
	opacity: 0;
	-webkit-transition: opacity 0.5s ease, visibility 0.5s ease, -webkit-transform 0.5s ease;
	transition: opacity 0.5s ease, visibility 0.5s ease, -webkit-transform 0.5s ease;
	transition: transform 0.5s ease, opacity 0.5s ease, visibility 0.5s ease;
	transition: transform 0.5s ease, opacity 0.5s ease, visibility 0.5s ease, -webkit-transform 0.5s ease;
	-webkit-transform: translateY(-20px);
	        transform: translateY(-20px);
}

#navContent.show {
	visibility: visible;
	pointer-events: auto;
	opacity: 1;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

#navContent.hide {
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
	-webkit-transition: opacity 0.5s ease, visibility 0.6s ease, -webkit-transform 0.5s ease;
	transition: opacity 0.5s ease, visibility 0.6s ease, -webkit-transform 0.5s ease;
	transition: transform 0.5s ease, opacity 0.5s ease, visibility 0.6s ease;
	transition: transform 0.5s ease, opacity 0.5s ease, visibility 0.6s ease, -webkit-transform 0.5s ease;
	-webkit-transform: translateY(-20px);
	        transform: translateY(-20px);
}

#navContent .nav_list .nav_list_ul .nav_list_ul_li {
	font-weight: 700;
}

#navContent .nav_list .nav_list_ul .nav_list_ul_ul_li {
	font-weight: 500;
}

.waku_nav_sub_content .ttl_time {
	margin-bottom: 15px;
	font-size: clamp(2rem, 1.1458333333vw, 2.4rem);
}

.waku_nav_sub_content .attention {
	margin-bottom: 30px;
	padding: 8px 0;
	background: #EEEEEE;
	font-size: 15px;
	font-size: 1.5rem;
	text-align: center;
}

.waku_nav_sub_content .tel_cv_box .ttl_telcv {
	font-size: clamp(2rem, 1.1458333333vw, 2.4rem);
	line-height: 1.5;
}

.waku_nav_sub_content .tel_cv_box .num_telcv {
	padding-left: 11%;
	background: url("images/common/icon-tel-blue.svg") no-repeat;
	background-position: top 20px left 0px;
	background-size: 10%;
	font-size: clamp(8.8rem, 4.84375vw, 9.3rem);
	line-height: 1;
}

.waku_nav_sub_content .btn_formcv {
	margin-top: 15px;
}

.waku_nav_sub_content .btn_formcv a {
	display: block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 15px 0;
	border: solid 1px #022D50;
	border-radius: 50px;
	font-size: clamp(2rem, 1.1458333333vw, 2.4rem);
	text-align: center;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	transition: 0.3s;
}

.waku_nav_sub_content .btn_formcv a .icon_mail {
	padding-left: 8%;
	background: url("images/common/icon-mail-blue.svg") no-repeat;
	background-position: top 5px left 0px;
	background-size: 8%;
}

.waku_nav_sub_content .btn_formcv a:hover,
.waku_nav_sub_content .btn_formcv a:active {
	background: #022D50;
	color: #FFFFFF;
}

.waku_nav_sub_content .btn_formcv a:hover .icon_mail,
.waku_nav_sub_content .btn_formcv a:active .icon_mail {
	background: url("images/common/icon-mail.svg") no-repeat;
	background-position: top 5px left 0px;
	background-size: 8%;
}

.schedule-table {
	display: -ms-grid;
	display: grid;
	width: 100%;
	background: #022D50;
	border-collapse: collapse;
	font-size: 14px;
	-ms-grid-columns: 180px (1fr)[8];
	grid-template-columns: 180px repeat(8, 1fr);
}

.schedule-table thead,
.schedule-table tbody,
.schedule-table tr {
	display: contents;
}

.schedule-table td,
.schedule-table th {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	text-align: center;
	vertical-align: middle;
}

.schedule-table thead td {
	padding: 10px;
	background: #022D50;
	font-weight: bold;
	color: #FFFFFF;
}

.schedule-table tbody tr:nth-of-type(1) td,
.schedule-table tbody tr:nth-of-type(1) th {
	border-bottom: 1px solid #d8d8d8;
}

.schedule-table tbody th {
	padding: 10px 10px 15px 15px;
	background: #fff;
	text-align: left;
}

.schedule-table tbody th .s_time_th .font-en {
	letter-spacing: 0.03em;
}

.schedule-table tbody th .s_time_th .time_data {
	font-size: clamp(1.6rem, 0.9895833333vw, 2rem);
	letter-spacing: 0.03em;
}

.schedule-table tbody th .s_time_th .time_data .last_ss {
	display: block;
	font-size: 13px;
	line-height: 1.2;
}

.schedule-table tbody td {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 10px;
	background: #fff;
	font-size: 21px;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.schedule-table tbody td .c_blue img,
.schedule-table tbody td .c_line img {
	display: block;
	width: 20px;
	height: 20px;
	margin: auto;
}

.schedule-table tbody td .c_line img {
	width: 15px;
}

.schedule-table tbody tr:nth-child(1) {
	border-bottom: 2px solid #d8d8d8;
}

.schedule-table tbody tr:not(:nth-child(1)) {
	border: none;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#navContentFoot {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	border-top: solid 15px #022D50;
	background: #FFFFFF;
}

#navContentFoot .nav_list .nav_list_ul .nav_list_ul_li {
	font-weight: 700;
}

#navContentFoot .nav_list .nav_list_ul .nav_list_ul_ul_li {
	font-weight: 500;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.footer-banner {
	padding: 0 0 40px 0;
	margin-inline: auto;
}

.footer-banner .sns-box {
	margin-bottom: 30px;
	border-radius: 12px;
	background: #E0EEF4;
}

.footer-banner .sns-box .ttl_sns {
	margin-bottom: 16px;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
	color: #0e2d4c;
}

.footer-banner .sns-box .sns-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.footer-banner .sns-box .sns-list li {
	min-width: 0;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.footer-banner .sns-box .sns-list li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 25px 35px;
	border-radius: 999px;
	background: #fff;
	-webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	font-weight: bold;
	color: #022D50;
	white-space: nowrap;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 8px;
}

.footer-banner .sns-box .sns-list li a img {
	width: 30px;
	height: 30px;
	margin-right: 10px;
	-webkit-transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
	transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
	transition: transform 0.3s ease, filter 0.3s ease;
	transition: transform 0.3s ease, filter 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
}

.footer-banner .sns-box .sns-list li a:hover,
.footer-banner .sns-box .sns-list li a:active {
	background: #022D50;
	-webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	color: #fff;
	-webkit-transform: translateY(-2px);
	        transform: translateY(-2px);
}

.footer-banner .sns-box .sns-list li a:hover img,
.footer-banner .sns-box .sns-list li a:active img {
	-webkit-filter: brightness(0) invert(1);
	        filter: brightness(0) invert(1);
}

.footer-banner .info-banners {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	gap: 20px;
}

.footer-banner .info-banners .banner-img {
	display: block;
}

.footer-banner .info-banners .banner-img picture,
.footer-banner .info-banners .banner-img img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
	-webkit-box-shadow: 0px 0px 13px rgba(0, 0, 0, 0.09);
	        box-shadow: 0px 0px 13px rgba(0, 0, 0, 0.09);
}

.footer-banner .info-banners .banner-img:first-child {
	-ms-flex-item-align: end;
	    align-self: flex-end;
}

.footer-banner .info-banners .banner-img:first-child img {
	-webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
	        box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
}

.footer-bottom {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding-right: 30px;
	padding-bottom: 40px;
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
	color: #ACB1B6;
	text-align: right;
}

.breadcrumbs {
	background: #022D50;
	color: #FFFFFF;
}

.breadcrumbs a {
	color: #FFFFFF;
}

.breadcrumbs__inner {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	max-width: 1800px;
	margin: auto;
	padding: 0.8em 30px 0 30px;
	font-size: 14px;
	font-size: 1.4rem;
	white-space: nowrap;
	-webkit-transform: translateZ(0px);
	transform: rotate(0.05deg);
	-webkit-overflow-scrolling: touch;
}

.breadcrumbs__inner span {
	overflow-y: hidden;
}

.breadcrumbs__inner strong {
	font-weight: bold;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.spHeader {
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	display: none;
	width: 100%;
	height: 50px;
	background-color: #FFFFFF;
	-webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
	        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.spHeader .spLogo {
	padding-left: 0.5em;
}

.spHeader .gNav {
	position: fixed;
	z-index: 200;
	top: 0;
	right: -320px;
	overflow-y: auto;
	width: 300px;
	height: 100vh;
	margin-top: 0;
	padding-top: 40px;
	background-color: #FFFFFF;
	-webkit-transition: all 0.6s;
	transition: all 0.6s;
}

.spHeader .gNav-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	height: 100%;
	padding: 2em 2em 5em;
}

.spHeader .gNav-list__inner .gNav-list-item a {
	display: block;
	padding: 1em;
	font-weight: bold;
}

.spHeader .gNav-list .gNav-tell-img {
	margin-top: auto;
}

.spHeader .hamburger {
	position: absolute;
	z-index: 300;
	top: 0;
	right: 0;
	width: 50px;
	height: 50px;
	cursor: pointer;
}

.spHeader .hamburger__line {
	position: absolute;
	left: 11px;
	width: 30px;
	height: 2px;
	background-color: #373026;
	-webkit-transition: all 0.6s;
	transition: all 0.6s;
}

.spHeader .hamburger__line--1 {
	top: 15px;
}

.spHeader .hamburger__line--2 {
	top: 25px;
}

.spHeader .hamburger__line--3 {
	top: 35px;
}

.spHeader .black-bg {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	visibility: hidden;
	width: 100vw;
	height: 100vh;
	background-color: #654f2f;
	cursor: pointer;
	opacity: 0;
	-webkit-transition: all 0.6s;
	transition: all 0.6s;
}

.nav-open .gNav {
	right: 0;
}

.nav-open .black-bg {
	visibility: visible;
	opacity: 0.8;
}

.nav-open .hamburger__line--1 {
	top: 20px;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}

.nav-open .hamburger__line--2 {
	left: 50%;
	width: 0;
}

.nav-open .hamburger__line--3 {
	top: 20px;
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

.mt0 {
	margin-top: 0em !important;
}

.mt1 {
	margin-top: 1em !important;
}

.mt2 {
	margin-top: 2em !important;
}

.mt3 {
	margin-top: 3em !important;
}

.mt4 {
	margin-top: 4em !important;
}

.mt5 {
	margin-top: 5em !important;
}

.mt6 {
	margin-top: 6em !important;
}

.mt7 {
	margin-top: 7em !important;
}

.mt8 {
	margin-top: 8em !important;
}

.mt9 {
	margin-top: 9em !important;
}

.mt10 {
	margin-top: 10em !important;
}

.mr0 {
	margin-right: 0em !important;
}

.mr1 {
	margin-right: 1em !important;
}

.mr2 {
	margin-right: 2em !important;
}

.mr3 {
	margin-right: 3em !important;
}

.mr4 {
	margin-right: 4em !important;
}

.mr5 {
	margin-right: 5em !important;
}

.mr6 {
	margin-right: 6em !important;
}

.mr7 {
	margin-right: 7em !important;
}

.mr8 {
	margin-right: 8em !important;
}

.mr9 {
	margin-right: 9em !important;
}

.mr10 {
	margin-right: 10em !important;
}

.mb0 {
	margin-bottom: 0em !important;
}

.mb1 {
	margin-bottom: 1em !important;
}

.mb2 {
	margin-bottom: 2em !important;
}

.mb3 {
	margin-bottom: 3em !important;
}

.mb4 {
	margin-bottom: 4em !important;
}

.mb5 {
	margin-bottom: 5em !important;
}

.mb6 {
	margin-bottom: 6em !important;
}

.mb7 {
	margin-bottom: 7em !important;
}

.mb8 {
	margin-bottom: 8em !important;
}

.mb9 {
	margin-bottom: 9em !important;
}

.mb10 {
	margin-bottom: 10em !important;
}

.ml0 {
	margin-left: 0em !important;
}

.ml1 {
	margin-left: 1em !important;
}

.ml2 {
	margin-left: 2em !important;
}

.ml3 {
	margin-left: 3em !important;
}

.ml4 {
	margin-left: 4em !important;
}

.ml5 {
	margin-left: 5em !important;
}

.ml6 {
	margin-left: 6em !important;
}

.ml7 {
	margin-left: 7em !important;
}

.ml8 {
	margin-left: 8em !important;
}

.ml9 {
	margin-left: 9em !important;
}

.ml10 {
	margin-left: 10em !important;
}

.pt0 {
	padding-top: 0em !important;
}

.pt1 {
	padding-top: 1em !important;
}

.pt2 {
	padding-top: 2em !important;
}

.pt3 {
	padding-top: 3em !important;
}

.pt4 {
	padding-top: 4em !important;
}

.pt5 {
	padding-top: 5em !important;
}

.pt6 {
	padding-top: 6em !important;
}

.pt7 {
	padding-top: 7em !important;
}

.pt8 {
	padding-top: 8em !important;
}

.pt9 {
	padding-top: 9em !important;
}

.pt10 {
	padding-top: 10em !important;
}

.pr0 {
	padding-right: 0em !important;
}

.pr1 {
	padding-right: 1em !important;
}

.pr2 {
	padding-right: 2em !important;
}

.pr3 {
	padding-right: 3em !important;
}

.pr4 {
	padding-right: 4em !important;
}

.pr5 {
	padding-right: 5em !important;
}

.pr6 {
	padding-right: 6em !important;
}

.pr7 {
	padding-right: 7em !important;
}

.pr8 {
	padding-right: 8em !important;
}

.pr9 {
	padding-right: 9em !important;
}

.pr10 {
	padding-right: 10em !important;
}

.pb0 {
	padding-bottom: 0em !important;
}

.pb1 {
	padding-bottom: 1em !important;
}

.pb2 {
	padding-bottom: 2em !important;
}

.pb3 {
	padding-bottom: 3em !important;
}

.pb4 {
	padding-bottom: 4em !important;
}

.pb5 {
	padding-bottom: 5em !important;
}

.pb6 {
	padding-bottom: 6em !important;
}

.pb7 {
	padding-bottom: 7em !important;
}

.pb8 {
	padding-bottom: 8em !important;
}

.pb9 {
	padding-bottom: 9em !important;
}

.pb10 {
	padding-bottom: 10em !important;
}

.pl0 {
	padding-left: 0em !important;
}

.pl1 {
	padding-left: 1em !important;
}

.pl2 {
	padding-left: 2em !important;
}

.pl3 {
	padding-left: 3em !important;
}

.pl4 {
	padding-left: 4em !important;
}

.pl5 {
	padding-left: 5em !important;
}

.pl6 {
	padding-left: 6em !important;
}

.pl7 {
	padding-left: 7em !important;
}

.pl8 {
	padding-left: 8em !important;
}

.pl9 {
	padding-left: 9em !important;
}

.pl10 {
	padding-left: 10em !important;
}

#pagenav .wp-pagenavi a,
#pagenav .wp-pagenavi span {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: solid 1px #D9D9D9;
	border-radius: 5px;
	background: #FFFFFF;
	color: #022D50;
}

#pagenav .wp-pagenavi span.current {
	border: solid 1px #022D50;
	border-radius: 5px;
	background: #022D50;
	color: #FFFFFF;
}

.btn_link {
	margin-top: 40px;
}

.btn_link a {
	position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	padding: 0.8em 2.8em 0.8em 1.8em;
	border: 2px solid #022D50;
	border-radius: 999px;
	background: #022D50;
	font-size: clamp(16px, 1.5vw, 20px);
	line-height: 1.5;
	color: #ffffff;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 0.6em;
}

.btn_link a::after {
	position: absolute;
	top: 50%;
	right: 1.5em;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	content: "";
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
}

.btn_link a:hover {
	background: #ffffff;
	color: #022D50;
}

.btn_link a:hover::after {
	border-color: #022D50;
}

.btn_link.white a {
	border: 2px solid #022D50;
	background: #ffffff;
	color: #022D50;
}

.btn_link.white a::after {
	border-color: #022D50;
}

.btn_link.white a:hover {
	background: #022D50;
	color: #ffffff;
}

.btn_link.white a:hover::after {
	border-color: #ffffff;
}

.btn_link.window a {
	border: 2px solid #022D50;
	background: url("images/common/icon_window.svg") no-repeat #ffffff;
	background-position: right 20px center;
	background-size: 20px;
	color: #022D50;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.btn_link.window a::after {
	display: none;
}

.btn_link.window a:hover {
	background-color: #022D50;
	background-image: url("images/common/icon_window_white.svg");
	color: #ffffff;
}

.btn_link.window a:hover::after {
	border-color: #ffffff;
}

.pageHead {
	width: 100%;
	text-align: center;
}

.pageHead__inner {
	padding: 5vw 0 4vw 0;
	background-size: 50vw;
}

.pageHead-ttl-en {
	font-size: 40px;
	font-size: 4rem;
	color: #022D50;
}

.pageHead-ttl {
	font-size: 18px;
	font-size: 1.8rem;
	color: #022D50;
}

#mainWrap {
	width: calc(100% - 60px);
	max-width: 1200px;
	margin: 50px auto 80px auto;
}

.calendar-wrap {
	overflow: hidden;
	width: 68%;
	min-width: 720px;
	max-width: 920px;
	margin: 4.5vw auto;
}

/* タイトル */

.calendar-wrap .ttl_calendar_block {
	margin-bottom: 30px;
	text-align: center;
}

.calendar-wrap .ttl_calendar_block .ttl_en {
	font-size: 14px;
	font-size: 1.4rem;
	color: #2BAFE5;
}

.calendar-wrap .ttl_calendar_block .ttl_jp span {
	position: relative;
}

.calendar-wrap .ttl_calendar_block .ttl_jp span::after {
	position: absolute;
	right: 0;
	bottom: -5px; /* テキストからの距離を調整 */
	left: 0;
	height: 5px; /* 波線の高さ */
	background-image: url("images/common/wave-image.svg"); /* 波線の画像 */
	background-repeat: repeat-x; /* 水平方向に繰り返し */
	background-size: cover;
	content: ""; /* 疑似要素で装飾を追加 */
}

.calendar-wrap h2.wp-block-heading {
	font-family: serif;
	font-size: clamp(1.125rem, 0.807rem + 1.59vw, 2rem);
	line-height: 1;
	text-align: center;
}

.calendar-wrap .title-span {
	display: block;
	font-family: "游ゴシック", YuGothic, " ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Century Gothi;
	font-size: clamp(1rem, 0.773rem + 1.14vw, 1.625rem);
	font-weight: bold;
	line-height: 1;
	color: #EAEAEA;
	text-align: center;
}

/*  タイトル下グレーのテキスト */

.calendar-wrap .txt {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	margin: 0 auto clamp(1.563rem, 1.222rem + 1.7vw, 2.5rem);
	padding: 6px 50px;
	background-color: #f2f2f2;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
}

/*  カレンダー */

.calendar.mc-main {
	position: relative;
}

/* カレンダータイトル、当月 */

.calendar.mc-main h2 {
	position: absolute;
	top: 5px;
	display: inline-block;
	font-size: clamp(1.125rem, 0.898rem + 1.14vw, 1.75rem);
}

.calendar.mc-main h2 span {
	color: #004097;
}

/* カレンダーのナビゲーション */

.my-calendar-navigation .my-calendar-header .my-calendar-nav {
	width: 100%;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

.my-calendar-navigation .my-calendar-header .my-calendar-nav ul {
	width: 260px;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-column-gap: 20px;
	   -moz-column-gap: 20px;
	        column-gap: 20px;
}

.my-calendar-navigation .my-calendar-header .my-calendar-nav ul .my-calendar-next {
	margin-left: auto;
}

.my-calendar-navigation .my-calendar-header .my-calendar-nav ul .my-calendar-today {
	display: none;
}

.my-calendar-navigation .my-calendar-header .my-calendar-nav ul li a {
	padding: 4px 8px;
	border-radius: 5px;
	font-size: clamp(0.75rem, 0.614rem + 0.68vw, 1.125rem);
	font-weight: bold;
	line-height: 1;
	color: #004097;
	cursor: pointer;
}

.my-calendar-navigation .my-calendar-header .my-calendar-nav ul li a span {
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-left: 8px;
	border-radius: 50%;
	background-color: #29B0E4;
	font-size: 11px;
	color: #fff;
	text-align: center;
}

/*  カレンダーの曜日表記 */

.calendar.mc-main thead {
	position: relative;
	border-bottom: none !important;
}

.mc-main thead {
	border-bottom: none !important;
}

th.day-heading {
	background-color: #004097 !important;
	font-size: clamp(0.75rem, 0.614rem + 0.68vw, 1.125rem);
	color: #fff !important;
}

.entry table th {
	padding: 5px;
}

th.day-heading.mon {
	border-top-left-radius: 8px;
	border-bottom-left-radius: 8px;
}

th.weekend-heading {
	background-color: #004097 !important;
	font-size: clamp(0.75rem, 0.614rem + 0.68vw, 1.125rem);
	color: #fff !important;
}

th.weekend-heading.sun {
	border-top-right-radius: 8px;
	border-bottom-right-radius: 8px;
}

/* テーブルの編集 */

.calendar table.my-calendar-table {
	border: solid 1px #f1f1f1 !important;
	border-collapse: separate;
	-webkit-border-horizontal-spacing: 5px;
	-webkit-border-vertical-spacing: 6px;
}

.calendar .entry .wp-caption,
.entry table tr.alt {
	background-color: transparent;
}

.calendar td {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border-radius: 8px;
	outline: solid 1px #f1f1f1 !important;
	vertical-align: top !important;
}

.calendar.mc-main td {
	border: none;
}

.calendar td article {
	height: 100%;
}

.calendar td article header {
	height: 100%;
}

.calendar td article header h3 {
	height: 100%;
}

.calendar td article header h3 button {
	height: 100% !important;
	font-size: 12px !important;
	cursor: pointer !important;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-box-pack: center !important;
	    -ms-flex-pack: center !important;
	        justify-content: center !important;
}

.mc-main .event-title button:hover {
	outline-offset: 0;
	opacity: 0.7;
}

/* テーブルの編集-日付部分- */

.calendar .mc-date-container {
	position: absolute;
	background-color: initial;
}

.calendar .mc-date {
	font-size: clamp(1rem, 0.804rem + 0.52vw, 1.25rem);
	font-weight: 700;
	color: #29B0E4;
	text-align: left;
}

.mc-main .has-events .mc-date {
	background: none !important;
	background-color: initial;
}

/* テーブルの編集-カテゴリ別設定- */

.calendar .mcat_default .mc-date {
	color: #29B0E4;
}

.calendar .mcat_weekend .mc-date {
	color: #C42430 !important;
}

.calendar .mcat_holiday .mc-date {
	color: #29B0E4 !important;
}

.mc-main td.mcat_default {
	color: #29B0E4;
}

.mc-main td.mcat_weekend {
	overflow: hidden;
	outline: none;
}

/* 本日の枠線 */

.mc-main .current-day:not(.day .current-day) {
	outline: solid 2px #004097;
}

/* 前後月の日付を非表示 */

.mc-main .nextmonth {
	outline: solid 1px #f1f1f1;
}

.mc-main .nextmonth .mc-date-container,
.calendar.mc-main .nextmonth button {
	display: none;
}

.mc-main .nextmonth article h3 {
	background-color: #fff !important;
}

/* クリック時の動き */

.mc-main .mc_weekend .event-title button:hover,
.mc-main .mc_weekend .event-title button:focus {
	outline: none;
	background-color: #f2f2f2 !important;
}

.mc-main .mc_default .event-title button:hover,
.mc-main .mc_default .event-title button:focus {
	border-radius: 8px;
	outline-offset: 0;
}

/* カレンダー下の補足事項 */

.calendar-txt {
	margin: 20px auto 15px 0;
}

.calendar-txt_01,
.calendar-txt_02,
.calendar-txt_03 {
	display: inline-block;
	font-size: 17px;
	font-size: 1.7rem;
	line-height: 1;
}

.calendar-txt_01 span {
	font-size: 1.5em;
	color: #F2F2F2;
	vertical-align: middle;
}

.calendar-txt_02 span {
	font-size: 1.5em;
	color: #E6F6F6;
	vertical-align: middle;
}

.calendar-txt_03 span {
	font-size: 1.2em;
	vertical-align: middle;
}

.calendar-notion {
	margin: 0 auto;
	font-size: 17px;
	font-size: 1.7rem;
	line-height: 1;
}

/* ミニカレンダーの表示 */

/* モーダル表示 */

.my-calendar-modal .js-modal-title-container {
	padding: 25px !important;
	background-color: #E6F6F6 !important;
}

.my-calendar-modal__wrapper .my-calendar-modal-close {
	top: 11px;
	right: 15px;
	background: #004097;
}

.my-calendar-modal-title {
	font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem) !important;
	font-weight: bold;
	color: #004097 !important;
}

.my-calendar-modal-title br {
	display: none;
}

.my-calendar-modal #js-modal-content {
	padding: 30px 25px 40px;
}

.my-calendar-modal .time-block .mc-icon {
	display: none;
}

.my-calendar-modal .time-block .time-wrapper {
	display: none;
}

.my-calendar-modal .time-block p br {
	display: none;
}

.my-calendar-modal .time-block .date-wrapper span {
	font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
	font-weight: bold;
}

.my-calendar-modal .description a {
	border-bottom: solid 1px #29B0E4;
	color: #29B0E4;
}

/* スマホ時のモーダル表示 */

.mcat_default .mc-date-container .mc-date span {
	color: #29B0E4 !important;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.mv-splide {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.mv-splide .splide__track,
.mv-splide .splide__list,
.mv-splide .splide__slide {
	height: 100%;
}

.mv-splide .splide__slide picture,
.mv-splide .splide__slide img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

#mv-slide {
	position: relative;
}

#mv-slide .mv_side_content {
	position: absolute;
	bottom: 0%;
	left: 0;
	background: #022D50;
	color: #FFFFFF;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#mv {
	position: relative;
}

#mv .mv_side_content {
	position: absolute;
	bottom: 0%;
	left: 0;
	background: #022D50;
	color: #FFFFFF;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#top-about {
	width: 100%;
}

#top-about .in_content {
	padding: 80px 0 50px 0;
}

#top-about .ttl_en {
	font-size: clamp(10rem, 7.2916666667vw, 14.4rem);
	line-height: 0.6;
	color: #FFFFFF;
}

#top-about .wrap_cont {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: #FFFFFF;
}

#top-about .top_ttl_about {
	margin-bottom: 20px;
	font-size: clamp(3rem, 3.2291666667vw, 6.2rem);
	line-height: 1.4;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.bn_interview {
	position: relative;
	background: #022D50;
}

.bn_interview .img_bn_interview {
	position: absolute;
	bottom: 0;
}

.bn_interview .img_bn_interview img {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#top-doctor,
#top-staff {
	background: #F8F8F8;
}

#top-director {
	padding: 150px 0;
}

#top-director img {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

#top-director .ttl_img_director {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}

#top-director .img_prof_sp {
	margin-left: 10%;
}

#top-director .img_prof_sp img {
	margin-inline: auto;
}

#top-director .prof_feature_ul {
	display: -ms-grid;
	display: grid;
	margin-bottom: 30px;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: start;
	-ms-grid-columns: (1fr)[4];
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

#top-director .prof_feature_ul > * {
	-ms-flex-item-align: start;
	    -ms-grid-row-align: start;
	    align-self: start;
}

#top-director .sub_ttl {
	margin-top: 30px;
	margin-bottom: 50px;
}

#top-director .sub_ttl .top_subttl {
	font-size: clamp(2rem, 1.1458333333vw, 2.2rem);
	line-height: 1.5;
}

#top-director .sub_ttl .middle_subttl {
	font-size: clamp(3.3rem, 2.1875vw, 4.4rem);
	line-height: 1.5;
}

#top-director .sub_ttl .name_subttl {
	font-size: clamp(3rem, 2.1875vw, 4.2rem);
	text-align: right;
}

#top-director .sub_ttl .ss {
	font-size: clamp(2.6rem, 1.5625vw, 3rem);
}

#top-director .career .heading-line {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

#top-director .career .heading-line::after {
	height: 1px;
	margin-left: 1em;
	background: #022D50;
	content: "";
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

#top-director .career .career_tbl {
	width: 100%;
	margin-top: 20px;
}

#top-director .career .career_tbl td,
#top-director .career .career_tbl th {
	padding: 10px;
	vertical-align: top;
}

#top-director .career .career_tbl th {
	padding: 10px 0px 10px 0px;
}

#top-director .career .career_tbl .career_ul li {
	margin-bottom: 5px;
}

#top-director .btn_prof_more {
	margin-top: 40px;
}

#top-director .btn_prof_more a {
	position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	padding: 0.2em 2.8em 0.4em 1.8em;
	border: 2px solid #022D50;
	border-radius: 999px;
	background: #022D50;
	font-size: clamp(28px, 2.8vw, 44px);
	line-height: 1.5;
	color: #ffffff;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	gap: 0.3em;
}

#top-director .btn_prof_more a .ss {
	font-size: clamp(16px, 2vw, 30px);
}

#top-director .btn_prof_more a::after {
	position: absolute;
	top: 50%;
	right: 1.5em;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	content: "";
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
}

#top-director .btn_prof_more a:hover {
	background: #ffffff;
	color: #022D50;
}

#top-director .btn_prof_more a:hover::after {
	border-color: #022D50;
}

.bottom-director {
	width: 85%;
	margin-inline: auto;
}

.bottom-director img {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.bottom-director .img_instagram,
.bottom-director .ttl_instagram,
.bottom-director .ttl_movie {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 15px;
	margin-inline: auto;
}

.bottom-director .img_instagram {
	margin-top: 20px;
}

.bottom-director .movie-content {
	text-align: center;
}

.bottom-director .caption .top_caption {
	font-size: clamp(2.4rem, 1.4583333333vw, 2.8rem);
}

.bottom-director .caption .top_caption .pc_none {
	display: none;
}

.bottom-director .caption .main_caption {
	font-size: clamp(3.3rem, 2.1875vw, 4.4rem);
	line-height: 1.5;
}

.bottom-director .btn_instagram_more {
	margin-top: 40px;
}

.bottom-director .btn_instagram_more a {
	position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	padding: 0.8em 2.8em 0.8em 1.8em;
	border: 2px solid #022D50;
	border-radius: 999px;
	background: #022D50;
	font-size: clamp(16px, 1.5vw, 23px);
	line-height: 1.5;
	color: #ffffff;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 0.3em;
}

.bottom-director .btn_instagram_more a::after {
	position: absolute;
	top: 50%;
	right: 1.5em;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	content: "";
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
}

.bottom-director .btn_instagram_more a:hover {
	background: #ffffff;
	color: #022D50;
}

.bottom-director .btn_instagram_more a:hover::after {
	border-color: #022D50;
}

.movie-box {
	position: relative;
	max-width: 720px;
	margin: auto;
}

.movie-box .movie-thumb {
	position: relative;
	cursor: pointer;
}

.movie-box .movie-thumb img {
	display: block;
	width: 100%;
	border-radius: 8px;
}

.movie-box .movie-thumb .play-button {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 80px;
	height: 80px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.85);
	-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	        box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	font-size: 2rem;
	color: #002b5b;
	cursor: pointer;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

.movie-box .movie-thumb .play-button:hover {
	background: #002b5b;
	color: #fff;
}

.modal-overlay {
	position: fixed;
	z-index: 9999999999;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	background: rgba(0, 0, 0, 0.7);
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.modal-overlay .modal-content {
	position: relative;
	width: 90%;
	max-width: 960px;
}

.modal-overlay .modal-content .modal-close {
	position: absolute;
	top: 10px;
	right: 10px;
	border: none;
	background: none;
	font-size: 1.5rem;
	cursor: pointer;
}

.modal-overlay .modal-content .video-wrapper {
	position: relative;
	overflow: hidden;
	height: 0;
	padding-bottom: 56.25%;
}

.modal-overlay .modal-content .video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#top-doctor {
	overflow: hidden;
	width: 100%;
	max-width: none;
}

#top-doctor img {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

#top-doctor .ttl_doctor {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 40px;
	margin-inline: auto;
}

#top-doctor .doctor-slide {
	width: 100%;
	max-width: none;
}

.doctor_prof_box .catchcopy {
	margin-bottom: 20px;
	font-size: clamp(3.5rem, 2.2395833333vw, 4.3rem);
	line-height: 1.3;
}

.doctor_prof_box .name_box {
	margin-bottom: 20px;
}

.doctor_prof_box .name_box .kata {
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
}

.doctor_prof_box .name_box .name {
	font-size: clamp(3.5rem, 2.0833333333vw, 4rem);
	line-height: 1;
}

.doctor_prof_box .career_box {
	margin-bottom: 30px;
}

.doctor_prof_box .career_box .heading-line {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	margin-bottom: 20px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.doctor_prof_box .career_box .heading-line::after {
	height: 1px;
	margin-left: 1em;
	background: #022D50;
	content: "";
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.doctor_prof_box .career_box .career_ul {
	width: 100%;
}

.doctor_prof_box .career_box .career_ul li {
	margin-bottom: 5px;
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
}

#doctorSplide {
	overflow: visible;
	width: 100%;
	max-width: none;
	padding: 0;
}

#doctorSplide .splide__track {
	overflow: visible;
}

#doctorSplide .splide__slide {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	opacity: 0.5;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	-webkit-transform: scale(0.94);
	        transform: scale(0.94);
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

#doctorSplide .splide__slide.is-active {
	opacity: 1;
	-webkit-transform: scale(1);
	        transform: scale(1);
}

.splide-prev,
.splide-next {
	position: absolute;
	z-index: 10;
	top: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	overflow: hidden;
	width: 120px;
	height: 120px;
	border: none;
	border-radius: 50%;
	background: #002b5b;
	font-family: "Noto Serif JP", serif;
	font-size: 16px;
	font-weight: 700;
	font-style: normal;
	color: #fff;
	cursor: pointer;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	font-optical-sizing: auto;
}

.splide-prev:hover,
.splide-next:hover {
	background: #005fa3;
}

.splide-prev {
	left: -43px;
	padding-left: 20px;
	clip-path: inset(0 0 0 35%);
}

.splide-next {
	right: -43px;
	padding-right: 20px;
	clip-path: inset(0 35% 0 0);
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#top-firstabout {
	width: 100%;
}

#top-firstabout img {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

#top-firstabout .box_firstabout {
	position: relative;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: calc(100% - 40px);
	max-width: 1412px;
	margin-bottom: 60px;
	padding: 100px 150px;
	background-color: rgba(255, 255, 255, 0.8);
	margin-inline: auto;
}

#top-firstabout .box_firstabout .img_point_icon {
	position: absolute;
	top: -40px;
	left: -40px;
}

#top-firstabout .box_firstabout .ttl_firstabout {
	margin-bottom: 40px;
	font-size: clamp(3rem, 2.6041666667vw, 5rem);
	text-align: center;
}

#top-firstabout .box_firstabout .btn_area_firstabout ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#top-firstabout .box_firstabout .btn_area_firstabout .btn_link {
	margin-inline: auto;
}

#top-firstabout .box_firstabout .btn_area_firstabout .btn_link a {
	display: block;
	padding: 15px 0;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
	text-align: center;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#top-pointcontent .box_pointc {
	position: relative;
	background-position: top center;
	background-size: cover;
}

#top-pointcontent .box_pointc .in_pointc {
	position: absolute;
	bottom: 50px;
	color: #FFFFFF;
	text-align: center;
}

#top-pointcontent .box_pointc .in_pointc .in_pointc_in {
	width: 85%;
	margin-inline: auto;
}

#top-pointcontent .box_pointc.bg_pointc_02 {
	background: url("images/top/bg_pointc_02.png") no-repeat top center;
}

#top-pointcontent .box_pointc.bg_pointc_03 {
	background: url("images/top/bg_pointc_03.png") no-repeat top center;
}

#top-pointcontent .box_pointc.bg_pointc_04 {
	background: url("images/top/bg_pointc_04.png") no-repeat top center;
}

#top-pointcontent .box_pointc .ttl_pointc {
	margin-bottom: 10px;
	font-size: 26px;
	font-size: 2.6rem;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#top-news .ttl_news_box .ttl_news {
	font-size: clamp(2.4rem, 1.3541666667vw, 2.6rem);
}

#top-news .ttl_news_box .btn_link {
	margin-left: 0;
}

#top-news .ttl_news_box .btn_link a {
	font-size: clamp(2rem, 1.0416666667vw, 2rem);
}

.news-tabs {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 20px;
	border-bottom: 1px solid #022D50;
}

.news-tabs li {
	padding: 20px 60px;
	border-bottom: 3px solid transparent;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	font-weight: bold;
	color: #022D50;
	cursor: pointer;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.news-tabs li.is-active {
	background: #022D50;
	color: #fff;
}

.news-tabs li.cat_news {
	color: #D23636;
}

.news-tabs li.cat_news.is-active,
.news-tabs li.cat_news:hover,
.news-tabs li.cat_news:active {
	background: #D23636;
	color: #fff;
}

.news-tabs li.cat_closed {
	color: #003894;
}

.news-tabs li.cat_closed.is-active,
.news-tabs li.cat_closed:hover,
.news-tabs li.cat_closed:active {
	background: #003894;
	color: #fff;
}

.news-tabs li.cat_clinic {
	color: #AF9A59;
}

.news-tabs li.cat_clinic.is-active,
.news-tabs li.cat_clinic:hover,
.news-tabs li.cat_clinic:active {
	background: #AF9A59;
	color: #fff;
}

.news-contents .news-item {
	width: 100%;
}

.news-contents .news-item a {
	display: block;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	padding: 25px 15px 25px 15px;
	border-bottom: 1px solid #ddd;
}

.news-contents .news-item .news-date {
	color: #022D50;
}

.news-contents .news-item .news-cat span {
	padding: 2px 8px;
	border: 1px solid #d00;
	border-radius: 5px;
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
	color: #d00;
}

.news-contents .news-item .news-cat.cat_closed span {
	border: 1px solid #003894;
	color: #003894;
}

.news-contents .news-item .news-cat.cat_clinic span {
	border: 1px solid #AF9A59;
	color: #AF9A59;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.top-time-access .top_access .time {
	margin-bottom: 20px;
}

.top-time-access .top_access .time .ttl_time {
	padding-bottom: 5px;
	font-size: clamp(18px, 2vw, 24px);
	color: #022D50;
}

.top-time-access .top_access .map {
	position: relative;
	margin-bottom: 20px;
	padding-top: 56.25%;
}

.top-time-access .top_access .map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

.top-time-access .top_access .txt_access {
	margin-bottom: 20px;
	line-height: 1.5;
}

.top-time-access .top_access .more_access img {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.top-time-access .top_access .more_access .sub_ttl {
	margin-top: 5px;
	margin-right: 15px;
	margin-bottom: 5px;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#top-menu {
	padding: 100px 0;
	background: #EEEBE6;
}

.feature-block {
	position: relative;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 100px;
	padding: 80px 0 50px 0;
	border-top: 15px solid #022D50;
	background: #FFFFFF;
	margin-inline: auto;
}

.feature-inner {
	position: relative;
	z-index: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 40px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.feature-inner.layout-reverse {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
}

.feature-text-area .feature-title {
	margin-bottom: 20px;
	font-size: clamp(30px, 5vw, 62px);
}

.feature-text-area .feature-lead {
	margin-bottom: 30px;
	font-size: clamp(16px, 2vw, 18px);
}

.feature-text-area .feature-points {
	margin-bottom: 30px;
}

.feature-text-area .feature-points li {
	margin-bottom: 10px;
	padding: 10px 15px;
	border-radius: 5px;
	background: #e0edf6;
	font-size: clamp(16px, 2vw, 24px);
}

.feature-text-area .caption_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 30px;
	gap: 20px;
}

.feature-text-area .caption_box .img_caption img {
	width: 100%;
	height: auto;
}

.feature-text-area .caption_box .feature-caption {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.feature-text-area .caption_box .feature-caption .caption-label {
	margin-bottom: 15px;
	padding: 5px 15px;
	border: 2px solid #022D50;
	background: #fff;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
}

.feature-text-area .caption_box .feature-caption .caption-text {
	font-size: clamp(14px, 1.8vw, 16px);
}

.feature-block.layout-reverse-block .feature-img-area {
	right: 0;
	left: auto;
}

.feature-block.layout-reverse-block .feature-text-area {
	margin-right: auto;
	margin-left: 2%;
	padding-right: 300px;
	padding-left: 0;
}

.feature-links {
	display: -ms-grid;
	display: grid;
	margin-top: 60px;
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
}

.feature-links .feature-link-box {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 6px;
	background: #fff;
	-webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
	        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
	color: inherit;
	text-decoration: none;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}

.feature-links .feature-link-box:hover {
	-webkit-box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
	        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
	-webkit-transform: translateY(-4px);
	        transform: translateY(-4px);
}

.feature-links .feature-link-box .link-img {
	position: relative;
}

.feature-links .feature-link-box .link-img img {
	display: block;
	width: 100%;
}

.feature-links .feature-link-box .link-img .link-title {
	position: absolute;
	z-index: 2;
	bottom: 0px;
	left: 0px;
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
}

.feature-links .feature-link-box .link-img .link-title span {
	display: inline-block;
	padding: 5px 20px 0 20px;
	border-top-right-radius: 5px;
	background: #fff;
}

.feature-links .feature-link-box .link-img .link-arrow {
	position: absolute;
	z-index: 2;
	right: 0px;
	bottom: 0px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 50px;
	height: 50px;
	border-radius: 0px;
	border-top-left-radius: 5px;
	background: #fff;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.feature-links .feature-link-box .link-img .link-arrow::after {
	width: 10px;
	height: 10px;
	border-top: 2px solid #002b5b;
	border-right: 2px solid #002b5b;
	content: "";
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}

.feature-links .feature-link-box .link-content {
	padding: 15px 20px 20px 25px;
}

.feature-links .feature-link-box .link-content .link-text {
	font-size: clamp(14px, 1.2vw, 16px);
	line-height: 1.6;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.compare-section {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: #fff;
}

.compare-section .section-heading .section-title {
	margin-bottom: 10px;
	font-size: clamp(2.8rem, 1.875vw, 3.6rem);
	color: #002b5b;
}

.compare-section .section-heading .section-caption {
	font-size: clamp(13px, 1.4vw, 14px);
}

.compare-section .compare-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 80px;
	margin-bottom: 30px;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 40px;
}

.compare-section .compare-list .compare-item {
	width: 100%;
	max-width: 650px;
	margin-bottom: 0px;
}

.compare-section .compare-list .compare-item .compare-caption {
	margin-top: 10px;
	font-size: clamp(14px, 1.5vw, 18px);
}

.compare-section .compare-list .compare-item .compare-caption a:hover,
.compare-section .compare-list .compare-item .compare-caption a:active {
	text-decoration: underline;
}

.compare-section .compare-wrap {
	position: relative;
	width: 100%;
}

.compare-section .compare-wrap .image-compareno {
	position: relative;
	width: 100%;
	height: 100%;
}

.compare-section .compare-wrap .image-compareno img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
}

.compare-section .compare-wrap .image-compare {
	position: relative;
	width: 100%;
	height: 100%;
}

.compare-section .compare-wrap .image-compare img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
}

.compare-section .compare-wrap .compare-labels {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.compare-section .compare-wrap .compare-labels .label {
	position: absolute;
	z-index: 10;
	top: 0;
	padding: 10px 20px;
	font-size: clamp(14px, 1.4vw, 16px);
	font-weight: bold;
}

.compare-section .compare-wrap .compare-labels .label.before {
	left: 0;
	background: #022D50;
	color: #fff;
}

.compare-section .compare-wrap .compare-labels .label.after {
	right: 0;
	background: #fff;
	color: #002b5b;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.treatment-section {
	padding: 0px 0;
}

.treatment-section .section-title {
	margin-bottom: 80px;
	font-size: clamp(20px, 5vw, 32px);
	font-weight: bold;
	color: #0e2d4c;
	text-align: center;
}

.treatment-section .section-title span {
	display: block;
	font-size: clamp(24px, 6vw, 36px);
}

.treatment-section .treatment-list {
	display: -ms-grid;
	display: grid;
	max-width: 1300px;
	margin: 0 auto;
	-ms-grid-columns: (1fr)[3];
	grid-template-columns: repeat(3, 1fr);
	gap: 60px 20px;
}

.treatment-section .treatment-list a.treatment-item {
	position: relative;
	display: block;
	max-width: 400px;
	padding: 60px 20px 50px 20px;
	border-radius: 12px;
	background: #fff;
	-webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
	        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
	text-align: center;
	text-decoration: none;
	-webkit-transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
	transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	transition: transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
}

.treatment-section .treatment-list a.treatment-item:hover {
	-webkit-box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
	        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
	-webkit-transform: translateY(-4px);
	        transform: translateY(-4px);
}

.treatment-section .treatment-list a.treatment-item img {
	position: absolute;
	z-index: 2;
	top: -40px;
	left: 50%;
	width: 120px;
	height: 120px;
	border-radius: 10px;
	background: #fff;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	-o-object-fit: cover;
	   object-fit: cover;
}

.treatment-section .treatment-list a.treatment-item .treatment-content {
	margin-top: 30px;
}

.treatment-section .treatment-list a.treatment-item .treatment-content h3 {
	margin-bottom: 10px;
	font-size: 18px;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
	font-weight: bold;
}

.treatment-section .treatment-list a.treatment-item .treatment-content p {
	width: 85%;
	font-size: 14px;
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
	-moz-text-align-last: left;
	     text-align-last: left;
	margin-inline: auto;
}

.treatment-section .treatment-list a.treatment-item .arrow {
	position: absolute;
	right: 20px;
	bottom: -16px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	background: #e5f0f5;
	-webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.treatment-section .treatment-list a.treatment-item .arrow::before {
	display: block;
	width: 10px;
	height: 10px;
	border-right: 2px solid #0e2d4c;
	border-bottom: 2px solid #0e2d4c;
	content: "";
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.cerec-section {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	max-width: 1400px;
	padding: 40px 60px;
	border-top: 15px solid #022D50;
	border-radius: 12px;
	background: #FFFFFF;
	-webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
	        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
	margin-inline: auto;
}

.cerec-section .cerec-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 40px;
}

.cerec-section .cerec-inner .cerec-image {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.cerec-section .cerec-inner .cerec-image img {
	width: 60%;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
	height: auto;
	margin-inline: auto;
}

.cerec-section .cerec-inner .cerec-text {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.cerec-section .cerec-inner .cerec-text .ttl_cerec-text {
	margin-bottom: 20px;
	font-size: clamp(2.8rem, 1.875vw, 3.6rem);
	font-weight: bold;
	color: #0e2d4c;
}

.cerec-section .cerec-inner .cerec-text p {
	margin-bottom: 24px;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	line-height: 1.8;
}

.cerec-section .cerec-inner .cerec-text .btn-link {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	padding: 12px 24px;
	border: 2px solid #0e2d4c;
	border-radius: 999px;
	font-weight: bold;
	color: #0e2d4c;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.cerec-section .cerec-inner .cerec-text .btn-link:hover {
	background: #0e2d4c;
	color: #fff;
}

.cerec-section .cerec-inner .cerec-text .btn-link:hover .arrow::before {
	border-color: #fff;
}

.cerec-section .cerec-inner .cerec-text .btn-link .arrow {
	display: inline-block;
	margin-left: 12px;
}

.cerec-section .cerec-inner .cerec-text .btn-link .arrow::before {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: 2px solid #0e2d4c;
	border-bottom: 2px solid #0e2d4c;
	content: "";
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.main-content.in-menu .marker {
	background-color: #FFF4CE;
}

.main-content.in-menu .tdu {
	text-decoration: underline;
}

.content_width {
	width: calc(100% - 80px);
	max-width: 1400px;
	margin-inline: auto;
}

.content_width_large {
	width: calc(100% - 80px);
	max-width: 1800px;
	margin-inline: auto;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.ttl_menu_page {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 25px;
	padding: 0.5em 0.7em;
	background-color: #f2f2f2;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
	font-weight: 700;
	font-style: normal;
	color: #022D50;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-optical-sizing: auto;
}

.ttl_menu_page::before {
	display: inline-block;
	width: 5px;
	height: 1.5em;
	margin-right: 0.5em;
	background-color: #022D50;
	content: "";
}

.heading-top {
	margin-bottom: 1em;
	font-size: clamp(1.7rem, 1.25vw, 2.6rem);
	font-weight: bold;
}

.heading-second {
	position: relative;
	margin-bottom: 1.5em;
	padding: 0.4em 0.5em;
	border-bottom: 3px solid #e3e3e3;
	font-size: clamp(1.7rem, 1.1979166667vw, 2.3rem);
	font-weight: bold;
}

.heading-second::after {
	position: absolute;
	z-index: 1;
	bottom: -3px;
	left: 0;
	width: 3em;
	height: 3px;
	background-color: #022D50;
	content: "";
}

.heading-bg_ttl {
	position: relative;
	padding-top: 0.75em;
	font-size: clamp(3rem, 2.0833333333vw, 4rem);
}

.heading-bg_ttl::before {
	position: absolute;
	z-index: -1;
	bottom: 2.8em;
	left: 0em;
	font-family: "Poppins", sans-serif;
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
	font-weight: 700;
	font-style: normal;
	line-height: 1;
	color: #E5CB7B;
	pointer-events: none;
	content: attr(data-word);
}

.highlight {
	display: inline;
	padding: 0 2px; /* マーカーの余白調整 */
	background-color: #FFF4CE;
	line-height: 1.6; /* 必要に応じて調整 */
}

.ttl_sub_menu_page {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 30px;
	padding: 5px 15px;
	border-radius: 3px;
	background: #E7F3F9;
	font-weight: 700;
	color: #022D50;
}

.ttl_normal_menu_page {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 20px;
	border-radius: 3px;
	font-weight: 700;
	color: #022D50;
}

.color-red {
	color: #CD3C3C;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.page-img-block img {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	max-width: 100%;
	height: auto;
	margin-bottom: 30px;
	margin-inline: auto;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.hukidashi_point {
	position: relative;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-top: 1em;
	padding: 1.8em 1.5em 0em 1.5em;
	background: #F6F6F6;
}

.hukidashi_point .ttl_hukidashi_point {
	position: absolute;
	top: -1.8em;
	left: 1em;
	padding: 0.4em 1.4em 0.5em 1.4em;
	border-radius: 25px;
	background-color: #022D50;
	font-weight: bold;
	color: #fff;
}

.hukidashi_point .ttl_hukidashi_point::before {
	position: absolute;
	bottom: -7px;
	left: 20%;
	width: 16px;
	height: 8px;
	background-color: #022D50;
	content: "";
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.hukidashi_point.in_hukidashi {
	margin-top: 80px;
}

.hukidashi_point.in_hukidashi .ttl_hukidashi_point {
	position: absolute;
	top: -1.8em;
	left: 0.3em;
	padding: 0.2em 1.4em 0.3em 1.4em;
	border-radius: 25px;
	background-color: #022D50;
	font-weight: bold;
	color: #fff;
}

.hukidashi_point.in_hukidashi .ttl_hukidashi_point::before {
	position: absolute;
	bottom: -7px;
	left: 20%;
	width: 16px;
	height: 8px;
	background-color: #022D50;
	content: "";
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.hukidashi_point .icon-attention {
	padding-left: 30px;
	background: url("images/menu/icon-attention.svg") no-repeat;
	background-position: left 0 top 0px;
	background-size: 23px;
}

.hukidashi_point .icon-question {
	padding-left: 30px;
	background: url("images/menu/icon-question.svg") no-repeat;
	background-position: left 0 top 0px;
	background-size: 23px;
}

.hukidashi_point .in_content .all_txt {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 5px 15px 15px 15px;
}

.hukidashi_point .check_ul {
	display: -ms-grid;
	display: grid;
	width: 100%;
	-ms-grid-columns: 1fr 1fr;
	grid-template-columns: 1fr 1fr; /* 左右均等の2列 */
	gap: 10px; /* 要素間の余白 */
}

.hukidashi_point .check_ul > * {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center; /* 垂直方向で中央揃え */
}

.hukidashi_point .check_ul.onecolumn {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr; /* 左右均等の2列 */
}

.hukidashi_point .check_ul li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 10px 15px;
	background: #FFFFFF;
}

.hukidashi_point .check_ul li.icon-check {
	padding-left: 50px;
	background: url("images/menu/icon-check.svg") no-repeat #FFFFFF;
	background-position: left 15px top 20px;
	background-size: 20px;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.page-list-ul {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 30px;
}

.page-list-ul .ttl_attention {
	padding: 10px 0;
	background: #022D50;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	color: #FFFFFF;
	text-align: center;
}

.page-list-ul .in_wrap {
	padding: 30px 40px;
}

.page-list-ul .in_box {
	margin-bottom: 30px;
}

.page-list-ul .in_box:last-of-type {
	margin-bottom: 0;
}

.page-list-ul .ttl_sub_attention {
	margin-bottom: 10px;
	font-size: 16px;
	font-size: 1.6rem;
	color: #022D50;
}

.page-list-ul .list_ul {
	padding-left: 0em;
}

.page-list-ul .list_ul li {
	position: relative;
	margin-bottom: 8px;
	padding-left: 1em;
	font-size: 16px;
	font-size: 1.6rem;
}

.page-list-ul .list_ul li::before {
	position: absolute;
	top: 0.8em;
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: #022D50;
	content: "";
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#menu.main-content .page-top-ttl {
	margin-bottom: 0;
}

.menu_box_top {
	max-width: 1300px;
	margin: 0 auto;
	margin-bottom: 100px;
}

.menu_box_top .cont_menu_box_top {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 30px;
	padding: 40px 40px 50px 40px;
	border-radius: 12px;
	background: #fff;
	-webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
	        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 24px;
}

.menu_box_top .cont_menu_box_top .img_menu_box_top {
	max-width: 55%;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 40%;
	        flex: 0 0 40%;
}

.menu_box_top .cont_menu_box_top .img_menu_box_top img {
	display: block;
	width: 100%;
	height: auto;
}

.menu_box_top .cont_menu_box_top .txt_cont {
	max-width: 60%;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.menu_box_top .ttl_menu_box_top {
	margin-bottom: 20px;
	padding-left: 18px;
	border-left: 4px solid #b79d7a;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
}

.menu_box_top .sub_list_link li {
	margin-bottom: 10px;
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
}

.menu_box_top .sub_list_link li a {
	position: relative;
	display: block;
	padding: 10px 15px;
	border-radius: 8px;
	background: #e5f0f5;
	background-origin: content-box;
	color: #022D50;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.menu_box_top .sub_list_link li a::after {
	position: absolute;
	top: 50%;
	right: 1.5em;
	width: 8px;
	height: 8px;
	border-top: 2px solid #022D50;
	border-right: 2px solid #022D50;
	content: "";
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
}

.menu_box_top .sub_list_link li a:hover {
	background: #022D50;
	color: #FFFFFF;
}

.menu_box_top .sub_list_link li a:hover::after {
	border-color: #FFFFFF;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.main-content.in-main#policy {
	padding-bottom: 5vw;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.policy_top_ttl {
	position: relative;
	color: #FFFFFF;
}

.policy_top_ttl .in_policy_top_ttl {
	position: absolute;
	bottom: 6vw;
	width: 100%;
	text-align: center;
}

.policy_top_ttl .ttl_top_policy {
	margin-bottom: 15px;
	font-size: 2vw;
}

.policy_top_ttl .txt_policy {
	font-size: clamp(1.4rem, 0.9375vw, 1.8rem);
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.policy_concept-section {
	position: relative;
	margin-top: 7vw;
}

.policy_concept-section .concept-inner {
	position: relative;
	z-index: 8;
	overflow: hidden;
	padding: 100px 0 110px 0;
	background: #002c4f;
	color: #fff;
	clip-path: polygon(0 50px, 100% 0, 100% calc(100% - 50px), 0 100%);
}

.policy_concept-section .concept-image {
	position: absolute;
	z-index: 10;
	left: 0;
}

.policy_concept-section .concept-image img {
	width: 45vw;
	height: auto;
}

.policy_concept-section .concept-text {
	width: 33vw;
	margin-right: 18vw;
	margin-left: auto;
	padding: 20px;
}

.policy_concept-section .concept-text .concept-subtitle {
	margin-bottom: 10px;
	font-size: clamp(2rem, 1.25vw, 2.4rem);
}

.policy_concept-section .concept-text .concept-title {
	margin-bottom: 20px;
	font-size: clamp(4rem, 2.6041666667vw, 5rem);
	font-weight: bold;
}

.policy_concept-section .concept-text .concept-desc {
	font-size: clamp(1.6rem, 1.1979166667vw, 2.3rem);
	line-height: 2;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.policy_feature_section {
	padding: 100px 0 80px 0;
	background: #FFFFFF;
}

.policy_feature_section.first {
	margin-top: -150px;
	padding: 300px 0 80px 0;
	background: #000;
}

.policy_feature_section:nth-child(odd) {
	background: #e6f0f9;
}

.policy_feature_section .feature_section_block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.policy_feature_section .feature-title {
	margin-bottom: 40px;
	padding-top: 15px;
	font-size: clamp(4rem, 2.34375vw, 4.5rem);
	text-align: center;
}

.policy_feature_section .feature-desc {
	max-width: 870px;
	line-height: 1.8;
}

.ttl_heading_box {
	position: relative;
}

.ttl_heading_box::before,
.ttl_heading_box::after {
	position: absolute;
	z-index: 5;
	top: 50%;
	left: 0%;
	width: 100%;
	height: 1px;
	background: #022D50;
	content: "";
}

.heading-number {
	position: relative;
	z-index: 6;
	width: 60px;
	height: 60px;
	margin: 0 auto 1em;
	background: #022D50;
	-webkit-box-shadow: 2px 2px 0 #2693ff;
	        box-shadow: 2px 2px 0 #2693ff;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}

.heading-number span {
	display: block;
	font-size: clamp(2.6rem, 1.71875vw, 3.3rem);
	font-weight: bold;
	line-height: 60px;
	color: #fff;
	text-align: center;
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

.policy_point {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: calc(100% - 60px);
	max-width: 1500px;
	margin-top: 40px;
	padding: 40px 60px 50px 60px;
	border-left: solid 15px #022D50;
	border-radius: 10px;
	background: #FFFFFF;
	-webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
	        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
	margin-inline: auto;
}

.policy_point:first-of-type {
	margin-top: 50px;
}

.policy_point .ttl_policy_point {
	margin-bottom: 20px;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
}

.policy_point .txt_policy_point {
	line-height: 2;
}

.policy_point .txt_policy_point p {
	margin-bottom: 2rem;
}

.policy_point .txt_policy_point p:last-of-type {
	margin-bottom: 0;
}

.policy_point .txt_policy_point .bg_blue_ul_li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-top: 35px;
	border-radius: 15px;
	list-style-position: outside; /* マーカーを外に出す */
}

.policy_point .txt_policy_point .bg_blue_ul_li li {
	padding-left: 1em; /* テキストの字下げ */
	text-indent: -1em; /* マーカー分を戻す */
}

.policy_point .txt_policy_point .bg_blue_ul_li li::before {
	content: "・";
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.balloon-heading {
	text-align: center;
}

.balloon-heading span {
	position: relative;
	padding: 0.4em 1.5em;
	border-radius: 6px;
	background-color: #002b52;
	font-weight: bold;
	color: #fff;
	text-align: center;
	text-align: center;
}

.second_opinion {
	margin-top: 80px;
	padding-bottom: 20px;
	background: #E7F1FA;
}

.second_opinion .txt_second_opinion {
	max-width: 980px;
	padding-top: 60px;
	line-height: 1.8;
	margin-inline: auto;
}

.second_opinion .merit_box {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	max-width: 1220px;
	margin: 60px auto;
	padding: 0;
}

.second_opinion .merit_box .ttl_merit {
	margin-bottom: 30px;
	text-align: center;
}

.second_opinion .merit_box .ttl_merit span {
	padding: 0.4em 1.5em;
	border-radius: 6px;
	background: #FFFFFF;
	font-weight: bold;
}

.second_opinion .merit_box .merit_ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 20px;
}

.second_opinion .merit_box .merit_ul li {
	width: calc((100% - 40px) / 3);
	padding: 1em;
	text-align: center;
}

.second_opinion .merit_box .merit_ul li img {
	display: block;
	width: 100%;
	max-width: 246px;
	height: auto;
	margin-inline: auto;
	aspect-ratio: 1/1;
	-o-object-fit: cover;
	   object-fit: cover;
}

.second_opinion .merit_box .merit_ul .sub_txt_merit {
	margin-top: 15px;
	margin-bottom: 10px;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
}

.second_opinion .merit_box .merit_ul p {
	font-size: clamp(1.6rem, 0.8854166667vw, 1.7rem);
	line-height: 1.8;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.policy_description {
	max-width: 980px;
	margin-bottom: 60px;
	padding-top: 60px;
	line-height: 1.8;
	margin-inline: auto;
}

.policy_description .ttl_policy_description {
	padding: 15px 0;
	border-top: solid 1px #022D50;
	border-bottom: solid 1px #022D50;
	font-size: clamp(3rem, 2.0833333333vw, 4rem);
	text-align: center;
}

.policy_description .txt_policy_description {
	margin-bottom: 30px;
	padding-top: 40px;
	line-height: 1.8;
}

.policy_description .txt_policy_description p {
	margin-bottom: 1.5em;
}

.check_merit_box {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	max-width: 980px;
	margin-top: 80px;
	margin-bottom: 40px;
	padding: 0px 50px 40px 50px;
	border: solid 1px #B2B2B2;
	line-height: 1.8;
	margin-inline: auto;
}

.check_merit_box .ttl_check_merit {
	position: relative;
	top: -20px;
	max-width: 300px;
	margin-inline: auto;
}

.check_merit_box .label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 0.4em 1em;
	border-radius: 8px;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	font-weight: bold;
	color: #fff;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 0.5em;
}

.check_merit_box .label.merit {
	background-color: #d6ca90;
}

.check_merit_box .label.merit .icon.check {
	position: relative;
	width: 1em;
	height: 1em;
}

.check_merit_box .label.merit .icon.check::before,
.check_merit_box .label.merit .icon.check::after {
	position: absolute;
	border-radius: 2px;
	background-color: #fff;
	content: "";
}

.check_merit_box .label.merit .icon.check::before {
	top: 50%;
	left: 25%;
	width: 60%;
	height: 0.15em;
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
	-webkit-transform-origin: left center;
	        transform-origin: left center;
}

.check_merit_box .label.merit .icon.check::after {
	top: 50%;
	left: 0;
	width: 30%;
	height: 0.15em;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
	-webkit-transform-origin: left center;
	        transform-origin: left center;
}

.check_merit_box .label.demerit {
	background-color: #807db1;
}

.check_merit_box .label.demerit .icon.cross {
	position: relative;
	width: 1em;
	height: 1em;
}

.check_merit_box .label.demerit .icon.cross::before,
.check_merit_box .label.demerit .icon.cross::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 0.15em;
	border-radius: 2px;
	background-color: #fff;
	content: "";
}

.check_merit_box .label.demerit .icon.cross::before {
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	        transform: translate(-50%, -50%) rotate(45deg);
}

.check_merit_box .label.demerit .icon.cross::after {
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	        transform: translate(-50%, -50%) rotate(-45deg);
}

.check_merit_box .check_merit_ul {
	list-style-position: outside; /* マーカーを外に出す */
}

.check_merit_box .check_merit_ul li {
	padding-left: 1em; /* テキストの字下げ */
	text-indent: -1em; /* マーカー分を戻す */
}

.check_merit_box .check_merit_ul li::before {
	content: "・";
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.description_bottom {
}

.description_bottom .bg_blue_ul {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-top: 30px;
	padding: 30px 40px;
	border-radius: 15px;
	background: #E7F1FA;
	list-style-position: outside; /* マーカーを外に出す */
}

.description_bottom .bg_blue_ul li {
	padding-left: 1em; /* テキストの字下げ */
	text-indent: -1em; /* マーカー分を戻す */
}

.description_bottom .bg_blue_ul li::before {
	content: "・";
}

.description_bottom .txt_policy_description.top {
	margin-bottom: 0px;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.page-top-ttl {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin-bottom: 50px;
}

.page-top-ttl::after {
	position: absolute;
	z-index: 1;
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(44, 153, 222, 0.6)), color-stop(50%, rgba(0, 84, 187, 0.6)), to(rgba(32, 105, 181, 0.6)));
	background: linear-gradient(to bottom, rgba(44, 153, 222, 0.6) 0%, rgba(0, 84, 187, 0.6) 50%, rgba(32, 105, 181, 0.6) 100%);
	pointer-events: none;
	content: "";
	inset: 0;
}

.page-top-ttl .page-main_ttl {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	font-size: clamp(2.8rem, 1.6666666667vw, 3.2rem);
	color: #fff;
	text-align: center;
	white-space: nowrap;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

.page-top-ttl picture,
.page-top-ttl img {
	display: block;
	width: 100%;
	height: auto;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.ttl_line_btm {
	margin-bottom: 40px;
	padding-bottom: 15px;
	border-bottom: solid 1px #022D50;
}

.ttl_line_btm .en_ttl {
	margin-right: 15px;
	font-size: clamp(2.8rem, 1.6666666667vw, 3.2rem);
	line-height: 1;
}

.ttl_line_btm .jp_ttl {
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	font-weight: normal;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.case_category_ul li a {
	position: relative;
	display: block;
}

.case_category_ul li .box_case_cat {
	position: relative;
	overflow: hidden;
	border-radius: 5px;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.case_category_ul li .box_case_cat::before {
	position: absolute;
	z-index: 1;
	background-color: rgba(2, 45, 80, 0.6);
	pointer-events: none;
	content: "";
	opacity: 1;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
	inset: 0;
}

.case_category_ul li .box_case_cat::after {
	position: absolute;
	z-index: 2;
	top: 50%;
	right: 35px;
	width: 15px;
	height: 15px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	pointer-events: none;
	content: "";
	-webkit-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
}

.case_category_ul li .box_case_cat img {
	display: block;
	width: 100%;
	height: auto;
}

.case_category_ul li .box_case_cat .ttl_box {
	position: absolute;
	z-index: 2;
	bottom: 10%;
	left: 5%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	max-width: 85%;
	padding: 1rem;
	color: #fff;
}

.case_category_ul li .box_case_cat .jp_ttl {
	margin-bottom: 0.5rem;
	font-size: clamp(2.8rem, 1.6666666667vw, 3.2rem);
	font-weight: bold;
}

.case_category_ul li .box_case_cat .ttl_txt {
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	line-height: 1.6;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.case_ul_archive {
	display: -ms-grid;
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
	gap: 60px 30px;
}

.case_ul_archive li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

.case_ul_archive .img_case_box {
	position: relative;
	height: auto;
	aspect-ratio: 998/677;
}

.case_ul_archive .img_case_box img {
	display: block;
	width: 100%;
	height: auto;
	-webkit-transition: opacity 0.5s ease;
	transition: opacity 0.5s ease;
	aspect-ratio: 998/677;
	-o-object-fit: cover;
	   object-fit: cover;
}

.case_ul_archive .img_case_box .img-case {
	position: relative;
	z-index: 10;
}

.case_ul_archive .img_case_box .img-before,
.case_ul_archive .img_case_box .img-after {
	position: absolute;
	z-index: 11;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

.case_ul_archive .img_case_box .img-before {
	opacity: 1;
}

.case_ul_archive .img_case_box .img-after {
	opacity: 0;
}

.case_ul_archive .img_case_box .label_case {
	position: absolute;
	z-index: 20;
	top: 0px;
	left: 0px;
	width: 123px;
	padding: 6px 10px;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	font-weight: 700;
	text-align: center;
	pointer-events: none;
	-webkit-transition: opacity 0.5s ease;
	transition: opacity 0.5s ease;
}

.case_ul_archive .img_case_box .label_case.before {
	background: #022D50;
	color: #fff;
}

.case_ul_archive .img_case_box:hover .img-before {
	opacity: 0.6;
}

.case_ul_archive .jp_ttl {
	margin-top: 15px;
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
}

.case_ul_archive .case_cat_name {
	margin-top: 15px;
}

.case_ul_archive .case_cat_name span {
	padding: 5px 15px;
	border: solid 1px #022D50;
	border-radius: 50px;
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#case-single .img_case_main {
	position: relative;
	width: calc(100% - 40px);
	max-width: 850px;
	margin-bottom: 30px;
	margin-inline: auto;
	aspect-ratio: 988/677;
}

#case-single .compare-labels {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

#case-single .compare-labels .label {
	position: absolute;
	z-index: 10;
	top: 0;
	padding: 10px 20px;
	font-size: clamp(14px, 1.4vw, 16px);
	font-weight: bold;
}

#case-single .compare-labels .label.before {
	left: 0;
	background: #022D50;
	color: #fff;
}

#case-single .compare-labels .label.after {
	right: 0;
	background: #fff;
	color: #002b5b;
}

#case-single .case_attention {
	width: calc(100% - 40px);
	max-width: 998px;
	padding: 13px 0;
	border-radius: 8px;
	background: #E7F1FA;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	font-weight: 700;
	text-align: center;
	margin-inline: auto;
}

#case-single .case_attention span.icon_zoom {
	padding-left: 35px;
	background: url("images/common/icon_zoom.svg") no-repeat;
	background-position: left top;
	background-size: 25px;
}

#case-single .case_attention .pc_none {
	display: none;
}

#case-single .case_data_tbl {
	width: calc(100% - 40px);
	max-width: 1180px;
	margin-bottom: 40px;
	margin-inline: auto;
}

#case-single .case_data {
	width: 100%;
	margin-top: 2rem;
	border-collapse: collapse;
}

#case-single .case_data th,
#case-single .case_data td {
	padding: 30px 20px;
	border-bottom: 1px dotted #022D50;
	text-align: left;
	vertical-align: top;
}

#case-single .case_data th {
	width: 20%;
	background: #eeeeee;
	font-weight: 700;
}

#case-single .case_data td {
	width: 80%;
	padding-left: 30px;
}

#case-single .comment_box {
	position: relative;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: calc(100% - 40px);
	max-width: 1180px;
	margin-top: 60px;
	margin-bottom: 40px;
	padding: 4rem 3rem 2rem 3rem;
	background: #f8f8f8;
	margin-inline: auto;
}

#case-single .comment_box .risc_title {
	position: absolute;
	top: -1.2em;
	left: 1.5rem;
	padding: 0.3em 1em;
	border-radius: 4px;
	background: #00294d;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	font-weight: bold;
	color: #fff;
}

#case-single .comment_box .risc_list {
	margin: 0;
	padding-left: 1.5em;
	list-style: disc;
}

#case-single .comment_box .risc_list li {
	margin-bottom: 0.6em;
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
	line-height: 1.7;
}

#case-single .risc_box {
	position: relative;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: calc(100% - 40px);
	max-width: 1180px;
	margin-top: 60px;
	margin-bottom: 40px;
	padding: 4rem 3rem 2rem 3rem;
	border: 1px solid #00294d;
	margin-inline: auto;
}

#case-single .risc_box .risc_title {
	position: absolute;
	top: -1.2em;
	left: 1.5rem;
	padding: 0.3em 1em;
	border-radius: 4px;
	background: #00294d;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	font-weight: bold;
	color: #fff;
}

#case-single .risc_box .risc_list {
	margin: 0;
	padding-left: 1.5em;
	list-style: disc;
}

#case-single .risc_box .risc_list li {
	margin-bottom: 0.6em;
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
	line-height: 1.7;
}

.content_width_large.bottom_case_cat {
	margin-top: 100px;
}

.case_ul_archive .compare-caption,
.compare-list .compare-caption {
	margin-bottom: 5px;
	padding: 5px 0;
	background: #e0edf6;
	text-align: center;
}

.case_ul_archive .case_data_tbl,
.compare-list .case_data_tbl {
	width: 100%;
	margin-bottom: 40px;
	margin-inline: auto;
}

.case_ul_archive .case_data,
.compare-list .case_data {
	width: 100%;
	margin-top: 2rem;
	border-collapse: collapse;
}

.case_ul_archive .case_data th,
.case_ul_archive .case_data td,
.compare-list .case_data th,
.compare-list .case_data td {
	padding: 10px 16px;
	border-bottom: 1px dotted #022D50;
	font-size: clamp(1.4rem, 0.78125vw, 1.5rem);
	text-align: left;
	vertical-align: top;
}

.case_ul_archive .case_data th,
.compare-list .case_data th {
	width: 20%;
	background: #E2EAEF;
	font-weight: 700;
}

.case_ul_archive .case_data td,
.compare-list .case_data td {
	width: 80%;
}

.risc_box_long {
	position: relative;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	max-width: 1340px;
	margin-top: 0px;
	margin-bottom: 40px;
	padding: 3rem 2rem 1.5rem 2rem;
	background: #f8f8f8;
	margin-inline: auto;
}

.risc_box_long .risc_title {
	position: absolute;
	top: -1em;
	left: 2rem;
	padding: 0.3em 1em;
	border-radius: 4px;
	background: #00294d;
	font-size: clamp(1.4rem, 0.78125vw, 1.5rem);
	font-weight: bold;
	color: #fff;
}

.risc_box_long .risc_list {
	margin: 0;
	padding-left: 1.5em;
	list-style: disc;
}

.risc_box_long .risc_list li {
	margin-bottom: 0.6em;
	font-size: clamp(1.4rem, 0.78125vw, 1.5rem);
	line-height: 1.7;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.top_head_notice {
	width: 100%;
}

.top_head_notice .ttl_box_hn {
	width: calc(100% - 40px);
	max-width: 1455px;
	margin-bottom: 60px;
	padding-top: 80px;
	color: #FFFFFF;
	margin-inline: auto;
}

.top_head_notice .ttl_box_hn .jp_main {
	margin-bottom: 30px;
	font-size: clamp(4rem, 2.8645833333vw, 5.5rem);
	line-height: 1.4;
}

.top_head_notice .ttl_box_hn .jp_txt {
	line-height: 2;
}

.top_head_notice .img_head_top {
	position: relative;
}

.top_head_notice .img_head_top .main_img_head_top img {
	display: block;
	width: 80%;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
	-webkit-box-shadow: 0 4px 18px rgba(0, 0, 0, 0.2);
	        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.2);
	aspect-ratio: 1759/686;
	-o-object-fit: cover;
	   object-fit: cover;
}

.top_head_notice .img_head_top .img_en_txt {
	position: absolute;
	right: 0;
	bottom: -20%;
}

.top_head_notice .img_head_top .img_en_txt img {
	width: 90%;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
	margin-left: auto;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.about_implant .img_about_implant img {
	display: block;
	width: 100%;
	height: auto;
	-webkit-box-shadow: 0 4px 18px rgba(0, 0, 0, 0.2);
	        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.2);
	margin-inline: auto;
	aspect-ratio: 854/656;
	-o-object-fit: cover;
	   object-fit: cover;
}

.about_implant .cont_about_implant .ttl_about_implant {
	margin-top: 40px;
	margin-bottom: 40px;
	font-size: clamp(3rem, 3.2291666667vw, 6.2rem);
	line-height: 1.4;
}

.about_btm_box {
	border-radius: 30px;
	background: #022D50;
	color: #FFFFFF;
}

.about_btm_box .top_about_btm {
	font-size: clamp(3rem, 2.0833333333vw, 4rem);
	text-align: center;
}

.about_btm_box .top_about_btm span {
	border-bottom: solid 1px #FFFFFF;
	font-size: clamp(3rem, 3.2291666667vw, 6.2rem);
}

.about_btm_box .box_in_about {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.about_btm_box .img_about img {
	display: block;
	width: 100%;
	height: auto;
	-webkit-box-shadow: 0 4px 18px rgba(0, 0, 0, 0.2);
	        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.2);
	margin-inline: auto;
	aspect-ratio: 854/656;
	-o-object-fit: cover;
	   object-fit: cover;
}

.about_btm_box .cont_about .attention_about {
	margin-top: 60px;
	padding-bottom: 30px;
	background: #FFFFFF;
	font-size: clamp(1.6rem, 1.4583333333vw, 2.8rem);
	color: #022D50;
	text-align: center;
}

.about_btm_box .cont_about .attention_about .ttl_attention {
	position: relative;
	top: -10px;
	margin-bottom: 10px;
	text-align: center;
}

.about_btm_box .cont_about .attention_about .ttl_attention span {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 5px 15px;
	border: solid 1px #FFFFFF;
	background: #022D50;
	color: #FFFFFF;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.implant_feature {
	margin-top: 150px;
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
	background: #022D50;
}

.implant_feature .ttl_implant_feature {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding-top: 30px;
	padding-bottom: 25px;
	margin-inline: auto;
}

.implant_feature .bg_implant_feature {
	background: url("images/implant/bg_implant_feature.png") no-repeat center center;
	background-size: cover;
	aspect-ratio: 1920/628;
}

.implant_feature .bg_implant_feature {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	text-align: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.implant_feature .bg_implant_feature .en_implant_feature {
	font-size: clamp(5rem, 3.5416666667vw, 6.8rem);
	color: #B79D7A;
}

.implant_feature .bg_implant_feature .top_ttl_implant_feature span {
	padding: 5px 15px;
	background: #FFFFFF;
	font-size: clamp(4rem, 2.7604166667vw, 5.3rem);
	color: #022D50;
}

.implant_feature .bg_implant_feature .btm_ttl_implant_feature {
	margin-top: 20px;
	font-size: clamp(4rem, 2.7604166667vw, 5.3rem);
	color: #FFFFFF;
}

.implant_feature .bg_implant_feature .btm_ttl_implant_feature span {
	border-bottom: solid 1px #FFFFFF;
}

.implant_facility .img_implant_facility img {
	display: block;
	width: 100%;
	height: auto;
	margin-inline: auto;
	aspect-ratio: 854/656;
	-o-object-fit: cover;
	   object-fit: cover;
}

.state_of_the_art {
	background: #F2F2F2;
}

.state_of_the_art .top_state_of_the_art {
	position: relative;
	top: -0.781vw;
	font-size: clamp(2.8rem, 1.6666666667vw, 3.2rem);
	text-align: center;
}

.state_of_the_art .top_state_of_the_art span {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 5px 15px;
	border: solid 1px #022D50;
	background: #FFFFFF;
	color: #022D50;
}

.state_of_the_art .img_state_of_the_art img {
	display: block;
	width: 100%;
	height: auto;
	margin-inline: auto;
	aspect-ratio: 423/566;
	-o-object-fit: cover;
	   object-fit: cover;
}

.state_of_the_art .box_state_of_the_art .in_ttl_bsota {
	margin-bottom: 15px;
}

.state_of_the_art .box_state_of_the_art .in_ttl_bsota span {
	display: block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 5px 0;
	background: #022D50;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
	color: #FFFFFF;
	text-align: center;
}

.state_of_the_art .box_state_of_the_art p {
	margin-bottom: 20px;
	font-size: clamp(1.6rem, 1.0416666667vw, 2rem);
	line-height: 2;
}

.state_of_the_art .box_state_of_the_art p span {
	padding: 10px;
	background: #FFFFFF;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.all_on_x .top_all_on_x {
	background: url("images/implant/bg_top_all_on_x.png") no-repeat center center;
	background-size: cover;
	aspect-ratio: 1920/427;
}

.all_on_x .top_all_on_x .ttl_top_all_on_x {
	position: relative;
	z-index: 2;
	bottom: -5.729vw;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}

.all_on_x .box_all_on_x {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: calc(100% - 40px);
	max-width: 1266px;
	margin-top: 100px;
	margin-bottom: 60px;
	margin-inline: auto;
}

.all_on_x .box_all_on_x .img_top_all_on_x img {
	display: block;
	width: 100%;
	height: auto;
	margin-inline: auto;
	-o-object-fit: cover;
	   object-fit: cover;
}

.all_on_x .box_all_on_x .cont_all_on_x .ttl_all_on_x {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 15px;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.policy_feature_section.implant_cont {
	background: #e1eaf3;
}

.policy_feature_section.implant_cont .ttl_policy_implant_cont {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.years_old_wrapper {
	position: relative;
	max-width: 1190px;
	margin-bottom: 0px;
	padding: 60px 80px 60px 20px;
	background-color: #f3f3f3;
	margin-inline: auto;
}

.years_old_wrapper .headline-box {
	font-size: clamp(2.5rem, 2.0833333333vw, 4rem);
	font-weight: bold;
	line-height: 1.6;
	color: #fff;
	white-space: nowrap;
}

.years_old_wrapper .headline-box span {
	display: block;
	margin-bottom: 10px;
	padding: 0 30px;
	background-color: #003053;
}

.years_old_wrapper .headline-box span:last-child {
	margin-bottom: 0;
}

.years_old_wrapper .text-content {
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	line-height: 2;
	color: #00263a;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.dot-mark {
	position: relative;
	display: inline-block;
}

.dot-mark::before {
	position: absolute;
	top: -0.9em;
	left: 50%;
	font-size: 0.2em;
	color: #003053;
	content: "●";
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
}

.guide_section_text {
	padding-top: 30px;
	padding-bottom: 10px;
	border-bottom: dotted 1px #022D50;
}

.guide_section_text:first-of-type {
	padding-top: 0;
}

.guide_section_text:last-of-type {
	padding-bottom: 0;
	border-bottom: none;
}

.guide_section_text .ttl_section_txt {
	margin-bottom: 15px;
}

.surgical_guide_wrapper {
	position: relative;
	width: calc(100% - 40px);
	max-width: 1450px;
	margin-bottom: 40px;
	padding: 30px 50px 40px 50px;
	border: 1px solid #022D50;
	margin-inline: auto;
}

.surgical_guide_wrapper .surgical_guide_title {
	position: relative;
	z-index: 10;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 30px;
	padding-bottom: 20px;
	padding-bottom: 12px;
	font-weight: bold;
	text-align: center;
	text-align: left;
	-webkit-transform: none;
	        transform: none;
}

.surgical_guide_wrapper .surgical_guide_title::before,
.surgical_guide_wrapper .surgical_guide_title::after {
	position: absolute;
	right: 0;
	left: 0;
	height: 1px;
	background-color: #022D50;
	content: "";
}

.surgical_guide_wrapper .surgical_guide_title::before {
	bottom: 0;
}

.surgical_guide_wrapper .surgical_guide_title::after {
	bottom: 3px;
}

.surgical_guide_section {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	gap: 50px;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.surgical_guide_section .image-area {
	max-width: 460px;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
	margin-inline: auto;
}

.surgical_guide_section .image-area img {
	display: block;
	width: 100%;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
	height: auto;
	margin-inline: auto;
}

.surgical_guide_section .content_guide {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.surgical_guide_section .content_guide p {
	line-height: 2;
}

.surgical_guide_section .content_guide .red_txt {
	font-weight: 700;
	color: #C43333;
	text-decoration: underline;
}

.surgical_guide_section .content_guide .note-box {
	position: relative;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-top: 60px;
	margin-bottom: 40px;
	padding: 0 40px 20px 40px;
	background: #f3f3f3;
}

.surgical_guide_section .content_guide .note-box:last-of-type {
	margin-bottom: 0;
}

.surgical_guide_section .content_guide .note-box p {
	line-height: 1.8;
}

.note-label {
	position: relative;
	top: -0.5vw;
	display: inline-block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 12px;
	padding: 6px 20px;
	background: #003053;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	color: #fff;
	clip-path: polygon(0 0, 100% 0, 95% 100%, 0% 100%);
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.implant_huki_point {
	position: relative;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-top: 3em;
	padding: 0em 1.5em 1em 1.5em;
	background: #F6F6F6;
}

.implant_huki_point .in_content .all_txt {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 5px 15px 15px 15px;
}

.implant_huki_point .check_ul {
	display: -ms-grid;
	display: grid;
	width: 100%;
	-ms-grid-columns: 1fr 1fr;
	grid-template-columns: 1fr 1fr; /* 左右均等の2列 */
	gap: 10px; /* 要素間の余白 */
}

.implant_huki_point .check_ul > * {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center; /* 垂直方向で中央揃え */
}

.implant_huki_point .check_ul.onecolumn {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr; /* 左右均等の2列 */
}

.implant_huki_point .check_ul li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 10px 15px;
	background: #FFFFFF;
}

.implant_huki_point .check_ul li.icon-check {
	padding-left: 50px;
	background: url("images/menu/icon-check.svg") no-repeat #FFFFFF;
	background-position: left 15px top 20px;
	background-size: 20px;
}

.implant_huki_point .check_ul li.ss_txt {
	padding-top: 12px;
}

.implant_huki_point .check_txt_ul {
	width: 100%;
}

.implant_huki_point .check_txt_ul li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 15px;
	padding: 30px 15px 0px 15px;
	background: #FFFFFF;
}

.implant_huki_point .check_txt_ul li .ttl_check {
	margin-bottom: 10px;
	padding-left: 50px;
	background: url("images/menu/icon-check.svg") no-repeat #FFFFFF;
	background-position: left 15px top 10px;
	background-size: 20px;
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
}

.implant_huki_point .check_txt_ul li .all_txt p {
	padding-left: 35px;
}

.implant_huki_point .check_txt_ul.listonly li {
	padding: 15px 15px 8px 15px;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.concept4s_ul {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr;
	grid-template-columns: 1fr 1fr; /* 左右均等の2列 */
	gap: 20px; /* 要素間の余白 */
}

.concept4s_ul li {
	display: -ms-grid;
	display: grid;
	padding: 15px 0;
	border: solid 1px #D9D9D9;
	-ms-grid-columns: 0.5fr 1fr;
	grid-template-columns: 0.5fr 1fr; /* 左右均等の2列 */
	gap: 0px; /* 要素間の余白 */
}

.concept4s_ul .img_concept4s img {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
}

.concept4s_ul .ttl_en_concept4s {
	color: #1650B1;
}

.concept4s_ul .ttl_jp_concept4s {
	color: #022D50;
}

.concept4s_ul .ttl_en_concept4s {
	margin-top: 15px;
	font-size: 34px;
	font-size: 3.4rem;
	line-height: 1.2;
}

.concept4s_ul .ttl_jp_concept4s {
	margin-bottom: 10px;
	font-size: 20px;
	font-size: 2rem;
}

.concept4s_ul .txt_concept4s {
	font-size: 16px;
	font-size: 1.6rem;
}

.concept4s_ul .txt_concept4s .sp_br {
	display: none;
}

/* スマホ・タブレット対応 */

.concept4s_txt {
	margin-top: 15px;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.ore_room_ul {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr;
	grid-template-columns: 1fr 1fr; /* 左右均等の2列 */
	gap: 20px; /* 要素間の余白 */
}

.ore_room_ul li {
	margin-bottom: 25px;
}

.ore_room_ul img {
	width: 100%;
}

/* スマホ・タブレット対応 */

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.implant-risk {
	padding: 80px 20px;
}

.implant-risk__inner {
	max-width: 1256px;
	margin: 0 auto;
}

.implant-risk__title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 40px;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
	text-align: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 1em;
}

.implant-risk__title .implant-risk__line {
	height: 1px;
	background-color: #022D50;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.implant-risk__list {
	list-style: disc !important;
	color: #022D50;
}

.implant-risk__list li {
	margin-bottom: 1.2em;
	line-height: 1.8;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.implant_doctor {
	margin-top: 100px;
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
	background: #022D50;
}

.implant_doctor .ttl_implant_doctor {
	position: relative;
	top: -40px;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding-top: 20px;
	padding-bottom: 10px;
	margin-inline: auto;
}

.implant_doctor .bg_implant_doctor {
	background: url("images/implant/bg_implant_doctor.png") no-repeat center center;
	background-size: cover;
}

.implant_doctor .bg_implant_doctor .implant_doctor_box img {
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
}

.implant_doctor .wrap_implant_doctor {
	width: calc(100% - 40px);
	max-width: 1722px;
	margin-inline: auto;
}

.implant_doctor .wrap_implant_doctor .cont_implant_doctor {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border-radius: 20px;
	background: #022D50;
	color: #FFFFFF;
}

.implant_doctor .name_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 25px;
	border-bottom: solid 1px #FFFFFF;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}

.implant_doctor .name_box .name {
	font-size: clamp(5rem, 3.0208333333vw, 5.8rem);
}

.implant_doctor .name_box .name span {
	margin-right: 15px;
	font-size: clamp(2.8rem, 1.6666666667vw, 3.2rem);
}

.implant_doctor .name_box .affiliation {
	font-size: clamp(1.8rem, 1.1458333333vw, 2.2rem);
}

.implant_doctor .name_box .en_box {
	margin-left: auto;
	font-size: clamp(3rem, 3.2291666667vw, 6.2rem);
	color: #B79D7A;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.top_implant_about {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 40px;
	padding: 30px 40px 45px 40px;
	background: #f6f6f6;
}

.top_implant_about .ttl_top_implant_about {
	margin-bottom: 30px;
	padding: 8px 0;
	border-radius: 5px;
	background: #FFFFFF;
	text-align: center;
}

.ttl_top_shinbi_in {
	margin-top: 10px;
	margin-bottom: 20px;
	font-size: clamp(2.8rem, 1.6666666667vw, 3.2rem);
	line-height: 1.5;
}

.list-osusume_ul {
	position: relative;
	padding: 0.5em 1em 0.5em 2.3em;
}

.list-osusume_ul li {
	position: relative;
	margin-bottom: 5px;
	padding: 0.5em 1em 0.5em 45px;
	background: #FFFFFF;
	list-style-type: none !important;
	font-weight: 700;
	line-height: 1.5;
}

.list-osusume_ul li::before {
	position: absolute;
	top: 0.8em;
	left: 15px;
	width: 20px;
	height: 20px;
	background: url("images/menu/icon-check.svg") no-repeat;
	background-position: center;
	background-size: contain;
	content: "";
}

.heading-arrow {
	position: relative;
	margin-bottom: 20px;
	padding: 0.2em 0.9em 0.3em 0.9em;
	background-color: #022D50;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
	color: #fff;
	text-align: center;
}

.heading-arrow::after {
	position: absolute;
	top: 100%;
	left: 50%;
	width: 0;
	height: 0;
	border: 11px solid transparent;
	border-top: 11px solid #022D50;
	content: "";
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#implant-recovery.implant-page .txt_pmtc {
	margin-top: 15px;
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.heading-numbig {
	position: relative;
	padding-top: 1.5em;
	padding-left: 3em;
}

.heading-numbig::before {
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 0;
	font-size: 3em;
	line-height: 1;
	color: #d9f4ff;
	pointer-events: none;
	content: attr(data-number);
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.compare-caption.ttl_style {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 10px 0;
	background: #f6f6f6;
	text-align: center;
}

.case_list_tbl {
	width: 100%;
}

.case_list_tbl td,
.case_list_tbl th {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 10px 16px;
	border-bottom: 1px dotted #022D50;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	vertical-align: top;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.main-content.implant-page .qa_accordion {
	margin: 0;
	padding: 0;
	list-style: none;
}

.main-content.implant-page .qa_accordion li {
	margin-bottom: 0.5em;
}

.main-content.implant-page .qa_accordion li .qa_question {
	position: relative;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	padding: 1em 1em 1em 3em;
	border: none;
	background: #f7f7f7;
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
	font-weight: bold;
	color: #022D50;
	text-align: left;
	cursor: pointer;
	-webkit-transition: background 0.3s ease;
	transition: background 0.3s ease;
}

.main-content.implant-page .qa_accordion li .qa_question .qa_icon {
	position: absolute;
	top: 50%;
	left: 1em;
	width: 1.6em;
	height: 1.6em;
	border-radius: 50%;
	background: #022D50;
	font-size: 0.85em;
	font-weight: bold;
	line-height: 1.6em;
	color: #fff;
	text-align: center;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

.main-content.implant-page .qa_accordion li .qa_question::after {
	position: absolute;
	top: 50%;
	right: 1em;
	font-size: 1.2em;
	content: "+";
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

.main-content.implant-page .qa_accordion li .qa_question.active {
	background: #e0f0ff;
}

.main-content.implant-page .qa_accordion li .qa_question.active::after {
	content: "−";
}

.main-content.implant-page .qa_accordion li .qa_answer {
	overflow: hidden;
	max-height: 0;
	padding: 0 1em;
	background: #fff;
	-webkit-transition: max-height 0.5s ease, padding 0.3s ease;
	transition: max-height 0.5s ease, padding 0.3s ease;
}

.main-content.implant-page .qa_accordion li .qa_answer .qa_inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 1em 0;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 0.8em;
}

.main-content.implant-page .qa_accordion li .qa_answer .qa_inner .qa_icon {
	width: 1.6em;
	height: 1.6em;
	border-radius: 50%;
	background: #b79d7a;
	font-size: 0.85em;
	font-weight: bold;
	line-height: 1.6em;
	color: #fff;
	text-align: center;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}

.main-content.implant-page .qa_accordion li .qa_answer .qa_inner p {
	margin: 0 0 1.5em;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	line-height: 2;
}

.main-content.implant-page .qa_accordion li .qa_question.active + .qa_answer {
	max-height: 1000px;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.doctor_intro_block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 60px;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 40px;
}

.doctor_intro_block .doctor_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	width: calc(50% - 20px);
}

.doctor_intro_block .doctor_box .doctor_img {
	width: 100%;
	margin-bottom: 20px;
}

.doctor_intro_block .doctor_box .doctor_img img {
	width: 100%;
	height: auto;
	-o-object-fit: cover;
	   object-fit: cover;
}

.doctor_intro_block .doctor_box .doctor_txt .doctor_name {
	margin-bottom: 15px;
	padding-left: 18px;
	border-left: 4px solid #b79d7a;
	line-height: 1.4;
}

.doctor_intro_block .doctor_box .doctor_txt .doctor_name span.name {
	display: block;
	margin-top: 4px;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
}

.doctor_intro_block .doctor_box .doctor_txt p {
	margin-bottom: 20px;
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
	line-height: 1.8;
	color: #444;
}

.doctor_intro_block .doctor_box .doctor_txt .btn-more {
	margin-top: 10px;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.team-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 40px;
}

.team-box .team-image {
	max-width: 50%;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.team-box .team-image img {
	width: 100%;
	height: auto;
	-o-object-fit: cover;
	   object-fit: cover;
}

.team-box .team-text {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.team-box .team-text .team-heading {
	margin-bottom: 10px;
	padding-left: 12px;
	border-left: 4px solid #b79d7a;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.growth_stage_section {
	margin-bottom: 80px;
}

.growth_stage_section .growth_stage_flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 30px;
}

.growth_stage_section .growth_stage_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	padding: 20px;
	background: #f6f6f6;
	-webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
	        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	-ms-flex-negative: 1;
	    flex-shrink: 1;
	-ms-flex-preferred-size: calc(33.333% - 20px);
	    flex-basis: calc(33.333% - 20px);
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.growth_stage_section .growth_stage_box .growth_stage_img {
	margin-bottom: 15px;
}

.growth_stage_section .growth_stage_box .growth_stage_img img {
	width: 100%;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
	height: auto;
}

.growth_stage_section .growth_stage_box .growth_stage_title {
	margin-bottom: 10px;
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
	text-align: center;
}

.growth_stage_section .growth_stage_box .growth_stage_txt p {
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
	line-height: 1.6;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.top_implant_cause {
	margin-top: 80px;
}

.top_implant_cause .cause_lead {
	margin-bottom: 40px;
	font-size: 1.05rem;
	line-height: 1.8;
	text-align: center;
}

.top_implant_cause .cause_lead .highlight {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #fff9c4));
	background: linear-gradient(transparent 70%, #fff9c4 70%);
	font-weight: bold;
}

.top_implant_cause .cause_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 50px;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 24px;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.top_implant_cause .cause_list li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 30px 40px;
	background-color: #f8f8f8;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 47%;
	        flex: 1 1 47%;
}

.top_implant_cause .cause_list li .cause_box .cause_img {
	margin-bottom: 16px;
	text-align: center;
}

.top_implant_cause .cause_list li .cause_box .cause_img img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
}

.top_implant_cause .cause_list li .cause_box .cause_title {
	margin-bottom: 12px;
	padding-left: 18px;
	border-left: 4px solid #b79d7a;
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
}

.top_implant_cause .cause_list li .cause_box .cause_title .case {
	display: block;
	font-size: clamp(1.3rem, 0.7291666667vw, 1.4rem);
}

.top_implant_cause .cause_list li .cause_box p {
	line-height: 1.6;
}

.implant-page .treatment-flow {
	width: 100%;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.top_head_notice .img_head_top {
	position: relative;
}

.top_head_notice .img_head_top .main_img_head_top.kyosei img {
	margin-right: 0;
	margin-left: auto;
}

.top_head_notice .img_head_top .img_en_txt.kyosei {
	position: absolute;
	right: auto;
	bottom: -20%;
	left: 0;
}

.top_head_notice .img_head_top .img_en_txt.kyosei img {
	margin-right: auto;
	margin-left: 0;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.about_implant.kyosei .img_about_implant img {
	aspect-ratio: 848/652;
}

.about_btm_box.kyosei {
	border-radius: 30px;
	background: #022D50;
	color: #FFFFFF;
}

.about_btm_box.kyosei .top_about_btm {
	font-size: clamp(3rem, 2.0833333333vw, 4rem);
	text-align: center;
}

.about_btm_box.kyosei .top_about_btm span {
	border-bottom: solid 1px #FFFFFF;
	font-size: clamp(3rem, 3.2291666667vw, 6.2rem);
}

.about_btm_box.kyosei .about_btm_txt {
	width: calc(100% - 40px);
	max-width: 1260px;
	margin-top: 30px;
	margin-bottom: 20px;
	margin-inline: auto;
}

.compare-section .btn-detail {
	width: 100%;
	max-width: 525px;
}

.compare-section .btn-detail a {
	display: block;
	padding: 20px 0;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
	text-align: center;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.num_health_tooth_wrap .num_health_tooth li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: #F2F2F2;
}

.num_health_tooth_wrap .num_health_tooth .num_box {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 15px;
	border-bottom: solid 5px #B79D7A;
	font-size: clamp(5rem, 4.6875vw, 9rem);
	margin-inline: auto;
}

.num_health_tooth_wrap .num_health_tooth .num_box span.ss {
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.cont_kyosei_doctor {
	margin-top: 20px;
	margin-bottom: 80px;
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
	background: #022D50;
}

.cont_kyosei_doctor .ttl_kyosei_doctor {
	position: relative;
	top: -40px;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding-top: 20px;
	padding-bottom: 10px;
	margin-inline: auto;
}

.cont_kyosei_doctor .bg_kyosei_doctor {
	padding: 60px 0 40px 0;
	background: #F0F0F0;
}

.cont_kyosei_doctor .box_kyosei_doctor {
	width: calc(100% - 40px);
	max-width: 1380px;
	margin-inline: auto;
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: #FFFFFF;
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .img_box_doctor_link {
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .top_ttl {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 5px;
	padding: 3px 15px;
	background: #022D50;
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
	color: #FFFFFF;
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .name {
	margin-bottom: 20px;
	font-size: clamp(2.8rem, 1.6666666667vw, 3.2rem);
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .name span {
	margin-right: 15px;
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .btn a {
	position: relative;
	padding: 10px 40px 10px 20px;
	border-radius: 50px;
	background: #F0F0F0;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .btn a::after {
	position: absolute;
	top: 50%;
	right: 1.5em;
	width: 8px;
	height: 8px;
	border-top: 2px solid #022D50;
	border-right: 2px solid #022D50;
	content: "";
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .btn a:hover,
.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .btn a:active {
	background: #022D50;
	color: #FFFFFF;
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .btn a:hover::after,
.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .btn a:active::after {
	border-top: 2px solid #FFFFFF;
	border-right: 2px solid #FFFFFF;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.correction_type.wire {
	margin-top: 80px;
}

.correction_type.mouthpiece {
	position: relative;
	top: -70px;
}

.correction_type .top_icon {
	padding: 15px 0;
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
	background: #022D50;
}

.correction_type .top_icon img {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}

.main_correction_type {
	padding-bottom: 80px;
	background: #F0F0F0;
}

.main_correction_type .orthodontic-wire {
	padding: 80px 20px;
}

.main_correction_type .orthodontic-wire__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 1430px;
	margin: 0 auto;
	gap: 60px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.main_correction_type .orthodontic-wire__image {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 45%;
	        flex: 0 0 45%;
}

.main_correction_type .orthodontic-wire__image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
}

.main_correction_type .orthodontic-wire__content {
	min-width: 300px;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.main_correction_type .orthodontic-wire__tag {
	margin-bottom: 1rem;
	padding: 0.3em 0.8em;
	background-color: #ffffff;
	font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
}

.main_correction_type .orthodontic-wire__title {
	margin-bottom: 1.2rem;
	font-size: clamp(3rem, 2.0833333333vw, 4rem);
}

.main_correction_type .orthodontic-wire__text {
	line-height: 1.8;
}

.main_correction_type .orthodontic-wire__text p {
	margin-bottom: 1.2em;
}

.main_correction_type .orthodontic-wire__text .highlight {
	padding: 0.1em 0.5em;
	background-color: #FFFFFF;
	font-weight: bold;
}

.treatment-flow .treatment-flow__heading {
	margin-bottom: 40px;
}

.treatment-flow .treatment-flow__heading .flow__heading_ttl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-weight: bold;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.treatment-flow .treatment-flow__heading .flow__heading_ttl span {
	display: inline-block;
	height: 1px;
	margin: 0 12px;
	background-color: #022D50;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 30px;
	        flex: 0 0 30px;
}

.treatment-flow .step-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 20px;
	background-color: #fff;
}

.treatment-flow .step-box__head {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	overflow: hidden;
	width: 21.5625vw;
	background-color: #002a5c;
	color: #fff;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.treatment-flow .step-box__head .step-box__number {
	position: absolute;
	z-index: 0;
	top: 50%;
	left: -5px;
	font-size: 7rem;
	font-weight: bold;
	line-height: 1;
	color: rgba(255, 255, 255, 0.15);
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

.treatment-flow .step-box__head .step-box__title {
	position: relative;
	z-index: 1;
	padding: 0 10px;
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
	font-weight: bold;
	text-align: center;
}

.treatment-flow .step-box__content {
	padding: 25px 30px;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	line-height: 1.8;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.table_shinbi {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch; /* スムーズスクロールを有効化 */
}

.table_shinbi .table-wrapper {
	display: block;
	overflow-x: auto;
	white-space: nowrap;
}

.table_shinbi #hidaku_shinbi {
	width: 100%;
	border-collapse: collapse;
}

.table_shinbi #hidaku_shinbi .icon {
	max-width: 35px;
	margin-bottom: 8px;
	margin-inline: auto;
}

.table_shinbi #hidaku_shinbi th,
.table_shinbi #hidaku_shinbi td {
	width: 12%;
	min-width: 90px;
	height: 60px;
	padding: 10px;
	border: 4px solid #FFFFFF;
	background: #F6F6F6;
	text-align: center;
}

.table_shinbi #hidaku_shinbi.whitening tbody td {
	white-space: normal;
	word-wrap: break-word;
}

.table_shinbi #hidaku_shinbi th {
	position: relative; /* 吹き出しを配置するためにrelativeを指定 */
	z-index: 2; /* 前面に表示 */
	background-color: #E5CB7B;
}

.table_shinbi #hidaku_shinbi th::after {
	position: absolute;
	z-index: 3; /* 三角形をさらに前面に表示 */
	bottom: -10px; /* 三角形を下方向に配置 */
	left: 50%; /* 中央寄せ */
	width: 0;
	height: 0;
	border-top: 10px solid #E5CB7B; /* 吹き出しの三角形部分の色 */
	border-right: 10px solid transparent;
	border-left: 10px solid transparent; /* 左右に透明な部分を追加 */
	content: ""; /* 吹き出しの三角形部分 */
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%); /* 真ん中に位置 */
}

.table_shinbi #hidaku_shinbi th:nth-of-type(1)::after {
	display: none; /* 最初の列の三角形を非表示 */
}

.table_shinbi #hidaku_shinbi th:nth-of-type(2)::after {
	border-top: 10px solid #022D50; /* 吹き出しの三角形部分の色 */
}

.table_shinbi #hidaku_shinbi tbody td {
	position: relative;
	z-index: 1; /* `th`より後ろに配置 */
	padding-top: 20px;
	padding-bottom: 20px;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0em;
}

.table_shinbi #hidaku_shinbi .head {
	background-color: #e2e2e2;
}

.table_shinbi #hidaku_shinbi .fixed {
	position: sticky;
	z-index: 1;
	left: 0;
	background-color: #EEF7FB;
}

.table_shinbi #hidaku_shinbi .zilconia {
	background-color: #022D50;
	color: #FFFFFF;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.attention_box {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: solid 1px #ACB1B6;
}

.attention_box .ttl_attention {
	padding: 10px 0;
	background: #022D50;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	color: #FFFFFF;
	text-align: center;
}

.attention_box .in_wrap {
	padding: 30px 40px;
}

.attention_box .in_box {
	margin-bottom: 30px;
}

.attention_box .in_box:last-of-type {
	margin-bottom: 0;
}

.attention_box .ttl_sub_attention {
	margin-bottom: 10px;
	font-size: 16px;
	font-size: 1.6rem;
	color: #022D50;
}

.attention_box .attention_ul {
	padding-left: 0em;
}

.attention_box .attention_ul li {
	position: relative;
	margin-bottom: 8px;
	padding-left: 1em;
	font-size: 16px;
	font-size: 1.6rem;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.top_shinbi_txt {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1.2fr 1.8fr;
	grid-template-columns: 1.2fr 1.8fr; /* 左右均等の2列 */
	gap: 50px; /* 要素間の余白 */
}

.top_shinbi_txt .img_top_shinbi img {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
}

.top_shinbi_txt .txt_top_shinbi {
	line-height: 1.8;
}

/* スマホ・タブレット対応 */

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.table_shinbi {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch; /* スムーズスクロールを有効化 */
}

.table_shinbi .table-wrapper {
	display: block;
	overflow-x: auto;
	white-space: nowrap;
}

.table_shinbi #hidaku_shinbi {
	width: 100%;
	border-collapse: collapse;
}

.table_shinbi #hidaku_shinbi .icon {
	max-width: 35px;
	margin-bottom: 8px;
	margin-inline: auto;
}

.table_shinbi #hidaku_shinbi th,
.table_shinbi #hidaku_shinbi td {
	width: 12%;
	min-width: 90px;
	height: 60px;
	padding: 10px;
	border: 4px solid #FFFFFF;
	background: #F6F6F6;
	text-align: center;
}

.table_shinbi #hidaku_shinbi.whitening tbody td {
	white-space: normal;
	word-wrap: break-word;
}

.table_shinbi #hidaku_shinbi th {
	position: relative; /* 吹き出しを配置するためにrelativeを指定 */
	z-index: 2; /* 前面に表示 */
	background-color: #E5CB7B;
}

.table_shinbi #hidaku_shinbi th::after {
	position: absolute;
	z-index: 3; /* 三角形をさらに前面に表示 */
	bottom: -10px; /* 三角形を下方向に配置 */
	left: 50%; /* 中央寄せ */
	width: 0;
	height: 0;
	border-top: 10px solid #E5CB7B; /* 吹き出しの三角形部分の色 */
	border-right: 10px solid transparent;
	border-left: 10px solid transparent; /* 左右に透明な部分を追加 */
	content: ""; /* 吹き出しの三角形部分 */
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%); /* 真ん中に位置 */
}

.table_shinbi #hidaku_shinbi th:nth-of-type(1)::after {
	display: none; /* 最初の列の三角形を非表示 */
}

.table_shinbi #hidaku_shinbi th:nth-of-type(2)::after {
	border-top: 10px solid #022D50; /* 吹き出しの三角形部分の色 */
}

.table_shinbi #hidaku_shinbi tbody td {
	position: relative;
	z-index: 1; /* `th`より後ろに配置 */
	padding-top: 20px;
	padding-bottom: 20px;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0em;
}

.table_shinbi #hidaku_shinbi .head {
	background-color: #e2e2e2;
}

.table_shinbi #hidaku_shinbi .fixed {
	position: sticky;
	z-index: 1;
	left: 0;
	background-color: #EEF7FB;
}

.table_shinbi #hidaku_shinbi .zilconia {
	background-color: #022D50;
	color: #FFFFFF;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.pmtc_cont_ul li {
	background: #F6F6F6;
}

.pmtc_cont_ul .ttl_pmtc {
	margin-bottom: 10px;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
}

.bottom_info_container_yobou {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 30px 50px 40px 50px;
	border-radius: 15px;
	background: #e2eff4;
}

.bottom_info_container_yobou .ttl_firstabout {
	margin-bottom: 20px;
	font-size: clamp(2rem, 1.5625vw, 3rem);
	text-align: center;
}

.treatment-flow.yobou {
	width: 100%;
}

.treatment-flow.yobou .step-box__content {
	background: #f6f6f6;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.list_ippan_ul .ttl_ippan_list {
	padding: 5px 0;
	border-radius: 3px;
	background: #022D50;
	font-weight: 700;
	color: #FFFFFF;
	text-align: center;
}

.list_ippan_ul .img_ippan_ul {
	margin-bottom: 20px;
}

.list_ippan_ul .img_ippan_ul img {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}

.list_ippan_ul .ttl_ippan_list {
	margin-bottom: 15px;
	line-height: 1.8;
}

.list_ippan_ul .txt_ippan {
	line-height: 1.8;
}

.sport-list-block .sport_list_ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.sport-list-block .sport_list_ul li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 49%;
	margin-bottom: 10px;
	padding: 15px 20px;
	border-radius: 5px;
	background: #d9f1ff;
	font-weight: bold;
}

.sport-list-block .sport_list_ul::after {
	display: block;
	width: 49%;
	content: "";
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.children_effect_ul li {
	background: #f6f6f6;
}

.children_effect_ul .img_children_effect img {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
}

.children_effect_ul .ttl_children_effect {
	margin-top: 20px;
	margin-bottom: 10px;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 700;
	color: #007db0;
	text-align: center;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.gaps_cont_ul li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	background: #F6F6F6;
}

.gaps_cont_ul .ttl_pmtc {
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
	font-weight: 700;
	text-align: center;
}

.gaps_cont_ul .ttl_pmtc .ss {
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
}

.compare-section.directbonding {
	margin-top: 80px;
}

.btn-detail.directbonding {
	max-width: 650px;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.kyosei_genre_ul {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr;
	grid-template-columns: 1fr 1fr; /* 左右均等の2列 */
	gap: 20px; /* 要素間の余白 */
}

.kyosei_genre_ul li {
	margin-bottom: 25px;
}

.kyosei_genre_ul img {
	width: 100%;
}

.kyosei_genre_ul .ttl_kyosei_genre {
	margin-bottom: 20px;
	padding: 8px 0;
	background: #f6f6f6;
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
	font-weight: 700;
	text-align: center;
}

/* スマホ・タブレット対応 */

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.icon-check-li .best_point {
	margin-bottom: 30px;
	padding: 20px 35px;
	background: #f6f6f6;
}

.icon-check-li .best_point .ttl_best_point {
	font-weight: 700;
	text-align: center;
}

.icon-check-li .best_point .best_point_ul {
	margin: 0;
	padding: 0;
	background: none;
}

.icon-check-li .best_point .best_point_ul li {
	margin: 0;
	padding: 0;
	background: none;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.qa-style {
	margin-bottom: 5px;
	border-bottom: 2px solid #d6dde3;
}

.qa-style summary {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 1em 2em 1em 3em;
	list-style: none;
	font-weight: 600;
	cursor: pointer;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.qa-style summary::-webkit-details-marker {
	display: none;
}

.qa-style summary::before {
	position: absolute;
	left: 1em;
	font-size: 1.3em;
	font-weight: 600;
}

.qa-style p::before {
	position: absolute;
	left: 1em;
	font-size: 1.3em;
	font-weight: 600;
}

.qa-style summary::before {
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-style: normal;
	color: #022D50;
	content: "Q";
	font-optical-sizing: auto;
}

.qa-style summary::after {
	width: 7px;
	height: 7px;
	margin-left: 10px;
	border-right: 3px solid rgba(51, 51, 51, 0.7019607843);
	border-bottom: 3px solid rgba(51, 51, 51, 0.7019607843);
	content: "";
	-webkit-transition: -webkit-transform 0.5s;
	transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
	transition: transform 0.5s, -webkit-transform 0.5s;
	-webkit-transform: translateY(-25%) rotate(45deg);
	        transform: translateY(-25%) rotate(45deg);
}

.qa-style[open] summary::after {
	-webkit-transform: rotate(225deg);
	        transform: rotate(225deg);
}

.qa-style p {
	position: relative;
	margin: 0;
	padding: 0.3em 3em 1.5em;
	color: #333;
	opacity: 0;
	-webkit-transition: opacity 0.5s, -webkit-transform 0.5s;
	transition: opacity 0.5s, -webkit-transform 0.5s;
	transition: transform 0.5s, opacity 0.5s;
	transition: transform 0.5s, opacity 0.5s, -webkit-transform 0.5s;
	-webkit-transform: translateY(-10px);
	        transform: translateY(-10px);
}

.qa-style[open] p {
	opacity: 1;
	-webkit-transform: none;
	        transform: none;
}

.qa-style p::before {
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-style: normal;
	line-height: 1.2;
	color: #b79d7a;
	content: "A";
	font-optical-sizing: auto;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#viewing-slider {
	position: relative;
	overflow: hidden;
	height: 70vh;
	margin-bottom: 60px;
}

#viewing-slider .splide__track,
#viewing-slider .splide__list,
#viewing-slider .splide__slide {
	height: 100%;
}

#viewing-slider .viewing-slide {
	height: 100%;
}

#viewing-slider .viewing-slide .viewing-slide-inner {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
}

#viewing-slider .viewing-slide .viewing-img {
	position: absolute;
	z-index: 1;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	-webkit-transition: -webkit-transform 6s ease-out;
	transition: -webkit-transform 6s ease-out;
	transition: transform 6s ease-out;
	transition: transform 6s ease-out, -webkit-transform 6s ease-out;
	-webkit-transform: scale(1);
	        transform: scale(1);
	inset: 0;
}

#viewing-slider .viewing-slide.is-active .viewing-img {
	-webkit-transform: scale(1.1);
	        transform: scale(1.1);
}

#viewing-slider .viewing-slide .viewing-indicator {
	position: absolute;
	z-index: 10;
	bottom: 40px;
	left: 40px;
}

#viewing-slider .viewing-slide .viewing-indicator .circle-indicator {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	color: #fff;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 12px;
}

#viewing-slider .viewing-slide .viewing-indicator .circle-indicator .circle-visual {
	position: relative;
	width: 60px;
	height: 60px;
}

#viewing-slider .viewing-slide .viewing-indicator .circle-indicator .circle-visual .circle-svg {
	width: 60px;
	height: 60px;
	-webkit-transform: rotate(-90deg);
	        transform: rotate(-90deg);
}

#viewing-slider .viewing-slide .viewing-indicator .circle-indicator .circle-visual .circle-number {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
	font-weight: bold;
	pointer-events: none;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

#viewing-slider .viewing-slide .viewing-indicator .circle-indicator .circle-visual .circle-progress {
	-webkit-transition: stroke-dashoffset 0s;
	transition: stroke-dashoffset 0s;
	stroke-dasharray: 176;
	stroke-dashoffset: 176;
}

#viewing-slider .viewing-slide .viewing-indicator .circle-indicator.is-active .circle-progress {
	-webkit-transition: stroke-dashoffset 6s linear;
	transition: stroke-dashoffset 6s linear;
	stroke-dashoffset: 0;
}

#viewing-slider .viewing-slide .viewing-indicator .circle-indicator .circle-label {
	max-width: 200px;
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
	line-height: 1.4;
	white-space: normal;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.info_facility_ul {
	overflow: hidden;
}

.info_facility_ul .img_info_facility {
	margin-bottom: 15px;
}

.info_facility_ul .ttl_info_facility {
	margin-bottom: 15px;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
	font-weight: 700;
	font-style: normal;
	font-optical-sizing: auto;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.room_info_wrap {
	overflow: hidden;
	margin-top: 50px;
	margin-bottom: 0px;
}

.room_info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 50px;
	margin-bottom: 80px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.room_info .img_room_info {
	position: relative; /* 必須: スライダー位置を相対指定 */
	overflow: visible;
	max-width: 1009px; /* 最大幅 */
	padding-right: 50px;
	padding-bottom: 50px;
	-webkit-box-flex: 0;
	    -ms-flex: 0 1 60%;
	        flex: 0 1 60%; /* 比率維持: 元の60%サイズ */
	aspect-ratio: 16/9; /* 比率を固定 */
}

.room_info .cont_room_info {
	max-width: 570px;
	margin-left: 60px;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.room_info .ttl_info_facility {
	margin-bottom: 15px;
	padding-left: 38px;
	background-size: 28px;
	font-size: 22px;
	font-size: 2.2rem;
}

.room_info .txt_room_info {
	margin-top: 10px;
	margin-bottom: 30px;
	line-height: 1.8;
}

.room_info .thumbnail_ul {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr); /* 横2列 */
	grid-gap: 10px;
}

.room_info .thumbnail_ul li {
	border: 2px solid transparent;
	cursor: pointer;
	-webkit-transition: border-color 0.3s ease, opacity 0.8s ease;
	transition: border-color 0.3s ease, opacity 0.8s ease;
}

.room_info .thumbnail_ul li.is-active {
	opacity: 1; /* アクティブ状態の不透明度 */
}

.room_info .thumbnail_ul li:not(.is-active) {
	opacity: 0.5; /* 非アクティブ状態を少し透明に */
}

.room_info .thumbnail_ul li img {
	display: block;
	width: 100%;
	height: auto;
}

.room_info .splide__list {
	position: relative;
}

.room_info .splide__slide {
	position: absolute;
	opacity: 0; /* 初期状態は非表示 */
	-webkit-transition: opacity 1s ease;
	transition: opacity 1s ease; /* フェードアニメーション */
	-webkit-backface-visibility: hidden;
	        backface-visibility: hidden;
	will-change: opacity;
}

.room_info .splide__slide.is-active {
	z-index: 1;
	opacity: 1; /* アクティブ状態で表示 */
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.facility_box {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: #f6f6f6;
}

.imgtxt_content {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1.5fr 2fr;
	grid-template-columns: 1.5fr 2fr;
	gap: 50px;
}

.imgtxt_content > * {
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.imgtxt_content .image_facility {
	width: 100%;
	max-width: 475px;
	aspect-ratio: 475/400;
	-o-object-fit: cover;
	   object-fit: cover;
}

.imgtxt_content .note-box p {
	line-height: 1.8;
}

.imgtxt_content .text_facility .txt_facility {
	line-height: 1.8;
}

.imgtxt_content .text_facility .top_ttl_cont {
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: solid 1px #D9D9D9;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-style: normal;
	font-optical-sizing: auto;
}

.imgtxt_content .text_facility .top_ttl_cont .sub_ttl {
	color: #A9966E;
}

.imgtxt_content .text_facility .top_ttl_cont .circle_ttl {
	background-size: 28px;
	font-size: 22px;
	font-size: 2.2rem;
}

.imgtxt_content .text_facility .txt_facility {
	margin-bottom: 5rem;
}

.facility_box_list {
	display: -ms-grid;
	display: grid;
	margin-top: 40px;
	margin-inline: auto;
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.facility_box_list .facility_box img {
	display: block;
	width: 100%;
	height: auto;
}

.facility_box_list .image_facility {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 30px;
	margin-bottom: 30px;
	-o-object-fit: cover;
	   object-fit: cover;
	margin-inline: auto;
}

.facility_box_list .txt_facility {
	line-height: 1.8;
}

.facility_box_list .top_ttl_cont {
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: solid 1px #D9D9D9;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-style: normal;
	font-optical-sizing: auto;
}

.facility_box_list .top_ttl_cont .sub_ttl {
	margin-bottom: 5px;
	color: #A9966E;
}

.facility_box_list .top_ttl_cont .circle_ttl {
	background-size: 28px;
	font-size: 22px;
	font-size: 2.2rem;
}

.facility_box .img_gallery {
	margin-top: 50px;
}

.facility_box .img_gallery .img_gallery_ul {
	display: -ms-grid;
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 20px;
}

.facility_box .img_gallery .img_gallery_ul li img {
	display: block;
	width: 100%;
	height: auto;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#doctor.main-content {
	overflow: hidden;
	padding-bottom: 150px;
	background: #F8F8F8;
}

.ttl_doctor_top {
	margin-top: 80px;
	margin-bottom: 60px;
	line-height: 1.3;
	text-align: center;
}

.ttl_doctor_top .top_ttl_doctor {
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
}

.ttl_doctor_top .main_ttl_doctor {
	font-size: clamp(3rem, 3.2291666667vw, 6.2rem);
}

.doctor_list {
	margin-inline: auto;
}

.doctor_list .doctor_ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 40px;
}

.doctor_list .doctor_ul .doctor_ul_li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: calc((100% - 80px) / 3);
}

.doctor_list .name_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 20px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 20px;
}

.doctor_list .kata {
	font-size: clamp(1.5rem, 0.8333333333vw, 1.6rem);
}

.doctor_list .en_name {
	color: #A9966E;
	text-align: center;
}

.doctor_list .btn-more.btn_link {
	margin-top: 15px;
}

.doctor_list .doctor_ul_li {
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.doctor_list .doctor_ul_li .img_doctor_ul {
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.doctor_list .doctor_ul_li:hover,
.doctor_list .doctor_ul_li:active {
	cursor: pointer;
}

.doctor_list .doctor_ul_li:hover .img_doctor_ul,
.doctor_list .doctor_ul_li:active .img_doctor_ul {
	-webkit-transform: translateY(-5px);
	        transform: translateY(-5px);
}

.doctor_list .doctor_ul_li:hover .btn-more.btn_link a,
.doctor_list .doctor_ul_li:active .btn-more.btn_link a {
	background: #022D50;
	color: #FFFFFF;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.doctor_prof_box.doctor-detail {
	gap: 100px;
}

.doctor_prof_box.doctor-detail .catchcopy {
	margin-bottom: 20px;
}

.doctor_prof_box.doctor-detail .career_box .career_ul_txt {
	margin-bottom: 25px;
	text-align: left;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.lightboxOverlay,
.lightbox {
	z-index: 100001;
}

.gallery_section {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 40px 40px;
	border: 1px solid #0e2a47;
	background: #f8f8f8;
	margin-inline: auto;
}

.gallery_section .gallery_inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 1400px;
	margin: 0 auto;
	gap: 40px;
}

.gallery_section .gallery_inner .gallery_heading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	padding-right: 30px;
	border-right: 1px solid #022D50;
	text-align: left;
	-webkit-box-flex: 3;
	    -ms-flex: 3 1;
	        flex: 3 1;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.gallery_section .gallery_inner .gallery_heading .en {
	font-size: clamp(3rem, 2.6041666667vw, 5rem);
	font-weight: bold;
}

.gallery_section .gallery_inner .gallery_heading .jp {
	margin-top: 5px;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
}

.gallery_section .gallery_inner .gallery_images {
	display: -ms-grid;
	display: grid;
	-webkit-box-flex: 7;
	    -ms-flex: 7 1;
	        flex: 7 1;
	-ms-grid-columns: (1fr)[5];
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
}

.gallery_section .gallery_inner .gallery_images a {
	display: block;
	overflow: hidden;
	border-radius: 4px;
	aspect-ratio: 1/1;
}

.gallery_section .gallery_inner .gallery_images a img {
	width: 100%;
	height: 100%;
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center;
	   object-position: center;
}

.gallery_section .gallery_inner .gallery_images a img:hover {
	-webkit-transform: scale(1.05);
	        transform: scale(1.05);
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.message_section {
	overflow: hidden;
	margin-top: 100px;
	padding: 60px 20px;
	background: #000;
	background: url("images/doctor/bg_doctor_message.png") no-repeat;
}

.message_section .message_inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 1400px;
	margin: 0 auto;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 40px;
}

.message_section .message_inner .message_text {
	color: #0e2a47;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.message_section .message_inner .message_text .en {
	font-size: clamp(3.5rem, 3.125vw, 6rem);
	font-weight: bold;
}

.message_section .message_inner .message_text .jp {
	margin-bottom: 30px;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
}

.message_section .message_inner .message_img {
	position: relative;
	margin-top: -30px;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.message_section .message_inner .message_img img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
	-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
	        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.movie_simple {
	padding: 60px 20px;
	text-align: center;
}

.movie_simple .movie_title {
	font-size: clamp(3.5rem, 3.125vw, 6rem);
	font-weight: bold;
	line-height: 1;
}

.movie_simple .movie_sub {
	margin-bottom: 30px;
	margin-bottom: 40px;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
}

.movie_simple .movie_box {
	position: relative;
	max-width: 800px;
	margin: 0 auto;
}

.movie_simple .movie_box .movie_thumb {
	position: relative;
	cursor: pointer;
}

.movie_simple .movie_box .movie_thumb img {
	display: block;
	width: 100%;
	border-radius: 8px;
}

.movie_simple .movie_box .movie_thumb .play_button {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 80px;
	height: 80px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.85);
	-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	        box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	font-size: 2rem;
	color: #002b5b;
	cursor: pointer;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

.movie_simple .movie_box .movie_thumb .play_button:hover {
	background: #002b5b;
	color: #fff;
}

.modal-overlay {
	position: fixed;
	z-index: 999999;
	top: -8%;
	right: 0;
	bottom: 0;
	left: 0;
	display: none;
	background: rgba(0, 0, 0, 0.7);
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.modal-overlay .modal-content {
	position: relative;
	width: 90%;
	max-width: 960px;
}

.modal-overlay .modal-content .modal-close {
	position: absolute;
	top: 10px;
	right: 10px;
	border: none;
	background: none;
	font-size: 1.5rem;
	color: #fff;
	cursor: pointer;
}

.modal-overlay .modal-content .video-wrapper {
	position: relative;
	overflow: hidden;
	height: 0;
	padding-bottom: 56.25%;
}

.modal-overlay .modal-content .video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#director.main-content {
	overflow: hidden;
	padding-bottom: 0px;
	background: #F8F8F8;
}

#director.main-content .bottom-director {
	margin-top: 100px;
	margin-bottom: 120px;
}

#director.main-content .bottom-director .movie-content {
	margin-bottom: 60px;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.top_director_box {
	margin-inline: auto;
}

.top_director_box .top_name {
	margin-bottom: 10px;
	font-size: clamp(7.5rem, 4.5833333333vw, 8.8rem);
	line-height: 1;
}

.top_director_box .ss_jp_name {
	font-size: clamp(1rem, 0.78125vw, 1.5rem);
}

.top_director_box .jp_name {
	font-size: clamp(3rem, 2.0833333333vw, 4rem);
}

.top_director_box .jp_name span {
	font-size: clamp(2rem, 1.3020833333vw, 2.5rem);
}

.img_box {
	margin-left: 4vw;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.prof_wrap {
	position: relative;
	top: -10vw;
	width: calc(100% - 120px);
	max-width: 1500px;
	margin-bottom: -10vw;
	margin-inline: auto;
}

.prof_wrap .ss_ttl {
	font-size: clamp(2rem, 1.1458333333vw, 2.2rem);
}

.prof_wrap .top_ttl {
	font-size: clamp(3.3rem, 2.2916666667vw, 4.4rem);
}

.prof_wrap .top_ttl span {
	font-size: clamp(2.8rem, 1.6666666667vw, 3.2rem);
}

.prof_wrap .career .heading-line {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.prof_wrap .career .heading-line::after {
	height: 1px;
	margin-left: 1em;
	background: #022D50;
	content: "";
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.prof_wrap .career .career_tbl {
	width: 100%;
	margin-top: 20px;
}

.prof_wrap .career .career_tbl td,
.prof_wrap .career .career_tbl th {
	padding: 10px;
	vertical-align: top;
}

.prof_wrap .career .career_tbl th {
	padding: 10px 0px 10px 0px;
}

.prof_wrap .career .career_ul li {
	margin-bottom: 5px;
}

.prof_wrap .affiliation_society_ul {
	padding-top: 30px;
}

.prof_wrap .affiliation_society_ul li {
	margin-bottom: 10px;
}

.prof_wrap .affiliation_society_ul a {
	text-decoration: underline;
}

.prof_wrap .affiliation_society_ul a.icon_window {
	padding-right: 25px;
	background: url("images/common/icon_window.svg") no-repeat;
	background-position: right top 9px;
	background-size: 13px;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.acquisition_certified_box {
	margin-top: 50px;
}

.acquisition_certified_box .heading-line {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	margin-bottom: 20px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.acquisition_certified_box .heading-line::after {
	height: 1px;
	margin-left: 1em;
	background: #022D50;
	content: "";
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.acquisition_certified_box .box_acquisition_certified .top_ttl {
	font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
}

.acquisition_certified_box .box_acquisition_certified .sub_txt {
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.gallery_section_director {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 40px 40px;
	border: 1px solid #0e2a47;
	background: #f8f8f8;
	margin-inline: auto;
}

.gallery_section_director .gallery_inner {
	max-width: 1400px;
	margin: 0 auto;
}

.gallery_section_director .gallery_inner .gallery_heading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #022D50;
	text-align: left;
	-webkit-box-flex: 3;
	    -ms-flex: 3 1;
	        flex: 3 1;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.gallery_section_director .gallery_inner .gallery_heading .en {
	font-size: clamp(3rem, 2.6041666667vw, 5rem);
	font-weight: bold;
	line-height: 1;
}

.gallery_section_director .gallery_inner .gallery_heading .jp {
	margin-top: 5px;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
}

.gallery_section_director .gallery_inner .gallery_images {
	display: -ms-grid;
	display: grid;
	-webkit-box-flex: 7;
	    -ms-flex: 7 1;
	        flex: 7 1;
	-ms-grid-columns: (1fr)[8];
	grid-template-columns: repeat(8, 1fr);
	gap: 20px;
}

.gallery_section_director .gallery_inner .gallery_images a {
	display: block;
	overflow: hidden;
	border-radius: 4px;
	aspect-ratio: 1/1;
}

.gallery_section_director .gallery_inner .gallery_images a img {
	width: 100%;
	height: 100%;
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center;
	   object-position: center;
}

.gallery_section_director .gallery_inner .gallery_images a img:hover {
	-webkit-transform: scale(1.05);
	        transform: scale(1.05);
}

img:not([alt]) {
	-webkit-filter: none !important;
	        filter: none !important;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.history_director {
	width: calc(100% - 120px);
	max-width: 1500px;
	margin-top: 100px;
	margin-bottom: 150px;
	margin-inline: auto;
}

.history_director .ttl_history_directoy {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}

.history_director .history_director_box .img_content_history {
	margin-bottom: 20px;
}

.history_director .history_director_box .img_content_history img {
	width: 100%;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.parallax-sp-img {
	display: none;
}

.parallax-section {
	position: relative;
	overflow: hidden;
	min-height: 100vh;
	margin-top: 0;
}

.parallax-section .parallax-bg {
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	background-attachment: fixed;
	background-position: center;
	background-size: cover;
}

.parallax-section .parallax-bg::before {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	-webkit-filter: blur(6px);
	        filter: blur(6px);
}

.parallax-section.right .parallax-content {
	margin-right: 0;
	margin-left: auto;
	padding: 6% 6% 4% 6%;
}

.parallax-section.left .parallax-content {
	margin-right: auto;
	margin-left: 0;
	padding: 6% 6% 4% 6%;
}

.parallax-section .parallax-content {
	position: relative;
	z-index: 2;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 60%;
	max-width: 90%;
	margin-left: auto;
	padding: clamp(24px, 5vw, 40px) clamp(5vw, 8%, 60%);
	color: #fff;
}

.parallax-section .parallax-content::before {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.4);
	content: "";
	-webkit-backdrop-filter: blur(6px);
	        backdrop-filter: blur(6px);
}

.parallax-section .parallax-content .fade-in {
	position: relative;
	z-index: 1;
	opacity: 0;
	-webkit-transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
	transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
	transition: opacity 0.8s ease, transform 0.8s ease;
	transition: opacity 0.8s ease, transform 0.8s ease, -webkit-transform 0.8s ease;
	-webkit-transform: translateY(30px);
	        transform: translateY(30px);
}

.parallax-section .parallax-content .fade-in.active {
	opacity: 1;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

.parallax-section .parallax_box {
	margin-bottom: 80px;
}

.parallax-section .ttl_parallax {
	margin-bottom: 20px;
	font-size: clamp(2.8rem, 1.9791666667vw, 3.8rem);
}

.parallax-section .img_parallax {
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
	margin-top: 50px;
	margin-bottom: 40px;
	margin-inline: auto;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#news.main-content {
	padding-bottom: 100px;
}

.news-wrapper {
	width: calc(100% - 80px);
	max-width: 1400px;
	margin-inline: auto;
}

.news-list ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.news-list ul li {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 20px 20px 20px 0;
	border-bottom: 1px dashed #ccc;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 16px;
}

.news-list ul li time {
	width: 90px;
	font-size: 0.9rem;
	color: #666;
	white-space: nowrap;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}

.news-list ul li .label {
	padding: 4px 8px;
	border-radius: 4px;
	font-size: 0.8rem;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}

.news-list ul li .label.label-info {
	border: 1px solid #bfe3c2;
	background: #e5f5e7;
	color: #1a7f2e;
}

.news-list ul li .label.label-press {
	border: 1px solid #b3d5ff;
	background: #e7f3ff;
	color: #2a66b7;
}

.news-list ul li .news-content {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.news-list ul li .news-content .news-title {
	margin: 0 0 5px;
	font-weight: bold;
}

.news-list ul li .news-content .news-desc {
	margin: 0;
	font-size: 0.9rem;
	color: #333;
}

.news-list ul li .news-link {
	position: absolute;
	z-index: 1;
	inset: 0;
}

.category-description {
	width: calc(100% - 80px);
	max-width: 1400px;
	margin-bottom: 30px;
	font-size: clamp(1.4rem, 0.78125vw, 1.5rem);
	margin-inline: auto;
}

.news-category {
	margin-bottom: 25px;
	padding: 24px;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	background: #fff;
	-webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.news-category .cat-heading {
	margin-bottom: 16px;
	padding-left: 10px;
	border-left: 4px solid #022D50;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	font-weight: bold;
	color: #022D50;
}

.news-category .cat-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.news-category .cat-list li {
	border-top: 1px dashed #ccc;
}

.news-category .cat-list li:last-child {
	border-bottom: 1px dashed #ccc;
}

.news-category .cat-list li a {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 14px 10px;
	text-decoration: none;
	-webkit-transition: background-color 0.3s ease;
	transition: background-color 0.3s ease;
	-webkit-transition: color 0.3s ease, -webkit-transform 0.3s ease;
	transition: color 0.3s ease, -webkit-transform 0.3s ease;
	transition: color 0.3s ease, transform 0.3s ease;
	transition: color 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.news-category .cat-list li a span {
	position: relative;
	z-index: 1;
}

.news-category .cat-list li a:hover {
	background-color: #f5f8fa;
	color: #022D50;
	-webkit-transform: translateX(2px);
	        transform: translateX(2px);
}

.post_data {
	margin-bottom: 40px;
	margin-inline: auto;
}

.post_data .post_data_cat {
	margin-bottom: 5px;
	color: #022D50;
}

.post_data .cat_blog {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 5px;
	border-radius: 4px;
	background: #edf7ff;
	color: #022D50;
}

.post_data .main_post_ttl {
	position: relative;
	margin-bottom: 1.5em;
	padding: 0.4em 0;
	border-bottom: 3px solid #e3e3e3;
	font-size: clamp(2.8rem, 1.6666666667vw, 3.2rem);
	font-weight: bold;
}

.post_data .main_post_ttl::after {
	position: absolute;
	z-index: 1;
	bottom: -3px;
	left: 0;
	width: 3em;
	height: 3px;
	background-color: #022D50;
	content: "";
}

#single-content {
	margin: 0 auto;
}

#single-content h2 {
	position: relative;
	margin-bottom: 40px;
	border-radius: 15px;
	background: #022D50;
	line-height: 1.8;
	color: #FFFFFF;
}

#single-content h3 {
	margin-bottom: 40px;
	padding: 0.5em 0; /*上下の余白*/
	border-top: solid 3px #022D50; /*上線*/
	border-bottom: solid 3px #022D50; /*下線*/
	line-height: 1.8;
	color: #022D50; /*文字色*/
}

#single-content .post_ttl,
#single-content h4 {
	margin-bottom: 40px;
	padding: 0.4em 0.5em; /*文字の上下 左右の余白*/
	border-bottom: solid 3px #e6f3f8; /*下線*/
	border-left: solid 5px #022D50; /*左線*/
	border-radius: 5px;
	background: #edf7ff; /*背景色*/
	line-height: 1.8;
	color: #022D50; /*文字色*/
}

#single-content h5 {
	position: relative;
	margin-bottom: 40px;
	border-bottom: solid 3px #dedede;
	line-height: 1.8;
	color: #022D50;
}

#single-content h5:after {
	position: absolute;
	bottom: -3px;
	left: 0;
	display: block;
	width: 20%;
	border-bottom: solid 3px #022D50;
	content: " ";
}

#single-content h6 {
	margin-bottom: 40px;
	line-height: 1.8;
	color: #022D50;
}

#single-content img {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	max-width: 800px;
	margin: 0 auto 40px auto;
}

#single-content p {
	margin-bottom: 40px;
	padding: 0 0px;
}

#single-content p a {
	text-decoration: underline;
}

#single-content .wp-block-quote {
	margin-top: 10px;
	font-size: 15px;
	font-size: 1.5rem;
	color: #656565;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.authorbox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 30px 40px;
	border: 1px solid #e9e9e9;
	border-radius: 12px;
	background: #fafafa;
	color: #222;
	gap: 20px;
}

.authorbox__media {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
}

.authorbox__media .authorbox__avatar {
	display: block;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
	        box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
	-o-object-fit: cover;
	   object-fit: cover;
}

.authorbox__body {
	min-width: 0;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
}

.authorbox__name {
	margin: 0 0 2px;
	font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
	font-weight: 700;
	line-height: 1.2;
}

.authorbox__profile {
	margin-top: 10px;
	margin-bottom: 15px;
	font-size: clamp(1.3rem, 0.7291666667vw, 1.4rem);
}

.authorbox__title,
.authorbox__aff {
	margin: 0;
	font-size: clamp(1.2rem, 0.6770833333vw, 1.3rem);
	line-height: 1.6;
	color: #666;
}

.authorbox__title {
	margin-top: 2px;
}

.authorbox__aff {
	margin-top: 0;
}

.authorbox__bio {
	margin: 8px 0 0;
	font-size: 0.95rem;
	line-height: 1.8;
	color: #222;
}

.authorbox__tags {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 8px;
}

.authorbox__tags li {
	padding: 6px 10px;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	background: #f2f4f7;
	font-size: 12px;
	line-height: 1;
	white-space: nowrap;
}

.authorbox .authorbox__profile {
	color: #666;
}

.authorbox .authorbox__creds_box {
	margin-top: 15px;
	margin-bottom: 10px;
}

.authorbox .authorbox__creds_box .ttl_creds {
	margin-bottom: 8px;
	font-size: clamp(1.3rem, 0.7291666667vw, 1.4rem);
}

.authorbox__creds {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 4px 14px;
}

.authorbox__creds li {
	position: relative;
	padding-left: 14px;
	font-size: clamp(1.3rem, 0.6770833333vw, 1.3rem);
	color: #666;
}

.authorbox__creds li::before {
	position: absolute;
	top: 0.7em;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #c9ced6;
	content: "";
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

.authorbox__links {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
	font-size: clamp(1.2rem, 0.6770833333vw, 1.3rem);
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 8px 16px;
}

.authorbox__links a {
	color: #0b63ce;
	text-decoration: underline;
	-webkit-transition: opacity 0.2s ease;
	transition: opacity 0.2s ease;
	text-underline-offset: 2px;
}

.authorbox__links a:hover,
.authorbox__links a:focus-visible {
	outline: none;
	opacity: 0.8;
}

.authorbox__more {
	margin: 12px 0 0;
}

.authorbox__more a {
	display: inline-block;
	padding: 8px 12px;
	border: 1px solid #d9dde3;
	border-radius: 999px;
	background: #fff;
	color: #222;
	text-decoration: none;
	-webkit-transition: -webkit-box-shadow 0.2s ease, -webkit-transform 0.08s ease;
	transition: -webkit-box-shadow 0.2s ease, -webkit-transform 0.08s ease;
	transition: box-shadow 0.2s ease, transform 0.08s ease;
	transition: box-shadow 0.2s ease, transform 0.08s ease, -webkit-box-shadow 0.2s ease, -webkit-transform 0.08s ease;
}

.authorbox__more a:hover,
.authorbox__more a:focus-visible {
	outline: none;
	-webkit-box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
	        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
	-webkit-transform: translateY(-1px);
	        transform: translateY(-1px);
}

.authorbox + * {
	margin-top: 24px;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

.access_gmap {
	max-width: 1400px;
	margin-bottom: 40px;
	margin-inline: auto;
}

.access_gmap .map {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding-bottom: 35%; /* 16:9の比率 */
}

.access_gmap .map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

#access.main-content .ttl_all_style {
	margin-bottom: 30px;
}

#access.main-content .ttl_all_style .ss_ttl {
	margin-left: 20px;
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
}

.map_content .access_block_top.column {
	margin-bottom: 25px;
}

.map_content .attention {
	padding: 10px 0;
	background: #EEEEEE;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
}

.map_content .off_schedule {
	margin-left: auto;
	font-size: 15px;
	font-size: 1.5rem;
}

.map_content .off_schedule span {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 3px 50px;
	border: solid 2px #1650B1;
	border-radius: 50px;
	color: #1650B1;
	text-align: center;
}

.map_content .access_tbl {
	width: 100%;
}

.map_content .access_tbl th,
.map_content .access_tbl td {
	display: block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 15px;
}

.map_content .access_tbl td {
	border-bottom: solid 1px #D9D9D9;
}

/* ----------------------------------------------------*/

/* ----------------------------------------------------*/

#contact.main-content {
	padding-bottom: 80px;
}

.contactform-txt {
	margin-top: 0px;
	margin-bottom: 40px;
	text-align: center;
}

#contactForm {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: calc(100% - 40px);
	max-width: 1010px;
	margin: 0 auto 0 auto;
	padding: 30px 30px;
	background: #f6f6f6;
}

/* ----------------------------------------------------*/

/* フォーム
/* ----------------------------------------------------*/

.btn_contact {
	width: 300px;
	margin: 30px auto 30px auto;
}

.form_tbl {
	width: calc(100% - 60px);
	max-width: 1010px;
	margin: 0 auto;
}

.form_tbl th,
.form_tbl td {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 15px;
	border-bottom: solid 1px #D9D9D9;
	text-align: left;
}

.form_tbl th {
	width: 240px;
	font-size: 17px;
	font-size: 1.7rem;
}

.form_tbl td {
	width: auto;
}

.form_tbl .ttl_form {
	position: relative;
	display: block;
	padding-right: 60px;
}

.form_tbl .ttl_form .required {
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

.form_tbl .required {
	margin-right: 10px;
	margin-left: auto;
	padding: 0px 8px 0px 8px;
	border-radius: 3px;
	background: #e54347;
	font-size: 13px;
	font-size: 1.3rem;
	color: #FFFFFF;
}

.form_tbl .required.none {
	background: #b1b1b1;
}

.form_tbl .wpcf7-not-valid-tip {
	display: block;
	font-size: clamp(1.3rem, 0.7291666667vw, 1.4rem);
	color: #e54347;
}

.form_tbl .form_ss_txt {
	margin-top: 8px;
	font-size: 14px;
	font-size: 1.4rem;
	color: #7f7f7f;
}

.form_tbl input.form_m {
	width: 90%;
}

.form_tbl input.form_s_age {
	width: 40%;
}

.form_tbl select,
.form_tbl input,
.form_tbl textarea {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

.form_tbl select,
.form_tbl input {
	width: 90%;
	padding: 5px 15px;
	font-size: 16px;
	font-size: 1.6rem;
}

.form_tbl textarea {
	width: 100%;
	min-height: 250px;
	padding: 8px;
	font-size: 16px;
	font-size: 1.6rem;
	resize: vertical;
}

#contactForm input[type=date],
#contactForm input[type=email],
#contactForm input[type=tel],
#contactForm input[type=text],
#contactForm button,
#contactForm select,
#contactForm textarea {
	-webkit-appearance: none;
}

#contactForm select,
#contactForm input[type=date],
#contactForm input[type=email],
#contactForm input[type=tel],
#contactForm input[type=text] {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: solid 1px #D9D9D9;
	background: #ffffff;
}

#contactForm textarea {
	border: solid 1px #D9D9D9;
	background: #ffffff;
	resize: vertical;
}

#contactForm input[type=submit] {
	display: block;
	width: 100%;
	padding: 13px 0;
	border: solid 1px #022D50;
	border-radius: 50px;
	background: #022D50;
	-webkit-box-shadow: 0px 0px 0px #ffffff;
	        box-shadow: 0px 0px 0px #ffffff;
	font-size: 18px;
	font-size: 1.8rem;
	color: #FFFFFF;
	letter-spacing: 0.05em;
	cursor: pointer;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

#contactForm input[type=submit]:hover,
#contactForm input[type=submit]:active {
	background: #FFFFFF;
	color: #022D50;
}

#contactForm input[type=button],
#contactForm button[type=submit] {
	display: block;
	width: 100%;
	padding: 13px 0;
	border: none;
	background: #f6f6f6;
	-webkit-box-shadow: 0px 0px 0px #ffffff;
	        box-shadow: 0px 0px 0px #ffffff;
	font-size: 15px;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	cursor: pointer;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	margin: 10px 0 0;
	padding: 15px 35px 15px 14px;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
	text-align: center;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-validation-errors,
.wpcf7 form.unaccepted .wpcf7-validation-errors {
	border: solid 1px #F2DEDE;
	border: none;
	background-color: #F2DEDE;
	color: #B94A48;
}

.wpcf7 form.sent .wpcf7-response-output {
	border: solid 1px #D9EDF7;
	border: none;
	background-color: #D9EDF7;
	color: #3A87AD;
}

fieldset.hidden-fields-container {
	display: none;
}

.screen-reader-response {
	display: none;
}

@media (max-width: 850px) {

.all_txt p {
	font-size: 11px;
	font-size: 3.4375vw;
}

.container {
	width: 85%;
}

.mb100 {
	margin-bottom: 80px;
}

#header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

#header .head_nav_pctb {
	display: none;
}

#header .head_btn {
	margin-left: auto;
}

#header .head_btn .btn_head_contact {
	display: none;
}

#header .site-logo {
	padding: 15px 10px;
}

#header .site-logo img {
	width: 17vw;
	max-width: 161px;
	max-height: 126px;
	margin-inline: auto;
}

#navContent .nav_logo {
	width: 75%;
	margin-top: 13vw;
	margin-bottom: 8vw;
	margin-inline: auto;
}

#navContent .nav_list {
	width: 90%;
	margin-inline: auto;
}

#navContent .nav_list .nav_list_ul_li.active .nav_list_ul_ul {
	margin-top: 15px;
}

#navContent .nav_list .nav_list_ul_li {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	padding: 16px;
	border-bottom: 1px solid #ddd;
	cursor: pointer;
}

#navContent .nav_list .nav_list_ul_li > span,
#navContent .nav_list .nav_list_ul_li > a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: clamp(1.4rem, 0.8333333333vw, 2rem);
	color: #002b45;
	text-decoration: none;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

#navContent .nav_list .nav_list_ul_li > span::after,
#navContent .nav_list .nav_list_ul_li > a::after {
	width: 8px;
	height: 8px;
	border-right: 2px solid #002b45;
	border-bottom: 2px solid #002b45;
	content: "";
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}

#navContent .nav_list .nav_list_ul_li.active > span::after,
#navContent .nav_list .nav_list_ul_li.active > a::after {
	-webkit-transform: rotate(-135deg);
	        transform: rotate(-135deg);
}

#navContent .nav_list .nav_list_ul_li.no-sub > span::after,
#navContent .nav_list .nav_list_ul_li.no-sub > a::after {
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

#navContent .nav_list .nav_list_ul_li.no-sub.active > span::after,
#navContent .nav_list .nav_list_ul_li.no-sub.active > a::after {
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

#navContent .nav_list .nav_list_ul_li > ul {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.6s ease, padding 0.4s ease;
	transition: max-height 0.6s ease, padding 0.4s ease;
}

#navContent .nav_list .nav_list_ul_li.active > ul {
	max-height: 1000px;
	padding-top: 10px;
	padding-bottom: 10px;
}

#navContent .nav_list .nav_list_ul_li .in_nav_li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 10px;
	border-bottom: none;
	border-radius: 5px;
	background: #ECF6FB;
}

#navContent .nav_list .nav_list_ul_li .in_nav_li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 5px 15px;
	font-size: clamp(1.4rem, 0.8333333333vw, 2rem);
	font-weight: 700;
	color: #002b45;
	text-decoration: none;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

#navContent .nav_list .nav_list_ul_li .in_nav_li a::after {
	width: 8px;
	height: 8px;
	border-right: 2px solid #002b45;
	border-bottom: 2px solid #002b45;
	content: "";
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

#navContent .nav_list .nav_list_ul_li .nav_list_ul_ul .nav_list_ul_li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 10px;
	padding: 15px 15px;
	border-bottom: none;
	border-radius: 5px;
	background: #ECF6FB;
}

#navContent .nav_list .nav_list_ul_li .nav_list_ul_ul .nav_list_ul_li::after {
	display: none;
}

#navContent .nav_list .nav_list_ul_li .nav_list_ul_ul.in_menu {
	margin-top: 15px;
	background: #FFFFFF;
}

#navContent .nav_list .nav_list_ul_li .nav_list_ul_ul.in_menu .nav_list_ul_ul_li {
	padding: 10px 15px;
}

#navContent .nav_list .nav_list_ul_li .nav_list_ul_li > .nav_list_ul_ul {
	overflow: visible;
	max-height: none !important;
}

#navContent .nav_list .nav_list_ul_li .nav_list_ul_ul_li {
	padding: 8px 0;
	border-bottom: 1px dotted #ccc;
	font-size: clamp(1.4rem, 0.8333333333vw, 2rem);
	font-weight: normal;
}

#navContent .nav_list .nav_list_ul_li .nav_list_ul_ul_li.in_nav_li {
	border-bottom: none;
}

.waku_nav_sub_content {
	width: 85%;
	margin-top: 30px;
	margin-inline: auto;
}

.waku_nav_sub_content.topfront {
	width: 90%;
	margin-top: 30px;
	margin-inline: auto;
}

.waku_nav_sub_content .ttl_time {
	margin-bottom: 10px;
	font-size: 12px;
	font-size: 3.75vw;
}

.waku_nav_sub_content .attention {
	margin-top: 10px;
	margin-bottom: 15px;
	font-size: 9px;
	font-size: 2.8125vw;
}

.waku_nav_sub_content .tel_cv_box .ttl_telcv {
	margin-bottom: 10px;
	font-size: 12px;
	font-size: 3.75vw;
}

.waku_nav_sub_content .tel_cv_box .num_telcv {
	margin-bottom: 10px;
	font-size: 50px;
	font-size: 15.625vw;
}

.waku_nav_sub_content .btn_formcv a {
	font-size: 13px;
	font-size: 4.0625vw;
}

.schedule-table {
	-ms-grid-columns: 20vw (1fr)[8];
	grid-template-columns: 20vw repeat(8, 1fr);
}

.schedule-table thead td {
	font-size: 2.5vw;
}

.schedule-table thead td:last-of-type {
	font-size: 2vw;
}

.schedule-table tbody th {
	padding: 0;
}

.schedule-table tbody th .s_time_th .time_data {
	font-size: 3vw;
	letter-spacing: 0.03em;
}

.schedule-table tbody th .s_time_th .time_data .last_ss {
	font-size: 2.5vw;
	letter-spacing: 0em;
}

.schedule-table tbody td {
	padding: 0;
}

.schedule-table tbody td .c_blue img,
.schedule-table tbody td .c_line img {
	width: 4vw;
	height: 4vw;
	margin-top: 3vw;
}

.schedule-table tbody th {
	padding: 1vw 0;
}

.schedule-table tbody td {
	padding: 0 0 1vw 0;
}

#navContentFoot .nav_logo {
	width: 75%;
	margin-top: 13vw;
	margin-bottom: 8vw;
	margin-inline: auto;
}

#navContentFoot .nav_list {
	width: 90%;
	margin-inline: auto;
}

#navContentFoot .nav_list .nav_list_ul_li.active .nav_list_ul_ul {
	margin-top: 15px;
}

#navContentFoot .nav_list .nav_list_ul_li {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	padding: 16px;
	border-bottom: 1px solid #ddd;
	cursor: pointer;
}

#navContentFoot .nav_list .nav_list_ul_li > span,
#navContentFoot .nav_list .nav_list_ul_li > a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: clamp(1.4rem, 0.8333333333vw, 2rem);
	color: #002b45;
	text-decoration: none;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

#navContentFoot .nav_list .nav_list_ul_li > span::after,
#navContentFoot .nav_list .nav_list_ul_li > a::after {
	width: 8px;
	height: 8px;
	border-right: 2px solid #002b45;
	border-bottom: 2px solid #002b45;
	content: "";
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}

#navContentFoot .nav_list .nav_list_ul_li.active > span::after,
#navContentFoot .nav_list .nav_list_ul_li.active > a::after {
	-webkit-transform: rotate(-135deg);
	        transform: rotate(-135deg);
}

#navContentFoot .nav_list .nav_list_ul_li.no-sub > span::after,
#navContentFoot .nav_list .nav_list_ul_li.no-sub > a::after {
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

#navContentFoot .nav_list .nav_list_ul_li.no-sub.active > span::after,
#navContentFoot .nav_list .nav_list_ul_li.no-sub.active > a::after {
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

#navContentFoot .nav_list .nav_list_ul_li > ul {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.6s ease, padding 0.4s ease;
	transition: max-height 0.6s ease, padding 0.4s ease;
}

#navContentFoot .nav_list .nav_list_ul_li.active > ul {
	max-height: 1000px;
	padding-top: 10px;
	padding-bottom: 10px;
}

#navContentFoot .nav_list .nav_list_ul_li .in_nav_li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 10px;
	border-bottom: none;
	border-radius: 5px;
	background: #ECF6FB;
}

#navContentFoot .nav_list .nav_list_ul_li .in_nav_li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 5px 15px;
	font-size: clamp(1.4rem, 0.8333333333vw, 2rem);
	font-weight: 700;
	color: #002b45;
	text-decoration: none;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

#navContentFoot .nav_list .nav_list_ul_li .in_nav_li a::after {
	width: 8px;
	height: 8px;
	border-right: 2px solid #002b45;
	border-bottom: 2px solid #002b45;
	content: "";
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

#navContentFoot .nav_list .nav_list_ul_li .nav_list_ul_ul .nav_list_ul_li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 10px;
	padding: 15px 15px;
	border-bottom: none;
	border-radius: 5px;
	background: #ECF6FB;
}

#navContentFoot .nav_list .nav_list_ul_li .nav_list_ul_ul .nav_list_ul_li::after {
	display: none;
}

#navContentFoot .nav_list .nav_list_ul_li .nav_list_ul_ul.in_menu {
	margin-top: 15px;
	background: #FFFFFF;
}

#navContentFoot .nav_list .nav_list_ul_li .nav_list_ul_ul.in_menu .nav_list_ul_ul_li {
	padding: 10px 15px;
}

#navContentFoot .nav_list .nav_list_ul_li .nav_list_ul_li > .nav_list_ul_ul {
	overflow: visible;
	max-height: none !important;
}

#navContentFoot .nav_list .nav_list_ul_li .nav_list_ul_ul_li {
	padding: 8px 0;
	border-bottom: 1px dotted #ccc;
	font-size: clamp(1.4rem, 0.8333333333vw, 2rem);
	font-weight: normal;
}

#navContentFoot .nav_list .nav_list_ul_li .nav_list_ul_ul_li.in_nav_li {
	border-bottom: none;
}

.footer-banner {
	width: 90%;
	margin-top: 15vw;
}

.footer-banner .sns-box {
	padding-top: 15px;
	padding-bottom: 30px;
}

.footer-banner .sns-box .ttl_sns {
	margin-top: 15px;
	margin-left: 30px;
	font-size: 20px;
	font-size: 6.25vw;
}

.footer-banner .sns-box .sns-list {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	width: 90%;
	margin-inline: auto;
	gap: 10px;
}

.footer-banner .sns-box .sns-list li a {
	padding: 15px 35px;
}

.footer-banner .info-banners {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}

.footer-banner .info-banners .banner-img {
	-ms-flex-item-align: auto;
	    -ms-grid-row-align: auto;
	    align-self: auto;
}

.footer-bottom {
	padding-right: 0px;
	font-size: 9px;
	font-size: 2.8125vw;
	text-align: center;
}

#pagenav {
	width: 90%;
	margin: 6vw auto 8vw auto;
}

#pagenav .wp-pagenavi {
	font-size: 3.2vw;
	font-weight: bold;
	text-align: center;
}

#pagenav .wp-pagenavi a,
#pagenav .wp-pagenavi span {
	display: none;
	font-weight: 400;
}

#pagenav .wp-pagenavi a.nextpostslink,
#pagenav .wp-pagenavi a.previouspostslink {
	display: inline-block;
	width: 45%;
	padding: 2.5vw 0;
	background: #022D50;
	font-weight: bold;
	color: #FFFFFF;
	text-align: center;
}

#pagenav .wp-pagenavi a.previouspostslink {
	margin-right: 3%;
	border: none;
	font-size: 0;
}

#pagenav .wp-pagenavi a.previouspostslink::after {
	font-size: 3.2vw;
	content: "← 前のページへ";
}

#pagenav .wp-pagenavi a.nextpostslink {
	border: none;
	font-size: 0;
}

#pagenav .wp-pagenavi a.nextpostslink::before {
	font-size: 3.2vw;
	content: "次のページへ →";
}

.btn_link {
	width: 100%;
	margin-inline: auto;
}

.btn_link a {
	display: block;
	padding: 0.8em 1em;
	font-size: 4vw;
	text-align: center;
}

.pageHead__inner {
	padding: 15vw 0 6vw 0;
}

.calendar-container {
	width: 96%;
	margin-inline: auto;
}

.calendar-wrap .txt {
	width: 100%;
	padding: 6px 0px;
	font-size: 14px;
	font-size: 1.4rem;
}

.calendar-txt_01,
.calendar-txt_02,
.calendar-txt_03 {
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: 700;
}

.calendar-notion {
	font-size: 15px;
	font-size: 1.5rem;
}

.mv-splide {
	aspect-ratio: 834/1311;
}

#mv-slide {
	aspect-ratio: 834/1311;
}

#mv-slide .mv_side_content {
	display: none;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	padding: 25px 20px;
}

#mv-slide .mv_side_content .img_side {
	margin-bottom: 15px;
}

.mv_side_content_sp {
	display: block;
	background: #022D50;
	color: #FFFFFF;
}

#mv {
	overflow: hidden;
	padding: 20px 0;
	background: url("images/mv/bg_mv_sp.jpg") no-repeat;
	background-size: cover;
	aspect-ratio: 834/1600;
}

#mv .mv_img {
	position: absolute;
}

#mv .mv_img img {
	width: 100%;
	height: auto;
}

#mv .mv_img.catch_copy {
	top: 12%;
	left: 5%;
	width: 90%;
}

#mv .mv_img.mv_doctor {
	right: -5%;
	bottom: 16%;
	width: 60%;
}

#mv .mv_img.mv_feature {
	top: 30%;
	left: 5%;
	width: 55%;
}

#mv .mv_img.mv_achievement {
	bottom: 35%;
	left: 5%;
	width: 55%;
}

#mv .mv_img.mv_name {
	right: 5%;
	bottom: 37%;
	width: 35%;
}

#mv .mv_img.mv_qualification {
	right: 5%;
	bottom: 19%;
	width: 90%;
}

#mv .mv_side_content {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	padding: 25px 20px;
}

#mv .mv_side_content .img_side {
	margin-bottom: 15px;
}

#top-about {
	background: url("images/top/bg_top_about_sp.png") no-repeat top center #DDEEFC;
	background-size: 100%;
}

#top-about .in_content {
	padding: 50px 0 0 0;
}

#top-about .ttl_en {
	font-size: 15vw;
	text-align: center;
}

#top-about .wrap_cont {
	width: 95%;
	margin-top: 50vw;
	padding: 7vw 8vw 10vw 8vw;
	margin-inline: auto;
}

#top-about .top_ttl_about {
	font-size: 20px;
	font-size: 6.25vw;
}

.bn_interview {
	height: 45vw;
}

#top-director {
	padding: 50px 0;
}

#top-director .ttl_img_director {
	max-width: 80%;
}

#top-director .img_prof_sp img {
	width: 55%;
	max-width: 250px;
}

#top-director .sub_ttl {
	width: 85%;
	margin-top: -16vw;
	margin-bottom: 5vw;
	margin-inline: auto;
}

#top-director .sub_ttl .top_subttl {
	font-size: 12px;
	font-size: 3.75vw;
}

#top-director .sub_ttl .middle_subttl {
	margin-bottom: 10px;
	font-size: 16px;
	font-size: 5vw;
}

#top-director .sub_ttl .name_subttl {
	font-size: 17px;
	font-size: 5.3125vw;
}

#top-director .sub_ttl .ss {
	font-size: 12px;
	font-size: 3.75vw;
}

#top-director .career {
	display: none;
}

#top-director .btn_prof_more {
	width: 85%;
	margin-inline: auto;
}

#top-director .btn_prof_more a .ss {
	margin: 0 5px;
	font-size: 4vw;
}

#top-director .btn_prof_more a {
	display: block;
	padding: 0.4em 1em;
	font-size: 6vw;
	text-align: center;
}

.bottom-director {
	margin-top: 30px;
}

.bottom-director .instagram-box {
	margin-top: 12vw;
}

.bottom-director .ttl_instagram img,
.bottom-director .ttl_movie img {
	width: 85%;
	margin-inline: auto;
}

.bottom-director .caption .top_caption {
	margin-bottom: 5px;
	font-size: 12px;
	font-size: 3.75vw;
}

.bottom-director .caption .top_caption .pc_none {
	display: block;
}

.bottom-director .caption .main_caption {
	font-size: 16px;
	font-size: 5vw;
}

.bottom-director .btn_instagram_more {
	width: 100%;
	margin-inline: auto;
}

.bottom-director .btn_instagram_more a {
	display: block;
	padding: 1em 1em;
	font-size: 4vw;
	text-align: center;
}

#top-doctor {
	padding: 25vw 0 10vw 0;
}

#top-doctor .ttl_doctor {
	width: 75%;
	margin-inline: auto;
}

.doctor_prof_box {
	display: block;
	width: 100%;
	text-align: center;
	padding-inline: 5vw;
}

.doctor_prof_box .img_doctor {
	width: 55%;
	max-width: 200px;
	margin-inline: auto;
}

.doctor_prof_box .catchcopy {
	margin-top: 20px;
	font-size: 14px;
	font-size: 4.375vw;
}

.doctor_prof_box .name_box {
	margin-top: 15px;
	gap: 10px;
}

.doctor_prof_box .name_box .kata {
	margin-bottom: 8px;
	font-size: 12px;
	font-size: 3.75vw;
}

.doctor_prof_box .name_box .name {
	font-size: 20px;
	font-size: 6.25vw;
}

.doctor_prof_box .career_box {
	display: none;
}

.splide-prev,
.splide-next {
	width: 80px;
	height: 80px;
	font-size: 2.5vw;
}

.splide-prev {
	left: -20px;
	padding-left: 30px;
	clip-path: inset(0 0 0 20%);
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}

.splide-next {
	right: -20px;
	padding-right: 30px;
	clip-path: inset(0 20% 0 0);
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

.btn_link {
	margin-top: 15px;
}

.btn_link a {
	padding: 10px 0;
}

#top-firstabout {
	padding: 50vw 0 10vw 0;
	background: url("images/top/bg_firstabout_sp.jpg") no-repeat top center #ffffff;
	background-size: 100%;
}

#top-firstabout .sp_ttlpolicy {
	margin-bottom: 15px;
	text-align: center;
}

#top-firstabout .sp_ttlpolicy span {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 2px 5px;
	background: #022D50;
	color: #E5CB7B;
}

#top-firstabout .box_firstabout {
	margin-bottom: 40px;
	padding: 0 5vw 5vw 5vw;
}

#top-firstabout .box_firstabout:first-of-type {
	padding: 12vw 5vw;
	border-bottom: dotted 1px #022D50;
}

#top-firstabout .box_firstabout .img_point_icon {
	top: -20px;
	left: -20px;
}

#top-firstabout .box_firstabout .img_point_icon img {
	width: 150px;
}

#top-firstabout .box_firstabout .ttl_firstabout {
	margin-bottom: 20px;
	font-size: 15px;
	font-size: 4.6875vw;
}

#top-firstabout .box_firstabout .ttl_firstabout .sp_none {
	display: none;
}

#top-firstabout .box_firstabout .btn_area_firstabout .btn_link {
	margin-top: 15px;
}

#top-firstabout .box_firstabout .btn_area_firstabout .btn_link a {
	padding: 3vw 0;
	font-size: 12px;
	font-size: 3.75vw;
}

#top-pointcontent {
	display: block;
}

#top-pointcontent .box_pointc {
	width: 100%;
	aspect-ratio: 834/510;
}

#top-pointcontent .box_pointc .in_pointc {
	bottom: 20px;
}

#top-pointcontent .box_pointc.bg_pointc_01 {
	background: url("images/top/bg_pointc_01_sp.png") no-repeat top center;
	background-size: contain;
}

#top-pointcontent .box_pointc.bg_pointc_02 {
	background: url("images/top/bg_pointc_02_sp.png") no-repeat top center;
	background-size: contain;
}

#top-pointcontent .box_pointc.bg_pointc_03 {
	background: url("images/top/bg_pointc_03_sp.png") no-repeat top center;
	background-size: contain;
}

#top-pointcontent .box_pointc.bg_pointc_04 {
	background: url("images/top/bg_pointc_04_sp.png") no-repeat top center;
	background-size: contain;
}

#top-pointcontent .box_pointc .ttl_pointc {
	font-size: 15px;
	font-size: 4.6875vw;
}

#top-pointcontent .box_pointc .txt_pointc {
	font-size: 10px;
	font-size: 3.125vw;
}

#top-pointcontent .box_pointc .txt_pointc .sp_none {
	display: none;
}

#top-news {
	width: 95%;
	padding: 50px 0 50px 0;
	margin-inline: auto;
}

#top-news .ttl_news_box {
	margin-bottom: 30px;
}

#top-news .ttl_news_box .btn_link {
	display: none;
}

#top-news .sp.btn_link {
	width: 85%;
	margin-inline: auto;
}

#top-news .sp.btn_link a {
	padding: 3vw 0;
}

#top-news .ttl_news_box .ttl_news {
	width: 98%;
	font-size: 16px;
	font-size: 5vw;
	margin-inline: auto;
}

.news-tabs {
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.news-tabs li {
	padding: 15px;
	font-size: 12px;
	font-size: 3.75vw;
}

.news-contents .news-item a {
	position: relative;
	display: block;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	width: 100%;
	padding: 15px 35px 15px 15px;
	font-weight: 500;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.news-contents .news-item .news-meta {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 3vw;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.news-contents .news-item .news-date,
.news-contents .news-item .news-cat {
	display: inline-block;
	font-size: 3vw;
}

.news-contents .news-item .news-cat {
	margin-left: 10px;
}

.news-contents .news-item .news-title {
	margin: 10px 0 0 0;
	font-size: 3.5vw;
	font-weight: 500;
}

.news-contents .news-item .news-arrow {
	position: absolute;
	top: 50%;
	right: 10px;
	width: 10px;
	height: 10px;
	margin: 0;
	border-right: 2px solid #022D50;
	border-bottom: 2px solid #022D50;
	-webkit-transform: translateY(-50%) rotate(-45deg);
	        transform: translateY(-50%) rotate(-45deg);
}

.top-time-access {
	padding: 0px 0 80px 0;
}

.top-time-access .top_access {
	margin-top: 50px;
}

.top-time-access .top_access .time {
	width: 90%;
	margin-inline: auto;
}

.top-time-access .top_access .txt_access {
	width: 90%;
	font-size: 12px;
	font-size: 3.75vw;
	margin-inline: auto;
}

.top-time-access .top_access .more_access {
	width: 90%;
	margin-inline: auto;
}

.top-time-access .top_access .more_access img {
	width: 50%;
}

.top-time-access .top_access .more_access .sub_ttl {
	margin-bottom: 10px;
}

#top-menu {
	padding: 50px 0;
}

.feature-text-area .feature-title {
	margin-bottom: 15px;
}

.feature-text-area .feature-points li {
	font-size: 12px;
	font-size: 3.75vw;
}

.feature-text-area .caption_box .img_caption img {
	width: 50%;
	margin-inline: auto;
}

.feature-text-area .caption_box .feature-caption .caption-label {
	text-align: center;
}

.feature-text-area .caption_box .feature-caption .caption-text {
	font-size: 11px;
	font-size: 3.4375vw;
}

.feature-links {
	width: 90%;
	margin-inline: auto;
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
	gap: 30px;
}

.feature-links .feature-link-box .link-img .link-title {
	font-size: 14px;
	font-size: 4.375vw;
}

.feature-links .feature-link-box .link-img .link-title span {
	padding: 5px 10px 0 10px;
}

.feature-links .feature-link-box .link-img .link-arrow {
	width: 30px;
	height: 30px;
}

.feature-links .feature-link-box .link-content {
	padding: 15px 10px 20px 15px;
}

.feature-links .feature-link-box .link-content .link-text {
	font-size: 12px;
	font-size: 3.75vw;
}

.compare-section .section-heading {
	text-align: center;
}

.compare-section .section-heading .section-title {
	margin-bottom: 5px;
	font-size: 16px;
	font-size: 5vw;
}

.compare-section .section-heading .section-caption {
	font-size: 10px;
	font-size: 3.125vw;
}

.compare-section .compare-list {
	margin-top: 20px;
	margin-bottom: 0px;
	gap: 20px !important;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.compare-section {
	margin-top: 80px;
}

.compare-section .section-heading {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
}

.compare-section .compare-list {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 15px;
	background: #f3f3f3;
	margin-inline: auto;
	gap: 40px;
}

.compare-section .btn-detail {
	width: 85%;
	margin-inline: auto;
}

.treatment-section {
	margin-top: -50px;
}

.treatment-section .section-title {
	margin-bottom: 30px;
}

.treatment-section .treatment-list {
	gap: 10px;
}

.treatment-section .treatment-list {
	width: 100%;
	margin-inline: auto;
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
	justify-items: center;
}

.treatment-section .treatment-list a.treatment-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	max-width: 100%;
	padding: 10px !important;
	-webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
	        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
	text-align: left;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.treatment-section .treatment-list a.treatment-item img {
	position: static;
	width: 60px;
	height: 60px;
	margin-right: 16px;
	border-radius: 8px;
	-webkit-transform: none;
	        transform: none;
}

.treatment-section .treatment-list a.treatment-item .treatment-content {
	margin-top: 0;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.treatment-section .treatment-list a.treatment-item .treatment-content h3 {
	margin-bottom: 0;
	font-size: clamp(16px, 4vw, 18px);
}

.treatment-section .treatment-list a.treatment-item .treatment-content p {
	display: none;
}

.treatment-section .treatment-list a.treatment-item .arrow {
	position: static;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 32px;
	height: 32px;
	margin-left: auto;
	border-radius: 8px;
	background: #e5f0f5;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.treatment-section .treatment-list a.treatment-item .arrow::before {
	width: 8px;
	height: 8px;
	border-right: 2px solid #0e2d4c;
	border-bottom: 2px solid #0e2d4c;
	content: "";
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

.cerec-section .cerec-inner .cerec-text .ttl_cerec-text {
	display: none;
}

.cerec-section .cerec-inner {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 24px;
}

.cerec-section .cerec-inner .cerec-image {
	width: 100%;
}

.cerec-section .cerec-inner .cerec-image img {
	width: 100%;
}

.cerec-section .cerec-inner .cerec-text h3 {
	font-size: 20px;
}

.cerec-section .cerec-inner .cerec-text h3 span {
	font-size: 22px;
}

.cerec-section .cerec-inner .cerec-text p {
	font-size: 14px;
}

.cerec-section .cerec-inner .cerec-text .btn-link {
	padding: 10px 20px;
	font-size: 14px;
}

.cerec-section .cerec-inner .cerec-text .btn-link .arrow::before {
	width: 7px;
	height: 7px;
}

.main-content.in-menu .sp_none {
	display: none;
}

.content_width {
	width: 85%;
}

.content_width_large {
	width: 85%;
}

.ttl_menu_page {
	font-size: 13px;
	font-size: 4.0625vw;
}

.heading-top {
	font-size: 14px;
	font-size: 4.375vw;
}

.heading-second {
	font-size: 14px;
	font-size: 4.375vw;
}

.heading-bg_ttl {
	font-size: 16px;
	font-size: 5vw;
}

.heading-bg_ttl::before {
	bottom: 1.8em;
	font-size: 13px;
	font-size: 4.0625vw;
}

.ttl_sub_menu_page {
	font-size: 20px;
	font-size: 2rem;
}

.ttl_normal_menu_page {
	font-size: 20px;
	font-size: 2rem;
}

.hukidashi_point .ttl_hukidashi_point {
	padding: 0.4em 1em 0.5em 1em;
	font-size: 16px;
	font-size: 1.6rem;
}

.hukidashi_point.in_hukidashi .ttl_hukidashi_point {
	padding: 0.4em 1em 0.5em 1em;
	font-size: 16px;
	font-size: 1.6rem;
}

.hukidashi_point .icon-attention {
	padding-left: 25px;
	background-position: left 0 top 2px;
	background-size: 17px;
}

.hukidashi_point .icon-question {
	padding-left: 25px;
	background-position: left 0 top 2px;
	background-size: 17px;
}

.hukidashi_point.container {
	width: 100%;
}

.page-list-ul .ttl_attention {
	font-size: 13px;
	font-size: 4.0625vw;
}

.page-list-ul .list_ul li {
	font-size: 11px;
	font-size: 3.4375vw;
}

.menu_box_top {
	width: 90%;
	margin-bottom: 80px;
}

.menu_box_top .ttl_menu_box_top {
	font-size: 14px;
	font-size: 4.375vw;
}

.menu_box_top .sub_list_link li {
	font-size: 12px;
	font-size: 3.75vw;
}

.main-content.in-main#policy {
	padding-bottom: 10vw;
}

.policy_top_ttl {
	min-height: 50vw;
	background: url("images/policy/bg_policy_top_ttl_sp.png") no-repeat top center;
	background-size: contain;
}

.policy_top_ttl .in_policy_top_ttl {
	bottom: 12vw;
}

.policy_top_ttl .ttl_top_policy {
	font-size: 5vw;
}

.policy_top_ttl .txt_policy {
	font-size: 3vw;
}

.policy_concept-section {
	margin-top: 0vw;
	margin-bottom: 8vw;
}

.policy_concept-section .concept-inner {
	padding: 60px 20px;
}

.policy_concept-section .concept-image {
	position: relative;
	z-index: 10;
	text-align: center;
	-webkit-transform: translateY(13vw);
	        transform: translateY(13vw);
}

.policy_concept-section .concept-image img {
	width: 80%;
	margin-inline: auto;
}

.policy_concept-section .concept-text {
	width: 100%;
	margin: 0 auto;
	padding: 20px 10px;
	text-align: center;
}

.policy_concept-section .concept-text .concept-desc {
	font-size: 11px;
	font-size: 3.4375vw;
}

.policy_feature_section {
	padding: 50px 0 40px 0;
}

.policy_feature_section.first {
	padding: 140px 0 80px 0;
}

.policy_feature_section .feature_section_block {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.policy_feature_section .feature-text {
	width: 85%;
	margin-top: 5vw;
	margin-inline: auto;
}

.policy_feature_section .feature-image {
	width: 75%;
	margin-inline: auto;
}

.policy_feature_section .feature-title {
	margin-bottom: 25px;
	font-size: 16px;
	font-size: 5vw;
}

.policy_feature_section .feature-desc {
	font-size: 11px;
	font-size: 3.4375vw;
}

.heading-number {
	width: 40px;
	height: 40px;
}

.heading-number span {
	font-size: 14px;
	font-size: 4.375vw;
	line-height: 40px;
}

.policy_point {
	width: 90%;
	margin-top: 30px;
	padding: 25px 30px 50px 30px;
	border-top: solid 15px #022D50;
	border-left: none;
}

.policy_point .ttl_policy_point {
	margin-bottom: 15px;
	font-size: 14px;
	font-size: 4.375vw;
}

.policy_point .txt_policy_point {
	font-size: 11px;
	font-size: 3.4375vw;
	line-height: 1.8;
}

.policy_point .txt_policy_point .bg_blue_ul_li {
	margin-bottom: 10px;
	border-radius: 10px;
}

.second_opinion {
	margin-top: 40px;
}

.second_opinion .txt_second_opinion {
	width: 85%;
	padding-top: 40px;
	font-size: 11px;
	font-size: 3.4375vw;
}

.second_opinion .merit_box .merit_ul {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	width: 95%;
	margin: 0 auto;
	gap: 16px;
}

.second_opinion .merit_box .merit_ul li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	text-align: left;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: 16px;
}

.second_opinion .merit_box .merit_ul li .box_merit_li {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.second_opinion .merit_box .merit_ul li .sp_none {
	display: none;
}

.second_opinion .merit_box .merit_ul li img {
	width: 100px;
}

.second_opinion .merit_box .merit_ul .sub_txt_merit {
	margin-bottom: 5px;
	font-size: 13px;
	font-size: 4.0625vw;
}

.second_opinion .merit_box .merit_ul p {
	font-size: 11px;
	font-size: 3.4375vw;
}

.policy_description {
	width: 85%;
	margin-bottom: 30px;
	padding-top: 40px;
	font-size: 11px;
	font-size: 3.4375vw;
}

.policy_description .ttl_policy_description {
	padding: 10px 0;
	font-size: 16px;
	font-size: 5vw;
}

.policy_description .txt_policy_description {
	margin-bottom: 30px;
	padding-top: 15px;
	font-size: 11px;
	font-size: 3.4375vw;
}

.check_merit_box {
	width: 100%;
	margin-top: 13vw;
	padding: 0px 5vw 6vw 5vw;
	font-size: 11px;
	font-size: 3.4375vw;
}

.check_merit_box .ttl_check_merit {
	width: calc(100% - 40px);
}

.description_bottom .short-line-heading {
	font-size: 4.5vw;
	text-align: center;
}

.description_bottom .bg_blue_ul {
	margin-bottom: 10px;
	padding: 5vw 5vw;
	border-radius: 10px;
}

.page-top-ttl {
	margin-bottom: 30px;
}

.page-top-ttl .page-main_ttl {
	font-size: 14px;
	font-size: 4.375vw;
}

.ttl_line_btm .en_ttl {
	font-size: 3vw;
}

#case.main-content {
	padding-bottom: 80px;
}

.case_category_ul li {
	margin-bottom: 5vw;
}

.case_category_ul li .box_case_cat::after {
	right: 20px;
	width: 10px;
	height: 10px;
}

.case_category_ul li .box_case_cat .ttl_box {
	padding-right: 2rem;
}

.case_category_ul li .box_case_cat .jp_ttl {
	font-size: 16px;
	font-size: 5vw;
}

.case_category_ul li .box_case_cat .ttl_txt {
	font-size: 11px;
	font-size: 3.4375vw;
}

.case_ul_archive .img_case_box .label_case {
	width: 100px;
	padding: 4px 8px;
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
}

.case_ul_archive .jp_ttl {
	font-size: 4vw;
}

#case-single .img_case_main {
	width: 90%;
	margin-bottom: 15px;
}

#case-single .compare-labels .label {
	padding: 6px 15px;
	font-size: 3vw;
}

#case-single .case_attention {
	font-size: 13px;
	font-size: 4.0625vw;
}

#case-single .case_attention .pc_none {
	display: block;
}

#case-single .case_data_tbl {
	width: 90%;
	margin-bottom: 15px;
}

#case-single .comment_box {
	width: 90%;
	margin-bottom: 15px;
	padding: 4rem 3rem 2rem 3rem;
}

#case-single .comment_box .risc_title {
	padding: 0.3em 0.5em;
}

#case-single .risc_box {
	width: 90%;
	margin-bottom: 15px;
	padding: 4rem 2rem 2rem 1rem;
}

#case-single .risc_box .risc_title {
	padding: 0.3em 0.5em;
}

.content_width_large.bottom_case_cat {
	margin-top: 13vw;
}

.case_ul_archive .compare-item,
.compare-list .compare-item {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 95%;
	padding: 15px;
	border-radius: 10px;
	background: #ffffff;
	margin-inline: auto;
}

.case_ul_archive .compare-caption,
.compare-list .compare-caption {
	width: 100%;
	font-size: 9px;
	font-size: 2.8125vw;
	margin-inline: auto;
}

.case_ul_archive .case_data_tbl,
.compare-list .case_data_tbl {
	width: 100%;
	max-width: 100%;
	margin-bottom: 15px;
}

.risc_box_long {
	width: 90%;
	margin-top: 30px;
	margin-bottom: 15px;
	padding: 2.5rem 2rem 1rem 1rem;
}

.risc_box_long .risc_title {
	top: -1em;
	left: 1.5rem;
	padding: 0.3em 0.5em;
	font-size: 10px;
	font-size: 3.125vw;
}

.risc_box_long .risc_list li {
	font-size: 9px;
	font-size: 2.8125vw;
}

.top_head_notice {
	background: url("images/implant/bg_top_head_notice_sp.png") no-repeat top center #10355C;
	background-size: contain;
}

.top_head_notice .ttl_box_hn {
	width: 90%;
	margin-bottom: 40px;
	padding-top: 25vw;
}

.top_head_notice .ttl_box_hn .jp_main {
	font-size: 18px;
	font-size: 5.625vw;
}

.top_head_notice .ttl_box_hn .jp_txt {
	font-size: 10px;
	font-size: 3.125vw;
}

.top_head_notice .ttl_box_hn .jp_txt .sp_none {
	display: none;
}

.top_head_notice .img_head_top .main_img_head_top img {
	width: 90%;
}

.top_head_notice .img_head_top .img_en_txt img {
	width: 80%;
}

.about_implant {
	margin: 50px auto 60px auto;
}

.about_implant .img_about_implant {
	width: 80%;
	margin-inline: auto;
}

.about_implant .cont_about_implant {
	width: 85%;
	margin-inline: auto;
}

.about_implant .cont_about_implant .ttl_about_implant {
	margin-top: 30px;
	margin-bottom: 20px;
	font-size: 18px;
	font-size: 5.625vw;
}

.about_btm_box {
	padding: 8vw 0;
}

.about_btm_box .top_about_btm {
	margin-bottom: 20px;
	font-size: 3.8vw;
}

.about_btm_box .top_about_btm span {
	font-size: 5.3vw;
}

.about_btm_box .box_in_about {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.about_btm_box .img_about {
	width: 80%;
	margin-bottom: 15px;
	-webkit-transform: none;
	        transform: none;
	margin-inline: auto;
	-webkit-box-ordinal-group: 1;
	    -ms-flex-order: 0;
	        order: 0;
}

.about_btm_box .cont_about {
	width: 85%;
	margin-inline: auto;
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
}

.about_btm_box .cont_about .attention_about {
	margin-top: 40px;
	margin-bottom: 20px;
	padding-bottom: 20px;
	font-size: 15px;
	font-size: 4.6875vw;
}

.about_btm_box .cont_about .attention_about .ttl_attention {
	margin-bottom: 5px;
}

.implant_feature {
	margin-top: 100px;
}

.implant_feature .ttl_implant_feature {
	width: 90%;
}

.implant_feature .bg_implant_feature {
	padding: 80px 0;
	aspect-ratio: 1920/728;
}

.implant_feature .bg_implant_feature .en_implant_feature {
	font-size: 20px;
	font-size: 6.25vw;
}

.implant_feature .bg_implant_feature .top_ttl_implant_feature span {
	font-size: 15px;
	font-size: 4.6875vw;
}

.implant_feature .bg_implant_feature .btm_ttl_implant_feature {
	font-size: 15px;
	font-size: 4.6875vw;
}

.implant_facility {
	margin: 0px auto 60px auto;
}

.implant_facility .img_implant_facility {
	width: 80%;
	margin-bottom: 15px;
	margin-inline: auto;
}

.implant_facility .txt_implant_facility {
	width: 85%;
	margin-inline: auto;
}

.state_of_the_art {
	margin: 0px auto 60px auto;
	padding-bottom: 15px;
}

.state_of_the_art .top_state_of_the_art {
	font-size: 16px;
	font-size: 5vw;
}

.state_of_the_art .img_state_of_the_art {
	width: 40%;
	margin-top: 30px;
	margin-bottom: 20px;
	margin-inline: auto;
}

.state_of_the_art .box_state_of_the_art {
	width: 85%;
	margin-inline: auto;
}

.state_of_the_art .box_state_of_the_art .in_ttl_bsota span {
	font-size: 13px;
	font-size: 4.0625vw;
}

.state_of_the_art .box_state_of_the_art p {
	font-size: 11px;
	font-size: 3.4375vw;
}

.state_of_the_art .box_state_of_the_art p span {
	display: block;
	width: 100%;
	text-align: center;
}

.all_on_x .top_all_on_x {
	padding-top: 20px;
	aspect-ratio: 1920/300;
}

.all_on_x .top_all_on_x .ttl_top_all_on_x {
	width: 70%;
}

.all_on_x .box_all_on_x {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	width: 90%;
	margin-top: 50px;
	margin-bottom: 40px;
}

.all_on_x .box_all_on_x .img_top_all_on_x {
	width: 100%;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
	margin-bottom: 15px;
	margin-inline: auto;
}

.all_on_x .box_all_on_x .cont_all_on_x {
	width: 85%;
	margin-bottom: 15px;
	margin-inline: auto;
}

.years_old_wrapper {
	margin-bottom: 50px;
	padding: 30px 0;
}

.years_old_wrapper .headline-box {
	margin-bottom: 20px;
	font-size: 16px;
	font-size: 5vw;
	text-align: center;
	white-space: normal;
}

.years_old_wrapper .headline-box span {
	display: inline-block;
	margin-bottom: 8px;
}

.years_old_wrapper .text-content {
	width: 85%;
	font-size: 11px;
	font-size: 3.4375vw;
	margin-inline: auto;
}

.surgical_guide_wrapper {
	width: 90%;
	padding: 15px 20px 30px 20px;
}

.surgical_guide_wrapper .surgical_guide_title {
	font-size: 14px;
	font-size: 4.375vw;
}

.surgical_guide_section .content_guide .note-box {
	padding: 0 20px 10px 20px;
}

.surgical_guide_section .content_guide .note-box p {
	font-size: 11px;
	font-size: 3.4375vw;
}

.note-label {
	top: -2vw;
	font-size: 12px;
	font-size: 3.75vw;
}

.implant_huki_point {
	margin-top: 3em;
	padding: 0em 1em 1em 1em;
}

.implant_huki_point.container {
	width: 100%;
}

.concept4s_ul {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr; /* 1列レイアウト */
	gap: 0px; /* 要素間の余白 */
}

.concept4s_ul li {
	margin-bottom: 15px;
	padding: 5px 0 25px 0;
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr; /* 1列レイアウト */
	gap: 0px; /* 要素間の余白 */
}

.concept4s_ul .img_concept4s {
	width: 40%;
	margin-inline: auto;
}

.concept4s_ul .cont_concept4s {
	text-align: center;
}

.concept4s_ul .ttl_en_concept4s {
	margin-top: 0px;
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.2;
}

.concept4s_ul .ttl_ejp_concept4s {
	font-size: 20px;
	font-size: 2rem;
}

.concept4s_ul .txt_concept4s {
	font-size: 14px;
	font-size: 1.4rem;
}

.concept4s_ul .txt_concept4s .sp_br {
	display: block;
}

.ore_room_ul {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr; /* 1列レイアウト */
	gap: 0px; /* 要素間の余白 */
}

.ore_room_ul li {
	margin-bottom: 15px;
}

.implant-risk__title {
	font-size: 16px;
	font-size: 5vw;
}

.implant-risk {
	padding: 30px 15px;
}

.implant-risk__title {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0;
}

.implant-risk__title .implant-risk__line {
	display: none;
}

.implant-risk__list {
	width: 90%;
	font-size: 11px;
	font-size: 3.4375vw;
	margin-inline: auto !important;
}

.implant_doctor {
	margin-top: 0px;
	margin-bottom: 60px;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.implant_doctor .ttl_implant_doctor {
	top: -30px;
	width: 90%;
	padding-bottom: 0px;
}

.implant_doctor .bg_implant_doctor {
	padding: 30px 0 30px 0;
	background: url("images/implant/bg_implant_doctor_sp.png") no-repeat top center #F0F0F0;
	background-size: 100%;
	aspect-ratio: 1920/728;
}

.implant_doctor .bg_implant_doctor .implant_doctor_box img {
	width: 50%;
	margin-inline: auto;
}

.implant_doctor .wrap_implant_doctor {
	width: 95%;
}

.implant_doctor .wrap_implant_doctor .cont_implant_doctor {
	padding: 5vw 7vw;
}

.implant_doctor .name_box {
	padding-bottom: 15px;
}

.implant_doctor .name_box .name {
	font-size: 5vw;
}

.implant_doctor .name_box .name span {
	font-size: 3.8vw;
}

.implant_doctor .name_box .affiliation {
	font-size: 11px;
	font-size: 3.4375vw;
}

.implant_doctor .name_box .en_box {
	font-size: 10px;
	font-size: 3.125vw;
}

.implant-page .page-top-ttl {
	margin-bottom: 0;
}

.top_implant_about {
	padding: 4vw 6vw 4vw 6vw;
}

.top_implant_about .ttl_top_implant_about {
	margin-bottom: 20px;
	font-size: 13px;
	font-size: 4.0625vw;
}

.top_implant_about.container {
	width: 100%;
}

.ttl_top_shinbi_in {
	margin-top: 0px;
	font-size: 13px;
	font-size: 4.0625vw;
}

.list-osusume_ul li {
	font-size: 11px;
	font-size: 3.4375vw;
}

.heading-arrow {
	font-size: 13px;
	font-size: 4.0625vw;
}

.heading-arrow::after {
	left: 45%;
}

#implant-recovery.implant-page .txt_pmtc {
	font-size: 10px;
	font-size: 3.125vw;
}

.heading-numbig {
	padding-left: 0em;
}

.implant-page .step-box__title,
.implant-page .ttl_normal_menu_page,
.implant-page .ttl_pmtc {
	font-size: 13px;
	font-size: 4.0625vw;
}

.implant-page .attention_ul li,
.implant-page .list_ul li {
	font-size: 11px;
	font-size: 3.4375vw;
}

.implant-page .treatment-flow .treatment-flow__heading .flow__heading_ttl span {
	display: none;
}

.case_list_tbl {
	width: 90%;
	margin-inline: auto;
}

.case_list_tbl td,
.case_list_tbl th {
	display: block;
	padding-right: 0;
	padding-left: 0;
	font-size: 11px;
	font-size: 3.4375vw;
}

.case_list_tbl td {
	padding-top: 8px;
	padding-bottom: 18px;
}

.case_list_tbl th {
	padding-bottom: 0;
	border-bottom: none;
}

.main-content.implant-page .qa_accordion li .qa_question {
	padding-right: 2em;
	font-size: 11px;
	font-size: 3.4375vw;
}

.main-content.implant-page .qa_accordion li .qa_answer .qa_inner {
	padding-top: 0;
}

.main-content.implant-page .qa_accordion li .qa_answer .qa_inner .qa_icon {
	display: none;
}

.main-content.implant-page .qa_accordion li .qa_answer .qa_inner p {
	font-size: 11px;
	font-size: 3.4375vw;
}

.doctor_intro_block .doctor_box {
	width: 100%;
}

.doctor_intro_block .doctor_box .doctor_txt p {
	font-size: 11px;
	font-size: 3.4375vw;
}

.team-box {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.team-box .team-image {
	max-width: 100%;
}

.team-box .team-text .team-heading {
	font-size: 13px;
	font-size: 4.0625vw;
}

.growth_stage_section .growth_stage_flex {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.growth_stage_section .growth_stage_box {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 100%;
	        flex: 1 1 100%;
}

.top_implant_cause .cause_list {
	margin-bottom: 40px;
}

.top_implant_cause .cause_list li {
	padding: 2vw 5vw 5vw 5vw;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 100%;
	        flex: 1 1 100%;
}

.top_implant_cause .cause_list li .cause_box .cause_title {
	font-size: 14px;
	font-size: 4.375vw;
}

.top_implant_cause .cause_list li .cause_box p {
	font-size: 11px;
	font-size: 3.4375vw;
}

.mb100.fullmouth {
	margin-bottom: 40px !important;
}

.about_implant.kyosei .img_about_implant {
	width: 80%;
	margin-inline: auto;
}

.about_btm_box.kyosei {
	padding: 8vw 0;
}

.about_btm_box.kyosei .top_about_btm {
	margin-bottom: 20px;
	font-size: 3.8vw;
}

.about_btm_box.kyosei .top_about_btm span {
	font-size: 5.3vw;
}

.about_btm_box.kyosei .about_btm_txt {
	margin-bottom: 0;
}

.about_btm_box.kyosei .img_kyosei_about {
	width: 95%;
	margin-inline: auto;
}

.num_health_tooth_wrap .num_health_tooth li {
	margin-bottom: 5vw;
	padding: 2vw 5vw 6vw 5vw;
}

.num_health_tooth_wrap .num_health_tooth li p {
	font-size: 11px;
	font-size: 3.4375vw;
}

.cont_kyosei_doctor {
	margin-top: 0px;
	margin-bottom: 60px;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.cont_kyosei_doctor .ttl_kyosei_doctor {
	top: -30px;
	width: 90%;
	padding-bottom: 0px;
}

.cont_kyosei_doctor .bg_kyosei_doctor {
	padding: 15px 0 10px 0;
}

.cont_kyosei_doctor .box_kyosei_doctor {
	width: 95%;
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul li {
	margin-bottom: 4vw;
	padding: 5vw 5vw 8vw 5vw;
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .img_box_doctor_link {
	width: 50%;
	margin-inline: auto;
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .cont_doctor_link {
	text-align: center;
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .top_ttl {
	margin-top: 15px;
	font-size: 10px;
	font-size: 3.125vw;
	margin-inline: auto;
}

.cont_kyosei_doctor .all_txt {
	width: 90%;
	margin-inline: auto;
}

.correction_type.mouthpiece {
	top: -60px;
}

.correction_type .top_icon {
	padding: 10px 0;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.correction_type .top_icon img {
	width: 15%;
}

.main_correction_type {
	padding-bottom: 100px;
}

.main_correction_type .orthodontic-wire {
	padding: 0;
}

.main_correction_type .orthodontic-wire__tag {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	font-size: 14px;
	font-size: 4.375vw;
	text-align: center;
	margin-inline: auto;
}

.main_correction_type .orthodontic-wire__title {
	font-size: 20px;
	font-size: 6.25vw;
	text-align: center;
}

.main_correction_type .orthodontic-wire__text {
	width: 85%;
	margin-inline: auto;
}

.main_correction_type .orthodontic-wire__inner {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 30px;
}

.treatment-flow {
	width: 85%;
	margin-inline: auto;
}

.treatment-flow .treatment-flow__heading {
	margin-top: 30px;
	margin-bottom: 15px;
}

.treatment-flow .treatment-flow__heading .flow__heading_ttl {
	font-size: 16px;
	font-size: 5vw;
}

.treatment-flow .step-box__head .step-box__title {
	font-size: 12px;
	font-size: 3.75vw;
}

.table_shinbi #hidaku_shinbi th,
.table_shinbi #hidaku_shinbi td {
	width: 10%;
	min-width: 80px;
}

.table_shinbi #hidaku_shinbi.whitening .pc_br {
	display: none;
}

.attention_box .ttl_attention {
	font-size: 13px;
	font-size: 4.0625vw;
}

.attention_box .in_wrap {
	padding: 30px 25px;
}

.attention_box .ttl_sub_attention {
	margin-bottom: 20px;
	font-size: 12px;
	font-size: 3.75vw;
}

.attention_box .attention_ul li {
	margin-bottom: 15px;
	padding-bottom: 15px;
	padding-left: 0em;
	border-bottom: dotted 2px #E8E8E8;
	font-size: 11px;
	font-size: 3.4375vw;
}

.table_shinbi #hidaku_shinbi th,
.table_shinbi #hidaku_shinbi td {
	width: 10%;
	min-width: 80px;
}

.table_shinbi #hidaku_shinbi.whitening .pc_br {
	display: none;
}

.pmtc_cont_ul li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 20px;
	padding: 30px 25px;
}

.bottom_info_container_yobou {
	padding: 30px 30px 40px 30px;
}

.bottom_info_container_yobou .ttl_firstabout {
	margin-bottom: 20px;
	font-size: 15px;
	font-size: 4.6875vw;
}

.bottom_info_container_yobou .ttl_firstabout .sp_none {
	display: none;
}

.treatment-flow.yobou {
	width: 100%;
}

.list_ippan_ul li.list_ippan_li {
	margin-bottom: 15vw;
}

.list_ippan_ul .ttl_ippan_list {
	font-size: 18px;
	font-size: 1.8rem;
}

.sport-list-block .box_list {
	margin-bottom: 15vw;
}

.children_effect_ul li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 20px;
	padding: 20px 25px 30px 25px;
}

.children_effect_ul .img_children_effect img {
	width: 60%;
}

.gaps_cont_ul li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 10px;
	padding: 15px 25px;
}

.gaps_cont_ul .ttl_pmtc {
	font-size: 12px;
	font-size: 3.75vw;
}

.gaps_cont_ul .ttl_pmtc .ss {
	font-size: 10px;
	font-size: 3.125vw;
}

.compare-section.directbonding {
	margin-top: 40px;
}

.btn-detail.directbonding a {
	font-size: 11px;
	font-size: 3.4375vw;
}

.kyosei_genre_ul .ttl_kyosei_genre {
	font-size: 16px;
	font-size: 5vw;
}

.kyosei_genre_ul {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr; /* 1列レイアウト */
	gap: 0px; /* 要素間の余白 */
}

.kyosei_genre_ul li {
	margin-bottom: 15px;
}

.icon-check-li .best_point {
	margin-top: 15px;
	margin-bottom: 20px;
	padding: 10px 18px 15px 18px;
}

.icon-check-li .best_point .ttl_best_point {
	margin-bottom: 10px;
	font-size: 12px;
	font-size: 3.75vw;
}

.icon-check-li .best_point .best_point_ul li {
	margin-bottom: 5px;
	font-size: 11px;
	font-size: 3.4375vw;
}

.icon-check-li .best_point .best_point_ul li::before {
	content: "・";
}

.qa-style summary {
	padding: 1em 0.5em 1em 2em;
	font-size: 12px;
	font-size: 3.75vw;
}

.qa-style summary::before {
	left: 0em;
}

.qa-style p::before {
	left: 0em;
}

.qa-style p {
	padding: 0.5em 3em 2em 2em;
	font-size: 11px;
	font-size: 3.4375vw;
}

#viewing-slider {
	height: 50vh;
}

#viewing-slider .viewing-slide .viewing-indicator {
	bottom: 30px;
	left: 20px;
}

.info_facility_ul li {
	margin-bottom: 10vw;
}

.room_info_wrap {
	margin-top: 0px;
}

.facility_box.container {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
}

.imgtxt_content {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
}

.imgtxt_content .image_facility {
	margin-inline: auto;
}

.imgtxt_content .note-box p {
	font-size: 11px;
	font-size: 3.4375vw;
}

.imgtxt_content .text_facility .txt_facility {
	font-size: 11px;
	font-size: 3.4375vw;
}

.imgtxt_content .text_facility .top_ttl_cont .circle_ttl {
	background-size: 24px;
}

.facility_box_list.container {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
}

.facility_box_list .txt_facility {
	font-size: 11px;
	font-size: 3.4375vw;
}

.facility_box_list .top_ttl_cont .circle_ttl {
	background-size: 24px;
}

#doctor.main-content {
	padding-bottom: 100px;
}

.ttl_doctor_top {
	margin-top: 0px;
	margin-bottom: 30px;
	padding-top: 90px;
}

.ttl_doctor_top .top_ttl_doctor {
	font-size: 11px;
	font-size: 3.4375vw;
}

.ttl_doctor_top .main_ttl_doctor {
	font-size: 26px;
	font-size: 8.125vw;
}

.ttl_doctor_top .main_ttl_doctor.ss {
	font-size: 20px;
	font-size: 6.25vw;
}

.ttl_doctor_top .jp_ttl_doctor {
	font-size: 9px;
	font-size: 2.8125vw;
}

.doctor_list {
	width: 85%;
}

.doctor_list .img_doctor_ul {
	width: 55%;
	max-width: 200px;
	margin-inline: auto;
}

.doctor_list .name_box {
	margin-top: 10px;
	gap: 5px;
}

.doctor_list .name {
	margin-top: 0;
	margin-bottom: 25px;
	line-height: 0;
}

.doctor_list .kata {
	margin-bottom: 5px;
	font-size: 11px;
	font-size: 3.4375vw;
}

.doctor_list .en_name {
	font-size: 9px;
	font-size: 2.8125vw;
}

.doctor_prof_box.doctor-detail .catchcopy {
	margin-top: 20px;
	font-size: 15px;
	font-size: 4.6875vw;
}

.doctor_prof_box.doctor-detail .name_box {
	margin-bottom: 25px;
	gap: 0px;
}

.doctor_prof_box.doctor-detail .name_box .kata {
	margin-bottom: 5px;
	font-size: 11px;
	font-size: 3.4375vw;
}

.doctor_prof_box.doctor-detail .name_box .name {
	font-size: 20px;
	font-size: 6.25vw;
}

.doctor_prof_box.doctor-detail .career_box {
	display: block;
	margin-bottom: 15px;
}

.doctor_prof_box.doctor-detail .career_box .heading-line {
	font-size: 15px;
	font-size: 4.6875vw;
}

.gallery_section {
	width: 95%;
	margin-top: 80px;
	padding: 30px 30px;
}

.message_section {
	margin-top: 50px;
}

.message_section .message_inner {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.message_section .message_inner .message_text {
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
}

.message_section .message_inner .message_img {
	width: 100%;
	margin-top: 0;
	-webkit-box-ordinal-group: 1;
	    -ms-flex-order: 0;
	        order: 0;
}

.btn-turn {
	width: 85%;
	margin-inline: auto;
}

.movie_simple {
	padding: 20px 20px;
}

#director.main-content {
	padding-bottom: 0px;
}

#director.main-content .sp_none {
	display: none;
}

#director.main-content .bottom-director {
	margin-top: 80px;
	margin-bottom: 80px;
}

.top_director_box {
	width: 85%;
	padding-top: 100px;
}

.top_director_box .top_name {
	font-size: 18px;
	font-size: 5.625vw;
}

.top_director_box .ss_jp_name {
	font-size: 10px;
	font-size: 3.125vw;
}

.top_director_box .jp_name {
	font-size: 20px;
	font-size: 6.25vw;
}

.top_director_box .jp_name span {
	font-size: 16px;
	font-size: 5vw;
}

.img_box {
	margin-left: 19vw;
}

.img_box img {
	max-width: 250px;
}

.left_name {
	width: 100%;
	text-align: center;
}

.right_name {
	position: relative;
	top: -20vw;
	width: 100%;
	text-align: center;
}

.prof_wrap {
	top: -18vw;
	width: 85%;
}

.prof_wrap .ss_ttl {
	font-size: 11px;
	font-size: 3.4375vw;
}

.prof_wrap .top_ttl {
	font-size: 15px;
	font-size: 4.6875vw;
}

.prof_wrap .top_ttl span {
	font-size: 11px;
	font-size: 3.4375vw;
}

.prof_wrap .career_warp {
	margin-top: 20px;
}

.prof_wrap .career {
	margin-bottom: 30px;
}

.prof_wrap .career .career_tbl {
	margin-top: 10px;
}

.prof_wrap .career .career_tbl {
	font-size: 14px;
	font-size: 1.4rem;
}

.prof_wrap .affiliation_society_ul li {
	font-size: 14px;
	font-size: 1.4rem;
}

.acquisition_certified_box {
	margin-top: 20px;
}

.acquisition_certified_box .acquisition_certified_ul li {
	margin-bottom: 15px;
}

.acquisition_certified_box .box_acquisition_certified {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 30px;
	gap: 20px;
}

.acquisition_certified_box .box_acquisition_certified .img_acquisition_certified {
	width: 70px;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
}

.acquisition_certified_box .box_acquisition_certified .txt_acquisition_certified {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.acquisition_certified_box .box_acquisition_certified .top_ttl {
	font-size: 13px;
	font-size: 4.0625vw;
}

.acquisition_certified_box .box_acquisition_certified .sub_txt {
	font-size: 11px;
	font-size: 3.4375vw;
}

.gallery_section_director {
	width: 95%;
	margin-top: 20px;
	padding: 30px 30px;
}

.history_director {
	width: 85%;
	margin-top: 50px;
}

.history_director .history_director_box .content_history {
	margin-bottom: 30px;
}

.history_director .history_director_box .txt_content_history {
	font-size: 11px;
	font-size: 3.4375vw;
}

.parallax-sp-img {
	display: block;
}

.parallax-section .ttl_parallax {
	font-size: 14px;
	font-size: 4.375vw;
}

.parallax-section .img_parallax {
	margin-bottom: 40px;
}

.parallax-section .img_parallax .description {
	margin-top: 5px;
	font-size: 10px;
	font-size: 3.125vw;
}

.parallax-section {
	overflow: visible;
	margin-top: 0;
	padding: 0;
}

.parallax-section .parallax-bg {
	display: none;
}

.parallax-section .parallax-sp-img {
	display: block;
	width: 100%;
	height: auto;
}

.parallax-section .parallax-sp-img img {
	display: block;
	width: 100%;
	height: auto;
}

.parallax-section .parallax_box {
	margin-bottom: 50px;
}

.parallax-section .parallax-content {
	position: relative;
	z-index: 2;
	width: 85%;
	max-width: 100%;
	margin: 0 auto;
	padding: 40px 0px 0 0;
	border-radius: 0;
	color: #022D50;
}

.parallax-section .parallax-content::before {
	background: rgba(0, 0, 0, 0);
	-webkit-backdrop-filter: blur(6px);
	        backdrop-filter: blur(6px);
}

.parallax-section:nth-of-type(even) .parallax-content {
	margin: 0 auto;
	padding: 40px 0px 0 0;
}

.parallax-section .sp-only {
	display: block;
	width: 100%;
}

.parallax-section .sp-only img {
	display: block;
	width: 100%;
	height: auto;
}

.parallax-section .pc-only {
	display: none !important;
}

.news-wrapper {
	width: 95%;
}

.news-list ul li {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 8px;
}

.news-list ul li time {
	width: auto;
}

.news-list ul li .label {
	-ms-flex-item-align: start;
	    align-self: flex-start;
}

.category-description {
	width: 95%;
	font-size: 10px;
	font-size: 3.125vw;
}

.news-category {
	margin-top: 32px;
}

.post_data {
	width: 90%;
}

.post_data .post_data_cat {
	margin-bottom: 0px;
	font-size: 11px;
	font-size: 3.4375vw;
}

.post_data .main_post_ttl {
	font-size: 15px;
	font-size: 4.6875vw;
}

#single-content {
	width: 90%;
}

#single-content h2 {
	padding: 20px 20px;
	font-size: 18px;
	font-size: 1.8rem;
}

#single-content h3 {
	margin-bottom: 20px;
	padding: 10px 15px;
	font-size: 18px;
	font-size: 1.8rem;
}

#single-content .post_ttl,
#single-content h4 {
	margin-bottom: 20px;
	padding: 10px 15px;
	font-size: 18px;
	font-size: 1.8rem;
}

#single-content h5 {
	margin-bottom: 20px;
	padding: 10px 15px;
	font-size: 18px;
	font-size: 1.8rem;
}

#single-content h6 {
	margin-bottom: 20px;
	padding: 0 15px;
	font-size: 18px;
	font-size: 1.8rem;
}

#single-content img {
	width: 100%;
}

#single-content p {
	font-size: 11px;
	font-size: 3.4375vw;
}

.authorbox {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	padding: 16px;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 16px;
}

.authorbox__media {
	margin-inline: auto;
}

.authorbox__media .authorbox__avatar {
	width: 72px;
	height: 72px;
}

.authorbox__profile {
	font-size: 10px;
	font-size: 3.125vw;
}

.authorbox__title,
.authorbox__aff {
	font-size: 9px;
	font-size: 2.8125vw;
}

.authorbox__links {
	font-size: 9px;
	font-size: 2.8125vw;
}

.authorbox__more a {
	padding: 7px 10px;
}

.access_gmap .map {
	padding-bottom: 60%; /* 16:9の比率 */
}

#access.main-content .ttl_all_style {
	margin-bottom: 10px;
}

#access.main-content .ttl_all_style .line_ttl {
	font-size: 15px;
	font-size: 4.6875vw;
}

.map_content .info_schedule,
.map_content .info_access {
	margin-bottom: 50px;
}

.map_content .off_schedule span {
	display: block;
	width: 100%;
}

.map_content .access_tbl th,
.map_content .access_tbl td {
	display: block;
	width: 100%;
	padding-right: 0;
	padding-left: 0;
}

.map_content .access_tbl {
	font-size: 11px;
	font-size: 3.4375vw;
}

.map_content .access_tbl th {
	padding-bottom: 0;
	border-bottom: none;
}

.map_content .access_tbl td {
	padding-top: 5px;
}

.btn_contact {
	width: 85%;
}

.form_tbl .wpcf7-not-valid-tip {
	font-size: 10px;
	font-size: 3.125vw;
}

}

@media (prefers-reduced-motion: reduce) {

* {
	-webkit-transition-duration: 0.01ms !important;
	        transition-duration: 0.01ms !important;
	-webkit-animation-duration: 0.01ms !important;
	        animation-duration: 0.01ms !important;
	-webkit-animation-iteration-count: 1 !important;
	        animation-iteration-count: 1 !important;
	scroll-behavior: auto !important;
}

* {
	-webkit-transition-duration: 0.01ms !important;
	        transition-duration: 0.01ms !important;
	-webkit-animation-duration: 0.01ms !important;
	        animation-duration: 0.01ms !important;
	-webkit-animation-iteration-count: 1 !important;
	        animation-iteration-count: 1 !important;
	scroll-behavior: auto !important;
}

}

@media (851px <= width) {

#header {
	display: -ms-grid;
	display: grid;
	pointer-events: none;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: start;
	-ms-grid-columns: auto 1fr auto;
	grid-template-columns: auto 1fr auto;
	gap: 0rem;
}

#header > * {
	-ms-flex-item-align: start;
	    -ms-grid-row-align: start;
	    align-self: start;
}

#header .site-logo {
	-ms-grid-column-align: start;
	    justify-self: start;
}

#header .site-logo a {
	pointer-events: auto;
}

#header .head_nav_pctb {
	-ms-flex-item-align: center;
	    -ms-grid-row-align: center;
	    align-self: center;
}

#header .head_btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-grid-column-align: end;
	    justify-self: end;
}

#header .head_btn a {
	pointer-events: auto;
}

#header .site-logo {
	width: 12.5vw;
	max-width: 240px;
	padding: 15px 0 20px 0;
}

#header .site-logo img {
	width: 7vw;
	max-width: 161px;
	max-height: 126px;
	margin-inline: auto;
}

.head_nav_pctb > ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: -30px;
	list-style: none;
	gap: 20px;
}

.head_nav_pctb > ul li::after {
	padding-left: 20px;
	color: #FFFFFF;
	content: "｜";
}

.head_nav_pctb > ul li:last-of-type::after {
	content: " ";
}

.head_nav_pctb > ul li a {
	position: relative;
	font-size: 1vw;
	color: #FFFFFF;
}

.head_nav_pctb > ul li a::after {
	position: absolute;
	bottom: -15px; /*アンダーラインが現れ始める位置（aタグの下辺からの高さ）*/
	left: 0;
	visibility: hidden;
	width: 100%;
	height: 2px;
	background: #FFFFFF;
	content: "";
	opacity: 0;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.head_nav_pctb > ul li a:hover::after {
	bottom: -5px; /*アニメーションが止まる位置*/
	visibility: visible;
	opacity: 1;
}

#navContent .in_nav {
	display: -ms-grid;
	display: grid;
	width: 85%;
	padding-top: 40px;
	margin-inline: auto;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: start;
	-ms-grid-columns: 1.3fr 1fr;
	grid-template-columns: 1.3fr 1fr;
	gap: 40px;
}

#navContent .in_nav > * {
	-ms-flex-item-align: start;
	    -ms-grid-row-align: start;
	    align-self: start;
}

#navContent .in_nav .nav_sub_content {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: 100%;
	padding-left: 40px;
	border-left: solid 1px #D9D9D9;
}

#navContent .nav_logo {
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
}

#navContent .nav_list {
	display: -ms-grid;
	display: grid;
	width: 90%;
	padding-top: 30px;
	margin-inline: auto;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: start;
	-ms-grid-columns: 0.6fr 2fr 1fr 1.3fr;
	grid-template-columns: 0.6fr 2fr 1fr 1.3fr;
	gap: 30px;
}

#navContent .nav_list > * {
	-ms-flex-item-align: start;
	    -ms-grid-row-align: start;
	    align-self: start;
}

#navContent .nav_list .nav_list_ul .nav_list_ul_li {
	margin-bottom: 15px;
	font-size: clamp(1.4rem, 0.78125vw, 1.5rem);
}

#navContent .nav_list .nav_list_ul .nav_list_ul_ul {
	margin-top: 15px;
	margin-bottom: 30px;
	padding-left: 1.7rem;
}

#navContent .nav_list .nav_list_ul .nav_list_ul_ul_li {
	margin-bottom: 15px;
	font-size: clamp(1.4rem, 0.78125vw, 1.5rem);
}

.waku_nav_sub_content .btn_formcv {
	width: 80%;
}

#navContentFoot .in_nav {
	display: -ms-grid;
	display: grid;
	width: 85%;
	padding-top: 40px;
	margin-inline: auto;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: start;
	-ms-grid-columns: 1.3fr 1fr;
	grid-template-columns: 1.3fr 1fr;
	gap: 40px;
}

#navContentFoot .in_nav > * {
	-ms-flex-item-align: start;
	    -ms-grid-row-align: start;
	    align-self: start;
}

#navContentFoot .in_nav .nav_sub_content {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: 100%;
	padding-left: 40px;
	border-left: solid 1px #D9D9D9;
}

#navContentFoot .nav_logo {
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
}

#navContentFoot .nav_list {
	display: -ms-grid;
	display: grid;
	width: 90%;
	padding-top: 30px;
	margin-inline: auto;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: start;
	-ms-grid-columns: 0.6fr 2fr 1fr 1.3fr;
	grid-template-columns: 0.6fr 2fr 1fr 1.3fr;
	gap: 30px;
}

#navContentFoot .nav_list > * {
	-ms-flex-item-align: start;
	    -ms-grid-row-align: start;
	    align-self: start;
}

#navContentFoot .nav_list .nav_list_ul .nav_list_ul_li {
	margin-bottom: 15px;
	font-size: clamp(1.4rem, 0.78125vw, 1.5rem);
}

#navContentFoot .nav_list .nav_list_ul .nav_list_ul_ul {
	margin-top: 15px;
	margin-bottom: 30px;
	padding-left: 1.7rem;
}

#navContentFoot .nav_list .nav_list_ul .nav_list_ul_ul_li {
	margin-bottom: 15px;
	font-size: clamp(1.4rem, 0.78125vw, 1.5rem);
}

.footer-banner {
	width: calc(100% - 80px);
	max-width: 1600px;
	margin-top: 40px;
}

.footer-banner .sns-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 20px 40px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 30px;
}

.footer-banner .sns-box .ttl_sns {
	margin: 0;
	white-space: nowrap;
}

.footer-banner .sns-box .sns-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 12px;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.footer-banner .sns-box .sns-list {
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-ms-flex-line-pack: justify;
	    align-content: space-between;
	gap: 12px;
}

#pagenav {
	margin: 40px auto;
}

#pagenav .wp-pagenavi {
	clear: both;
	text-align: center;
}

#pagenav .wp-pagenavi a,
#pagenav .wp-pagenavi span {
	margin: 0 8px;
	padding: 13px 20px;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: center;
	white-space: nowrap;
	text-decoration: none;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

#pagenav .wp-pagenavi a:hover {
	border: solid 1px #022D50;
	background: #022D50;
	color: #FFFFFF;
}

.btn_link {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}

.calendar-txt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-column-gap: 10px;
	   -moz-column-gap: 10px;
	        column-gap: 10px;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.calendar-notion {
	text-align: right;
}

.mv-splide {
	aspect-ratio: 1920/980;
}

#mv-slide {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	aspect-ratio: 1920/980;
}

#mv-slide .mv_side_content {
	position: absolute;
	top: 0%;
	left: 0%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	width: 5.2083%;
	height: 100%;
	padding-top: 9vw;
	background: #022D50;
	color: #FFFFFF;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

#mv-slide .mv_side_content .img_side {
	width: 40%;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
	margin-bottom: 10%;
}

#mv-slide .mv_side_content .img_side_bottom {
	width: 15%;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
}

.mv_side_content_sp {
	display: none;
}

#mv {
	position: relative;
	overflow: hidden;
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	background: url("images/mv/bg_mv.jpg") no-repeat center center;
	background-size: cover;
	aspect-ratio: 1920/980;
}

#mv .mv_img {
	position: absolute;
}

#mv .mv_img img {
	width: 100%;
	height: auto;
}

#mv .mv_img.catch_copy {
	top: 12%;
	left: 10%;
	width: 78.125%;
}

#mv .mv_img.mv_doctor {
	bottom: 0%;
	left: 47%;
	width: 34.375%;
}

#mv .mv_img.mv_feature {
	top: 53%;
	left: 13%;
	width: 28.6458%;
}

#mv .mv_img.mv_achievement {
	bottom: 5%;
	left: 17%;
	width: 31.25%;
}

#mv .mv_img.mv_name {
	right: 11%;
	bottom: 39%;
	width: 19.4791%;
}

#mv .mv_img.mv_qualification {
	right: 5%;
	bottom: 10%;
	width: 27.4479%;
}

#mv .mv_side_content {
	position: absolute;
	top: 2%;
	left: 0%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	width: 5.2083%;
	height: 100%;
	background: #022D50;
	color: #FFFFFF;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

#mv .mv_side_content .img_side {
	width: 40%;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
	margin-bottom: 10%;
}

#mv .mv_side_content .img_side_bottom {
	width: 15%;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
}

#top-about {
	max-width: 1920px;
	background: url("images/top/bg_top_about.jpg") no-repeat center center;
	background-size: cover;
	aspect-ratio: 1920/980;
}

#top-about .wrap_cont {
	width: 55.2vw;
	padding: 5.2vw 7.8vw;
}

.bn_interview {
	height: 14vw;
}

.bn_interview .img_bn_interview {
	left: 2%;
	width: 96%;
}

.bottom-director {
	margin-top: -80px;
}

.bottom-director .btn_instagram_more {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}

#top-doctor {
	padding: 150px 0 100px 0;
}

.doctor_prof_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	gap: 50px;
	padding-inline: 50px;
}

#doctorSplide .content_doctor {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

#top-firstabout {
	max-width: 1920px;
	padding: 80px 0;
	background: url("images/top/bg_firstabout.jpg") no-repeat center center;
	background-size: cover;
	aspect-ratio: 1920/980;
}

#top-firstabout .sp_ttlpolicy {
	display: none;
}

#top-firstabout .box_firstabout .ttl_firstabout .pc_none {
	display: none;
}

#top-pointcontent {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}

#top-pointcontent .box_pointc {
	width: 50%;
	min-height: 484px;
	aspect-ratio: 960/484;
}

#top-pointcontent .box_pointc.bg_pointc_01 {
	background: url("images/top/bg_pointc_01.png") no-repeat top center;
}

.news-contents .news-item a {
	font-size: clamp(1.5rem, 0.8333333333vw, 1.6rem);
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: 1rem;
}

.news-contents .news-item .news-meta {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	min-width: 180px;
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.news-contents .news-item .news-date {
	width: 120px;
}

.news-contents .news-item .news-title {
	margin-left: 15px;
	font-weight: 500;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.news-contents .news-item .news-arrow {
	width: 10px;
	height: 10px;
	margin-top: 8px;
	margin-left: auto;
	border-right: 2px solid #022D50;
	border-bottom: 2px solid #022D50;
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

.news-item a {
	-webkit-transition: background-color 0.3s ease;
	transition: background-color 0.3s ease;
}

.news-item a:hover {
	background-color: #f5f8fa;
}

.news-item a:hover .news-title {
	color: #022D50;
	-webkit-transform: translateX(2px);
	        transform: translateX(2px);
}

.news-item a:hover .news-arrow {
	-webkit-transform: translateX(5px) rotate(-45deg);
	        transform: translateX(5px) rotate(-45deg);
}

.news-item a .news-title {
	-webkit-transition: color 0.3s ease, -webkit-transform 0.3s ease;
	transition: color 0.3s ease, -webkit-transform 0.3s ease;
	transition: color 0.3s ease, transform 0.3s ease;
	transition: color 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}

.news-item a .news-arrow {
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.top-time-access .top_access .more_access {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.feature-block {
	width: 95%;
}

.feature-text-area .btn-detail {
	width: 85%;
	max-width: 550px;
}

.feature-text-area .btn-detail a {
	display: block;
	text-align: center;
}

.feature-text-area .caption_box .img_caption {
	width: 40%;
	max-width: 300px;
}

.feature-links {
	width: 85%;
	margin-top: 100px;
	margin-inline: auto;
}

.compare-section {
	position: relative;
	width: calc(100% - 80px);
	max-width: 1600px;
	margin: 150px auto 60px auto;
	padding: 0px 20px 50px 20px;
	border: 1px solid #022D50;
}

.compare-section .section-heading {
	position: absolute;
	z-index: 10;
	top: 0;
	left: 20%;
	padding: 30px 40px;
	background: #fff;
	text-align: left;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

.treatment-section .section-title .pc_none {
	display: none;
}

.cerec-section {
	width: 95%;
	margin-top: 100px;
}

.main-content.in-menu .pc_none {
	display: none;
}

.hukidashi_point .check_ul li.ss_txt {
	font-size: 16px;
	font-size: 1.6rem;
}

.menu_box_top .all_txt p {
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
}

.menu_box_top .sub_list_link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.menu_box_top .sub_list_link li {
	width: 49%;
}

.menu_box_top .sub_list_link::after {
	display: block;
	width: 49%;
	content: "";
}

.main-content.in-main {
	padding-top: 5.2083333333vw;
}

.policy_top_ttl {
	min-height: 22.2395833333vw;
	background: url("images/policy/bg_policy_top_ttl.png") no-repeat top center;
	background-size: contain;
}

.policy_concept-section .concept-image {
	-webkit-transform: translateY(-5vw);
	        transform: translateY(-5vw);
}

.policy_feature_section .feature_section_block {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.policy_feature_section .feature-image {
	width: 100%;
	max-width: 757px;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 50%;
	        flex: 1 1 50%;
}

.policy_feature_section .feature-image img {
	display: block;
	width: 100%;
	height: auto;
}

.policy_feature_section .feature-text {
	width: 100%;
	max-width: 980px;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 50%;
	        flex: 1 1 50%;
}

.policy_feature_section:nth-child(odd) .feature-image {
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
}

.policy_feature_section:nth-child(odd) .feature-text {
	width: 60%;
	margin-right: auto;
	margin-left: 10%;
	padding-right: 6%;
	-webkit-box-ordinal-group: 1;
	    -ms-flex-order: 0;
	        order: 0;
}

.policy_feature_section:nth-child(even) .feature-image {
	margin-right: 0;
	-webkit-box-ordinal-group: 1;
	    -ms-flex-order: 0;
	        order: 0;
}

.policy_feature_section:nth-child(even) .feature-text {
	width: 60%;
	margin-right: 10%;
	margin-left: auto;
	padding-left: 6%;
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
}

.description_bottom .short-line-heading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex; /* 文字と横線を横並び */
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center; /* 横線を上下中央 */
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center; /* 文字を中央寄せ */
}

.description_bottom .short-line-heading::before,
.description_bottom .short-line-heading::after {
	width: 60px; /* 横線の長さ */
	height: 1px; /* 横線の高さ */
	background-color: #022D50; /* 横線の色 */
	content: "";
}

.description_bottom .short-line-heading::before {
	margin-right: 15px; /* 文字との余白 */
}

.description_bottom .short-line-heading::after {
	margin-left: 15px; /* 文字との余白 */
}

.ttl_line_btm {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

#case.main-content {
	padding-bottom: 80px;
}

.case_category_ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.case_category_ul li {
	width: 49%;
	margin-bottom: 30px;
}

.case_category_ul li::after {
	display: block;
	width: 50%;
	content: "";
}

.case_category_ul li .box_case_cat:hover::before {
	opacity: 0;
}

.top_head_notice {
	background: url("images/implant/bg_top_head_notice.png") no-repeat top center;
}

.about_implant {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 150px auto 60px auto;
}

.about_implant .img_about_implant {
	width: 40%;
	margin-right: 80px;
	margin-left: 0;
}

.about_implant .cont_about_implant {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.about_implant .cont_about_implant .txt_about_implant {
	width: 80%;
}

.about_btm_box .box_in_about {
	margin: 0px auto 0px auto;
}

.about_btm_box .img_about {
	width: 40%;
	margin-right: 0;
	margin-left: 80px;
}

.about_btm_box .cont_about {
	max-width: 810px;
	margin-top: 60px;
	margin-left: auto;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.about_btm_box .cont_about .attention_about {
	width: 80%;
}

.implant_facility {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 1429px;
	margin-inline: auto;
}

.implant_facility .img_implant_facility {
	position: relative;
	top: -7.812vw;
	width: 40%;
	margin-right: 20px;
	margin-left: 0;
}

.implant_facility .txt_implant_facility {
	margin-top: 50px;
	padding-right: 150px;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.implant_facility .txt_implant_facility .txt_about_implant {
	width: 80%;
}

.state_of_the_art {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	max-width: 1150px;
	margin-bottom: 40px;
	padding: 0 50px;
	margin-inline: auto;
}

.state_of_the_art .in_state_of_the_art {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.state_of_the_art .img_state_of_the_art {
	position: relative;
	z-index: 2;
	top: -3vw;
	width: 40%;
	margin-right: 20px;
	margin-left: 0;
	-webkit-transform: translateY(5px);
	        transform: translateY(5px);
}

.state_of_the_art .box_state_of_the_art {
	margin-top: 50px;
	padding-right: 50px;
}

.all_on_x .box_all_on_x .img_top_all_on_x {
	width: 40%;
	margin-left: 0;
}

.all_on_x .box_all_on_x .cont_all_on_x {
	padding-right: 100px;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.policy_feature_section.implant_cont {
	margin-top: 150px;
	padding-top: 60px;
}

.years_old_wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 0px;
}

.years_old_wrapper .headline-box {
	position: relative;
	left: -4vw;
}

.implant_huki_point .check_ul li.ss_txt {
	font-size: 16px;
	font-size: 1.6rem;
}

.implant_doctor {
	margin-bottom: 60px;
}

.implant_doctor .bg_implant_doctor {
	position: relative;
	padding-top: 100px;
}

.implant_doctor .bg_implant_doctor .implant_doctor_box {
	position: absolute;
	bottom: 0;
	left: 5%;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
}

.implant_doctor .wrap_implant_doctor {
	height: auto;
	padding-top: 80px;
	padding-bottom: 110px;
}

.implant_doctor .wrap_implant_doctor .cont_implant_doctor {
	width: 55vw;
	max-width: 1040px;
	margin-left: auto;
	padding: 60px 80px 60px 80px;
}

.main-content.implant-page .qa_accordion li .qa_answer .qa_inner p {
	margin-right: 2em;
}

.ttl_attention .pc_none,
.section-title .pc_none {
	display: none;
}

.about_implant.kyosei .img_about_implant {
	width: 45%;
	margin-right: 0px;
	margin-left: 0px;
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
}

.about_implant.kyosei .cont_about_implant {
	padding-left: 10%;
	-webkit-box-ordinal-group: 1;
	    -ms-flex-order: 0;
	        order: 0;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.about_btm_box.kyosei .img_kyosei_about {
	position: relative;
	bottom: -50px;
}

.num_health_tooth_wrap {
	margin-bottom: 30px;
}

.num_health_tooth_wrap .num_health_tooth {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.num_health_tooth_wrap .num_health_tooth li {
	width: 31.6666666667%;
	padding: 30px 30px;
}

.num_health_tooth_wrap .num_health_tooth::after {
	display: block;
	width: 30%;
	content: "";
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 30px;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 49%;
	padding: 30px;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul::after {
	display: block;
	width: 50%;
	content: "";
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .img_box_doctor_link {
	margin-right: 40px;
	margin-left: auto;
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .img_box_doctor_link img {
	width: 12vw;
}

.cont_kyosei_doctor .box_kyosei_doctor .kyosei_doctor_ul .cont_doctor_link {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.main_correction_type .orthodontic-wire__inner {
	width: calc(100% - 60px);
}

.main_correction_type .orthodontic-wire__tag {
	display: inline-block;
}

.treatment-flow {
	width: calc(100% - 60px);
	max-width: 1430px;
	margin: 0 auto;
}

.table_shinbi #hidaku_shinbi.whitening .fixed {
	width: 5%;
}

.table_shinbi #hidaku_shinbi.whitening tbody td {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding-right: 30px;
	padding-left: 30px;
}

.table_shinbi #hidaku_shinbi.whitening tbody td:nth-of-type(2) {
	width: 15%;
}

.table_shinbi #hidaku_shinbi.whitening .pc_br {
	display: block;
}

.table_shinbi #hidaku_shinbi .br_sp {
	display: none;
}

.attention_box .attention_ul li::before {
	position: absolute;
	top: 0.8em;
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: #022D50;
	content: "";
}

.table_shinbi #hidaku_shinbi.whitening .fixed {
	width: 5%;
}

.table_shinbi #hidaku_shinbi.whitening tbody td {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding-right: 30px;
	padding-left: 30px;
}

.table_shinbi #hidaku_shinbi.whitening tbody td:nth-of-type(2) {
	width: 15%;
}

.table_shinbi #hidaku_shinbi.whitening .pc_br {
	display: block;
}

.table_shinbi #hidaku_shinbi .br_sp {
	display: none;
}

.pmtc_cont_ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.pmtc_cont_ul li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 49.5%;
	margin-bottom: 15px;
	padding: 30px 35px;
}

.pmtc_cont_ul::after {
	display: block;
	width: 49%;
	content: "";
}

.bottom_info_container_yobou .ttl_firstabout .pc_none {
	display: none;
}

.list_ippan_ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.list_ippan_ul li.list_ippan_li {
	width: 47.5%;
	margin-bottom: 80px;
}

.list_ippan_ul::after {
	display: block;
	width: 49%;
	content: "";
}

.sport-list-block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.sport-list-block .box_list {
	width: 47.5%;
	margin-bottom: 80px;
}

.sport-list-block::after {
	display: block;
	width: 49%;
	content: "";
}

.children_effect_ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.children_effect_ul li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 32.6666666667%;
	margin-bottom: 15px;
	padding: 30px 35px 45px 35px;
}

.children_effect_ul::after {
	display: block;
	width: 32%;
	content: "";
}

.gaps_cont_ul li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 10px;
	padding: 10px 35px;
}

.icon-check-li .best_point .best_point_ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.icon-check-li .best_point .best_point_ul li:after {
	content: "　/　";
}

.icon-check-li .best_point .best_point_ul li:last-of-type::after {
	content: "";
}

.info_facility_ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.info_facility_ul li {
	width: 47.5%;
	margin-bottom: 60px;
}

.info_facility_ul::after {
	display: block;
	width: 49%;
	content: "";
}

.room_info .img_room_info::before {
	position: absolute;
	z-index: -1;
	top: 3vw;
	left: -20px;
	width: 90%;
	height: 90%;
	border-radius: 3px;
	background-color: #022D50;
	content: "";
}

.doctor_list {
	width: calc(100% - 80px);
	max-width: 1612px;
}

.doctor_list .doctor_ul .doctor_ul_li {
	margin-bottom: 60px;
}

.doctor_prof_box.doctor-detail .img_doctor {
	width: 50%;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
}

.doctor_prof_box.doctor-detail .content_doctor {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.doctor_prof_box.doctor-detail .name_box {
	margin-bottom: 40px;
	text-align: left;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}

.gallery_section {
	width: calc(100% - 80px);
	max-width: 1500px;
	margin-top: 100px;
}

.message_section .message_inner .message_text .message_body {
	margin-right: 50px;
}

#director.main-content .pc_none {
	display: none;
}

.top_director_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: calc(100% - 120px);
	max-width: 1500px;
	padding-top: 70px;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.top_director_box > * {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.top_director_box > :nth-child(2) {
	-webkit-box-flex: 1.8;
	    -ms-flex: 1.8 1;
	        flex: 1.8 1;
}

.prof_wrap .career_warp {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 50px;
	gap: 30px;
}

.prof_wrap .career {
	width: 50%;
}

.prof_wrap .career .career_tbl {
	font-size: 16px;
	font-size: 1.6rem;
}

.prof_wrap .affiliation_society_ul li {
	font-size: 16px;
	font-size: 1.6rem;
}

.acquisition_certified_box .acquisition_certified_ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.acquisition_certified_box .acquisition_certified_ul li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 47.5%;
	margin-bottom: 30px;
}

.acquisition_certified_box .acquisition_certified_ul::after {
	display: block;
	width: 50%;
	content: "";
}

.acquisition_certified_box .box_acquisition_certified {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 35px;
}

.gallery_section_director {
	width: calc(100% - 80px);
	max-width: 1500px;
	margin-top: 100px;
}

.lum-lightbox-image-wrapper img.lum-img {
	max-width: 600px !important;
	margin-inline: auto;
}

.history_director .history_director_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.parallax-section .img_parallax .description {
	margin-top: 10px;
	font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
	text-align: center;
}

.news-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 5%;
}

.news-wrapper .news-single,
.news-wrapper .news-list {
	width: 70%;
}

.news-wrapper .news-side {
	width: 25%;
}

#single-content h2 {
	padding: 20px 30px;
	font-size: 20px;
	font-size: 2rem;
}

#single-content h3 {
	padding: 20px 30px;
	font-size: 20px;
	font-size: 2rem;
}

#single-content .post_ttl,
#single-content h4 {
	padding: 15px 30px;
	font-size: 18px;
	font-size: 1.8rem;
}

#single-content h5 {
	padding: 15px 30px;
	font-size: 18px;
	font-size: 1.8rem;
}

#single-content h6 {
	padding: 15px 30px;
	font-size: 18px;
	font-size: 1.8rem;
}

.map_content {
	display: -ms-grid;
	display: grid;
	margin-bottom: 80px;
	-ms-grid-columns: 0.9fr 1.1fr;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 40px;
}

.map_content .info_schedule,
.map_content .info_access {
	-ms-flex-item-align: top;
	    -ms-grid-row-align: top;
	    align-self: top;
}

.map_content .access_block_top.column {
	padding-top: 25px;
}

.map_content .access_block_top.column .ttl_access {
	margin-right: 30px;
}

.map_content .access_block_top.column .off_schedule {
	margin-right: 0;
	margin-left: auto;
}

.map_content .access_tbl th {
	padding-bottom: 8px;
}

.map_content .access_tbl td {
	padding-top: 0;
	padding-bottom: 20px;
}

}

@media (max-width: 1289px) {

.head_nav_pctb {
	display: none;
}

}

@media (1200px <= width) {

.head_nav_pctb .has-submenu {
	position: relative;
}

.head_nav_pctb .has-submenu .submenu-label {
	position: relative;
	display: inline-block;
	font-size: 1vw;
	color: #FFFFFF;
	cursor: default;
}

.head_nav_pctb .has-submenu .submenu-label::after {
	position: absolute;
	bottom: -15px;
	left: 0;
	visibility: hidden;
	width: 100%;
	height: 2px;
	background: #FFFFFF;
	content: "";
	opacity: 0;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.head_nav_pctb .has-submenu .submenu-label:hover::after {
	bottom: -5px;
	visibility: visible;
	opacity: 1;
}

.head_nav_pctb .has-submenu .submenu {
	position: absolute;
	z-index: 1000;
	top: 125%;
	left: 0;
	display: block;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	visibility: hidden;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	min-width: 200px;
	margin: 0;
	padding: 0;
	border-radius: 8px;
	background: #022D50;
	-webkit-box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
	        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
	list-style: none;
	opacity: 0;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-transform: translateY(10px);
	        transform: translateY(10px);
	gap: 0;
}

.head_nav_pctb .has-submenu .submenu li {
	margin: 0;
	padding: 0;
}

.head_nav_pctb .has-submenu .submenu li::after {
	display: none;
	content: none;
}

.head_nav_pctb .has-submenu .submenu li a {
	display: block;
	padding: 15px 20px;
	font-size: 14px;
	color: #ffffff;
	white-space: nowrap;
	text-decoration: none;
	-webkit-transition: background-color 0.3s;
	transition: background-color 0.3s;
}

.head_nav_pctb .has-submenu .submenu li a::after {
	width: 0;
	height: 0;
}

.head_nav_pctb .has-submenu .submenu li a:hover {
	background-color: rgba(255, 255, 255, 0.15);
}

.head_nav_pctb .has-submenu:hover .submenu {
	visibility: visible;
	opacity: 1;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

.head_nav_pctb.in-page {
	z-index: 999;
	top: 0vw;
	left: 12.5vw;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 64%;
	padding: 3.5vw 0vw 1vw 3vw;
	background: #FFFFFF;
}

.head_nav_pctb.in-page li::after {
	padding-left: 20px;
	color: #022D50;
	content: "｜";
}

.head_nav_pctb.in-page li:last-of-type::after {
	content: " ";
}

.head_nav_pctb.in-page li a {
	color: #022D50;
}

.head_nav_pctb.in-page li a::after {
	background: #022D50;
}

.head_nav_pctb.in-page .submenu-label {
	color: #022D50;
}

#top-news {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: calc(100% - 80px);
	max-width: 1615px;
	padding: 150px 0 50px 0;
	margin-inline: auto;
}

#top-news .ttl_news_box {
	max-width: 400px;
	margin-right: 50px;
}

#top-news .news_tab {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

#top-news .sp.btn_link {
	display: none;
}

.top-time-access {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: calc(100% - 80px);
	max-width: 1615px;
	padding: 50px 0;
	margin-inline: auto;
}

.top-time-access .top_time {
	width: 50%;
	max-width: 700px;
	margin-right: 50px;
}

.top-time-access .top_access {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

.sp_message {
	display: none;
}

.sp_message {
	display: none;
}

.room_info:nth-child(even) .img_room_info {
	position: relative; /* 必須: スライダー位置を相対指定 */
	width: calc(100% - 40px);
	max-width: 1009px;
	margin-left: auto;
	padding-right: 0px;
	padding-bottom: 50px;
	padding-left: 50px;
	background: url("images/info/bg_info_gallery.png") no-repeat;
	background-position: left 0 bottom -50px;
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
}

.room_info:nth-child(even) .cont_room_info {
	max-width: 570px;
	margin-left: auto;
	padding-right: 60px;
	-webkit-box-ordinal-group: 1;
	    -ms-flex-order: 0;
	        order: 0;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1;
	        flex: 1 1;
}

}

@media (min-width: 851px) and (max-width: 1754px) {

#navContent .in_nav {
	width: 95%;
}

#navContentFoot .in_nav {
	width: 95%;
}

}

@media (851px <= width) and (851px <= width) {

#navContent .nav_list a:hover,
#navContent .nav_list a:active {
	text-decoration: underline;
}

#navContentFoot .nav_list a:hover,
#navContentFoot .nav_list a:active {
	text-decoration: underline;
}

}

@media (max-width: 480px) {

.pageHead-ttl-en {
	font-size: 3vw;
}

.sport-list-block .sport_list_ul li {
	padding: 10px 10px;
	font-size: 14px;
	font-size: 1.4rem;
}

.facility_box {
	padding: 6vw 6vw 8vw 6vw;
}

.facility_box.container {
	width: 95%;
}

.imgtxt_content {
	gap: 30px;
}

.facility_box_list.container {
	width: 95%;
}

}

@media (max-width: 850px) and (max-width: 850px) {

.mv_side_content_sp {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	padding: 25px 20px;
}

.mv_side_content_sp .img_side {
	margin-bottom: 15px;
}

}

@media (1100px <= width) {

#top-about .img_topabout {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 50px;
	gap: 50px;
}

}

@media (max-width: 1099px) {

#top-about .img_topabout {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	margin-top: 30px;
	gap: 30px;
}

}

@media (1300px <= width) {

#top-director {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

#top-director .img_prof {
	display: block;
}

#top-director .img_prof_sp {
	display: none;
}

#top-director .in_prof {
	width: 730px;
	margin-left: auto;
}

#top-director .cont_box {
	margin-right: 5%;
}

.bottom-director {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.bottom-director .movie-content {
	width: 50%;
}

.bottom-director .instagram-box {
	width: 50%;
}

#top-firstabout .box_firstabout .btn_area_firstabout ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

#top-firstabout .box_firstabout .btn_area_firstabout ul li {
	width: 50%;
}

#top-firstabout .box_firstabout .btn_area_firstabout .btn_link {
	width: 90%;
}

}

@media (max-width: 1299px) {

#top-director .img_prof {
	display: none;
}

#top-director .img_prof_sp {
	display: block;
	margin-top: 20px;
}

}

@media (min-width: 851px) and (max-width: 1299px) {

#top-director .img_prof_sp img {
	max-width: 600px;
}

#top-director .prof_feature_ul {
	width: 85%;
	margin-inline: auto;
}

#top-director .sub_ttl {
	width: 85%;
	margin-top: -200px;
	margin-inline: auto;
}

#top-director .career {
	width: 85%;
	margin-inline: auto;
}

#top-director .btn_prof_more {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}

.doctor_prof_box .career_box {
	width: 85%;
	margin-inline: auto;
}

#top-firstabout .box_firstabout .img_point_icon img {
	width: 300px;
}

#top-firstabout .box_firstabout .btn_area_firstabout .btn_link {
	width: 60%;
	min-width: 400px;
	margin-top: 15px;
}

#top-firstabout .box_firstabout .btn_area_firstabout .btn_link a {
	padding: 13px 0;
}

}

@media (1800px <= width) {

.doctor_prof_box .name_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	gap: 20px;
}

}

@media (min-width: 851px) and (max-width: 1199px) {

#top-news {
	width: 90%;
	padding: 80px 0;
	margin-inline: auto;
}

#top-news .ttl_news_box {
	margin-bottom: 30px;
	text-align: center;
}

#top-news .ttl_news_box .btn_link {
	display: none;
}

.top-time-access {
	width: 90%;
	padding: 80px 0;
	margin-inline: auto;
}

.policy_concept-section .concept-text {
	width: 40vw;
	margin-right: 12vw;
}

.implant_doctor .bg_implant_doctor .implant_doctor_box img {
	width: 85%;
}

.doctor_prof_box.doctor-detail {
	gap: 50px;
}

.top_director_box .ss_jp_name {
	font-size: clamp(1rem, 0.7291666667vw, 1.4rem);
}

}

@media (max-width: 1023px) {

.feature-block {
	padding: 0 0 50px 0;
}

.feature-img-area {
	position: static;
	width: 90%;
	margin-top: -50px;
	margin-bottom: 0px;
	aspect-ratio: auto;
}

.feature-img-area img {
	display: block;
	width: 100%;
	height: auto;
}

.feature-inner {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	padding: 0 20px;
}

.feature-text-area {
	width: 100%;
	margin-top: 30px;
	padding: 0;
}

.feature-block.layout-reverse-block .feature-img-area {
	position: static;
	width: 90%;
	margin: -50px 0 0 auto;
	-webkit-transform: none;
	        transform: none;
}

.feature-block.layout-reverse-block .feature-text-area {
	margin-top: 30px;
	margin-left: 0;
	padding: 0;
}

.cerec-section {
	width: 90%;
	margin-top: 50px;
	padding: 20px 30px 30px 30px;
	margin-inline: auto;
}

}

@media (1024px <= width) {

.feature-img-area {
	position: absolute;
	z-index: 0;
	top: -90px;
	left: 0;
	width: 692px;
	aspect-ratio: 692/1259;
}

.feature-img-area img {
	display: block;
	width: 100%;
	height: auto;
}

}

@media (min-width: 1024px) and (max-width: 1439px) {

.feature-img-area {
	width: 600px;
}

}

@media (min-width: 1024px) and (max-width: 1279px) {

.feature-img-area {
	width: 500px;
}

.feature-text-area {
	width: 50%;
	padding-left: 0px;
}

.feature-block.layout-reverse-block .feature-text-area {
	padding-right: 0;
}

}

@media (1280px <= width) {

.feature-text-area {
	width: 75%;
	margin-right: 5%;
	margin-left: auto;
	padding-left: 270px;
}

}

@media (min-width: 1580px) and (max-width: 1749px) {

.feature-text-area {
	width: 68%;
}

.feature-block.layout-reverse-block .feature-text-area {
	padding-right: 200px;
}

}

@media (min-width: 1280px) and (max-width: 1579px) {

.feature-text-area {
	width: 60%;
	padding-left: 200px;
}

.feature-block.layout-reverse-block .feature-text-area {
	padding-right: 150px;
}

}

@media (max-width: 767px) {

.feature-text-area .caption_box {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.feature-text-area .caption_box .img_caption {
	width: 100%;
}

}

@media (851px <= width) and (max-width: 850px) {

.description_bottom .short-line-heading::before,
.description_bottom .short-line-heading::after {
	width: 20px;
}

}

@media (1600px <= width) {

.about_btm_box {
	margin-top: -7.812vw;
	padding-top: 8.854vw;
}

.about_btm_box.kyosei {
	margin-top: -7.812vw;
	padding-top: 8.854vw;
}

.room_info {
	margin-bottom: 150px;
}

.room_info .thumbnail_ul {
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr); /* 横2列 */
}

}

@media (min-width: 851px) and (max-width: 1599px) {

.about_btm_box {
	padding-top: 50px;
	padding-bottom: 50px;
}

.about_btm_box .cont_about {
	margin-left: 40px;
}

.about_btm_box.kyosei {
	padding-top: 50px;
	padding-bottom: 50px;
}

.top_director_box > :nth-child(2) {
	-webkit-box-flex: 2.5;
	    -ms-flex: 2.5 1;
	        flex: 2.5 1;
}

.top_director_box .top_name {
	font-size: clamp(5rem, 3.125vw, 6rem);
}

}

@media (851px <= width) and (1600px <= width) {

.about_btm_box .img_about {
	z-index: 2;
	-webkit-transform: translateY(50px);
	        transform: translateY(50px);
}

}

@media (851px <= width) and (min-width: 851px) and (max-width: 1599px) {

.about_btm_box .img_about {
	margin-top: 40px;
}

}

@media (851px <= width) and (min-width: 1200px) and (max-width: 1599px) {

.implant_doctor .bg_implant_doctor .implant_doctor_box {
	left: 0%;
}

}

@media (851px <= width) and (min-width: 851px) and (max-width: 1199px) {

.implant_doctor .bg_implant_doctor .implant_doctor_box {
	left: -5%;
}

}

@media (min-width: 1200px) and (max-width: 1399px) {

.implant_doctor .bg_implant_doctor .implant_doctor_box img {
	width: 90%;
}

}

@media (min-width: 851px) and (max-width: 1399px) {

.implant_doctor .wrap_implant_doctor {
	padding-top: 0px;
}

}

@media (1200px <= width) and (851px <= width) {

.room_info:nth-child(even) .img_room_info::before {
	right: -20px;
	left: auto;
}

}

@media (min-width: 1200px) and (max-width: 1599px) {

.room_info {
	width: 85%;
	margin-inline: auto;
}

}

@media (max-width: 1199px) {

.room_info {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	width: 85%;
	margin-bottom: 60px;
	margin-inline: auto;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.room_info .img_room_info {
	width: 100%;
	max-width: 100%;
	margin-bottom: 50px;
	padding-right: 0;
	padding-bottom: 20px;
	-webkit-box-ordinal-group: 1;
	    -ms-flex-order: 0;
	        order: 0;
}

.room_info .txt_room_info {
	margin-top: 20px;
}

.room_info .cont_room_info {
	max-width: 100%;
	margin-left: 0;
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
}

.room_info .thumbnail_ul {
	-ms-grid-columns: (1fr)[4];
	grid-template-columns: repeat(4, 1fr); /* 横4列 */
	grid-gap: 5px;
}

}

@media (1000px <= width) {

.facility_box {
	padding: 50px 60px;
}

.facility_box_list .facility_box {
	padding: 30px 40px 40px 40px;
}

}

@media (min-width: 481px) and (max-width: 999px) {

.facility_box {
	padding: 40px 30px;
}

}

@media (max-width: 1599px) {

.doctor_list .name_box {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 10px;
}

}

@media (max-width: 1600px) {

.map_content .off_schedule {
	margin-top: 20px;
	margin-bottom: 15px;
}

}

@media screen and (min-width: 852px) {

.balloon-heading {
	position: relative;
	top: 0px;
	font-size: clamp(3rem, 2.0833333333vw, 4rem);
}

.balloon-heading span::after {
	position: absolute;
	bottom: -10px;
	left: 50%;
	width: 0;
	height: 0;
	border-top: 10px solid #002b52;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	content: "";
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
}

}

@media (min-width: 852px) and (max-width: 1300px) {

.case_ul_archive {
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr);
}

}

@media (min-width: 1200px) {

.parallax-section .parallax-content {
	max-width: 1100px;
}

}

@media (min-width: 1300px) {

.case_ul_archive {
	-ms-grid-columns: (1fr)[3];
	grid-template-columns: repeat(3, 1fr);
}

}

@media (min-width: 1501px) {

#header .btn_head_contact {
	margin-right: 130px;
}

}

@media (max-width: 1500px) {

#header .btn_head_contact {
	margin-right: 100px;
}

.nav_btn {
	width: 100px;
	height: 100px;
}

.nav_btn .bar {
	width: 36px;
}

.nav_btn .bar.top {
	-webkit-transform: translateY(-10px);
	        transform: translateY(-10px);
}

.nav_btn .bar.middle {
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

.nav_btn .bar.bottom {
	-webkit-transform: translateY(10px);
	        transform: translateY(10px);
}

.nav_btn.active .top {
	-webkit-transform: translateY(0) rotate(45deg);
	        transform: translateY(0) rotate(45deg);
}

.nav_btn.active .bottom {
	-webkit-transform: translateY(0) rotate(-45deg);
	        transform: translateY(0) rotate(-45deg);
}

}

@media (1200px <= width) and (max-width: 1500px) {

.head_nav_pctb.in-page {
	width: 62vw;
	padding: 4vw 0vw 1vw 3vw;
}

}

@media only screen and (max-width: 1200px) {

.sp_message {
	margin-bottom: 15px;
	font-weight: 700;
	text-align: center;
}

.table_shinbi .table-wrapper {
	overflow-x: scroll;
}

.table_shinbi #hidaku_shinbi .fixed {
	z-index: 9;
	left: 0;
}

.sp_message {
	margin-bottom: 15px;
	font-weight: 700;
	text-align: center;
}

.table_shinbi .table-wrapper {
	overflow-x: scroll;
}

.table_shinbi #hidaku_shinbi .fixed {
	z-index: 9;
	left: 0;
}

}

@media (max-width: 1200px) {

.doctor_list {
	max-width: 1212px;
}

.doctor_list .doctor_ul .doctor_ul_li {
	width: calc((100% - 40px) / 2);
}

}

@media screen and (max-width: 1024px) {

.calendar-wrap {
	width: 96%;
	min-width: initial;
}

}

@media (max-width: 851px) {

body {
	min-width: 100%;
}

.breadcrumbs__inner {
	max-width: 100%;
	padding: 0.8em 30px 0 30px;
}

.spHeader {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	opacity: 0;
}

.spHeader .spLogo {
	width: 20%;
}

.pageHead-ttl {
	font-size: 5vw;
}

.case_ul_archive {
	gap: 40px 30px;
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
}

#case-single .case_data {
	display: block;
}

#case-single .case_data tr {
	display: block;
}

#case-single .case_data th,
#case-single .case_data td {
	display: block;
	width: 100%;
	border: none;
}

#case-single .case_data th:first-child,
#case-single .case_data td:first-child {
	border-top: none;
}

#case-single .case_data th {
	padding: 2vw 3vw 2vw 3vw;
	font-size: 11px;
	font-size: 3.4375vw;
	font-weight: bold;
}

#case-single .case_data td {
	padding: 3vw 3vw 6vw 3vw;
	background-color: #fff;
	font-size: 11px;
	font-size: 3.4375vw;
}

.case_ul_archive .case_data,
.compare-list .case_data {
	width: 100%;
}

.case_ul_archive .case_data tr,
.compare-list .case_data tr {
	display: block;
}

.case_ul_archive .case_data th,
.case_ul_archive .case_data td,
.compare-list .case_data th,
.compare-list .case_data td {
	display: block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	border: none;
}

.case_ul_archive .case_data th:first-child,
.case_ul_archive .case_data td:first-child,
.compare-list .case_data th:first-child,
.compare-list .case_data td:first-child {
	border-top: none;
}

.case_ul_archive .case_data th,
.compare-list .case_data th {
	padding: 1vw 3vw 1vw 3vw;
	font-size: 9px;
	font-size: 2.8125vw;
	font-weight: bold;
}

.case_ul_archive .case_data td,
.compare-list .case_data td {
	padding: 3vw 3vw 3vw 3vw;
	border-bottom: none;
	background-color: #fff;
	font-size: 9px;
	font-size: 2.8125vw;
}

.doctor_list .doctor_ul {
	gap: 60px;
}

.doctor_list .doctor_ul .doctor_ul_li {
	width: 100%;
}

.contactform-txt {
	width: 85%;
	margin: 0 auto 40px auto;
	text-align: left;
}

#contactForm {
	width: 85%;
	padding: 30px;
}

.form_tbl {
	width: 100%;
}

.form_tbl th,
.form_tbl td {
	display: block;
	width: 100%;
}

.form_tbl th {
	padding-bottom: 0;
	border-bottom: none;
}

.form_tbl td {
	padding-bottom: 25px;
}

.form_tbl .required {
	padding: 2px 8px 2px 8px;
	font-size: 13px;
	font-size: 1.3rem;
}

.form_tbl input.form_s_age {
	width: 100%;
}

.form_tbl select,
.form_tbl input {
	width: 100%;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	font-size: 3.5vw;
}

}

@media screen and (max-width: 851px) {

.hukidashi_point .check_ul {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr; /* 1列レイアウト */
}

.hukidashi_point .check_ul li {
	font-size: 15px;
	font-size: 1.5rem;
}

.hukidashi_point .check_ul li.icon-check {
	padding-left: 40px;
	background: url("images/menu/icon-check.svg") no-repeat #FFFFFF;
	background-position: left 15px top 15px;
	background-size: 15px;
}

.balloon-heading {
	font-size: 5vw;
}

.balloon-heading span::after {
	position: absolute;
	bottom: -5px;
	left: 50%;
	width: 0;
	height: 0;
	border-top: 8px solid #002b52;
	border-right: 8px solid transparent;
	border-left: 8px solid transparent;
	content: "";
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
}

.implant_huki_point .check_ul {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr; /* 1列レイアウト */
}

.implant_huki_point .check_ul li {
	font-size: 15px;
	font-size: 1.5rem;
}

.implant_huki_point .check_ul li.icon-check {
	padding-left: 40px;
	background: url("images/menu/icon-check.svg") no-repeat #FFFFFF;
	background-position: left 15px top 15px;
	background-size: 15px;
}

.implant_huki_point .check_txt_ul {
	width: 100%;
}

.implant_huki_point .check_txt_ul li {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 15px;
	padding: 5vw 2vw 0px 2vw;
	background: #FFFFFF;
}

.implant_huki_point .check_txt_ul li .ttl_check {
	margin-bottom: 10px;
	padding-left: 35px;
	background: url("images/menu/icon-check.svg") no-repeat #FFFFFF;
	background-position: left 13px top 8px;
	background-size: 15px;
	font-size: 13px;
	font-size: 4.0625vw;
}

.implant_huki_point .check_txt_ul li .all_txt p {
	padding-left: 0px;
}

.top_shinbi_txt {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr; /* 1列レイアウト */
	gap: 0px; /* 要素間の余白 */
}

.img_top_shinbi {
	margin-bottom: 30px;
	text-align: center; /* 画像を中央揃え */
}

}

@media (max-width: 850px) {

.treatment-flow .treatment-flow__heading .flow__heading_ttl {
	font-size: 14px;
	font-size: 4.375vw;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.treatment-flow .treatment-flow__heading .flow__heading_ttl span {
	margin: 0 8px;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 20px;
	        flex: 0 0 20px;
}

.treatment-flow .step-box {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.treatment-flow .step-box__head {
	width: 100%;
	padding: 15px 0;
}

.treatment-flow .step-box__content {
	padding: 15px 20px 30px 20px;
	font-size: 11px;
	font-size: 3.4375vw;
}

}

@media screen and (max-width: 768px) {

.treatment-section .treatment-list {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
	justify-items: center;
}

.treatment-section .treatment-list a.treatment-item {
	width: 90%;
	padding: 60px 20px 30px;
}

.treatment-section .treatment-list a.treatment-item img {
	top: -40px;
	width: 80px;
	height: 80px;
}

.treatment-section .treatment-list a.treatment-item .arrow {
	bottom: -12px;
	width: 36px;
	height: 36px;
}

.menu_box_top .cont_menu_box_top {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	padding: 20px 20px 50px 20px;
}

.menu_box_top .cont_menu_box_top .img_menu_box_top {
	max-width: 100%;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 100%;
	        flex: 0 0 100%;
}

.menu_box_top .cont_menu_box_top .txt_cont {
	max-width: 100%;
}

}

@media (max-width: 768px) {

.surgical_guide_section {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 40px;
}

.gallery_section .gallery_inner {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 30px;
}

.gallery_section .gallery_inner .gallery_heading {
	display: block;
	padding-right: 0;
	padding-bottom: 15px;
	border-right: none;
	border-bottom: 1px solid #022D50;
	text-align: center;
}

.gallery_section .gallery_inner .gallery_images {
	-ms-grid-columns: (1fr)[3];
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.gallery_section_director .gallery_inner {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 30px;
}

.gallery_section_director .gallery_inner .gallery_heading {
	display: block;
	padding-right: 0;
	padding-bottom: 15px;
	border-right: none;
	border-bottom: 1px solid #022D50;
	text-align: center;
}

.gallery_section_director .gallery_inner .gallery_images {
	-ms-grid-columns: (1fr)[3];
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

}

@media screen and (max-width: 600px) {

.calendar-wrap {
	margin: 8vw auto;
}

.mc-main.mini.month {
	position: relative;
}

.mc-main.mini.month .heading:not(.widget .mc-main .heading) {
	position: absolute;
	left: 0;
	display: inline-block;
}

.mc-main.mini.month .heading:not(.widget .mc-main .heading) span {
	font-size: 18px;
	color: #004097;
}

.my-calendar-table thead {
	border-bottom: none;
}

th.day-heading.mon {
	border-top-left-radius: 8px;
	border-bottom-left-radius: 0;
}

th.weekend-heading.sun {
	border-top-right-radius: 8px;
	border-bottom-right-radius: 0;
}

.nextmonth .mc-date-container .mc-date,
.my-calendar-table .nextmonth button {
	display: none;
}

.mc-main .nextmonth {
	outline: none;
}

.my-calendar-table .nextmonth article h3 {
	background-color: #fff !important;
}

td.has-events .mc-date-container button {
	border: none;
}

td.no-events .mc-date-container {
	background-color: #fff !important;
	color: #29B0E4 !important;
}

td.mcat_default .mc-date-container button {
	background-color: #fff !important;
	color: #29B0E4 !important;
}

td.mcat_weekend .mc-date-container button {
	background-color: #f2f2f2 !important;
	color: #C42430 !important;
}

td.mcat_holiday .mc-date-container button {
	background-color: #E6F6F6 !important;
	color: #29B0E4 !important;
}

.calendar-txt_01 span {
	font-size: 2em;
	vertical-align: middle;
}

.calendar-txt_02 span {
	font-size: 2em;
	vertical-align: middle;
}

/*　クリック時	 */

.mc-date-container > button:hover,
.mc-date-container > button:focus {
	outline: none;
	outline-offset: 0;
}

.my-calendar-modal article h3 {
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	margin-bottom: 30px;
	font-size: 20px;
	font-weight: bold;
	color: #004097;
}

.my-calendar-modal article h3 br {
	display: none;
}

.my-calendar-modal article .time-block {
	display: none;
}

.mcat_holiday {
	background: #e6f6f6 !important;
}

.mcat_weekend {
	background: #f2f2f2 !important;
}

}

@media (max-width: 599px) {

#header .btn_head_contact {
	margin-right: 60px;
}

.nav_btn {
	width: 60px;
	height: 60px;
}

.nav_btn .bar {
	width: 24px;
}

.nav_btn .bar.top {
	-webkit-transform: translateY(-8px);
	        transform: translateY(-8px);
}

.nav_btn .bar.middle {
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

.nav_btn .bar.bottom {
	-webkit-transform: translateY(8px);
	        transform: translateY(8px);
}

.nav_btn.active .top {
	-webkit-transform: translateY(0) rotate(45deg);
	        transform: translateY(0) rotate(45deg);
}

.nav_btn.active .bottom {
	-webkit-transform: translateY(0) rotate(-45deg);
	        transform: translateY(0) rotate(-45deg);
}

}

@media (max-width: 481px) {

body {
	font-size: 16px;
	font-size: 1.6rem;
}

.breadcrumbs__inner {
	max-width: 100%;
	padding: 0.8em 4vw 0 4vw;
	font-size: 12px;
	font-size: 1.2rem;
}

.spHeader .spLogo {
	width: 36%;
}

#contactForm {
	width: 90%;
	padding: 10px 15px 15px 15px;
}

.form_tbl .form_ss_txt {
	font-size: 13px;
	font-size: 1.3rem;
}

}

@-webkit-keyframes fade-in {

0% {
	opacity: 0;
	-webkit-transform: translateY(25px);
	        transform: translateY(25px);
}

100% {
	opacity: 1;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

}

@keyframes fade-in {

0% {
	opacity: 0;
	-webkit-transform: translateY(25px);
	        transform: translateY(25px);
}

100% {
	opacity: 1;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

}

@-webkit-keyframes fade-up {

0% {
	opacity: 0;
	-webkit-transform: translateY(-25px);
	        transform: translateY(-25px);
}

100% {
	opacity: 1;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

}

@keyframes fade-up {

0% {
	opacity: 0;
	-webkit-transform: translateY(-25px);
	        transform: translateY(-25px);
}

100% {
	opacity: 1;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

}

@-webkit-keyframes fade-right {

0% {
	opacity: 0;
	-webkit-transform: translateX(25px);
	        transform: translateX(25px);
}

100% {
	opacity: 1;
	-webkit-transform: translateX(0);
	        transform: translateX(0);
}

}

@keyframes fade-right {

0% {
	opacity: 0;
	-webkit-transform: translateX(25px);
	        transform: translateX(25px);
}

100% {
	opacity: 1;
	-webkit-transform: translateX(0);
	        transform: translateX(0);
}

}

@-webkit-keyframes fade-left {

0% {
	opacity: 0;
	-webkit-transform: translateX(-25px);
	        transform: translateX(-25px);
}

100% {
	opacity: 1;
	-webkit-transform: translateX(0);
	        transform: translateX(0);
}

}

@keyframes fade-left {

0% {
	opacity: 0;
	-webkit-transform: translateX(-25px);
	        transform: translateX(-25px);
}

100% {
	opacity: 1;
	-webkit-transform: translateX(0);
	        transform: translateX(0);
}

}

@-webkit-keyframes appear {

0% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

@keyframes appear {

0% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

@-webkit-keyframes sway {

0%,100% {
	-webkit-transform: rotate(10deg);
	        transform: rotate(10deg);
}

50% {
	-webkit-transform: rotate(-10deg);
	        transform: rotate(-10deg);
}

}

@keyframes sway {

0%,100% {
	-webkit-transform: rotate(10deg);
	        transform: rotate(10deg);
}

50% {
	-webkit-transform: rotate(-10deg);
	        transform: rotate(-10deg);
}

}

@-webkit-keyframes ver-hol {

0% {
	-webkit-transform: translate(10px, 10px) rotate(4deg);
	        transform: translate(10px, 10px) rotate(4deg);
}

50% {
	-webkit-transform: translate(-10px, -10px) rotate(-8deg);
	        transform: translate(-10px, -10px) rotate(-8deg);
}

100% {
	-webkit-transform: translate(10px, 10px) rotate(4deg);
	        transform: translate(10px, 10px) rotate(4deg);
}

}

@keyframes ver-hol {

0% {
	-webkit-transform: translate(10px, 10px) rotate(4deg);
	        transform: translate(10px, 10px) rotate(4deg);
}

50% {
	-webkit-transform: translate(-10px, -10px) rotate(-8deg);
	        transform: translate(-10px, -10px) rotate(-8deg);
}

100% {
	-webkit-transform: translate(10px, 10px) rotate(4deg);
	        transform: translate(10px, 10px) rotate(4deg);
}

}

@-webkit-keyframes hol-ver {

0% {
	-webkit-transform: translate(-10px, -10px) rotate(12deg);
	        transform: translate(-10px, -10px) rotate(12deg);
}

50% {
	-webkit-transform: translate(10px, 10px) rotate(-6deg);
	        transform: translate(10px, 10px) rotate(-6deg);
}

100% {
	-webkit-transform: translate(-10px, -10px) rotate(12deg);
	        transform: translate(-10px, -10px) rotate(12deg);
}

}

@keyframes hol-ver {

0% {
	-webkit-transform: translate(-10px, -10px) rotate(12deg);
	        transform: translate(-10px, -10px) rotate(12deg);
}

50% {
	-webkit-transform: translate(10px, 10px) rotate(-6deg);
	        transform: translate(10px, 10px) rotate(-6deg);
}

100% {
	-webkit-transform: translate(-10px, -10px) rotate(12deg);
	        transform: translate(-10px, -10px) rotate(12deg);
}

}

@-webkit-keyframes floating-right {

0% {
	-webkit-transform: translate(-10px, -5px) rotate(-6deg);
	        transform: translate(-10px, -5px) rotate(-6deg);
}

50% {
	-webkit-transform: translate(10px, 10px) rotate(6deg);
	        transform: translate(10px, 10px) rotate(6deg);
}

100% {
	-webkit-transform: translate(-10px, -5px) rotate(-6deg);
	        transform: translate(-10px, -5px) rotate(-6deg);
}

}

@keyframes floating-right {

0% {
	-webkit-transform: translate(-10px, -5px) rotate(-6deg);
	        transform: translate(-10px, -5px) rotate(-6deg);
}

50% {
	-webkit-transform: translate(10px, 10px) rotate(6deg);
	        transform: translate(10px, 10px) rotate(6deg);
}

100% {
	-webkit-transform: translate(-10px, -5px) rotate(-6deg);
	        transform: translate(-10px, -5px) rotate(-6deg);
}

}

@-webkit-keyframes floating-left {

0% {
	-webkit-transform: translate(10px, 10px) rotate(12deg);
	        transform: translate(10px, 10px) rotate(12deg);
}

50% {
	-webkit-transform: translate(-20px, -20px) rotate(-12deg);
	        transform: translate(-20px, -20px) rotate(-12deg);
}

100% {
	-webkit-transform: translate(10px, 10px) rotate(12deg);
	        transform: translate(10px, 10px) rotate(12deg);
}

}

@keyframes floating-left {

0% {
	-webkit-transform: translate(10px, 10px) rotate(12deg);
	        transform: translate(10px, 10px) rotate(12deg);
}

50% {
	-webkit-transform: translate(-20px, -20px) rotate(-12deg);
	        transform: translate(-20px, -20px) rotate(-12deg);
}

100% {
	-webkit-transform: translate(10px, 10px) rotate(12deg);
	        transform: translate(10px, 10px) rotate(12deg);
}

}

@-webkit-keyframes swiper-animation {

0% {
	-webkit-transform: translateX(0%);
	        transform: translateX(0%);
}

100% {
	-webkit-transform: translateX(-100%);
	        transform: translateX(-100%);
}

}

@keyframes swiper-animation {

0% {
	-webkit-transform: translateX(0%);
	        transform: translateX(0%);
}

100% {
	-webkit-transform: translateX(-100%);
	        transform: translateX(-100%);
}

}

@-webkit-keyframes circleProgress {

from {
	stroke-dashoffset: 176;
}

to {
	stroke-dashoffset: 0;
}

}

@keyframes circleProgress {

from {
	stroke-dashoffset: 176;
}

to {
	stroke-dashoffset: 0;
}

}

:export { meta: '{}'; }

