@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/*---------
  common
----------*/
/* For modern browsers */
.cf:before,
.cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}
/* For IE 6/7 (trigger hasLayout) */
.cf {
	zoom: 1;
}
/* For modern browsers */
.cf:before,
.cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}
/* For IE 6/7 (trigger hasLayout) */
.cf {
	zoom: 1;
}
body {
	font-size: 62.5%
}
html {
	font-family: 'Open Sans', Arial, Roboto, "Droid Sans", "游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	line-height: 1.8;
}
p,
li,
dt,
dd {
	font-size: 1.1rem;
}
li {
	list-style: none;
}
h2 {
	text-align: center;
	font-size: 2.4rem;
	color: #228db3;
	color: #2556A5;
	margin-bottom: 0px;
	font-weight: 700;
	font-family: "秀英丸ゴシック B";
}
section {
	clear: both;
	margin: 0;
	padding: 60px 0;
}
.hx_line {
	text-align: center;
	margin-bottom: 60px;
}
.bg_blue {
	background: #2556A5;
	padding: 60px 0;
}
a {
	text-decoration: none;
}
.inner {
	width: 1000px;
	margin: 0 auto;
}
@media only screen and (max-width: 767px) {

	section {
		clear: both;
		margin: 0;
		padding: 30px 0;
	}
	.hx_line {
		text-align: center;
		margin-bottom: 30px;
	}
	.bg_blue {
		padding: 30px 0;
	}
	html .inner {
		width: 96%;
		margin: 0 auto;
	}
	h2 {
		font-size: 1.6rem;
	}
}
html #mainvisual {
	display: block;
	-webkit-margin-before: 0em;
	-webkit-margin-after: 0em;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
}
html #mainvisual {
	margin-bottom: -10px;
}
.indent {
	text-indent: 1rem;
}
h4 {
	text-align: center;
	font-size: 2.4rem;
	color: #2556A5;
	margin-bottom: 0px;
	font-weight: 700;
}
@media only screen and (max-width: 767px) {
	h4 {
		font-size: 24px;
	}
}

/*---------
#about
-----------*/
#about {
	margin-top: 0, ;
	padding-top: 0;
}
#about span {
	font-size: 1.4rem;
	font-family: "秀英丸ゴシック B";
}
#about .bg_blue {
	background-color: none;
	background-image: url(../images/about_bg.jpg);
	background-position: center;
	background-size: cover;
	background-repeat: none;
}
#about p {
	text-align: center;
	margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
	#about span {
		font-size: 18px;
	}
	#about p {
		text-align: left;
		margin-bottom: 15px;
	}
}
#about .hx_line {
	margin-bottom: 60px;
}
#about .right {
	text-align: right;
	font-weight: 700;
}
#about .bg_blue {
	margin-bottom: 80px;
}
#profile img {
	float: left;
	width: 450px;
}
#profile_right {
	float: right;
	width: 500px;
}
#profile_right p {
	text-align: left;
	margin-bottom: 20px;
	font-size: 1rem;
}
#profile_right h3 {
	font-size: 1.6rem;
	margin-bottom: 20px;
	font-family: "秀英丸ゴシック B";
}
@media only screen and (max-width: 767px) {
	#mainvisual {
		padding-top: 10rem;
	}
	#about .hx_line {
		margin-bottom: 30px;
		text-align: center;
	}
	#profile img {
		float: none;
		width: 100%;
		margin-bottom: 30px;
	}
	#profile_right {
		float: none;
		width: 100%;
	}
	#profile_right p {
		text-align: left;
		margin-bottom: 10px;
	}
	#profile_right h3 {
		text-align: center;
		font-size: 1.2rem;
		margin-bottom: 10px;
	}
}
/*---------
#service
-----------*/
#service h2 {
	color: #fff;
}
#service h3 {
	font-size: 1.1rem;
	text-align: center;
	margin-bottom: 20px;
	font-family: "秀英丸ゴシック B";
	color: #fff;
}
.service_inner {
	float: left;
	width: 32%;
	margin: 0 0.6%;
}
.service_inner img {
	width: 98%;
}
.service_inner p {
	margin: 30px 15px 0 15px;
	font-size: 1rem;
	color: #ccc;
}
@media only screen and (max-width: 767px) {
	.service_inner p {
		margin: 15px;
	}
	.service_inner {
		float: none;
		width: 100%;
		margin: 0;
		margin-bottom: 45px;
	}
	#service h3 {
		font-size: 1.2rem;
	}
	.service_inner img {
		width: 100%;
	}
}

