@charset "utf-8";

/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
* {
	box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;

	font-size: 1em;
}

body {
	font-size: 62.5%;
}

body,
table,
input,
textarea,
select,
option {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
	display: block;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
}

a,
a:link {
	color: #323232;
	text-decoration: none;
}

a:visited {
	/* color: #323232; */
	text-decoration: none;
}

a:hover {
	color: #323232;
	text-decoration: underline;
}

a:active {
	color: #323232;
	text-decoration: underline;
}

/* テキストの位置 */
.taLeft {
	text-align: left !important;
}

.taCenter {
	text-align: center !important;
}

.taRight {
	text-align: right !important;
}

/* フォントの大きさ（プラス） */
.fsP1 {
	font-size: 1.08em !important;
}

.fsP2 {
	font-size: 1.16em !important;
}

.fsP3 {
	font-size: 1.24em !important;
}

.fsP4 {
	font-size: 1.32em !important;
}

.fsP5 {
	font-size: 1.4em !important;
}

/* フォントの大きさ（マイナス） */
.fsM1 {
	font-size: 0.92em !important;
}

.fsM2 {
	font-size: 0.84em !important;
}

.fsM3 {
	font-size: 0.76em !important;
}

.fsM4 {
	font-size: 0.68em !important;
}

.fsM5 {
	font-size: 0.6em !important;
}

/* フォントの太さ */
.fwNormal {
	font-weight: normal !important;
}

.fwBold {
	font-weight: bold !important;
}

.vTop {
	vertical-align: top !important;
}

/* フォントカラー */
.fcMain {
	color: #F57173 !important;
}

.fcRed {
	color: #ff0000 !important;
}

/*------------------------------------------------------------
	微調整用クラス（※多用しないこと）
------------------------------------------------------------*/
.mt0 {
	margin-top: 0 !important;
}

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

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
* html .clearfix {
	zoom: 1;
}

*+html .clearfix {
	zoom: 1;
}

.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1240px;
	color: #323232;
	font-size: 15px;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}

#container {
	text-align: left;
}

#main {
	margin: 0 auto 126px;
	width: 996px;
}

a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

.sp {
	display: none !important;
}

@media all and (min-width: 768px) and (max-width: 1024px) {}

@media all and (min-width: 0) and (max-width: 767px) {
	body {
		min-width: inherit;
		font-size: 12px;
	}

	#container {
		padding-top: 152px;
	}

	a:hover,
	a:hover img {
		opacity: 1 !important;
	}

	.sp {
		display: block !important;
	}

	.pc {
		display: none !important;
	}

	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}

	#main {
		margin: 0;
		width: auto;
	}


}

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader h1 {
	margin: 0 auto 23px;
	padding: 3px 0 0;
	width: 994px;
	font-size: 16px;
	color: #141414;
	font-weight: normal;
}

#gHeader .hInner {
	margin: 0 auto 38px;
	padding-left: 4px;
	width: 1002px;
}

#gHeader .logo {
	float: left;
}

#gHeader .logo img {
	width: 281px;
}

#gHeader .rBox {
	margin-top: -4px;
	float: right;
	padding-right: 8px;
	width: 400px;
	text-align: right;
}

#gHeader .rBox .top {
	margin-bottom: -3px;
	color: #141414;
	font-size: 16px;
	letter-spacing: 2px;
}

#gHeader .rBox .tel {
	color: #F57173;
	font-size: 20px;
	font-weight: bold;
}

#gHeader .rBox .tel a {
	font-size: 37px;
	color: #F57173;
	text-decoration: none;
}

@media all and (min-width: 768px) {
	.spBox {
		display: none !important;
	}
}

