﻿@charset "utf-8";
p {line-height: 2;}

header:after {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  background: #333 url(../../img/bg_mv.jpg) no-repeat center center;
  background-size: cover;
  animation: anmtnZm1 6s ease-in-out forwards;
  position: absolute;
  top: 0;
  z-index: -1;
}
@keyframes anmtnZm1 {
  100% { transform:scale(1.04)} 
}

main section {
  padding: 12vh 0;
}
.img-shadow {
  border: 12px solid #fff;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
}

header h1 {
  margin: 0 auto 6vh;
}
header h1 img {
  width: 30%;
  max-width: 400px;
}

/* --- abt --- */
main #abt {
  padding: 12vh 0 0;
  background: #333 url(../../img/bg_abt.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
}
main #abt:before {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  background-image: linear-gradient(45deg, #fff 25%, transparent 0), linear-gradient(45deg, transparent 75%, #eee 0), linear-gradient(45deg, #fff 25%, transparent 0), linear-gradient(45deg, transparent 75%, #fff 0);
  background-position: 0 0, 1px 1px, 1px 1px, 2px 2px;
  background-size: 2px 2px;
  opacity: 1.4;
  position: absolute;
  top: 0;
  z-index: 0;
}
main #abt > div div {
  margin: 0 auto 12vh;
  padding: 5% 0;
  background: rgba(255, 255, 255, 0.7);
}
main #abt div h2 {
  margin: 0 auto 39px;
  font-size: min(7vw, 2.6rem);
}
main #abt div h2 span {
  margin: 0 auto 6px;
  color: #009900;
  display: block;
  font-size: 1rem;
}
main #abt > div div ul {
/*   max-width: calc(920px); */
  margin: 0 auto;
  padding: 0 6% 0 9%;
  font-size: min(4vw, 1.2rem);
  list-style-type: disc;
  text-align: left;
}
main #abt > div > ul{
  padding: 9vh 0;
}
main #abt > ul.flx,
main #srvc_cntnt > ul.flx {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
main #abt > ul.flx > li,
main #srvc_cntnt > ul.flx li {
  width: 20%; 
  overflow: hidden;
  position: relative;
}
main #abt > ul.flx > li img,
main #srvc_cntnt > ul.flx img {
  display: block;
  width: 100%;
  height: auto;
}
main #srvc_cntnt > ul.flx li:after {
  width: 100%;
  height: 100%;
  background-image: linear-gradient(45deg, #fff 25%, transparent 0), linear-gradient(45deg, transparent 75%, #fff 0), linear-gradient(45deg, #fff 25%, transparent 0), linear-gradient(45deg, transparent 75%, #fff 0);
  background-position: 0 0, 1px 1px, 1px 1px, 2px 2px;
  background-size: 2px 2px;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  opacity: .6;
}


/* --- wry --- */
main #wry {
  background-size: cover;
}
main #wry > div div {
  padding: 0 0 5%;
  background: #fde1d5;
}
main #wry > div > div > h2,
main #frm > div > div > h2 {
  margin: 0 auto 60px;
  padding: 30px 0;
  background: #ec7423 url(../../img/bg_wry_h.jpg) repeat-x center 0;
  background-size: auto 190%;
  color: #fff;
  font-size: min(4vw, 2rem);
  font-weight: normal;
  line-height: 1;
  position: relative;
}
main #wry > div > div > h2:after {
  width: 100%;
  color: #ec7423;
  content: '▼';
  font-size: 3rem;
  position: absolute;
  bottom: -36px;
  left: 0;
}
main #wry > div > div > h2 strong,
main #nrs_ints > div > div > h2 strong {
  color: #fdff00;
  font-size: min(5vw, 3rem);
  font-weight: normal;
}
main #wry > div > div > h2 strong:last-child {
  padding: .1em 0 0 0;
  background-position: top left 0px;
  background-repeat: repeat-x;
  background-size: 1.0em .3em;
  background-image: radial-gradient(.1em .1em at center center,#fff,#fff 63%,transparent,transparent);

  font-size: min(7vw, 5rem);
}
main #wry > div div:not(#kaiketu) > ul > li,
main #nrs_ints > div div > ul > li {
  width: 73%;
  margin: 0 auto 30px;
  padding: 4%;
  background: #fff;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
  font-size: min(2.1vw, 1.4rem);
  text-align: left;
}
main #wry > div div:not(#kaiketu) li > h3,
main #nrs_ints > div div > ul > li > h3 {
  width: 100%;
  margin: 0 auto 9px;
  font-size: min(4.6vw, 1.6rem);
  position: relative;
  line-height: 1.3;
  text-align: left;
}

