@charset "utf-8";
/* CSS Document */
main {
	min-height: calc(100vh - 114px);
}
h2{
	text-align:left;
    color: #137280;
    font-size: 2rem;
    letter-spacing: 4px;
	margin: 3rem 0 2rem;
}
h3 {
	padding: 0.3rem 0.5rem 0.5rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid #137280;
	border-left: 12px solid #137280;
	font-size: 1.5rem;
}
.box01 {
	border: 1px solid #ddd;
  border-radius: 1rem;
  padding: 1rem 2rem;
}
/* --== list01 ==-- */
ul.list01 li {
	display: flex;
	border-bottom: 1px dashed #aaa;
	padding-bottom: 0.2rem;
	padding-top: 0.5rem;
}
ul.list01 li:before {
	content: "\f00c";
	display: block;
	font-size: 0.9rem;
	position: relative;
	top: 5px;
	margin: 0 0.5rem;
}
/* --== bg ==-- */
.bg {
	height: 200px;
	background: #eaeaea;
	margin-top: 24px;
}
.bg .bg_box {
	max-width: 1300px;
	height: 100%;
	margin: auto;
	background-size: 600px;
	background-repeat: no-repeat;
	background-position: right top;
}
.bg h2 {
	margin-top: 0;
	max-width: 1000px;
	margin: auto;
	padding-top: 75px;
}
.about .bg,
.contact .bg,
.privacy .bg {
	margin-bottom: 3rem;
}
/*--== about ==--*/
.about .bg_box{
	background-image: url(../img/about_bg.png);
}
.about .greeting {
	margin-bottom: 3rem;
}
.about h2:before,
.privacy h2:before{
  content: '\f007';
}
.about .greeting .img{
	width: 20%;
	box-shadow: 11px 12px 0px #bae6da;
}
.about .history {
	background-color: #f7f7f7;
}
.about .headline01{
	border-bottom: 1px dashed #ddd;
    display: inline-block;
    padding: 0 1rem 0.2rem 0.5rem;
    margin-bottom: 1rem;
    font-size: 1.5rem;
}
.about .headline01:before{
	content: "\f105";
    font-family: "Font Awesome 5 Free";
    color: #137280;
    padding-right: 0.5rem;
	font-size: 2rem;
    font-weight: bold;
}
.about .history{
	margin-bottom: 1rem;
}
.about .history dl{
	display: flex;
	margin-left: 1rem;
    border-left: 2px solid #888;
    padding: 0.2rem 1rem;
}
.about .history dt{
    font-size: 1.2rem;
    color: #dc1f40;
}
.about .history dt span {
    font-size: 1rem;
    color: #aaa;
}
.about .history dd{
	margin-left: 2rem;
	font-size: 1.1rem;
}
.about .history ul li {
	list-style-type: disc;
}
.about .history .facility .w4.left p {
	text-align: center;
	font-size: 1rem;
}
/*--== treatment / dock ==--*/
.treatment .bg_box {
	background-image: url(../img/treatment_bg.png);
}
.treatment .button,
.dock .button {
	margin: 1rem auto 2rem;
}
.treatment_box {
	margin-top: 4rem;
}
.treatment_box dl {
	border-top: 5px solid #128dd0;
	border-bottom: 4px double #128dd0;
	padding: 15px 1rem 1rem;
	margin: 110px 1.5rem 3rem;
}
.info_box {
	border-radius: 1rem 0 0 1rem;
	padding: 1rem 2rem;
	width: 230px;
	position: absolute;
	z-index: 10;
	top: 150px;
	right: -30px;
	background: #42b4c3;
	color: #fff;
	overflow: hidden;
	transition-duration: 0.3s;
	box-shadow: -1px 1px 4px #0d434a;
}
.info_box:hover {
	transform: translate(-30px, 0);
}
.info_box .button {
	width: 150px;
	margin-bottom: 0.5rem;
	background: #fff;
	border: none;
	color: #008c9e;
	font-weight: bold;
	border-radius: 0.5rem;
	letter-spacing: 1.5px;
}
.info_box i {
	font-size: 2rem;
	display: block;
	margin-bottom: 0.5rem;
}
.treatment_box dt {
	font-size: 1.3rem;
	font-weight: bold;
	text-align: center;
	padding: 0.5rem;
	width: 220px;
	margin: -125px auto 0.5rem;
	color: #128dd0;
	background: #ffffff;
	z-index: 1;
	position: relative;
	line-height: 1.3;
	border-radius: 110px;
	border: 4px double;
	height: 220px;
}
.treatment_box dt img {
	width: 100px;
	display: block;
	margin: auto;
	margin-top: 33px;
}
.treatment_box dl.m_top dt img {
	margin-top: 1rem;
}
.treatment_box>dl:last-child {
	display: flex;
	max-width: 650px;
	margin: 0 auto 3rem;
}
.treatment_box dd li p:before {
    content: "\f105";
    margin-right: 0.5rem;
    color: #aaa;
}
.treatment .intro {
	border: 1px solid #0085cd;
	padding: 1rem;
	border-radius: 1rem;
	margin-bottom: 1rem;
}
.treatment .intro h3 {
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	border: none;
	color: #fff;
	background: #0085cd;
	border-radius: 0.5rem;
	padding-top: 10px;
	margin-bottom: 1rem;
}
.treatment .intro p {
	font-size: 0.95rem;
	text-align: left;
	letter-spacing: 0;
}
.treatment .box01 .w6.left {
	padding-bottom: 0.5rem;
}