@media all and (min-width: 0) and (max-width: 767px) {
	#gHeader {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		background-color: #fff;
		z-index: 1000;
	}

	#gHeader h1 {
		display: none;
		padding: 0;
	}

	#gHeader .hInner {
		padding: 18px 25px 15px 32px;
		width: auto;
		margin: 0 auto 10px;
	}

	#gHeader .logo img {
		width: 207px;
	}

	#gHeader .rBox {
		display: none;
	}

	#gHeader .menu {
		padding-top: 24px;
		float: right;
	}

	#gHeader .menu img {
		width: 33px;
	}

	.spInner li {
		float: left;
		width: 33.333%;
	}

	.spInner li a {
		padding: 6px 0;
		color: #fff;
		font-size: 11px;
		display: block;
		text-align: center;
		background-color: #F67174;
		border-right: 1px solid #fff;
		text-decoration: none;
	}

	.spInner li:last-child a {
		border-right: none;
		color: #282828;
		background-color: #FFEBA2;
	}

	.spInner li img {
		display: block;
		height: 20px;
		width: auto !important;
		margin: 0 auto 4px;
	}

	.spBox {
		display: none;
		left: 0;
		top: 0;
		width: 100%;
		max-height: 100%;
		background-color: #FD7275;
		z-index: 1000;
		overflow-y: auto !important;
		position: fixed;
	}

	.spBox .close {
		padding: 41px 29px 55px 0;
		text-align: right;
	}

	.spBox .close img {
		width: 24px;
	}

	.spBox .top {
		margin: 0 auto 4vw;
		width: 84%;
		font-size: 12px;
		text-align: center;
	}

	.spBox .top a {
		padding: 9px 0 8px;
		color: #F57173;
		display: block;
		background-color: #fff;
		border-radius: 5px;
		text-decoration: none;
	}

	.spBox ul {
		margin: 0 8% 48px;
	}

	/* .spBox ul li {
		float: left;
		width: 50%;
	} */

	.spBox ul li a {
		/* padding: 15px 3px 15px 23px;
		display: block;
		font-size: 12px;
		font-size: 3.13vw;
		color: #F57173;
		text-decoration: none;
		border-right: 2px solid #FD7275;
		border-bottom: 2px solid #FD7275;
		background: #fff url(../img/common/icon07.webp) no-repeat 15px 22px;
		background-size: 4px auto; */

	}

	.spBox ul li:nth-child(2n) a {
		/* border-right: none; */
	}

	.spBox ul li:nth-child(1) a {
		/* border-radius: 4px 0 0 0; */
	}

	.spBox ul li:nth-child(2) a {
		/* border-radius: 0 4px 0 0; */
	}

	.spBox ul li:nth-child(9) a {
		/* border-radius: 0 0 0 4px; */
	}

	.spBox ul li:nth-child(10) a {
		/* border-radius: 0 0 4px 0; */
	}

	.spBox ul li:nth-child {
		/* float: right; */
	}

	.spBox .logoBox {
		margin: 0 10px 37px 0;
		padding-top: 12vw;
	}

	.spBox .logoBox img {
		width: 206px;
		margin: 0 auto;
		display: block;
	}

	.spBox .info {
		margin: 0 31px;
		padding-bottom: 50px;
	}

	.spBox .spComText {
		color: #fff;
	}
}

@media all and (min-width: 0) and (max-width: 374px) {
	.spBox ul li a {
		/* padding: 15px 10px 15px 20px; */
	}
}

/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#gNavi {
	margin: 0 auto 24px;
	width: 1100px;
	text-align: center;
}

#gNavi li {
	margin: 0 29px;
	font-size: 16px;
	font-weight: bold;
	display: inline-block;
}

#gNavi li a {
	color: #141414;
	position: relative;
	display: inline-block;
	text-decoration: none;
}

#gNavi li a::after {
	position: absolute;
	bottom: -4px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #141414;
	transform: scale(0, 1);
	transform-origin: center top;
	transition: transform .3s;
}

#gNavi li a:hover::after {
	transform: scale(1, 1);
}

@media all and (min-width: 0) and (max-width: 767px) {
	#gNavi {
		display: none;
	}
}

/*------------------------------------------------------------
	パンクズリスト
------------------------------------------------------------*/
#pagePath {
	margin-bottom: 52px;
	padding: 23px 0 25px;
	background-color: #F1E8DF;
}

#pagePath ul {
	margin: 0 auto;
	width: 1000px;
}

#pagePath li {
	display: inline;
	font-size: 13px;
}

#pagePath li a {
	margin-right: 4px;
	color: #F57173;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#pagePath {
		display: none;
	}
}

/*------------------------------------------------------------
	conts
------------------------------------------------------------*/
#conts {
	float: right;
	width: 710px;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#conts {
		padding: 37px 29px 69px;
		width: auto;
		float: none;
	}
}

/*------------------------------------------------------------
	sideBar
------------------------------------------------------------*/
#sideBar {
	float: left;
	width: 230px;
}

#sideBar .topLink {
	margin-bottom: 13px;
}

#sideBar .topLink img {
	width: 100%;
}

#sideBar .sBox {
	margin-bottom: 13px;
	border: 3px solid #F2EADF;
}

#sideBar .sBox .title {
	padding: 13px 0 18px;
	font-size: 16px;
	text-align: center;
	background-color: #F2EADF;
}

#sideBar .sNavi {
	margin: 0 15px;
}

#sideBar .sNavi li {
	float: left;
	width: 100%;
	background: url(../img/common/line01.webp) repeat-x left bottom;
}

#sideBar .sNavi li:last-child {
	background: none;
}

