
@charset "UTF-8";

main, header {
	border-left: 5px solid var(--orange);
}

.hero_area {
	height: 70vh;
	position: relative;
	background-size: cover;
	background-position: center;
}

.hero_area span {
	font-family: var(--mincho);
	position: absolute;
	left: 15%;
	bottom: -.6em;
	font-size: 4.5em;
	font-weight: bold;
	color: var(--white);
	text-shadow: 1px 0 0 var(--orange), -1px 0 0 var(--orange), 0 -1px 0 var(--orange), 0 1px 0 var(--orange);
}

.hero_area span::first-letter {
	text-transform: uppercase;
}

header {
	position: relative;
}

header .description {
	background: var(--lightgray);
	height: 100px;
	z-index: -5;
}

header .description div {
	position: relative;
	top: 40%;
}

header h2 {
	color: var(--orange);
	font-size: 1.2em;
	margin-right: 2em;
}

header p {
	font-size: .8em;
}

nav ul {
	list-style-type: none;
	text-decoration: none;
	margin: 0 2em 2em 2em;
}

nav ul li {
	margin-bottom: 1.5em;
}

nav ul li a {
	color: var(--dark);
	text-shadow: var(--white) 0 0 15px;
}

nav ul li a:hover {
	color: var(--orange);
}

nav ul li:last-child {
	margin-top: 2.5em;
}

nav ul li:last-child svg {
	transform: scale(.7);
}

nav ul li a:hover svg {
	stroke: var(--orange);
}

nav ul li a:hover svg path {
	fill: var(--orange);
}

nav ul li a:hover svg g {
	stroke: var(--orange);
}

aside.head {
	position: fixed;
	width: 100%;
	z-index: 999;
	pointer-events: none;
}

aside.head a {
	pointer-events: painted;
	height: fit-content;
}

aside.head nav {
	height: 100vh;
	background: var(--white);
	top: 0;
	right: 0;
	padding: 1.2em;
}

aside.head h1 img {
	filter: drop-shadow(0 0 2px var(--black));
	transition: all .5s ease-out;
}

aside.head h1 img:hover {
	filter: drop-shadow(0 0 4px var(--dark));
}

.ticker {
	position: absolute;
	bottom: 20%;
	right: 10%;
	width: 30% !important;
}

.ticker a {
	background: rgba(255, 255, 255, .78) !important;
	box-shadow: 0 4px 30px rgba(0, 0, 0, .1);
	backdrop-filter: blur(6.4px);
	-webkit-backdrop-filter: blur(6.4px);
	text-decoration: none;
	color: var(--black);
	padding: 15px;
}

.ticker a .per20 {
	color: var(--gray);
	font-weight: normal;
	border: 1px solid var(--gray);
	font-size: .75em;
	margin-right: 1em;
}

