@charset "utf-8";
@media screen and (max-width: 767px) {
 body {
  min-width: 100%;
 }
 /* pc / sp */
 .pc_only {
  display: none;
 }
 .sp_only {
  display: block;
 }
 /**/
 header h1 {
  width: 100%;
  font-size: 4.8vw;
  white-space: nowrap;
  line-height: 1.2em;
  letter-spacing: 0.05em;
  padding: 2% 0px 0px 1.5%;
 }
 header h1::before {
  content: '';
  float: left;
  width: 13vw;
  height: 13vw;
  margin-right: 5px;
 }
 #header_nav {
  min-width: 100%;
  display: block;
  margin: 0px auto 0px;
 }
 nav ul {
  display: none;
 }
 #h_tel {
  float: none;
  width: 17vw;
  position: absolute;
  top: 0px;
  right: 0px;
  margin-left: 0px;
 }
 #h_tel img {
  display: block;
  width: 100%;
  height: auto;
 }
 #lang {
  width: 17vw;
  position: absolute;
  top: 18vw;
  right: 0px;
  text-align: center;
  background-color: rgba(4, 24, 55, 0.77);
  padding: 3vw 0px 3vw 0px;
 }
 #mainvisual {
  position: absolute;
  bottom: 0;
  margin: 0% auto 0px;
 }
 #mainvisual h2 {
  width: 80%;
  font-size: 5.6vw;
  line-height: 1.6em;
	 letter-spacing: 0.005em;
	 font-style: italic;
  margin: 0px 0px 55vw 5%;
 }
 #mainvisual h2 img {
  display: block;
  width: 100%;
  height: auto;
 }
 #head_news {
  float: none;
  display: flex;
  width: 96%;
  padding: 4% 3% 4% 3%;
  margin: 0px auto;
 }
 #head_news dt {
  width: 24%;
  font-size: 3.6vw;
  padding: 2% 4% 2% 0%;
  border-right: 1px solid #9ea9b9;
 }
 #head_news dd {
  width: 76%;
  font-size: 3.0vw;
  padding: 2% 0px 1% 5%;
 }
 #head_news dd a span {
  display: block;
  margin-right: 0px;
 }
 .sec {
  width: 100%;
  margin: 0px auto 40px;
 }
 .flex {
  display: block;
  justify-content: center;
 }
 #container {
  clear: both;
  overflow: hidden;
  width: 100%;
  background-image: url("../../images/bg_mon01.gif"), url("../../images/bg_mon02.gif");
  background-repeat: no-repeat;
  background-position: top left, top right;
  background-size: 40% auto, 20% auto;
 }
 .description {
  text-align: left;
  padding: 3% 0px 6% 0px;
 }
 #topblock {
  clear: both;
  overflow: hidden;
  width: 90%;
  margin: 0px auto 20px;
 }
 #topblock img {
  display: block;
  width: 90%;
  height: auto;
 }
 #topblock h2 {
  padding: 10% 0px 9% 0px;
 }
 #topblock p {
  font-size: 4.0vw;
  margin-bottom: 20px;
  padding-top: 10%;
 }
 #topblock p.caps {
  font-size: 3.0vw;
 }
 #top_photo {
  width: 100%;
  min-height: 110vw;
  position: relative;
 }
 #top_photo img {
  display: block;
  width: 100%;
  height: auto;
 }
 img#tp_01 {
  width: 90vw;
  top: 0px;
  right: 0px;
  z-index: 1;
 }
 img#tp_02 {
  width: 50vw;
  top: 63vw;
  right: 0;
  left: 2vw;
  z-index: 2;
 }
 img#tp_03 {
  width: 48vw;
  top: 74vw;
  right: 2vw;
  z-index: 3;
 }
 #top_height {
  min-height: auto;
 }
 #concept {
  background-color: #f4f4f4;
  padding: 10% 5% 0px 5%;
 }
 .b_photo {
  width: 90%;
  margin: 0px auto 0px;
  position: relative;
 }
 .b_photo img {
  display: block;
  width: 100%;
  height: auto;
 }
 .b_photo p {
  clear: both;
  text-align: center;
  font-size: 3.5vw;
  line-height: 1.8em;
 }
 .b_text {
  float: none;
  width: 100%;
  padding: 0% 5% 5% 5%;
  margin: 20px 0px 30px 0px;
 }
 .b_text h3 {
  font-size: 8.6vw;
  margin-bottom: 30px;
 }
 .b_text h3 span {
  display: block;
  font-size: 2.8vw;
 }
 .b_text p {
  font-size: 3.6vw;
  line-height: 2.0em;
  margin-bottom: 40px;
 }
 #service {
  background: url("../../images/bg_mon03.gif") no-repeat right 32px;
  background-size: 90% auto;
 }
 h3.common {
  font-size: 8.6vw;
  margin: 0px 0px 30px 0px;
 }
 h3.common span {
  font-size: 2.8vw;
 }
 .thumbnail {
  float: none;
  margin-bottom: 0px;
 }
 .thumbnail img {
  display: block;
  width: 100%;
  height: auto;
 }
 .s_sec {
  width: 100%;
  margin: 0px auto 40px;
 }
 .sbox {
  display: block;
  clear: both;
  width: 90%;
  padding: 10px;
  border: 1px solid #0e2961;
  margin: 0px auto 20px;
 }
 .sbox_in {
  height: 100%;
  padding: 5% 5% 5% 5%;
 }
 .sbox_in h4 {
  font-size: 9.0vw;
  padding: 5% 0px 9% 0px;
  margin-bottom: 9%;
  background: url("../../images/h4_bar.gif") no-repeat 4px bottom;
 }
 .sbox_in h4 span {
  display: block;
  font-size: 2.8vw;
  letter-spacing: 0.1em;
  text-indent: 2px;
 }
 .sbox_in p {
  clear: both;
  font-size: 14px;
  line-height: 1.6em;
  color: #252525;
  margin-bottom: 30px;
 }
 #facility {
  clear: both;
  overflow: hidden;
  width: 100%;
  padding: 10% 0px 5% 0px;
  background: url("../../images/bg_image01.jpg") no-repeat center bottom;
  background-size: auto 100%;
 }
 .wbox {
  float: none;
  clear: both;
  width: 88%;
  padding: 8% 5% 8% 5%;
  margin: 0px auto 0px;
  background-color: rgba(255, 255, 255, 0.9);
 }
 .wbox h3 {
  width: 90%;
  font-size: 9.0vw;
  line-height: 1.2em;
  text-align: center;
  padding: 0px 0px 25px 0px;
  border-bottom: 3px double #b5b5b5;
  margin: 0px auto 30px;
 }
 .wbox h3 span {
  display: block;
  font-size: 3.0vw;
  color: #735702;
  letter-spacing: 0.05em;
 }
 .wbox p {
  font-size: 3.9vw;
  margin-bottom: 8%;
 }
 #container2 {
  clear: both;
  overflow: hidden;
  width: 100%;
  background-image: url("../../images/bg_mon04_left.gif"), url("../../images/bg_mon04_right.gif");
  background-repeat: no-repeat;
  background-position: top left, top right;
  background-size: 40% auto, 40% auto;
  padding: 10% 0px 6% 0px;
 }
 .newslist {
  display: block;
  width: 88%;
  margin: 0px auto 20px;
 }
 .newslist img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 10px;
 }
 .newslist p {
  font-size: 4.0vw;
 }
 .cat {
  font-size: 3.0vw;
 }
 .date {
  font-size: 3.6vw;
 }
 /**/
 #last {
  padding: 8.5% 0px 4% 0px;
  background: none, none, url("../../images/bg_intel.jpg");
  background-repeat: no-repeat;
  background-position: left top, right top, top left;
  background-size: auto auto, auto auto, auto 100%;
 }
 #flogo {
  clear: both;
  width: 96%;
  font-size: 3.6vw;
  padding: 0px 0px 20px 0px;
  margin: 0px auto 20px;
 }
 #flogo img {
  display: block;
  width: 22%;
  height: auto;
  margin: 0px auto 10px;
 }
 #ftel {
  font-size: 7.2vw;
 }
 #ftel::before {
	 width: 2.0vw;
	 background: url("../../images/ic_tel.png") no-repeat 0px 8px;
	 background-size: 100% auto;
  margin-right: 5px;
 }
 #last span {
  display: block;
  font-size: 3.0vw;
  margin-bottom: 30px;
 }
 #footer_inner {
  clear: both;
  display: block;
  width: 90%;
  padding: 30px 0px;
  margin: 0px auto;
 }
 #footer_left {
  width: 100%;
  border-right: none;
 }
 #footer_right {
  clear: both;
  width: 100%;
  padding: 50px 0px 0px 40px;
 }
 #footer_left ul {
  float: left;
  width: 100%;
  margin-left: 0%;
 }
 #footer_left #home {
  font-size: 5.0vw;
 }
 #footer_left ul li a {
  font-size: 4.8vw;
 }
 #footer_left ul li.sub a {
  font-size: 4.0vw;
 }
 #footer_right {
  width: 90%;
  padding: 5% 0px 0px 0px;
  margin: 0px auto 20px;
 }
 #footer_right p {
  font-size: 3.6vw;
  text-align: left;
  margin-bottom: 30px;
 }
 #footer_right p#fname {
  font-size: 4.0vw;
  margin-bottom: 15px;
 }
 #footer_right div a {
  width: 90%;
  max-width: 260px;
  margin: 0px auto;
 }
 #copyright {
  width: 100%;
  font-size: 3.4vw;
  padding: 30px 0px;
 }
 /*-----------------------------------*/
 .button a {
  width: 90%;
  max-width: 260px;
  font-size: 16px;
  padding: 18px 0px;
  margin: 0px auto 5%;
 }
 .button_form a {
  width: 90%;
  max-width: 270px;
 }
}