#sideBar .sNavi li a {
	display: block;
	padding: 15px 4px 18px;
	background: url(../img/common/icon02.webp) no-repeat right center;
	background-size: 5px auto;
	text-decoration: none;
}

#sideBar .sNavi li a:hover {
	opacity: 0.7;
}

#sideBar .banner li {
	margin-bottom: 11px;
	float: left;
}

#sideBar .banner li a {
	display: block;
}

#sideBar .banner li img {
	width: 100%;
}

#sideBar .banner li a:hover img {
	opacity: 0.7;
}

#sideBar .borderBox {
	padding: 8px 8px;
	border: 1px solid #EBEBEB;
}

#sideBar .borderBox .map {
	margin-bottom: 15px;
}

#sideBar .borderBox .map img {
	width: 100%;
}

#sideBar .borderBox p {
	margin: 0 0 16px;
	padding-left: 8px;
	font-size: 12px;
	line-height: 1.85;
}

#sideBar .borderBox .textP {
	padding: 0 0 17px 8px;
	border-bottom: 1px solid #EBEBEB;
}

#sideBar .borderBox .listUl {
	margin: 0 0 12px 8px;
}

#sideBar .borderBox .listUl li {
	margin: 0 3px 3px 0;
	float: left;
	width: 56px;
	padding: 5px 0 2px;
	font-size: 10px;
	text-align: center;
	border: 2px solid #E5E5E5;
	border-radius: 5px;
}

#sideBar .borderBox .link {
	padding-top: 4px;
	text-align: center;
}

#sideBar .borderBox .link a {
	display: block;
	padding: 3px 0;
	color: #fff;
	font-size: 12px;
	background: #FD7275 url(../img/common/icon05.webp) no-repeat 94.5% center;
	background-size: 4px auto;
	border-radius: 11px;
}

#sideBar .borderBox .link a:hover {
	opacity: 0.7;
	text-decoration: none;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#sideBar {
		display: none;
	}
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 100px 0 13px;
	background-color: #F57173;
}

#gFooter .fInner {
	margin: 0 auto;
	width: 1002px;
}

#gFooter .fInner .lBox {
	float: left;
}

#gFooter .fInner .fLogo {
	margin-bottom: 23px;
}

#gFooter .fInner .fLogo img {
	width: 211px;
}

#gFooter .fInner p {
	margin-bottom: 7px;
	color: #fff;
	line-height: 1.75;
}

#gFooter .fInner .tel {
	margin: 0 0 0 7px;
	font-size: 16px;
	font-weight: bold;
}

#gFooter .fInner .tel a {
	color: #fff;
	font-size: 28px;
}

#gFooter .fInner .topBox {
	margin: 0 10px 37px 0;
}

#gFooter .fInner .rBox {
	float: right;
	width: 532px;
}

#gFooter .fInner .textP {
	margin-bottom: 59px;
	padding-bottom: 58px;
	border-bottom: 1px solid #FE9697;
}

#gFooter .fInner .fNavi {
	margin-bottom: 56px;
}

#gFooter .fInner .fNavi li {
	float: left;
	width: 33.33%;
	padding-right: 12px;
}

#gFooter .fInner .fNavi li a {
	color: #fff;
}

#gFooter .fInner .fNavi li ul li {
	width: 100%;
	padding: 0 0 8px;
}

#gFooter .fInner .fNavi li ul li a,
.spBox ul li a,
.footer-nav__parent.footer-nav__link {
	padding-left: 20px;
	display: inline-block;
	background: url(../img/common/icon04.webp) no-repeat 7px center;
	background-size: 5px auto;
	display: block;
	color: #ffffff;
}

#gFooter .fInner .fNavi li ul li a:hover {
	text-decoration: underline;
}

#gFooter .bannerList {
	margin: 0 0 50px 3px;
}

#gFooter .bannerList li {
	margin-right: 8px;
	float: left;
	width: 327px;
}

#gFooter .bannerList li:last-child {
	margin: 0;
}

#gFooter .bannerList li img {
	width: 100%;
}

#gFooter .bannerList li a:hover img {
	opacity: 0.7;
}

#gFooter .copyright {
	font-size: 16px;
	letter-spacing: 0.5px;
	text-align: center;
}

.pageTop {
	margin: 0 auto;
	width: 1222px;
	text-align: right;
	position: relative;
}