main #wry > div div:not(#kaiketu) li > h3 span,
main #nrs_ints > div div > ul > li > h3 span {
  padding: 0 1% 22px;
  background: #fff url(../../img/line_tegaki.png?25) repeat-x 0 100%;
  background-size: contain;
  display: block;
}
main #wry > div div:not(#kaiketu) > ul > li p,
main #nrs_ints > div div > ul > li > p {
  font-size: min(3.6vw, 1.4rem);
}
main #wry > div div li > p span,
main #wry > div div div#kaiketu p span,
main #nrs_ints > div div > ul > li p span {
  background: #fff url(../../img/txt_ln_dot.png) repeat 0 100%;
  background-size: 12px 48px;
  display: block;
  line-height: 3rem;
}
main #wry > div div div#kaiketu {
  width: 73%;
  margin: 0 auto 30px;
  padding: 0 6% 4%;
  background: #EC7423 url(../../img/bg_wry_h.jpg) repeat center 0;
  background-size: auto 50%;
}
main #wry > div div div#kaiketu:before {
  width: 120%;
  height: 130px;
  margin: 0 auto 0 -10%;
  background: #fde1d5 url(../../img/arr_u_orng.png) no-repeat center 30px;
  background-size: auto 60px;
  content: '';
  display: block;
}
main #wry > div div div#kaiketu h3 {
  margin: 0 auto 40px;
  padding: 60px 0 0 0;
  color: #fff;
  font-size: min(4vw, 3rem);
  line-height: 1.6;
}
main #wry > div div div#kaiketu h3 span {
  font-size: .8em;
}
main #wry > div div div#kaiketu h3 strong {
  padding: .2% 5%;
  background: #fdff00;
  border: 9px solid #fff;
  border-radius: 10rem;
  display: inline-block;
  color: #EC7423;
  line-height: 1;
}
main #wry > div div div#kaiketu p {
  margin: 0 auto 12px;
  padding: 4%;
  background: #fff;
  border-radius: 1rem;
  font-size: min(3.6vw, 1.4rem);
  text-align: left;
}


/* --- srvc (サービス） --- */
main #srvc {
  background: #e5f6ef;
  background-size: cover;
}
main #srvc > div > div:first-child {
  margin: 0 auto 66px;
  padding: 30px;
  background: #34b670 url(../../img/bg_srvc_h.jpg) repeat-x center 0;
  background-size: auto 140%;
}
main #srvc > div > div > h2 {
  padding: 30px 0;
  border: 1px solid;
  color: #fff;
  font: normal min(4vw, 2.6rem) var(--font-g);
  line-height: 1.8;
  position: relative;
}
main #srvc h2 > img {
  max-width: 90%;
  margin: 0 auto;
  display: block;
}
main #srvc h2 > strong {
  color: #fdff00;
  font-weight: normal;
}
main #srvc div > ul {
  counter-reset: nmbr 0; 
}
main #srvc div > ul > li {
  margin: 0 auto 60px;
}
#srvc div > div ul > li > ol {
  margin: 0 auto 30px;
}
#srvc div > div ul > li > ol > li {
  width: 55%;
  text-align: left;
}
#srvc div > div ul > li > ol > li:last-child {
  width: 41%;
  text-align: right;
}
#srvc div > div ul > li > ol > li img {
  width: calc(100% - 24px);
  max-width: calc(100% - 24px);
}
main #srvc > div ul > li h3 {
  margin: 0 auto 30px;
  color: #34b670;
  font-size: min(5.4vw, 2.2rem);
}
main #srvc > div ul > li h3:before {
  width: 56px;
  margin: 0 19px 0 0;
  padding: 12px 0;
  background: #34b670;
  color: #fff;

  counter-increment: nmbr 1;
  content: counter(nmbr);

  display: inline-block;
  font-size: 2rem;
  line-height: 1;
  text-align: center;
}
#srvc > div ul > li > ol > li p {
  font-size: 1.2rem;
}
#srvc > div ul > li > ol > li p strong,
#mrt > div ul > li p strong,
#nrs_ints div > p strong {
/*   color: #34b670; */
  font-weight: bold;
  background: linear-gradient(transparent 50%, #f6ff5f 80%);
}
main #srvc > div ul li ol + div {
  width: 74%;
  margin: 0 auto;
  padding: 0 15% 0 0;
  background: transparent url(../../img/top/srvc_j_chrctr1.png) no-repeat 99% center;
  background-size: auto 94%;
}
main #srvc > div ul li ol + div p {
  padding: 66px 15% 60px 5%;
  background: transparent url(../../img/bg_s_blln.png) no-repeat center center;
  background-size: 100% 100%;
  font-size: min(2.9vw, 1.9rem);
  font-weight: bold;
  line-height: 1;
}
main #srvc > div ul li ol + div p span {
  padding: 0 3%;
  background: linear-gradient(transparent 60%, #fdff00 0);
}
main #srvc > div div > ul li:nth-child(2) ol + div {
  background-image: url(../../img/srvc_j_chrctr2.png);
}
main #srvc > div div > ul li:nth-child(3) ol + div {
  background-image: url(../../img/srvc_j_chrctr3.png);
}
main #srvc > div div > ul li:nth-child(4) ol + div {
  background-image: url(../../img/srvc_j_chrctr4.png);
}
main #srvc > div div > ul li:nth-child(5) ol + div {
  background-image: url(../../img/srvc_j_chrctr5.png);
}
main #srvc > div div > ul li:nth-child(6) ol + div {
  background-image: url(../../img/srvc_j_chrctr6.png);
}
main #srvc > div div > ul li:nth-child(7) ol + div {
  background-image: url(../../img/srvc_j_chrctr7.png);
}