/* treatment */
.treatment h2:before {
    content: "\f0f1";
}
.treatment .cooperation h3 {
	margin: 1rem 0;
}
.treatment .child {
	background: #e6fcff;
}
.treatment .child .treatment_box dl {
	margin-top: 3rem;
}
.treatment .treatment_box>dl:last-child dt {
	margin: auto;
	width: 220px;
}
.treatment .treatment_box>dl:last-child dd {
	width: calc(100% - 220px);
	padding: 4rem 1rem 0;
}

/*--========= t01 =========--*/
.treatment_box dl.t01,
.treatment_box .t01 dt,
.treatment_box .t01 dd.intro {
	border-color: #ff6565;
}
.treatment_box .t01 dd.intro h3 {
	background-color: #ff6565;
}
/*--========= t02 =========--*/
.treatment_box dl.t02,
.treatment_box .t02 dt,
.treatment_box .t02 dd.intro {
	border-color: #5dc2d0;
}
.treatment_box .t02 dd.intro h3 {
	background-color: #5dc2d0;
}
/*--========= t03 =========--*/
.treatment_box dl.t03,
.treatment_box .t03 dt,
.treatment_box .t03 dd.intro {
	border-color: #56d88a;
}
.treatment_box .t03 dd.intro h3 {
	background-color: #56d88a;
}
/*--========= t04 =========--*/
.treatment_box dl.t04,
.treatment_box .t04 dt,
.treatment_box .t04 dd.intro {
	border-color: #ff8145;
}
.treatment_box .t04 dd.intro h3 {
	background-color: #ff8145;
}
/*--========= t05 =========--*/
.treatment_box dl.t05,
.treatment_box .t05 dt,
.treatment_box .t05 dd.intro {
	border-color: #ff6fae;
}
.treatment_box .t05 dd.intro h3 {
	background-color: #ff6fae;
}
/*--========= t06 =========--*/
.treatment_box dl.t06,
.treatment_box .t06 dt,
.treatment_box .t06 dd.intro {
	border-color: #ff5cd4;
}
.treatment_box .t06 dd.intro h3 {
	background-color: #ff5cd4;
}
/*--========= t07 =========--*/
.treatment_box dl.t07,
.treatment_box .t07 dt,
.treatment_box .t07 dd.intro {
	border-color: #0c7dbb;
}
.treatment_box .t07 dd.intro h3 {
	background-color: #0c7dbb;
}
/*--========= t08 =========--*/
.treatment_box dl.t08,
.treatment_box .t08 dt,
.treatment_box .t08 dd.intro {
	border-color: #8589ff;
}
.treatment_box .t08 dd.intro h3 {
	background-color: #8589ff;
}
/*--========= t09 =========--*/
.treatment_box dl.t09,
.treatment_box .t09 dt,
.treatment_box .t09 dd.intro {
	border-color: #ff5f5f;
}
.treatment_box .t09 dd.intro h3 {
	background-color: #ff5f5f;
}
/*--========= t10 =========--*/
.treatment_box dl.t10,
.treatment_box .t10 dt,
.treatment_box .t09 dd.intro {
	border-color: #aaa;
}
.treatment_box .t10 dd.intro h3 {
	background-color: #aaa;
}