.ticker a .per80 {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.ticker a .per80 span {
	display: none;
}

.ticker a .per80 span {
	padding: .2em .2em !important;
	border: none;
}

/*-- main --*/
header h1 img {
	max-width: 80%;
}

section.page {
	width: 70%;
}

.medical_temp section.page {
	width: 100%;
}

section.page table {
	font-size: .8em;
}

section.page p {
	line-height: 1.8;
	margin-bottom: 1.2em;
	font-size: .9em;
}

.header_title_area {
	color: var(--orange);
}

.header_title_area span {
	line-height: 1em;
	position: relative;
	font-size: 3.3em;
	font-weight: bold;
	display: inline-block;
	text-transform: capitalize;
}

.header_title_area span::before {
	content: "";
	display: block;
	border-top: 2px solid var(--orange);
	height: 2px;
	width: 1em;
	position: absolute;
	left: -1.5em;
	top: 50%;
}

.header_title_area h2 {
	font-size: 1em;
	top: 1em;
	position: relative;
}

.header_title_area h2 i {
	font-style: normal;
	display: inline-block;
	margin: 0 .5em;
}

.header_title_area p {
	font-size: .75em;
	top: 1em;
	position: relative;
}

.link_list {
	padding: 0;
	margin: 0;
	width: 100%;
}

.link_list li {
	display: block;
}

.gray_button {
	transition: all .2s ease-out;
	position: relative;
	color: var(--orange);
	background: var(--lightgray);
	padding: 1.5em 1em;
	font-size: .85em;
	font-weight: bold;
	border-radius: .8em;
	text-decoration: none;
	display: block;
}

.gray_button::after {
	transition: all .2s ease-out;
	position: absolute;
	content: "▼";
	right: 5%;
	top: 40%;
	font-size: .6em;
}

.gray_button:hover, .gray_button.this_page {
	color: var(--white);
	background: var(--orange);
}

.gray_button:hover::after {
	top: 45%;
}

.box {
	border: 1px solid var(--gray);
	padding: 1.5em;
	color: var(--black);
	font-size: .85em;
}

.line {
	border-top: 1px solid var(--gray);
	height: 1px;
}

.shine {
	border: 0;
	max-width: 100%;
	background-position: 50%;
	height: 40px;
	width: 80%;
	background-image: radial-gradient(farthest-side at 50% -50%, hsla(0, 0%, 90%, .5), hsla(0, 0%, 90%, 0));
	position: relative;
}

.shine:before {
	content: "";
	height: 1px;
	display: block;
	background-image: linear-gradient(90deg, hsla(0, 0%, 90%, 0), hsla(0, 0%, 90%, .75) 50%, hsla(0, 0%, 90%, 0));
	position: absolute;
	top: -1px;
	width: 100%;
}

section.page h2, section.ufaq h2 {
	color: var(--orange);
}

section.page h2 span {
	font-size: .6em;
	margin-left: 1em;
}

section.page h2 span.subtitle {
	margin-left: 0;
	display: inline-block;
	width: 100%;
}

section.page div table {
	width: 100%;
	border-collapse: collapse;
}

section.page div table th {
	text-align: left;
}

section.page div table td {
	color: var(--orange);
	text-align: right;
}

section.page div table tr td, section.page div table tr th {
	padding: 1.5em 1.7em;
	font-weight: bold;
}

section.page div table tr:nth-child(odd) {
	background-color: var(--lightgray);
}

section.page div table tr:nth-child(even) {
	background-color: var(--white);
}

section div strong:not(.orange_text) {
	background: linear-gradient(transparent 70%, var(--marker) 0%);
}

section div table.basic_table {
	border-collapse: collapse;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
	table-layout: fixed;
}

section div table.basic_table th, section div table.basic_table td {
	border: solid 1px var(--gray);
	padding: .85em 1em;
	color: var(--black);
	text-align: left;
}

section div table.basic_table th {
	background: var(--lightgray);
}

section div table.basic_table tr:nth-child(odd) {
	background: var(--white);
}

section div table.basic_table th:first-child {
	width: 19%;
}

section.page h2 strong, section.page h3 strong {
	background: none !important;
}

.list_dot li {
	width: 100%;
	font-size: 1em;
	margin-bottom: .5em;
}

.caremap_area {
	position: relative;
}

#caremap {
	height: 0;
	padding-top: 35%;
}

#caremap iframe, #caremap object, #caremap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#careclinic .per45 h2 span {
	display: inline-block;
	margin-right: 1em;
	font-size: .5em;
}

.stuff_sort:after {
	content: "";
	display: block;
	width: 25%;
	height: 0;
}

.member {
	margin-bottom: 1.5em;
	transition: all .5s ease-out;
}

.member h3 {
	color: var(--orange);
	margin-bottom: 1em;
}

.member h3 span {
	font-size: .7em;
	display: inline-block;
	width: 100%;
}

.member a {
	color: var(--black);
	text-decoration: none;
	padding: .5em 1em;
	border-radius: 1em;
	background: var(--lightgray);
	font-size: .95em;
}

.member a:hover {
	color: var(--white);
	background: var(--orange);
}

.member img {
	margin-left: auto;
	margin-right: auto;
	border-radius: 50%;
}

.sort-radio {
	display: none;
}