/* --- #srvc_cntnt  --- */
main #srvc_cntnt {
  padding: 0 0 12vh;
  background: #dff1fa;
}
main #srvc_cntnt > h2,
main #srvc_cntnt div > h2 {
  margin: 0 auto/*  60px */;
  padding: 30px 0;
  background: #008bd8 url(../../img/srvc_cntnt_h.jpg) repeat-x center 0;
  background-size: auto 100%;
  color: #feebeb;
  font-family: var(--font-g);
  font-size: min(6vw, 2rem);
  text-align: center;
  line-height: 1;
}
main #srvc_cntnt > h2 > strong {
  font-size: min(8vw, 5rem);
  font-weight: normal;
}
main #srvc_cntnt > h2 > strong:first-child {
  margin: 0 -1rem 0 0;
}
main #srvc_cntnt > h2 > strong > span {
  color: #fdff00;
  font-weight: bold;
}
main #srvc_cntnt > div._bdy {
  padding: 6vh 0 0;
}
main #srvc_cntnt > div > div {
  padding: 9vh 0;
  background: #fff;
  counter-reset: manga 0; 
}
main #srvc_cntnt > div p.cap {
  margin: 0 auto 16px 1%;
  text-align: left;
}
main #srvc_cntnt > div p.cap img {
  max-width: 60%;
}
main #srvc_cntnt > div > div > h3 {
  width: 88%;
  margin: 0 auto 60px;
  padding: 30px 0;
  background: #008bd8 url(../../img/srvc_cntnt_h.jpg) repeat-x center 0;
  background-size: auto 100%;
  border-radius: 10rem;
  color: #fff;
  font-size: min(3.7vw, 2.8rem);
  font-weight: normal;
  text-align: center;
  line-height: 1;
}
main #srvc_cntnt > div > div > h3 img {
  max-width: 90%;
  margin: 0 auto 19px;
  display: block;
}
main #srvc_cntnt > div > div > h3 strong {
  color: #fdff00;
  font-weight: normal;
}
main #srvc_cntnt > div > div > ul,
main #mrt > div > div > ul,
main #vc > div > div > ul {
  width: 88%;
  margin: 0 auto 60px;
  flex-direction: row-reverse;
}
main #srvc_cntnt > div > div > ul.img_lft {
  flex-direction: unset;
}
main #srvc_cntnt > div > div > ul > li,
main #mrt > div > div > ul > li:last-child {
  width: 38%;
}
main #srvc_cntnt > div > div > ul > li:last-child,
main #mrt > div > div > ul > li {
  width: 58%;
  font-size: min(2vw, 1.2rem);
  text-align: left;
}
main #srvc_cntnt > div > div > ul > li > img {
  max-width: 100%;
  height: auto;
  border: 2px solid #333;
/*   box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3); */
  display: block;
}
#srvc_cntnt > div ul > li h4,
main #mrt > div ul.flx > li > h3 {
  margin: 0 auto 25px;
  color: #008bd8;
  font-size: min(4vw, 3rem);
}
#srvc_cntnt > div ul > li h4:before {
  width: 60px;
  margin: 0 10px 0 0;
  padding: 7px 0 10px;
  color: #fff;
  display: inline-block;

  counter-increment: manga 1;
  content: counter(manga);
  background: #008bd8;
  border-radius: 20rem;

  font-size: 2.6rem;
  font-weight: normal;

  text-align: center;
  line-height: 1;
}
#srvc_cntnt > div ul > li dl {
  margin: 0 auto 39px;
  align-items: center;
}
#srvc_cntnt > div ul > li dl > * {
  margin: 6px 0;
}
#srvc_cntnt > div ul > li dl > dt {
  width: 90px;
  font-weight: bold;
}
#srvc_cntnt > div ul > li dl > dd {
  width: calc(99% - 90px);
  margin: 0/*  0 39px */;
}
#srvc_cntnt > div ul > li dl > dd p {
  color: #008bd8;
  line-height: 1.4;
}
#srvc_cntnt > div ol,
#mrt > div > div > ol {
  width: 84%;
  margin: 0 auto 80px;
  padding: 30px 2%;
  background: #dff1fa;
  border-radius: .2rem;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
  text-align: left !important;
}
#srvc_cntnt > div ol li p,
#mrt > div > div > ol li p {
  padding: 9px 0;
  background: transparent url(../../img/dot.png) repeat-x 0 100%;
  background-size: auto 6px;
  font-size: min(3vw, 1.2rem);
}
#srvc_cntnt > div ol li,
#mrt > div > div > ol li {
  padding: 9px 0 9px 69px;
  background: transparent url(../../img/chrctr.png) no-repeat 0 center;
  background-size: auto 76%;
}