.pageTop img {
	width: 75px;
	float: right;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#gFooter {
		padding: 38px 34px 7px;
	}

	#gFooter .fInner {
		width: auto;
	}

	#gFooter .fInner .topBox {
		margin: 0 0 23px;
	}

	#gFooter .fInner .lBox {
		float: none;
		width: auto;
	}

	#gFooter .fInner .fLogo {
		margin-bottom: 36px;
	}

	#gFooter .fInner .fLogo img {
		margin: 0 auto;
		width: 206px;
		display: block;
	}

	#gFooter .fInner .rBox {
		margin-right: -8px;
		float: none;
		width: auto;
	}

	#gFooter .fInner .textP {
		margin-bottom: 47px;
		line-height: 1.8;
		padding-bottom: 0;
		border: none;
	}

	#gFooter .bannerList {
		margin: 0 0 46px 0;
	}

	#gFooter .bannerList li {
		margin: 0 0 8px;
		width: 100%;
	}

	#gFooter .bannerList li img {
		width: 100%;
	}

	#gFooter .copyright {
		font-size: 11px;
	}

	.pageTop {
		margin: 0 10px -1px;
		width: auto;
	}

	.pageTop img {
		width: 38px;
	}
}

/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink {
	text-align: center;
}

.comLink a {
	padding: 10px 0 9px;
	width: 242px;
	margin: 0 auto;
	color: #fff;
	display: block;
	font-size: 14px;
	text-decoration: none;
	background: #FD7275 url(../img/common/icon01.webp) no-repeat 93% center;
	background-size: 4px auto;
}

.comLink a:hover {
	opacity: 0.7;
	text-decoration: none;
}

/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 60px;
	padding-bottom: 23px;
	font-size: 23px;
	font-weight: normal;
	position: relative;
}

.headLine01:before {
	width: 44px;
	height: 2px;
	background: #FD7F82;
	background-size: 8px 11px;
	position: absolute;
	bottom: 0;
	left: 2px;

	content: "";
}

/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 28px;
	padding-left: 19px;
	font-size: 19px;
	font-weight: normal;
	line-height: 1.7;
	background: url(../img/common/icon07.webp) no-repeat left 5px top 13px;
	background-size: 6px 7px;
}

/*------------------------------------------------------------
	comTable
------------------------------------------------------------*/
.comTable {
	width: 100%;
	border-collapse: collapse;
}