/*---------
#performance
-----------*/
#performance {
	padding-bottom: 80px;
}
#performance h3 {
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
	font-family: "秀英丸ゴシック B";
}
#performance_year .f_left {
	float: left;
	/*width:30%;
  width:24%;
  margin-right:13.33px;*/
	background-color: #2556A5;
	padding: 30px 0;
	margin-bottom: 60px;
	color: #ccc;
	width: 19.8%;
	margin-right: .25%;
}
#performance_year .f_right {
	padding: 30px 0;
	float: right;
	/*width:30%;
  width:24%;*/
	background-color: #2556A5;
	margin-bottom: 60px;
	color: #ccc;
	width: 19.8%;
}
#performance ul {
	/*padding:20px 55px;
  padding:20px;*/
	padding: 20px .75em;
}
#performance_year li {
	/*font-size:1rem;*/
	font-size: 14px;
	float: left;
	/*width:90%;*/
	width: 100%;
}
#performance_year li:before {
	content: "■";
	color: #228db3;
	margin-right: 5px;
}
/*#performance_img .f_left{
  float:left;
  width:50%;
}
#performance_img .f_right{
  float:right;
  width:49%;
}*/
#performance_img {
	display: inline-block;
	height: 366px;
}
#performance_img img {
	/*margin: 0 47px 0 0;
  float: left;*/
	height: 100%;
}
#performance_img img:last-child {
	margin: 0;
}
@media only screen and (max-width: 767px) {
	#performance ul {
		padding: 20px 55px;
	}
	#performance_year .f_left {
		padding: 15px 0;
		float: none;
		margin-bottom: 20px;
		width: 100%;
	}
	#performance_year .f_right {
		padding: 15px 0;
		float: none;
		width: 100%;
	}
	#performance_year li {
		float: none;
		width: 100%;
		font-size: 1rem;
	}
	/*#performance_img .f_left{
 float:none;
 width:50%;
}
#performance_img .f_right{
 float:none;
 width:50%;
}*/
	#performance_img {
		width: 100%;
		height: auto;
	}
	#performance_img img {
		/*float: none;
  display: block;
  margin: 0 auto 10px !important;
  width: 100%;
  max-width: 360px;*/
		height: 70vw;
	}
}
/*---------
#company
-----------*/
#company {
	clear: both;
	color: #fff;
}
#company h2 {
	color: #fff;
}
#company dt,
#company dd {
	float: left;
}
#company dl {
	border-bottom: 1px solid #70c4e2;
	clear: both;
	padding: 10px 0;
}
#company dt {
	color: #fff;
	width: 20%;
	font-size: 1.2rem;
	font-weight: 700;
	font-family: "秀英丸ゴシック B";
}
#company dd {
	width: 80%;
	color: #ccc;
}
#company ul {
	display: block;
	list-style-type: disc;
	-webkit-margin-before: 0em;
	-webkit-margin-after: 0em;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
	-webkit-padding-start: 0px;
}
#gmap {
	margin-top: 60px;
}
@media only screen and (max-width: 767px) {

	#company dt,
	#company dd {
		float: none;
	}
	#company dt {
		width: 100%;
		margin-bottom: 15px;
	}
	#company dd {
		width: 100%;
	}
	#company dd ul,
	#company dd li {
		width: 98%;
		-webkit-margin-before: 0em;
		-webkit-margin-after: 0em;
		-webkit-margin-start: 0px;
		-webkit-margin-end: 0px;
		-webkit-padding-start: 0px;
	}
	html #company li {
		text-indent: -1em;
		padding-left: 1em;
	}
}

/*---------
#contact
-----------*/
#contact .center {
	text-align: center;
	margin-bottom: 60px;
}
#contact dt,
#contact dd {
	float: left;
}
#contact dl {
	border-bottom: 1px solid #70c4e2;
	clear: both;
	padding: 20px 0;
}
#contact dt {
	width: 30%;
	font-weight: 700;
	font-family: "秀英丸ゴシック B";
}
#contact dd {
	width: 60%;
}
.required {
	background: #228db3;
	color: #fff;
	padding: 5px 20px;
	margin-left: 20px;
}
#contact dt {
	font-weight: 700;
}
#contact h3 {
	font-weight: 700;
	font-size: 0.9rem;
}
#contact input[type="text"] {
	border: 1px solid #737373;
}
#privacy {
	margin-top: 60px;
	margin-bottom: 90px;
}
#privacy p {
	font-size: 0.9rem;
}
#confirm_btn {
	color: #fff;
	width: 240px;
	padding: 10px 0;
	text-align: center;
	background-color: #228db3;
	background-color: #2556A5;
	font-size: 1.6rem;
	margin: 0 auto;
	font-family: "秀英丸ゴシック B";
}
button {
	background: none;
	border: none;
	color: #fff;
}
#confirm_btn:hover {
	opacity: .6;
}