/* ---#mrt (merit) --- */
main #mrt {padding: 12vh 0 0;}
main #mrt > div > div {
  padding: 0 0 1vh;
  background: #f3f7eb;
  counter-reset: mrt 0;
}
main #mrt > div > div h2,
main #nrs_ints > div > div > h2 {
  margin: 0 auto 60px;
  padding: 30px 0;
  background: #83b401 url(../../img/vst_flw_h.png) repeat-x center 0;
  background-size: auto 120%;
  line-height: 1;
  position: relative;
}
main #mrt > div > div h2 img {
  max-width: 76%;
}
main #mrt > div > div h2 img:first-child {
  max-width: 60%;
  margin: 0 auto -50px 2%;
  display: block;
}
main #mrt > div > div > p {
  margin: 0 auto 60px;
  font-size: 1.6rem;
  font-weight: bold;
}
main #mrt > div > div > ul {
  margin: 0 auto 80px;
  flex-direction: unset;
}
main #mrt > div ul.flx > li > h3 {
  margin: 0 auto 33px;
  color: #ff6633;
  font-size: min(3vw, 2.3rem);
  line-height: 1.5;
}
main #mrt > div ul.flx > li > h3:before {
  margin: 0;
  color: #000;
  display: block;
  counter-increment: mrt 1;
  content: '特長その' counter(mrt) '.';
  border-radius: 20rem;
  font-size: min(2.8vw, 2rem);
  font-weight: normal;
  line-height: 1;
}
#mrt > div > div > ol {
  margin: -39px auto 80px;
  background: #ccff99;
}
#mrt > div > div > ol li p {
  background-image: url(../../img/dot_grn.png);
}


/* --- vc (お客様の声)  --- */
main #vc {
  padding: 23vh 0;
  background: #fff url(../../img/bg_hrt.png) no-repeat -29% -4%;
  background-size: 78% auto;
  background-color:rgba(255,255,255,0.8);
  background-blend-mode:lighten;
}
main #vc > div > h2 {
  width: 100%;
  margin: 0 auto/*  18% -6% */;
  padding: 30px 0;
  background: #ffa039 url(../../img/bg_vc_h.jpg) repeat-x center 0;
  background-size: auto 100%;
  color: #feebeb;
  font-family: var(--font-g);
  font-size: min(3vw, 2rem);
  font-weight: normal;
  line-height: 1.4;
  position: relative;
}
/* @media screen and (min-width: 1300px) {
  main #vc {padding: 15vh 0;}
  main #vc > div > h2 {margin: 0 auto 14% -16%;}
} */
main #vc > div > h2 strong {
  color: #fdff00;
  font-size: min(5vw, 1.5em);
}
main #vc > div div {
  padding: 9vh 0 1vh;
  background: #fff;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
  counter-reset: vc 0;
  position: relative;
}
/* main #vc > div div:before {
  width: 16vw;
  max-width: 220px;
  height: 15vw;
  max-height: 300px;
  margin: -10% auto 36px;
  background: transparent url(../../img/top/clip.png) no-repeat center 0;
  background-size: contain;
  content: '';
  display: inline-block;
} */
main #vc > div > div > p.note {
  width: 84%;
  margin: 0 auto 33px/* 66px */;
  font-size: min(3vw, 18px);
  text-align: left;
}
main #vc > div div ul > li:first-child {
  margin: 0 auto 96px;
}
main #vc > div div ul > li dl.flx {
  width: 100%; 
  margin: 0 auto 40px;
  display: flex; 
  align-items: flex-start;
}
main #vc > div div ul dl dt {
  width: 55%; 
  padding-right: 20px;
  box-sizing: border-box;
  text-align: left;
}
main #vc > div > div > ul dl > dt:before {
/*   max-width: 39%; */
  margin: 0 0 23px;
  padding: 12px 4%;
  background: #ff6633;
  color: #fdff00;
  counter-increment : vc 1;
  content: 'お客様の声 その' counter(vc);
  display: inline-block;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
}
main #vc > div div ul > li dl dt h3 {
  display: inline-block;
  margin: 0 0 24px 0;
  font-size: min(3vw, 2rem);
}
main #vc > div div ul > li dl dt h3 + p {
  padding: 4% 4% 7%;
  background: #ffd9b8;
  font-size: 1.2rem;
}
main #vc > div div ul > li dl dt h3 + p span {
  background: transparent url(../../img/txt_ln_org_dot.png) repeat 0 100%;
  background-size: 17px 48px;
  display: block;
  line-height: 3rem;
}
main #vc > div div ul > li dl dd {
  width: 45%; 
  text-align: right; 
  box-sizing: border-box;
}
main #vc > div div ul > li dl dd img.img-shadow {
  max-width: 95%;
  border: 8px solid #fff;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.2);
}