.comTable th,
.comTable td {
	padding: 8px 5px;
	color: #fff;
	text-align: center;
	line-height: 1.7;
	vertical-align: middle;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

.comTable tbody th {
	padding: 8px 5px 8px 20px;
	text-align: left;
	letter-spacing: 1.5px;
}

.comTable thead th {
	padding: 6px;
}
.comTable thead th:first-child {
	width:37%;
}
.comTable thead th:nth-child(n+2) {
	width:9%;
}

.comTable tr th:last-child {
	border-right: none;
}

.comTable tr td:last-child {
	border-right: none;
}

.comTable tr.last td,
.comTable tr.last th {
	border-bottom: none;
}

/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
.pageTitle {
	min-height: 350px;
	background: url(../img/recruit/page_title_bg.webp) no-repeat center center;
	background-size: cover;
}

.pageTitle h2 {
	padding-top: 122px;
	margin: 0 auto;
	width: 462px;
	text-align: center;
}

.pageTitle h2 span {
	padding: 32px 0;
	display: block;
	font-size: 28px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	background-color: #fff;
	letter-spacing: 5px;
}

/*------------------------------------------------------------
	fixBtn
------------------------------------------------------------*/
.fixBtn {
	margin-top: -246px;
	position: fixed;
	right: 0;
	top: 50%;
	z-index: 1001;
}

.fixBtn li {
	margin-bottom: 7px;
}

.fixBtn li a {
	padding: 52px 22px 20px;
	width: 65px;
	height: 252px;
	display: block;
	color: #fff;
	font-weight: bold;
	letter-spacing: 1px;
	-webkit-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	background-color: #FD7276;
	box-sizing: border-box;
}

.fixBtn li a span {
	padding: 33px 0 0 2px;
	display: inline-block;
	background: url(../img/common/img01.webp) no-repeat left 3px top;
	background-size: 21px auto;
}

.fixBtn li:last-child {
	margin: 0;
}

.fixBtn li:last-child a {
	height: 233px;
	color: #282828;
	background-color: #FEECA6;
}

.fixBtn li:last-child a span {
	background: url(../img/common/img02.webp) no-repeat left 4px top;
	background-size: 16px auto;
}

.fixBtn li a:hover {
	text-decoration: none;
	opacity: 0.7;
}

/*------------------------------------------------------------
	comTableA
------------------------------------------------------------*/
.comTableA {
	width: 100%;
	border-collapse: collapse;
}

.comTableA th,
.comTableA td {
	border: 1px solid #EBEBEB;
	padding: 12px 17px 11px 19px;
	text-align: left;
	vertical-align: middle;
	font-weight: normal;
	line-height: 1.73;
	letter-spacing: 0.5px;
}

@media all and (min-width: 0) and (max-width: 767px) {
	.comTableA {
		word-break: break-all;
	}

	.comTableA th,
	.comTableA td {
		padding: 12px 14px 10px 15px;
		line-height: 1.75;
	}
}

@media all and (min-width: 0) and (max-width: 767px) {

	/*------------------------------------------------------------
		fixBtn
	------------------------------------------------------------*/
	.fixBtn {
		display: none;
	}

	/*------------------------------------------------------------
		comLink
	------------------------------------------------------------*/
	.comLink a {
		padding: 9px 0 8px;
		width: 225px;
		background: #F67174 url(../img/common/icon01.webp) no-repeat 95% center;
		background-size: 6px auto;
	}

	/*------------------------------------------------------------
		headLine01
	------------------------------------------------------------*/
	.headLine01 {
		margin-bottom: 19px;
		padding-bottom: 10px;
		font-size: 15px;
	}

	.headLine01:before {
		height: 1px;
		width: 22px;
	}

	/*------------------------------------------------------------
		headLine02
	------------------------------------------------------------*/
	.headLine02 {
		margin-bottom: 28px;
		padding-left: 13px;
		font-size: 13px;
		font-weight: normal;
		line-height: 1.73;
		background: url(../img/common/icon07.webp) no-repeat left 5px top 9px;
		background-size: 4px auto;
	}

	/*------------------------------------------------------------
		comTable
	------------------------------------------------------------*/
	.comTable {
		margin-bottom: 21px;
	}

	.comTable th,
	.comTable td {
		padding: 5px 5px;
		font-size: 10px;
		letter-spacing: 0;
	}

	.comTable tbody th {
		padding: 5px 5px 5px 15px;
		letter-spacing: 0;
	}

	.comTable thead th {
		padding: 3px;
	}

	.spComText {
		margin-bottom: 25px !important;
		line-height: 1.85;
	}

	.spComTel {
		margin-bottom: 0;
	}

	.spComTel a {
		display: block;
		width: 100%;
		padding: 9px 0 8px;
		margin: 0 auto;
		color: #F57173;
		font-size: 14px;
		text-align: center;
		letter-spacing: 1px;
		background: #fff url(../img/common/sp_icon01.webp) no-repeat 94.5% center;
		background-size: 5px auto;
		text-decoration: none;
	}

	/*------------------------------------------------------------
		pageTitle
	------------------------------------------------------------*/
	.pageTitle {
		min-height: 160px;
		background: url(../img/recruit/sp_page_title_bg.webp) no-repeat center center;
		background-size: cover;
	}

	.pageTitle {
		min-height: 160px;
	}

	.pageTitle h2 {
		padding-top: 53px;
		width: 230px;
	}

	.pageTitle h2 span {
		padding: 14px 0 14px;
		font-size: 16px;
		letter-spacing: 2.5px;
	}
}

/*------------------------------------------------------------
	comInner
------------------------------------------------------------*/
.comInner {
	width: 710px;
	margin: 0 auto 65px;
}

.comInner .photoBox {
	margin: 7px 0 0;
	float: right;
	position: relative;
}

.comInner .photoBox span {
	position: absolute;
	bottom: -3px;
	right: 25px;
	display: block;
	font-size: 15px;
	color: #323232;
}

.comInner .photoBox img {
	width: 245px;
}

.comInner .textBox {
	width: 380px;
	float: left;
}

.comInner .textBox p {
	font-size: 15px;
	line-height: 2.0;
	color: #323232;
}

@media all and (min-width: 0) and (max-width: 767px) {
	.comInner {
		width: auto;
		margin: 0 auto 25px;
	}

	.comInner .photoBox {
		width: 38.5%;
		margin: 0 auto 22px;
		float: none;
		position: relative;
	}

	.comInner .photoBox span {
		position: absolute;
		bottom: -3px;
		right: 12px;
		font-size: 7.5px;
	}

	.comInner .photoBox img {
		width: 100%;
	}

	.comInner .textBox {
		margin: 0 3px;
		width: auto;
		float: none;
	}

	.comInner .textBox p {
		font-size: 12px;
		line-height: 1.83;
	}

}

/*------------------------------------------------------------
	comBorderBox
------------------------------------------------------------*/
.comBorderBox {
	width: 711px;
	padding: 39px 40px 37px 0;
	margin: 0 -6px 17px -5px;
	border: 1px solid #EBEBEB;
	box-sizing: border-box;
}

.comBorderBox02 {
	padding: 39px 40px 33px 0;
}

.comBorderBox .borderSub {
	width: 100%;
	display: table;
}

.comBorderBox .borderSub .photoSub,
.comBorderBox .borderSub .textSub {
	display: table-cell;
	vertical-align: middle;
	text-align: left;
	box-sizing: border-box;
}

.comBorderBox .borderSub .photoSub {
	width: 36%;
	text-align: center;
}

.comBorderBox .borderSub .photoSub img {
	width: 151px;
}

.comBorderBox .borderSub .textSub p {
	font-size: 15px;
	line-height: 2.0;
}

.comBorderBox .borderSub .textSub .txtSub {
	padding-top: 29px;
	margin-top: 29px;
	border-top: 1px solid #EBEBEB;
}

.comBorderBox .borderSub .textSub .txtSub .title {
	margin-bottom: 4px;
	padding-left: 25px;
	font-size: 17px;
	background: url(../img/common/icon09.webp) no-repeat left top 5px;
	background-size: 21px auto;
}

.comBorderBox .borderSub .textSub .txtSub .title01 {
	background: url(../img/common/icon10.webp) no-repeat left top 5px;
	background-size: 21px auto;
}

.comBorderBox .borderSub .textSub .txtSub p {
	margin-bottom: 20px;
	font-size: 15px;
	line-height: 2.0;
}

.comBorderBox .borderSub .textSub .txtSub p:last-child {
	margin-bottom: 0;
}

.comBorderBox01 {
	margin-bottom: 64px;
}

@media all and (min-width: 0) and (max-width: 767px) {
	.comBorderBox {
		padding: 14px 19px 16px;
		width: auto;
		margin: 0 -1px 7px 2px;
	}

	.comBorderBox02 {
		padding: 20px 19px 17px;
	}

	.comBorderBox .borderSub .textSub h4 {
		display: none;
	}

	.comBorderBox .borderSub {
		width: auto;
		display: inherit;
	}

	.comBorderBox .borderSub .photoSub,
	.comBorderBox .borderSub .textSub {
		padding: 0;
		display: inherit;
	}

	.comBorderBox .borderSub .photoSub {
		margin-bottom: 13px;
		width: 100%;
		display: table;
	}

	.comBorderBox02 .borderSub .photoSub {
		margin-bottom: 22px;
	}

	.comBorderBox .borderSub .photoSub .photo,
	.comBorderBox .borderSub .photoSub .txt {
		display: table-cell !important;
		vertical-align: middle;
		text-align: left;
		box-sizing: border-box;
	}

	.comBorderBox .borderSub .photoSub .photo {
		padding-right: 20px;
		width: 34.5%;
		text-align: left;
	}

	.comBorderBox .borderSub .photoSub h4 {
		margin: 0;
		background: url(../img/common/icon07.webp) no-repeat left top 9px;
		background-size: 4px auto;
	}

	.comBorderBox .borderSub .photoSub img {
		width: 100%;
	}

	.comBorderBox .borderSub .textSub {
		padding: 0;
	}

	.comBorderBox .borderSub .textSub p {
		font-size: 12px;
		line-height: 1.83;
	}

	.comBorderBox .borderSub .textSub .txtSub {
		padding-top: 19px;
		margin-top: 17px;
	}

	.comBorderBox .borderSub .textSub .txtSub .title {
		margin-bottom: 6px;
		padding-left: 23px;
		font-size: 13px;
		background: url(../img/common/icon09.webp) no-repeat left top 2px;
		background-size: 17px auto;
	}

	.comBorderBox .borderSub .textSub .txtSub .title01 {
		background: url(../img/common/icon10.webp) no-repeat left top 2px;
		background-size: 17px auto;
	}

	.comBorderBox .borderSub .textSub .txtSub p {
		margin: 0 0 25px 3px;
		font-size: 12px;
		line-height: 1.83;
	}

	.comBorderBox01 {
		margin-bottom: 40px;
	}
}

/*------------------------------------------------------------
	comUl
------------------------------------------------------------*/
.comUl {
	padding: 6px 0 64px;
	margin: 0 6px 60px -5px;
	border-bottom: 1px solid #EBEBEB;
}

.comUl li {
	padding-right: 30px;
	float: left;
	width: 336px;
	text-align: center;
	background: url(../img/common/icon11.webp) no-repeat right 48%;
}

.comUl li:last-child {
	float: right;
	background: none;
	padding: 0;
}

.comUl li .info {
	padding: 30px 0 15px;
	border: 1px solid #EBEBEB;
}

.comUl li .info img {
	margin: 0 auto 35px;
	width: 173px;
	display: block;
}

.comUl li .info span {
	display: block;
	line-height: 1.6;
}

.comUl li:last-child img {
	margin: 24px auto 47px;
	width: 216px;
}

@media all and (min-width: 0) and (max-width: 767px) {
	.comUl {
		padding: 0px 0 34px;
		margin: 0 0px 34px 2px;
	}

	.comUl li {
		margin-bottom: 8px;
		padding: 0px;
		width: 100%;
		float: none;
		background: none;
	}

	.comUl li:last-child {
		float: none;
		background: none;
		padding: 0;
		margin: 0;
	}

	.comUl li .info {
		padding: 23px 0 15px;
	}

	.comUl li .info img {
		margin: 0 auto 16px;
		width: 46%;
		display: block;
	}

	.comUl li .info span {
		display: block;
		line-height: 1.8;
	}

	.comUl li:last-child img {
		margin: 12px auto 23px;
		width: 56%;
	}
}

/*------------------------------------------------------------
	comTextBox
------------------------------------------------------------*/
.comTextBox {
	padding: 41px 0 40px;
	width: 711px;
	margin-left: -3px;
	position: relative;
	background-color: #F1E8DF;
}

.comTextBox p {
	line-height: 2.0;
	font-size: 15px;
	text-align: center;
}

.comTextBox .icon {
	position: absolute;
	right: 0;
	bottom: 0;
}

.comTextBox .icon img {
	width: 27px;
}

@media all and (min-width: 0) and (max-width: 767px) {
	.comTextBox {
		padding: 17px 10px 16px;
		width: auto;
		margin-left: 3px;
		position: relative;
	}

	.comTextBox p {
		line-height: 1.83;
		font-size: 12px;
	}

	.comTextBox .icon {
		position: absolute;
		right: -1px;
		bottom: -4px;
	}

	.comTextBox .icon img {
		width: 14px;
	}

}




@media all and (-ms-high-contrast:none) {
	.comLink a {
		padding: 15px 0 9px;
	}

	#gFooter .fInner .fNavi li ul li a {
		background: url(../img/common/icon04.webp) no-repeat left 5px;
		background-size: 5px auto;
	}

	.fixBtn li a span {
		background: url(../img/common/img01.webp) no-repeat left 6px top;
		background-size: 21px auto;
	}

	.fixBtn li:last-child a span {
		background: url(../img/common/img02.webp) no-repeat left 7px top;
		background-size: 16px auto;
	}

	.index .secBox03 .rBox dt {
		padding: 13px 0 9px;
	}

	#pagePath {
		padding: 28px 0 25px;
	}

	.pageTitle h2 span {
		padding: 35px 0 23px;
	}

	#sideBar .borderBox .link a {
		padding: 4px 0 0px;
	}

	#sideBar .sNavi li a {
		padding: 18px 4px 15px;
	}

	.comTableA th,
	.comTableA td {
		padding: 16px 17px 10px 19px;
	}

	.staff .comLink a {
		padding: 15px 0 10px;
	}

	.comTable thead th {
		padding: 10px 6px 6px;
	}

	.case .colorBox p span {
		padding: 7px 5px 2px;
	}

	.price .listUl .liStyle {
		padding: 24px 0 15px;
	}

	.concept .comLink a {
		padding: 16px 0 10px;
	}
}