.sort-radio[id="ishi"]:checked ~ .stuff_wrap .member[data-member-type="ishi"], .sort-radio[id="eisei"]:checked ~ .stuff_wrap .member[data-member-type="eisei"], .sort-radio[id="gikou"]:checked ~ .stuff_wrap .member[data-member-type="gikou"], .sort-radio[id="housha"]:checked ~ .stuff_wrap .member[data-member-type="housha"], .sort-radio[id="joshu"]:checked ~ .stuff_wrap .member[data-member-type="joshu"], .sort-radio[id="ukethke"]:checked ~ .stuff_wrap .member[data-member-type="ukethke"], .sort-radio[id="tc"]:checked ~ .stuff_wrap .member[data-member-type="tc"], .sort-radio[id="jimu"]:checked ~ .stuff_wrap .member[data-member-type="jimu"], .sort-radio[id="houmon"]:checked ~ .stuff_wrap .member[data-member-type="houmon"], .sort-radio[id="iryojimu"]:checked ~ .stuff_wrap .member[data-member-type="iryojimu"], .sort-radio[id="call"]:checked ~ .stuff_wrap .member[data-member-type="call"] {
	order: -1;
	animation: sorteffect .3s ease-in-out forwards;
}

@keyframes sorteffect {
	0% {
		transform: scale(0);
	}
	
	100% {
		transform: scale(1);
	}
}

.sort-radio[id="ishi"]:checked ~ .stuff_wrap .member:not([data-member-type="ishi"]), .sort-radio[id="eisei"]:checked ~ .stuff_wrap .member:not([data-member-type="eisei"]), .sort-radio[id="gikou"]:checked ~ .stuff_wrap .member:not([data-member-type="gikou"]), .sort-radio[id="housha"]:checked ~ .stuff_wrap .member:not([data-member-type="housha"]), .sort-radio[id="joshu"]:checked ~ .stuff_wrap .member:not([data-member-type="joshu"]), .sort-radio[id="ukethke"]:checked ~ .stuff_wrap .member:not([data-member-type="ukethke"]), .sort-radio[id="tc"]:checked ~ .stuff_wrap .member:not([data-member-type="tc"]), .sort-radio[id="jimu"]:checked ~ .stuff_wrap .member:not([data-member-type="jimu"]), .sort-radio[id="houmon"]:checked ~ .stuff_wrap .member:not([data-member-type="houmon"]), .sort-radio[id="iryojimu"]:checked ~ .stuff_wrap .member:not([data-member-type="iryojimu"]), .sort-radio[id="call"]:checked ~ .stuff_wrap .member:not([data-member-type="call"]) {
	opacity: .1;
}

.sort-radio[id="ishi"]:checked ~ .stuff_sort .gray_button[for="ishi"], .sort-radio[id="eisei"]:checked ~ .stuff_sort .gray_button[for="eisei"], .sort-radio[id="gikou"]:checked ~ .stuff_sort .gray_button[for="gikou"], .sort-radio[id="housha"]:checked ~ .stuff_sort .gray_button[for="housha"], .sort-radio[id="joshu"]:checked ~ .stuff_sort .gray_button[for="joshu"], .sort-radio[id="ukethke"]:checked ~ .stuff_sort .gray_button[for="ukethke"], .sort-radio[id="tc"]:checked ~ .stuff_sort .gray_button[for="tc"], .sort-radio[id="jimu"]:checked ~ .stuff_sort .gray_button[for="jimu"], .sort-radio[id="houmon"]:checked ~ .stuff_sort .gray_button[for="houmon"], .sort-radio[id="iryojimu"]:checked ~ .stuff_sort .gray_button[for="iryojimu"], .sort-radio[id="call"]:checked ~ .stuff_sort .gray_button[for="call"] {
	background-color: var(--orange);
	color: var(--white);
}

.parent-recruit section .per45 a {
	text-decoration: none;
}

.parent-recruit section .per45 a p {
	color: var(--black);
}

.parent-recruit section .per45 a span {
	padding: 1em;
	border-radius: 1em;
	background: var(--lightgray);
	text-align: center;
	display: inline-block;
	width: 100%;
	color: var(--dark);
}