/* --- nrs_ints (nurse interview)  --- */
main #nrs_ints {
  padding: 12vh 0;
  background: #f3f7eb;
}
main #nrs_ints > div > div > h2 {
  background-size: auto 130%;
  color: #fff;
  font-family: var(--font-g);
  font-size: 1.8rem;
  line-height: 1.4;
}
main #nrs_ints > div > div > h2 img {
  width: 66%;
}
main #nrs_ints div div > ul > li > h3 {
  margin: 0 auto 4%;
}
main #nrs_ints div > ul > li > h3 span {
  -webkit-filter: hue-rotate(70deg);
  filter: hue-rotate(70deg);
}

main #nrs_ints > div > h2 {
  width: 100%;
  margin: 0 auto 18% -6%;
  padding: 30px 0;
  background: #ef4635 url(../../img/bg_vc_h.jpg) repeat-x center 0;
  background-size: auto 100%;
  color: #feebeb;
  font-size: min(4vw, 2rem);
  font-weight: normal;
  position: relative;
}
main #nrs_ints div > ul > li p:nth-child(2) {
  margin: 0 auto 3%;
  padding: 0;
  background: no-repeat;
  box-shadow: none;
}
main #nrs_ints div > ul > li p span b {
  padding: 0 0 0 3%;
  background: #fff;
  float: right;
}
main #nrs_ints div > ul > li > p span img {
  width: 90%;
  max-width: 400px;
}


/* --- frm (form)  --- */
main #frm {
  background: #fde1d5;
}
main #frm > div > div {
  padding: 0 0 9vh;
  background: #fff;
}
main #frm > div > div > h2 {
  padding: 36px 0;
  font-family: var(--font-g);
  font-size: min(5vw, 3rem);
  font-weight: bold;
  position: relative;
}
main #frm > div > div > h2 span {
  font-size: .6em;
}
main #frm > div > div > h2:before {
  width: 12vw;
  max-width: 300px;
  height: 15vw;
  max-height: 300px;
  background: transparent url(../../img/chrctr_mail.png) no-repeat center 0;
  background-size: contain;
  content: '';
  display: inline-block;
  position: absolute;
  left: 3%;
  bottom: -39%;
}
main #frm > div > div > h2:after {
  width: 50%;
  height: 9px;
  margin: 19px auto 0;
  background: #fdff00;
  content: '';
  display: block;
  position: relative;
}
main #frm > div > div > ul {
  width: 88%;
  margin: 0 auto;
  padding: 19px 1%;
  border: 1px solid #ccc;
  align-items: anchor-center;
}
main #frm > div > div > ul li {
  width: 50%;
  font-size: min(3vw, 1.2rem);
}
main #frm > div > div > ul li h3 {
  font-size: min(2.2vw, 1.5rem);
}
main #frm > div > div form table,
main #frm div#ctn,
#bx_vr table {
  width: 90%;
  margin: 0 auto 50px;
}
main #frm > div > div form table th,
#bx_vr table th {
  width: 230px;
  padding: 16px 15px;
}
main #frm > div > div form table tr > *,
#bx_vr table tr > * {
  padding: 30px 2%;
  background: #fff;
  border-bottom: 1px solid #ccc;
  vertical-align: middle;
  text-align: left;
}
main #frm > div > div form table input,
main #frm > div > div form table textarea {
  width: 92%;
  background: #f2f2f2;
  border: 1px solid #b3b3b3;
}
main #frm div#ctn {
  width: 86%;
  height: 100px;
  padding: 2%;
  border: 1px solid #b3b3b3;
  text-align: left;
  overflow-y: scroll;
}
main #frm #mail_submit,
#bx_vr > div.flx.bx_btn input.veri {
  padding: 2% 10%;
  background: #fa9328;
  border: none;
  border-radius: 10rem;
  color: #fff;
  cursor: pointer;
  font-size: min(7vw, 2rem);
  line-height: 1;
}
#bx_vr > div.flx.bx_btn input.veri {
  width: auto;
}
#bx_vr > div.flx.bx_btn {
  justify-content: center;
  gap: 0 3%;
}
#bx_vr > div.flx.bx_btn form {
  width: 40%;
  text-align: right;
}
#bx_vr > div.flx.bx_btn form:last-child {
  text-align: left;
}
#bx_vr > div.flx.bx_btn form > input {
  width: 40%;
}
#bx_vr > div.flx.bx_btn form:first-child input.veri {
  background: #ccc;
}