/* kensa */
.treatment .kensa h4.headline01.b {
    font-size: 1.5rem;
    margin: 1.5rem;
}
.treatment .kensa li p {
	border-bottom: 1px dashed #aaa;
	width: 95%;
	padding-bottom: 0.5rem;
	margin-bottom: 0.5rem;
}
.treatment .kensa li p:before {
	content: "\f105";
	margin-right: 0.5rem;
	color: #aaa;
}
.treatment .kensa h3 {
	margin-top: 1rem;
}
/* dock */
.dock .bg_box {
	background-image: url(../img/dock_bg.png);
}
.dock h2:before {
    content: "\f48e";
}
.dock .dock_list {
	max-width: 700px;
	margin: 1rem auto;
}
.dock .dock_list li p {
	border-bottom: 1px dashed #aaa;
	width: 95%;
	padding-bottom: 0.5rem;
	margin-bottom: 0.5rem;
}
.dock dd .button {
	margin: 0.5rem auto;
	background: #dc1f45;
	border-color: #dc1f45;
	color: #fff;
}
.dock .treatment_box dt {
	width: 150px;
	height: 150px;
	padding-top: 3rem;
	margin-top: -90px;
}
.dock .treatment_box .right.w7{
	margin-top: 3rem;
}
.dock .treatment_box>dl:last-child dt {
	margin: auto;
	padding-top: 3.5rem;
}
.dock .treatment_box>dl:last-child dd {
    width: calc(100% - 150px);
    padding: 0rem 1rem 0;
}
/*--== privacy ==--*/
.privacy .sec_wrap{
	min-height: 85vh;
}
.privacy h1{
	text-align:left;
    color: #137280;
    font-size: 2rem;
    letter-spacing: 4px;
	margin: 3rem 0 2rem;
	border-bottom: 2px dotted;
}
.privacy h1:before{
	content: "\f7f2";
    margin-right: 0.5rem;
	background:none;
}
.privacy span{
	font-weight: bold;
	color:#137280;
}