.parent-recruit section .per45 a:hover span {
	background: var(--orange);
	color: var(--white);
}

.parent-recruit section .per45 a:hover img {
	opacity: .85;
}

.gallery {
	margin-bottom: 1em;
}

#invisalign .gray_dot {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}

.medical_temp .tow_tone_gray_bg h3 {
	font-size: 1.5em;
	letter-spacing: .25em;
}

.medical_temp .tow_tone_gray_bg li {
	font-size: .9em;
	margin-bottom: .8em;
}

.before_after {
	background: url("https://cdn-jgikf.nitrocdn.com/hMJhpLNGpqRFQAWZIGtAdhatWvlOlWsc/assets/images/optimized/rev-5cf0484/tokushikai.jp/wp-content/themes/sakoda-pc/images/common/before_after.svg") no-repeat 45% 65%;
}

.before_after.nitro-lazy {
	background: none !important;
}

.before_after li {
	font-size: .8em;
	margin-bottom: 1em;
}

.before_after div div {
	width: 100%;
}

.point_area h2 span {
	display: inline-block;
	width: 50%;
}

.point_area h3 {
	color: var(--orange);
}

.point_area .number_badge span:first-of-type::after {
	background: var(--lightgray);
}

section.page .point_area p {
	font-size: .8em;
}

.choice_area h3 {
	color: var(--orange);
}

.choice_area .number_badge {
	left: -.7em;
	position: relative;
}

.choice_area .number_badge span:first-of-type::after {
	background: var(--lightgray);
}

section.page .choice_area p {
	padding-left: 6em;
	font-size: .85em;
}

.choice_area div.per30 img, .merit_area img, .point_area img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.point_area img {
	height: auto;
}

.merit_area h3 {
	color: var(--orange);
}

.merit_area .per60 {
	flex-flow: column;
}

section.page .merit_area p {
	padding-right: 4em;
	font-size: .85em;
}

.detail_area {
	padding: 1.5em;
}

.detail_area h3 {
	color: var(--orange);
	top: -1em;
	left: -2em;
}

.detail_area .number_badge {
	left: -.7em;
	position: relative;
}

.detail_area .number_badge span:first-of-type {
	top: -1.5em;
	margin-right: 0;
	left: -1.5em;
}

.detail_area .number_badge span:first-of-type::after {
	background: var(--lightgray);
}

section.page .detail_area p {
	padding-left: 3.5em;
	font-size: .85em;
}

.flow {
	border-radius: 0 1.5em 1.5em 0;
	background: linear-gradient(to left, var(--lightgray) 0%, transparent 100%);
	z-index: -2;
	padding-top: 3em;
	padding-bottom: 3em;
}

.flow >.flex {
	position: relative;
}

.flow > .flex::before {
	background: var(--orange);
	content: "";
	height: 100%;
	left: 3em;
	position: absolute;
	top: 20px;
	width: 3px;
	z-index: -1;
}

.flow > .flex:last-child::before {
	content: none;
}

#invisalign .flow > .flex:last-child::before {
	background: linear-gradient(to bottom, var(--orange), var(--white));
	content: "";
	height: 100%;
	left: 3em;
	position: absolute;
	top: 20px;
	width: 3px;
	z-index: -1;
}

.flow .flex .flow_icon .day_badge {
	width: 6em;
	height: 6em;
	border-radius: 50%;
	background: var(--orange);
	color: var(--white);
	font-weight: bold;
	position: relative;
	bottom: 2em;
}

.flow .flex:last-of-type .flow_icon .day_badge::after {
	color: var(--white);
	font-size: .8em;
	position: absolute;
	bottom: 20%;
}

#invisalign .flow .flex:last-of-type .flow_icon .day_badge::after {
	content: "以降";
}

.flow .flex .flow_icon .day_badge i {
	font-size: 1.8em;
	font-style: inherit;
	position: relative;
	bottom: 0;
	bottom: 3px;
}

.flow .flex img {
	object-fit: cover;
	height: 8em;
	width: 8em;
	border-radius: 50%;
}

.flow .flex .flow_box {
	flex: 1 1 auto;
	padding: 0 0 0 4rem;
}