/* --- offc (Office)  --- */
main #offc {background: #e5f6ef;}
main #offc > div > h2 {
  font-size: 1.8rem;
  margin: 0 auto 50px;
  font-family: var(--font-g);
  font-size: min(7vw, 1.8rem);
}
main #offc > div > h2 + p{
  width: 100%;
  margin: 0 auto 10px;
  text-align: left;
}
main #offc > div > div {
  overflow-x: auto;
}
main #offc table {
  width: 100%;
  background: #fff;
}
main #offc table tr > * {
  padding: 1%;
  border: 1px solid;
}
main #offc table th {
  background: #49ba4d;
  border-color: #000;
  color: #fff;
}
main #offc table th:nth-last-child(2) {
  width: 13%;
}
main #offc table th:last-child {
  width: 41%;
}
main #offc table td {
  text-align: left;
}
main #offc table td > a {
  color: #333;
  text-decoration: none;
}
main #offc table td > a:hover {
  font-weight: bold;
  text-decoration: underline;
}
main #offc table td > a:after {
  width: 1.4em;
  height: 1.4em;
  padding: 0 0 0 6px;
  background: transparent url(../../img/ico_pdf.png) no-repeat center bottom;
  background-size: contain;
  content: '';
  display: inline-block;
}


@media screen and (max-width: 1200px) {
  header > div > p {max-width: 240px;}
  header h1 {margin: 0 auto 3vh;}
  header h1 img {width: 26%;}
  header > div > p:last-child {width: 22%;}


}


@media screen and (max-width: 880px) {
  header > div > p {width: 28%;}
  header h1 {margin: 0 auto 2vh;}
  header h1 img {width: 30%;}
  header > div > p:last-child {width: 26%;}
  header:after {background-image: url(../../img/bg_mv_tab.jpg);}

  main section {padding: 6vh 0;}

  main #abt {padding: 8vh 0 0;}

  main #wry > div div div#kaiketu:before {
    height: 111px;
    background-size: auto 39px;
  }
  main #wry > div div div#kaiketu h3 {
    padding: 36px 0 0 0;
  }

  main #srvc div > ul {
    max-width: 95%;
    margin: 0 auto;
  }

  main #srvc_cntnt > div > div > h3 {
    width: 92%;
  }
  main #srvc_cntnt > div > div {padding: 4vh 0 1px;}
  #srvc_cntnt > div ul > li dl > dt {width: 69px;}
  #srvc_cntnt > div ul > li dl > dd {
    width: calc(99% - 76px);
  }
  main #srvc_cntnt > div > div > ul,
  main #mrt > div > div > ul, main #vc > div > div > ul {
    width: 90%;
    margin: 0 auto 39px;
  }
  #srvc_cntnt > div ul > li h4:before {
    width: auto;
    padding: 1% 3.4% 1.8%;
    font-size: min(4vw, 2.6rem);
  }
  main #srvc > div ul li ol + div {
    width: 85%;
    background-size: 11% auto;
  }
  main #srvc > div ul li ol + div p {
    padding: 42px 15% 42px 5%;
  }
  #srvc_cntnt > div ul:nth-child(10) > li:nth-child(2) > p {
    width: 175%;
  }
  main #srvc_cntnt {padding: 0 0 7vh;}

  main #mrt {padding: 3vh 0 0;}

  main #mrt > div > div h2 img:first-child {
    margin: 0 auto -4% 2%;
  }
  main #mrt > div ul.flx > li > h3 {
    margin: 0 auto 20px;
  }
  main #mrt > div ul.flx > li > h3:before {
    margin: 0 6px 0 0;
  }

  main #vc {
    padding: 10vh 0;
    background-position: -29% -1%;
    background-size: 76% auto;
  }
  main #vc > div > h2 img {
    max-width: 88%;
  }
  main #vc > div div {padding: 4vh 0 1vh;}
  main #vc > div div ul > li dl dt h3 + p {
    width: 183%;
  }
  main #vc > div div ul > li dl dt h3 {
    margin: 0 0 17vw 0;
  }

  main #nrs_ints {padding: 2vh 0;}
  main #nrs_ints > div > div > h2 img {
    width: 84%;
  }
  main #nrs_ints > div div > ul > li {width: 86%;}

  main #frm > div > div > h2 {padding: 2vw 0;}
  main #frm > div > div > h2:before {
    width: 17%;
    height: 104%;
    left: 1%;
    bottom: -10%;
  }
  main #frm > div > div > p,
  main section > div p:not(:last-child) {text-align: left;}
  main #frm > div > div form table th,
  #bx_vr table th {
    width: 170px;
  }
  #cntctf > p:nth-child(2) {text-align: center;}
}