@media all and (min-width: 0) and (max-width: 374px) {
	#booking-form.content-form #action-button button {
		width: 100px;
	}
}

#conts .timetable-calendar table th,
#conts .timetable-calendar table td,
#conts .monthly-calendar table th,
#conts .monthly-calendar table td {
	border-radius: 0;
}

/*** 190320 add ***/

.contact .notesBox .textList li:last-child {
	padding: 18px 50px;
	padding-right: 0;
	background: #fff;
	border-radius: 8px;
	margin-top: 20px;
}

.contact .notesBox .textList li p {
	display: inline-block;
	margin: 0;
}

.contact .notesBox .textList img {
	margin-right: 30px;
	margin-top: -6px
}

#modalArea * {
	box-sizing: border-box;
}

.openModal {
	color: #F57173;
	font-weight: bold;
	cursor: pointer;
}

.openModal:nth-child(2) {
	border-bottom: 1px solid #F57173;
}

/* モーダルCSS */
.modalArea {
	display: none;
	position: fixed;
	z-index: 2000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.modalBg {
	width: 100%;
	height: 100%;
	background-color: rgba(30, 30, 30, 0.9);
}

.modalWrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 85%;
	max-width: 710px;
	padding: 50px 40px;
	background-color: #fff;
}

.closeModal {
	position: absolute;
	top: -0.85rem;
	right: -0.85rem;
	cursor: pointer;
}