.flow_section h3 {
	color: var(--orange);
}

.flow_section p {
	width: 90%;
}

#free-diagnosis section div.flex h2 {
	font-size: 1.1em;
}

#free-diagnosis section div.flex li {
	font-size: .8em;
}

.form_area h3 {
	color: var(--orange);
}

.form_area {
	padding: 1em 3em;
}

.form_area span.tel_num ~ span {
	color: var(--orange);
	font-size: .8em;
	font-weight: bold;
}

.form_area .tel_num {
	font-size: 2.5em;
	font-weight: bold;
	color: var(--orange);
}

.form_area .flex {
	font-size: .85em;
}

.form_area .flex .per30 {
	background: var(--blown);
	color: var(--white);
	padding: 1em;
	position: relative;
	margin-bottom: 5px;
}

.form_area .flex .per30 span {
	position: absolute;
	right: 5%;
	background: var(--red);
	padding: .2em .7em;
	border-radius: 1em;
	font-size: .8em;
}

.form_area .flex .per70 {
	background: var(--white);
	padding: 1em .5em;
	margin-bottom: 5px;
}

.form_area .flex .multi {
	padding-bottom: 0;
}

.form_area .flex .multi .per70 {
	border-left: 5px solid var(--lightgray);
	margin-bottom: 0;
}

.form_area .flex .per70 input, .form_area .flex .per70 select, .form_area .flex .per70 textarea {
	border: none;
	max-width: 100%;
	display: inline-block;
	padding: 1em;
}

.form_area .flex .per70 input[type="radio"] {
	vertical-align: bottom;
	padding-right: 0;
	margin-right: 2px;
}

.form_area .flex .per70 span.small_text {
	padding-left: .5em;
}

.form_area .flex .per70 .zip_area {
	border-bottom: 5px solid var(--lightgray);
	width: 100%;
	padding-bottom: 1em;
	position: relative;
}

.form_area .flex .per70 .zip_area input {
	max-width: 100%;
	display: inline-block;
}

.form_area .flex .per70 .zip_area::before {
	content: "〒";
	display: inline-block;
	left: 5px;
	position: relative;
}

.form_area input[type="submit"] {
	border: none;
	width: 100%;
	background: var(--orange);
	color: var(--white);
	text-align: center;
	padding: 1.2em;
	font-size: 1em;
	border-radius: .6em;
	margin-top: 10px;
	font-weight: bold;
	cursor: pointer;
}

.form_area input[type="submit"]:hover {
	opacity: .9;
}

.wpforms-container {
	margin-top: 30px;
}