/* sp */
@media screen and (max-width: 640px) {
  header {max-height: auto;}
  header:after {
    background-image: url(../../img/bg_mv_sp.jpg);
  }
  header h1 {margin: 0 auto 10vh;}
  header h1 img {width: 70%;}
  header > div > p {
    width: 60%;
    margin: 3% 0 13vh;
  }
  header > div > p:last-child {
    width: 40%;
    margin: 0 0 2vh;
  }

  main p {font-size: 3.8vw;}
  main section {padding: 3vh 0;}

  main #abt > ul.flx,
  main #srvc_cntnt > ul.flx {
    flex-wrap: wrap;
  }
  main #abt > ul.flx > li,
  main #srvc_cntnt > ul.flx li {
    width: 25%;
  }
  main #abt > ul.flx > li:last-child,
  main #srvc_cntnt > ul.flx li:last-child,
  main #abt > ul.flx > li:nth-last-child(2),
  main #srvc_cntnt > ul.flx li:nth-last-child(2) {
    display: none;
  }

  main #wry > div > div > h2,
  main #frm > div > div > h2 {
    margin: 0 auto 33px;
    padding: 16px 0;
  }
  main #wry > div > div > h2:after {
    font-size: 2rem;
    bottom: -24px;
  }
  main #wry > div div:not(#kaiketu) > ul > li {
    width: 84%;
  }
  main #nrs_ints > div div > h3 {
    width: 86%;
    margin: 60px auto 9px;
    font-size: 3.2vw;
  }
  main #wry > div div:not(#kaiketu) li > h3 span,
  main #nrs_ints > div div > h3 span {
    padding: 0 1% 9px;
  }
  main #wry > div div:not(#kaiketu) > h3:not(:nth-child(2)) {
    margin: 60px auto 0;
  }
  main #wry > div div:not(#kaiketu) > p,
  main #nrs_ints > div div > p {
    width: 80%;
    margin: -46px auto 20px;
    padding: 39px 6% 20px;
  }
  main #wry > div div > p span,
  main #wry > div div div#kaiketu p span,
  main #nrs_ints > div div > p span {
    background-size: 12px 27px;
    line-height: 1.6rem;
  }
  main #wry > div div li > p span,
  main #wry > div div div#kaiketu p span {
    background-size: 10px 7.2vw;
    line-height: 1.6rem;
  }
  main #wry > div div div#kaiketu:before {
    height: 60px;
    background-size: auto 33px;
    background-position: center 30%;
  }
  main #wry > div div div#kaiketu h3 {
    margin: 0 auto 23px;
    padding: 22px 0 0;
    font-size: 4.8vw;
  }
  main #wry > div div div#kaiketu h3 strong {
    padding: 1.4% 5%;
  }
  main #wry > div div div#kaiketu {
    width: 82%;
    margin: 0 auto 20px;
    padding: 0 5% 4%;
  }

  main #srvc > div > div:first-child {
    margin: 0 auto 39px;
    padding: 3%;
  }
  main #srvc > div > div > h2 {padding: 16px 0;}
  #srvc div > div ul > li > ol > li {
    width: 100%;
  }
  main #srvc > div ul > li h3:before {
    width: auto;
    margin: 0 10px 0 0;
    padding: 2% 4% 2.4%;
    font-size: 6.2vw;
  }
  main #srvc div > ul {max-width: 99%;}]
  main #srvc > div ul > li h3 {
    margin: 0 auto 20px;
  }
  #srvc > div ul > li > ol > li p {
    width: 100%;
    font-size: 1rem;
  }
  #srvc div > div ul > li > ol > li:last-child {
    width: 70%;
    padding: 20px 0 0;
  }
  main #srvc > div ul li ol + div {
    width: 76%;
    padding: 0 26% 0 0;
    background-size: auto 90%;
  }
  main #srvc > div ul li ol + div p {
    padding: 34px 16% 30px 5%;
    line-height: 1.4;
    text-align: left;
  }

  main #srvc_cntnt > h2 > strong:first-child {
    margin: 0 auto 0 0;
    display: flex;
  }
  #srvc_cntnt > h2 > br.sp {
    display: contents;
  }
  main #srvc_cntnt > div p.cap img {
    max-width: 90%;
  }
  main #srvc_cntnt > div > div > h3,
  main #vc > div > h2 {
    padding: 16px 0;
  }
  main #srvc_cntnt > div > div > ul > li:last-child,
  main #mrt > div > div > ul > li {
    width: 100%;
    font-size: min(3vw, 1.2rem);
  }
  #srvc_cntnt > div ul > li h4,
  main #mrt > div ul.flx > li > h3 {
    margin: 0 auto 16px;
    font-size: min(6vw, 3rem);
  }
  #srvc_cntnt > div ul > li h4:before {
    font-size: min(7vw, 2.6rem);
  }
  main section > div p:not(:last-child) {
    width: 98%;
    margin: 0 auto 20px;
    font-size: 3.4vw;
  }
  main #srvc_cntnt > div > div > ul,
  main #mrt > div > div > ul,
  main #vc > div > div > ul {
    width: 92%;
    margin: 0 auto 20px;
  }
  #srvc_cntnt > div ul > li dl {margin: 0 auto 20px;}
  #srvc_cntnt > div ul > li dl > dt {
    width: 50px;
  }
  #srvc_cntnt > div ul > li dl > dd {
    width: calc(99% - 60px);
  }
  #srvc_cntnt > div ul > li dl > dd p {
    font-size: 3.6vw;
  }
  #srvc_cntnt > div ol,
  #mrt > div > div > ol {
    width: 92%;
    margin: 0 auto 50px;
    padding: 10px 2%;
  }
  #srvc_cntnt > div ol li,
  #mrt > div > div > ol li {
    padding: 3px 0 3px 53px;
    background-size: auto 80%;
  }
  #srvc_cntnt > div ol li p,
  #mrt > div > div > ol li p {
    padding: 9px 0 3px;
    background-size: auto 3px;
  }
  main #srvc_cntnt > div > div > ul > li,
  main #mrt > div > div > ul > li:last-child {
    width: 100%;
  }
  main #srvc_cntnt > div > div > ul.img_lft {
    flex-direction: row-reverse;
  }
  main #srvc_cntnt > div > div > ul > li > img {
    max-width: 50%;
    margin: 0 auto 20px;
  }

  main #mrt > div > div h2,
  main #nrs_ints > div > div > h2 {
    margin: 0 auto 36px;
    padding: 16px 0;
  }
  main #mrt > div > div h2 img {
    max-width: 90%;
  }
  main #mrt > div > div h2 img:first-child {
    max-width: 70%;
  }
  main #mrt > div ul.flx > li > h3:before {
    font-size: min(5vw, 2rem);
  }
  main #mrt > div > div > ul > li:last-child {
    margin: 0 auto 16px;
    text-align: center;
  }
  main #mrt > div > div > ul > li:last-child img {
    width: 80%;
    max-width: 600px;
  }

  main #vc > div > h2 img,
  main #nrs_ints > div > div > h2 img {
    width: 90%;
  }
  main #vc {padding: 7vh 0;}
  main #vc > div div ul dl dt {
    width: 100%;
    padding-right: 0;
  }
  main #vc > div div ul > li:first-child {
    margin: 0 auto 60px;
  }
  main #vc > div div ul dl dt {
    margin: 0 auto 12px;
  }
  main #vc > div > div > ul dl > dt:before {
    margin: 0 0 18px;
    padding: 1% 2%;
    font-size: 1rem;
  }
  main #vc > div div ul > li dl dt h3 {
    display: block;
    margin: 0 auto 3vw;
    font-size: min(5vw, 2rem);
  }
  main #vc > div div ul > li dl dt h3 + p {
    width: 92%;
    font-size: 1rem;
  }
  main #vc > div div ul > li dl dt h3 + p span {
    background-size: 16px 2rem;
    line-height: 2rem;
  }
  main #vc > div div ul > li dl dd {
    width: 60%;
  }

  main #nrs_ints > div div > ul > li > h3 span {
    padding: 0 1% 10px;
  }
  main #nrs_ints > div div > ul > li p span {
    background-size: 12px 2rem;
    line-height: 2rem;
  }
  main #nrs_ints > div > div > p:nth-child(2) {
    width: 96%;
    margin: 0 auto 7%;
    padding: 0;
    font-size: 1rem;
    line-height: 1.4;
    text-align: left;
  }
  main #nrs_ints div > ul > li p span b {
    margin: 0 auto 20px;
  }

  main #frm > div > div {padding: 0 0 5vh;}
  main #frm > div > div > h2:after {
    width: 50%;
    margin: 6px auto 0;
  }
  main #frm > div > div > ul {margin: 0 auto 20px;}
  main #frm > div > div > ul li {
    width: 92%;
    margin: 0 auto;
  }
  main #frm > div > div > ul li h3 {
    margin: 0 auto 9px;
    font-size: min(3.9vw, 1.5rem);
  }
  main #frm > div > div form table,
  main #frm div#ctn, #bx_vr table {
    margin: 0 auto 30px;
  }
  main #frm > div > div form table tr > *,
  #bx_vr table tr > * {
    width: 96%;
    padding: 1% 2% 3% 2%;
    display: block;
  }
  main #frm > div > div form table th {
    padding: 3% 2% 0;
    border: none;
  }
  #cntctf > p:nth-child(2),
  #frm > div > div > h2 + p {
    width: 82%;
    line-height: 1.4;
    text-align: left;
  }
  main section > div p#cntctf {width: 94%;}
  #bx_vr table th {
    padding: 10px 2% 0;
    border: none;
    font-weight: bold;
  }
  #bx_vr > div.flx.bx_btn input.veri {
    padding: 5% 10% 3%;
  }


  main #frm,
  main #offc {padding: 7vh 0;}
  main #offc > div > h2 {
    margin: 0 auto 33px;
  }

  main #offc table {width: 900px;}
  main #offc table th {width: 29%;}
  main #offc table th:nth-child(2) {width: 23%;}
  main #offc table th:nth-child(3) {width: 16%;}

}
/* EoS */