.modalWrapper p {
	font-weight: bold;
	margin-bottom: 30px;
	font-size: 16px;
}

.modalWrapper .txt li {
	list-style-type: disc;
	margin-left: 2em;
}

.modalWrapper .txt .domain {
	font-weight: bold;
	padding-left: 2em;
	list-style: none;
}

.contact .notesBox .textList .domain {
	font-weight: bold;
	padding-top: 1em;
	padding-left: 4em;
}

@media all and (min-width: 0) and (max-width: 767px) {

	.contact .notesBox .textList li:last-child {
		width: auto;
		padding: 16px 45px;
		padding-right: 0;
		margin-bottom: 20px;
	}

	.contact .notesBox .textList li p {
		text-indent: -0.5em;
		display: inline-block;
		margin: 0;
	}

	.contact .notesBox .textList img {
		margin-right: 26px;
		margin-top: 0px
	}

	.closeModal {
		top: -1rem;
		left: 0;
		right: 0;
	}

	.closeModal img {
		margin: 0 auto;
		width: 35px;
	}

	.modalWrapper {
		padding: 50px 25px;
	}

	.modalWrapper p {
		font-size: 13px;
	}

	.modalWrapper .txt li {
		font-size: 12px;
	}
}

/*** 190320 end ***/





/**************************************
        マウスピース矯正 20220121 add
**************************************/