div[id*="wpforms"] {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

div[id*="wpforms"] form {
	width: 100%;
}

[class="wpforms-field-label"] {
	font-size: .8em;
	position: relative;
	margin-bottom: 5px;
	display: block;
	width: 30%;
	background: var(--blown);
	color: var(--white);
	padding: 1em;
}

[class="wpforms-field-label"] span {
	position: absolute;
	right: 5%;
	background: var(--red);
	padding: .2em .7em;
	border-radius: 1em;
	font-size: .8em;
}

[class="wpforms-field-label"] span:after {
	content: "必須";
}

div[id*="wpforms"] input, div[id*="wpforms"] select, div[id*="wpforms"] textarea {
	border: none;
}

div[id*="wpforms"] input::placeholder, div[id*="wpforms"] textarea::placeholder, div[id*="wpforms"] select option[disabled] {
	color: var(--gray);
}

div[id*="wpforms"] textarea {
	height: calc(1.3em * 8);
	line-height: 1.3;
}

div[id*="wpforms"] input[type="text"], div[id*="wpforms"] input[type="email"], div[id*="wpforms"] input[type="tel"], div[id*="wpforms"] select, div[id*="wpforms"] textarea, div[id*="wpforms"] ul {
	width: 70%;
	background: var(--white);
	padding: 1em .5em;
	margin-bottom: 5px;
}

div[id*="wpforms"] ul {
	display: flex;
	list-style-type: none;
	padding-left: 0;
	margin-top: 0;
}

div[id*="wpforms"] ul li {
	display: inline-block;
	width: 15%;
}

div[id*="wpforms"].zip_city_area {
	display: grid;
	grid-template-columns: 30% 1fr 1fr;
	grid-template-rows: .5fr 1fr .5fr;
	gap: 0px 0px;
	grid-template-areas: "name zip zip" "name area area" "name city city";
}

div[id*="wpforms"].zip_city_area input {
	width: 100%;
}

div[id*="wpforms"].zip_city_area [class="wpforms-field-label"] {
	grid-area: name;
	width: 100%;
}

div[id*="wpforms"].zip_city_area div:nth-of-type(1) {
	grid-area: city;
}

div[id*="wpforms"].zip_city_area div:nth-of-type(2) {
	grid-area: area;
	display: flex;
}

div[id*="wpforms"].zip_city_area div:nth-of-type(2) div {
	width: 50%;
}

div[id*="wpforms"].zip_city_area div:nth-of-type(2) div:first-child {
	order: 2;
}

div[id*="wpforms"].zip_city_area div:nth-of-type(2) div:last-child {
	order: 1;
	margin-right: 5px;
}

div[id*="wpforms"].zip_city_area div:nth-of-type(3) {
	grid-area: zip;
}

div[id*="wpforms"].zip_city_area div label {
	display: none;
}

button[id*="wpforms-submit"] {
	border: none;
	width: 100%;
	background: var(--orange);
	color: var(--white);
	text-align: center;
	padding: 1.2em;
	font-size: 1em;
	border-radius: .6em;
	margin-top: 10px;
	font-weight: bold;
	cursor: pointer;
}

button[id*="wpforms-submit"]:hover {
	opacity: .9;
}

.wpforms-has-error {
	background: var(--red);
	color: var(--white);
	padding: .5em;
}

.wpforms-has-error label {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.wpforms-confirmation-container {
	border: 1px solid var(--gray);
	padding: 1em;
	background: var(--white);
	margin-top: 30px;
	margin-bottom: 30px;
}

.form_flow li {
	position: relative;
	display: inline-block;
	width: 33%;
	padding: 2em 0;
	margin: 0;
	text-decoration: none;
	font-weight: bold;
	font-size: 1em;
	color: var(--orange);
	background-color: var(--white);
}

.form_flow li span {
	position: absolute;
	color: var(--white);
	background-color: var(--orange);
	display: inline-block;
	padding: .3em .4em;
	border-radius: 50%;
	left: 15%;
	font-size: 1.4em;
	top: 25%;
}

.form_flow li.current {
	color: var(--white);
	background-color: var(--orange);
}

.form_flow li.current span {
	color: var(--orange);
	background-color: var(--white);
}

.form_flow li:first-child {
	border-radius: 5px 0 0 5px;
}

.form_flow li::after, .form_flow li::before {
	position: absolute;
	top: 50%;
	right: -1.5em;
	margin-top: -2.7em;
	content: "";
	border-top: 2.7em solid transparent;
	border-bottom: 2.7em solid transparent;
	border-left: 1.5em solid;
}

.form_flow li::after {
	z-index: 2;
	border-left-color: var(--white);
}

.form_flow li.current::after {
	border-left-color: var(--orange);
}

.form_flow li::before {
	z-index: 1;
	right: -1.8em;
	border-left-color: var(--lightgray);
}

.form_flow li:last-child {
	cursor: default;
	pointer-events: none;
	border-radius: 0 5px 5px 0;
}

.form_flow li:last-child:hover {
	background: none;
}

.form_flow li:last-child::before, .form_flow li:last-child::after {
	content: normal;
}

.mw_wp_form .error {
	background: yellow;
}

#privacy section li, #faq section li {
	font-size: .8em;
}

.ewd-ufaq-faqs {
	margin: auto;
	width: 60%;
}

.ewd-ufaq-faqs p {
	margin-bottom: 1em;
}

/*notebook fix*/
@media screen and (max-width: 1350px) {
	.form_flow li span {
		display: none;
	}
	
	section .per50 {
		width: 75%;
	}
}