/*--== contact ==--*/
.contact .bg_box,
.privacy .bg_box  {
	background-image: url(../img/contact_bg.png);
}
.contact h2:before {
    content: "\f0e0";
}
.contact table {
	margin: 2rem auto;
	width: 90%;
}
.contact table th,
.contact table td {
	display: block;
	padding-bottom: 0.5rem;
}
.contact table th {
	font-size: 1.1rem;
	vertical-align: top;
	text-align: left;
	padding-right: 1rem;
	color: #137280;
	font-weight: bold;
}
.contact p.supplement {
	font-size: 0.8rem;
}
.contact input[type="text"],
.contact input[type="email"],
.contact input[type="tel"] ,
.contact textarea,
.contact select {
	padding: 0.5rem 1rem 0.5rem;
	font-size: 1.1rem;
	resize: none;
	width: 90%;
}
.contact input[type="date"] ,
.contact input[type="time"] {
	padding: 0.5rem 1rem 0.5rem;
	font-size: 1.1rem;
	resize: none;
	width: 35%;
}
.contact select {
	padding: 0.3rem 0.5rem 0.6rem;
}
.contact input[type="checkbox"] {
	vertical-align: middle;
	min-height: 18px;
	width: 18px;
	display: inline;
	margin: 7px 5px 10px 10px;
}
.contact input#q1,
.contact input#q2,
.contact input#q3,
.contact input#q4 {
	min-height: 20px;
	width: 20px;
	display: inline;
	position: relative;
	top: 3px;
	margin: 0 5px 0.5rem 0;
}
.contact input[type="submit"] {
	text-align: center;
	display: block;
	margin: 0 auto 2rem;
	font-size: 1rem;
	padding: 0.5rem 1.1rem 0.3rem;
	width: 300px;
	background: #5dc2d0;
	color: #fff;
	border: none;
	box-shadow: #190404 0px 0px 5px 0px;
	font-family: "Noto Sans Japanese", 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.contact input[type="submit"]:hover {
	cursor : pointer;
	box-shadow: #190404 0px 0px 5px 1px;
}

/*--== recruit ==--*/
.recruit .bg_box {
	background-image: url(../img/recruit_bg.png);
}
/* =========================================================
 * responsive
 * =========================================================*/
@media screen and (max-width:1024px){
.info_box {
	right: 0px;
}
.info_box:hover {
	transform: translate(0px, 0);
}
}
@media screen and (max-width:780px){
	/*-----------common-------------*/
	.information h2 span{
		display: block;
	}
	h3 {
		margin-top: 1rem;
	}
	.box01 {
	  padding: 1rem;
		margin: 1rem;
	}
	/*header*/
	.bg .bg_box h2 {
		padding-top: 195px;
		text-align: center;
	}
	.bg {
	  height: 250px;
		background: #fff;
	}
	.bg .bg_box {
		background-size: 350px;
		background-position: top center;
	}
	/*info_box_sp*/
	.info_box_sp {
		position: fixed;
		z-index: 10;
		bottom: 0;
		width: 100%;
		margin: 1rem auto 0;
		border-radius: 1rem 1rem 0 0;
	}
	.info_box_sp .button {
		margin: 0 auto;
		width: 100%;
		border-radius: 1rem 1rem 0 0;
		line-height: 2.5;
		background: #008c9e;
		border: #008c9e;
	}
	/*-----------index-------------*/
	.table_sp {
		width: 100%;
	}
	/*-----------about-------------*/
	.about .greeting {
		margin-bottom: 1rem;
	}
	.about .greeting .w5 {
		text-align: center;
	}
	.about .history {
		padding-top: 2rem;
		margin-bottom: 1rem;
	}
	.about .history .main_box {
		padding-bottom: 2rem;
	}
	.about .history dl {
		margin-left: 0;
	}
	.about .history dd {
		margin-left: 1rem;
		margin-bottom: 1rem;
	}
	.about .history .w4 {
		padding-bottom: 1rem;
		text-align: center;
	}
	.about .history .w4:last-child {
		padding-bottom: 0;
	}
	.about .kensa  {
		padding-top: 1rem;
	}
	.about .kensa .w4 {
		padding-bottom: 1rem;
		text-align: center;
	}
	.about .kensa .w4:last-child {
		padding-bottom: 0;
	}

	/*-----------treatment-------------*/
	.treatment .treatment_box:first-child {
		margin-top: -2rem;
	}
	.treatment .treatment_box dl {
		margin: 130px 0 3rem;
	}
	.treatment .treatment_box .w12 .m_top {
		display: none;
	}
	.treatment .treatment_box dl:last-child {
		display: block;
		margin: 130px 0 3rem;
	}
	.treatment .treatment_box>dl:last-child dt {
		margin: -125px auto 0.5rem;
		width: 220px;
	}
	.treatment .treatment_box>dl:last-child dd {
		width: 100%;
		padding: 0;
	}
	.treatment .cooperation h3 {
		line-height: 1.3;
	}
	.treatment .child .treatment_box dl {
		margin-top: 8rem;
	}
	.treatment .child .treatment_box .flex .w6 img {
		text-align: center;
	}

	/*-----------dock-------------*/
	.dock dd .button  {
		width: 250px;
	}
	.dock .treatment_box dl {
		margin: 110px 0.5rem 3rem;
	}
	.treatment_box>dl:last-child  {
		display: block;
		margin: 110px 0.5rem 3rem;
	}
	.dock .treatment_box>dl:last-child dd {
		width: 100%;
		padding: 0;
	}
	.dock .treatment_box>dl:last-child dt {
		margin-top: -90px;
	}

	/*-----------contact-------------*/
	.contact table th,
	.contact table td {
		display: table-cell;
	}
	.contact table th {
		text-align: right;
	}
	table.row th, table.row td {
		width: 100%;
		display: block;
		text-align: left;
	}
	.contact input[type="text"], .contact input[type="email"], .contact input[type="tel"], .contact textarea, .contact select {
		width: 100%;
	}
	input[type="submit"],
	input[type="button"] {
	  border-radius: 0;
	  -webkit-box-sizing: content-box;
	  -webkit-appearance: button;
	  appearance: button;
	  border: none;
	  box-sizing: border-box;
	  cursor: pointer;
	}
	input[type="submit"]::-webkit-search-decoration,
	input[type="button"]::-webkit-search-decoration {
  	display: none;
	}
	input[type="submit"]::focus,
	input[type="button"]::focus {
  	outline-offset: -2px;
	}
	.contact input[type="submit"] {
		text-align: center;
		display: block;
		margin: 0 auto 2rem;
		font-size: 1rem;
		padding: 0.5rem 1.1rem 0.3rem;
		width: 300px;
		background: #ab8c52;
		color: #fff;
		border: none;
		box-shadow: #190404 0px 0px 5px 0px;
		font-family: "Noto Sans Japanese", 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	}

	/*-----------privacy-------------*/
	.privacy .box01 {
		margin-top: 1rem;
	}





}/*sp設定ここまで*/