.conts02 {
	padding: 0 16px !important;
}



/*症例のリスク・副作用*/
.riskUl li {
	padding-left: 1em;
	text-indent: -1em;
}


@media (min-width: 768px) {
	#gFooter .fInner .fNavi li .footer-nav__parent {
		display: none;
	}

	#gFooter .fInner .fNavi li .footer-nav__parent.footer-nav__link {
		display: block;
		margin-bottom: 8px;
	}
}

@media (max-width: 767px) {
	#gFooter .fInner .fNavi li {
		float: none;
		padding: 0;
		width: 100%;
	}

	#gFooter .fInner .fNavi li .footer-nav__parent {
		background: #ffffff;
		display: block;
		color: #F57173;
		line-height: 15.73vw;
		height: 15.73vw;
		padding: 0 4vw;
		font-size: 3.6vw;
		width: 100%;
		position: relative;
	}

	.menu__accordion {
		position: relative;
		width: 84%;
		margin: 0 auto 1.6vw;
		background: #ffffff;
		display: block;
		color: #F57173;
		line-height: 9.33vw;
		height: 9.33vw;
		padding: 0 4vw;
		font-size: 3.6vw;
	}

	.menu__accordion.menu__accordion-link {
		color: #F57173;
	}

	.menu__accordion a:visited {
		color: #F57173;
	}

	.footer-nav__parent:before,
	.footer-nav__parent:after,
	.menu__accordion:before,
	.menu__accordion:after {
		position: absolute;
		content: "";
		display: block;
		transition: all 0.4s;
		background: #F57173;
		right: 2.67vw;
		top: 50%;
		width: 4vw;
		height: 0.27vw;
		transform: translate(0, -50%);
	}

	/* そのうち1本を縦にする */
	.footer-nav__parent:before,
	.menu__accordion:before {
		transform: translate(0, -50%) rotate(90deg);
	}

	/* プラスアイコンクリック後、マイナスにする */
	.footer-nav__parent.active:before,
	.menu__accordion.active:before {
		transform: translate(0, -50%) rotate(0deg);
	}

	.footer-nav__parent.footer-nav__link:before,
	.footer-nav__parent.footer-nav__link:after,
	.menu__accordion.menu__accordion-link:before,
	.menu__accordion.menu__accordion-link:after {
		display: none;
	}

	#gFooter .fInner .fNavi li:not(:last-child),
	.spBox ul li:not(:last-child) {
		margin-bottom: 2.67vw;
	}

	.footer-nav__children,
	.menu__accordion-content {
		display: none;
	}

	.footer-nav__children.show,
	.menu__accordion-content.show {
		display: block;
	}

	.footer-nav__children {
		padding: 3vw 0;
	}

	.menu__accordion-content {
		padding: 0 0 3vw;
	}
}

.price .comTableA .txtBox02 {
	margin-bottom: 24px;
	padding-left: 0;
	text-indent: 0;
	display: block;
}

.calendar__table {
	width: 100%;
}

.calendar__table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

.calendar__table th,
.calendar__table td {
	background: #fff;
	border: 1px solid #EEEEEE;
	vertical-align: top;
	width: 14.28%;
	text-align: center;
	padding: 12px 0;
	margin: 0;
	box-sizing: border-box;
}

.calendar__table .calendar__table-sun {
	color: red;
}

.calendar__table th {
	border: none;
}

.calendar__table td {
	height: 82px;
}

.calendar__table td:first-child {
	border-left: none;
}

.calendar__table td:last-child {
	border-right: none;
}

.calendar__table .calendar__table-holiday {
	color: #F47275;
	font-weight: bold;
	display: block;
	padding-top: 12px;
}