@media only screen and (max-width: 767px) {
	#contact .center {
		text-align: center;
		margin-bottom: 30px;
	}
	#contact dt,
	#contact dd {
		float: none;
	}
	#contact dl {
		border-bottom: 1px solid #70c4e2;
		clear: both;
		padding: 20px 0;
		margin-bottom: 20px;
	}
	#contact dt {
		width: 100%;
		margin-bottom: 15px;
	}
	#contact dd {
		width: 96%;
	}
	input[type="text"],
	textarea {
		width: 100%;
	}
}
#gotop {
	position: fixed;
	bottom: 60px;
	right: 60px;
}
@media only screen and (max-width: 767px) {
	#gotop {
		position: fixed;
		bottom: 1%;
		right: 2%;
	}
}
/*---------
thanks.html
----------*/
#thanks .back_top {
	text-align: center;
	height: 60px;
	margin: 50px auto;
}
#thanks .back_top a {
	padding: 20px 50px;
	background-color: #2556A5;
	border: none;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
}
#thanks .back_top:hover {
	opacity: .6;
}
@media only screen and (max-width: 767px) {
	#thanks {
		margin-top: 200px;
	}
}
/*---------
footer
----------*/
footer {
	background: #4e4e4e;
	color: #eee;
}
html #footer_top h3 {
	color: #fff;
}
#footer_top ul,
#footer_top li {
	margin: 0;
	padding: 0;
	font-weight: 100;
}
#footer_top .f_left {
	float: left;
	width: 33%;
}
#footer_top .f_left .mgl30 li {
	margin-bottom: 20px;
}
#footer_top .f_left .mgl30 li:before {
	content: ">";
	padding-right: 1rem;
}
#footer_top .f_right {
	float: right;
	width: 33%;
}
#footer_top .mgl30 {
	margin-left: 100px;
}
#footer_top .f_right img {
	float: right;
}
#footer_top a {
	color: #fff;
	text-decoration: none;
}
#footer_top {
	padding: 60px 0;
}
#footer_bottom {
	clear: both;
	text-align: center;
	background-color: #2556A5;
}
#footer_top h3 {
	color: #ccc;
	font-size: 1.4rem;
	margin-bottom: 30px;
	font-family: "秀英丸ゴシック B";
}
#footer_bottom p {
	font-weight: 100;
	font-size: 0.8rem;
}
@media only screen and (max-width: 767px) {
	#footer_top .f_left {
		float: none;
		width: 100%;
		margin-bottom: 50px;
	}
	#footer_top .f_right {
		float: none;
		width: 100%;
	}
	#footer_top .mgl30 {
		margin-left: 0;
	}
	#footer_top .f_right,
	#footer_top .f_right img {
		float: none;
		text-align: center;
		margin: 0 auto;
	}
}
/*---------
  .menu
----------*/
html .menu {
	font-family: "秀英丸ゴシック B";
}
.menu li {
	width: 100%;
	background-color: #228db3;
}
#acd-menu dd ul li a {
	text-decoration: none;
	display: block;
	position: relative;
	height: 44px;
	line-height: 44px;
	padding: 0 30px 0 30px;
	background-color: #fff;
	border-bottom: 1px solid #DE92BE;
	font-size: 16px;
	color: #DE92BE;
}
#acd-menu dd ul li a:hover {
	color: #A30055;
}
#acd-menu a:hover {
	color: #fff;
}
#acd-menu dt:hover {
	background-color: #70c4e2;
}
#header_top {
	width: 100%;
	padding-top: 10px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 10px;
}
.button-toggle {
	max-width: 40px;
	width: 15%;
	position: absolute;
	top: 10px;
	right: 10px;
	background: #fff;
}
#splogo {
	margin-left: 2%;
	width: 50%;
}
#sp_header {
	width: 100%;
	position: fixed;
	top: 0;
	background: #fff;
	z-index: 9999;
	border-bottom: 1px solid #ccc;
}
#sp_header h1 {
	padding: 0;
	margin: 0;
}
#sp_header_contact {
	text-align: center;
	margin-bottom: 10px;
}
#sp_tell_number {
	font-size: 1.5rem;
	color: #228db3;
	line-height: 1;
	font-family: "秀英丸ゴシック B";
}
#sp_tell_number span {
	font-size: 0.9rem;
}
.menu {
	color: #fff;
	clear: both;
}
.menu a {
	text-decoration: none;
	color: #fff;
	padding-left: 5%;
}
#acd-menu dt {
	position: relative;
	height: 44px;
	line-height: 35px;
	padding: 5px 0;
	border-bottom: 1px solid #fff;
	font-size: 14px;
	cursor: pointer;
}
#acd-menu,
#acd-menu dl,
#acd-menu dd ul {
	margin: 0;
	padding: 0;
	width: 100%;
}
/* header PC -------------------------- */
#wrapper_header {
	margin-top: 30px;
}
.inner {
	width: 1000px;
	margin: 0 auto;
}
#header_left {
	width: 50%;
	float: left;
}
#header_left h1 {
	font-size: 1rem;
	font-weight: 100;
	margin-bottom: 30px;
}
#header_left h1 img {
	margin-top: 10px;
}
#header_right {
	width: 50%;
	float: right;
	text-align: right;
	margin-top: 15px;
}
#tell_number {
	font-weight: 700;
	color: #228db3;
	color: #2556A5;
	font-size: 1.8rem;
	line-height: 0.8;
	margin-top: 10px;
	font-family: "秀英丸ゴシック B";
}
#tell_number span {
	font-weight: 100;
	font-size: 1rem;
}
#pcnav_set {
	background-color: #2556A5;
	width: 100%;
	height: 60px;
}
#pcnav li {
	font-family: "秀英丸ゴシック B";
	background-color: #2556A5;
	float: left;
	/*width: 14%;*/
	width: 16%;
	text-align: center;
	line-height: 60px;
}
#pcnav .nav_l {
	width: 20%;
}
#pcnav .nav_s {
	width: 10%;
}
#pcnav .print {
	background-image: url(../images/icon_print.png);
	background-position: left center;
	background-repeat: none;
}
#pcnav .pdt10 {
	padding-top: 10px;
}
#pcnav li a,
#pcnav li a:link,
#pcnav li a:visited {
	color: #fff;
}
#pcnav li a:hover {
	border-radius: 20px;
	color: #FFF;
}
#pcnav li:hover {
	background: #70c4e2;
	background: #228db3;
}
nav a {
	display: block;
}
.pcnone {
	display: none;
}
.spnone {
	display: block;
}
/* pcSet & spSet
-------------------------- */
.spSet {
	display: none;
}
.pcSet {
	display: block;
}
@media only screen and (max-width: 767px) {
	.spSet {
		display: block;
	}
	.pcSet {
		display: none;
	}
	.pcnone {
		display: block;
	}
	.spnone {
		display: none;
	}
}
/* 2020.09.10 respi_add
-------------------------- */
#performance h2 span {
	font-size: 60%;
	display: block;
	margin-top: -.5em;
}
.performance_flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	background: #2556A5;
	padding: 30px;
	margin-bottom: 60px;
}
.performance_flex ol li {
	color: #CCC;
	font-size: 15px;
	list-style: decimal;
	padding-left: .25em;
}
@media only screen and (max-width: 767px) {
	.performance_flex {
		padding: 30px 15px;
		margin-bottom: 30px;
	}
	.performance_flex ol {
		width: 100%;
		margin: 0;
	}
}
/* 2023.12.11 respi_add
-------------------------- */
body {
	min-width: 1000px;
}
#header_left {
	width: 60%;
	padding-left: 15px;
	box-sizing: border-box;
}
#header_right {
	width: 40%;
	padding-right: 15px;
	box-sizing: border-box;
}
ul#pcnav {
	padding: 0;
}
#profile dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 20px 0;
}
#profile dl dt {
	width: 3em;
	font-size: 1rem;
	margin: 5px 0;
}
#profile dl dd {
	width: calc(100% - 3em);
	font-size: 1rem;
	margin: 5px 0;
}
@media only screen and (max-width: 767px) {
	body {
		min-width: auto;
	}
	#profile dl dt {
		width: 100%;
		margin: 5px 0 0;
	}
	#profile dl dd {
		width: 100%;
		margin: 0 0 5px;
	}
}
/* 2025.12.04 respi_add
-------------------------- */
.pcSet {
	display: block !important;
}
.spSet {
	display: none !important;
}
.performance_flex {
	justify-content: space-between;
	padding: 20px 15px;
}
.performance_flex ol {
	padding-inline-start: 3em;
}
.performance_flex ol li {
	font-size: 13px;
}
@media only screen and (max-width: 767px) {
	.pcSet {
		display: none !important;
	}
	.spSet {
		display: block !important;
	}
	.performance_flex {
		padding: 25px 20px;
	}
	.performance_flex ol li {
		font-size: 15px;
	}
	#about .inner,
	#service .inner,
	#company .inner,
	footer .inner {
		width: 90%;
	}
	#service h3 {
		font-size: 17.5px;
	}
	#service p {
		font-size: 16.5px;
		margin: 15px 0;
	}
	#company dt {
		font-size: 16px;
		line-height: 1.6;
		margin-bottom: 5px;
	}
	#company dd,
	#company li {
		font-size: 15px;
		line-height: 1.5;
		text-indent: 0 !important;
		padding-left: 0 !important;
	}
	footer ul.mgl30>li {
		margin-bottom: 10px !important;
	}
}