@charset "utf-8";
/*------------------------------
  common
------------------------------*/
/*-- リセット --*/
html { font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'Avenir','Helvetica Neue','Helvetica','Arial', sans-serif; scroll-behavior: smooth; }
body { width: 100%;  max-width: 100%;  min-width: 100%; margin: 0; padding: 0; font-size: 10px; -webkit-text-size-adjust: 100%; color: #136; background-color: #FFF; }
* { margin: 0; padding: 0; text-align: left; line-height: 1.5em; box-sizing: border-box; }
a { text-decoration: none; }
img { width: 100%; border: none; display: block; }
li { list-style: none; }
dl, dt, dd { padding: 0; margin: 0; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
input, select { vertical-align: middle; }
header, main, footer { width: 100%; padding: 0; margin: 0; }
main { font-size: 1.6em; overflow-x: hidden; }
h1, h2, h3, h4, h5 { font-size: 1em; font-weight: 700;}
.cf { zoom:100%; }
.cf:after { content: "."; display: block; visibility: hidden; height: 0.1px; font-size: 0.1em; line-height: 0; clear: both; }

/*-- パンくずリンク --*/
.bread { width: calc(100% - 24em); margin: .5em auto; display: flex; justify-content: flex-start; }
.bread li { padding-left: 1.2em; margin-right: 1em; font-size: .9em; letter-spacing: .25em; color: #136; background: url(/common/img/ico/ico_arr_navy.svg) 0 40% no-repeat; background-size: .6em; }
.bread li:first-child { padding-left: .5em; background: none; }
.bread li a { color: #26C; }
.bread li a:hover, .bread li a:focus { color: #BDF; }





/*------------------------------
  HEADER
------------------------------*/
header { z-index: 2000; }
header h1 a { width: 24em; height: 22em; color: #FFF; background-color: rgba(34,102,204,0.9); display: block; position: fixed; top: 0;  left: 0; z-index: 5000; transition: background-color .3s ease-in; }
header h1.mini a { width: 20em; height: 12em; color: #126; background-color: rgba(255,255,255,0.9); }
header h1 a:hover { background-color: #BDF; transition: background-color .15s ease-out; }
header h1 a p { width: 16em; height: 8em; position: absolute; top: 50%; right: 50%; bottom: 50%; left: 50%; transform: translate(-50%, -50%); }
header h1 span { font-size: 1.3em; font-weight: 600; letter-spacing: .1em; }
.float_wrap { width: 18em; height: 8em; display: flex; position: fixed; top: auto; right: auto; bottom: 2em; left: 2em; z-index: 2000; }
.float_wrap .btn_line { width: 8em; height: 8em; margin-right: 2em; background-color: #06C755; border-radius: 1.5em; }
.float_wrap .btn_line a { width: 100%; height: 100%; background: url(/common/img/ico/ico_line.svg) 50% 50% no-repeat; background-size: 100%; display: block; transition: opacity .3s ease-in; }
.float_wrap .btn_line a:hover { opacity: 0.5; transition: opacity .0s; }
.float_wrap .btn_mail { width: 8em; height: 8em; background-color: #FFF; box-shadow: 0 0 0 2px #26C inset; border-radius: 1.5em; }
.float_wrap .btn_mail a { width: 100%; height: 100%; font-size: 1.3em; font-weight: 600; color: #26C; background-image: url(/common/img/ico/ico_mail_blue.svg); background-position: 50% 34%; background-size: 3.5em; background-repeat: no-repeat; border-radius: 1.5em; display: block; position: relative; transition: color .3s ease-in, background-color .3s ease-in; }
.float_wrap .btn_mail a span { width: 4em; position: absolute; top: auto; right: 50%; bottom: .7em; left: 50%; transform: translateX(-50%); transition: color .3s ease-in; }
.float_wrap .btn_mail a:hover { color: #BDF; background-color: #26C; background-image: url(/common/img/ico/ico_mail_light-blue.svg); transition: color 0s, background-color 0s; }

/*-- menu --*/
#headmenu { display: none; }
.headmenu_btn { width: 105px; height: 90px; display: flex; justify-content: center; align-items: center; position: fixed; top: 50%; right: 0; bottom: 50%; left: auto; z-index: 3000; transform: translateY(-45px); transition: 0.2s; }
.headmenu_btn span, .headmenu_btn span:before, .headmenu_btn span:after { content: ""; width: 45px; height: 5px; background-color: #26C; border-radius: 1.7px; display: block; position: relative; transition: 0.3s; }
.headmenu_btn span::before { position: absolute; bottom: 17px; transition: 0.3s; }
.headmenu_btn span::after { position: absolute; top: 17px; transition: 0.3s; }
.headmenu_btn:hover span, .headmenu_btn:hover span::before, .headmenu_btn:hover span::after { background-color: #BDF; transition: 0.3s; }

/*-- メニューリスト --*/
.headmenu_body { max-width: 600px; min-width: 300px; width: 50%;  height: 100vh; color: #FFF; background-color: rgba(34,102,204,0.9); display: block; position: fixed; top: 0; right: -600px; transition: 0.3s ease-in; z-index: 2000; overflow: scroll; -ms-overflow-style: none; scrollbar-width: none; -ms-overflow-style: none; }
.headmenu_body::-webkit-scrollbar{ display: none; }
.headmenu_body .menu_list { width: 6em; margin-top: 50vh; margin-right: auto; margin-bottom: auto; margin-left: calc(50% - 6em); font-size: 2.8em; font-weight: 600; transform: translateY(-50%); }
.headmenu_body .menu_list li { margin-bottom: 3vh; }
.headmenu_body .menu_list li a { color: #FFF; transition: .3s ease-in; }
.headmenu_body .menu_list li a:hover { color: #BDF; transition: .15s ease-out; }
.headmenu_body .tel { width: 10em; height: 1.75em; font-size: 4em; font-weight: 600; position: absolute; top: auto; right: 50%; bottom: .75em; left: 50%; transform: translateX(-50%); }
.headmenu_body .tel .name { font-size: .5em; line-height: 1; }
.headmenu_body .tel a.num { color: #FFF; font-family: Verdana, sans-serif; transition: .3s ease-in; }
.headmenu_body .tel a.num:hover { color: #BDF; transition: .15s ease-out; }
#headmenu:checked ~ .headmenu_btn span { width: 61px; background-color: rgba(255,255,255,0); }
#headmenu:checked ~ .headmenu_btn span::before { width: 61px; background-color: #FFF; bottom: 0; transform: rotate(45deg); }
#headmenu:checked ~ .headmenu_btn span::after { width: 61px; background-color: #FFF; top: 0;  transform: rotate(-45deg); }
#headmenu:checked ~ .headmenu_btn:hover span::before { background-color: #BDF; }
#headmenu:checked ~ .headmenu_btn:hover span::after { background-color: #BDF; }
#headmenu:checked ~ .headmenu_body { right: 0; transition: 0.5s ease; }
#headmenu:checked ~ .headmenu_body .headmenu_list {  transition: 0.3s ease-out; }

/*-- カバーアート装飾 --*/
#top .cover::after { content: ''; width: 100vw; height: 200px; background: url(/common/img/groundcover.png) 50% 50% repeat-x; background-size: 10px 200px; position: absolute; bottom: 0; left: 0; z-index: 1100; }
#top .copy { width: 10em; height: 67vw; background-color: rgba(187,221,255,0.9); font-weight: 600; display: flex; justify-content: center; position: absolute; top: 10vw; left: 50%; transform: translateX(-50%); z-index: 1200; }
#top .copy .vertical { margin: 2.25em 0 0 0; font-size: 2em; line-height: 1em; letter-spacing: .75em; writing-mode: vertical-rl; }
#top .copy .vertical span { margin: 0 0 1em 0; }
#top .copy .sub { font-family: Verdana, sans-serif; position: absolute; right: 0; bottom: -8em; }
#top .copy .sub span { text-align: right; display: block; }
#top .copy::before { content: ''; width: 8.75em; height: 5.625em; background: url(/common/img/ico/ico_polisher.svg) 50% 50% no-repeat; background-size: 100%; position: absolute; bottom: -2.5em; left: 50%; transform: translateX(-50%); z-index: 2; }
#top .copy::after { content: ''; width: 0; height: 0; border-color: rgba(187,221,255,0.9) transparent transparent transparent; border-width: 5em 10em 0 0; border-style: solid; display: block; position: absolute; top: auto; right: 50%; bottom: -5em; left: 50%; transform: translateX(-50%); z-index: 1; }

/*------------------------------
  自己紹介
------------------------------*/
#about { max-width: 1580px; min-width: 300px; width: 104%; max-height: 67.5em; min-height: 20em; height: 100vh; margin: 0 auto; background: url(/common/img/img_cleaner.svg) bottom 7em right 0 no-repeat; background-size: 32em; display: flex; justify-content: center; align-items: center; }
#about p { width: 33em; padding-top: 10em; letter-spacing: .15em; line-height: 2em; }
#about p::first-letter { font-size: 2em; }

/*------------------------------
  事業内容
------------------------------*/
#service { max-width: 1480px; min-width: 300px; width: 84%; margin: 0 auto; position: relative; }
#service h2 { font-size: 2em; letter-spacing: .4em; writing-mode: vertical-rl; position: absolute; top: 3em; right: 0; }
#service .service_list { max-width: 1280px; width: 80%; margin: 0 auto; }
#service .service_list li { margin: 0 0 12em 0; }
#service .service_list dl { display: flex; }
#service .service_list dt, #service .service_list dd { width: 50%; }
#service .service_list dd { display: flex; justify-content: flex-start; align-items: center; }
#service .service_list dd div { max-width: 21em; width: 100%; margin: 0 4.375em; }
#service .service_list dd h3 { margin-bottom: .25em; font-size: 1.25em; line-height: 1.2em; }
#service .service_list dd h3 span { display: block; }
#service .service_list li:nth-child(even) dl { flex-direction: row-reverse; }
#service .service_list li:nth-child(even) dd { justify-content: flex-end; }

/*------------------------------
  CTA（ リンクボタン ）
------------------------------*/
#cta { width: 100vw; height: 38vw; font-size: 1.25em; background: url(/common/img/cta_bg.jpg) 50% 50% no-repeat; background-size: cover; display: flex; justify-content: center; align-items: center; flex-direction: column; }
.btn { max-width: 23em; min-width: 12em; width: 50%; margin: .5em auto; }
.btn a { padding: 1em; font-weight: 600; text-align: center; color: #26C; background-color: #FFF; background-image: url(/common/img/ico/ico_arr_blue.svg); background-position: right .6em top 50%; background-repeat: no-repeat; background-size: .6em; border: #26C solid 2px; border-radius: .5em; display: block; transition: color .3s ease-in, background-color .3s ease-in; }
.btn a:hover { color: #BDF; background-color: #26C; background-image: url(/common/img/ico/ico_arr_light-blue.svg); transition: color .15s ease-out, background-color .15s ease-out; }

/*------------------------------
  会社概要
------------------------------*/
#company { max-width: 800px; min-width: 300px; width: 80%; padding-top: 15em; margin: 0 auto; }
#company h2 { font-size: 1.5em; letter-spacing: .5em; text-align: center; }
.company_data { margin: 2em 0; }
.company_data dl { display: flex; }
.company_data dt { width: 37.5%; padding: 1em 3.125em 1em 0; text-align: right; border-right: #136 solid 1px; }
.company_data dd { width: 62.5%; padding: 1em 0 1em 3.125em; }

/*------------------------------
  保有資格
------------------------------*/
#certifications { max-width: 800px; min-width: 300px; width: 80%; padding: 3em 0 12em 0; margin: 0 auto; }
#certifications h2 { font-size: 1.5em; letter-spacing: .5em; text-align: center; }
.certifications_list { padding: 1.5em 5%;  border: #136 solid 1px; display: flex; flex-wrap: wrap; }
.certifications_list li { width: 45%; }
.certifications_list li:nth-child(odd) { margin-right: 10%; }
.certifications_list dl { display: flex; justify-content: space-between; }

/*------------------------------
  FOOTER
------------------------------*/
footer { width: 100vw; height: 56vw; padding: 3em; color: #FFF; background: url(/common/img/foot.jpg) 50% 50% no-repeat; background-size: cover; display: flex; justify-content: flex-end; align-items: center; flex-direction: column; }
footer .footer_logo { width: 15.8em; }
footer .copylight { margin-top: .35em; font-size: 1.5em; }
footer.mini { height: 20em; color: #136; background-color: #ececec; background-image: none; }


/*------------------------------
  メールで問合せ
------------------------------*/
section.contact { padding: 6em 0 0 0; }
section.contact h2 { padding-top: 2.25em; font-size: 1.25em; letter-spacing: .2em; text-align: center; color: #26C; background: url(/common/img/ico/ico_mail_blue.svg) 50% 0 no-repeat; background-size: 2.4em;  }
section.contact .comment { max-width: 800px; min-width: 300px; width: 80%; margin: 3.5em auto 2.5em auto; }
section.contact form { padding: 1.75em 0 6em 0; background-color: #ececec; }
section.contact form ul, section.contact form div { max-width: 800px; min-width: 300px; width: 80%; margin: 2.5em auto; }

/*-- form --*/
form[name="contact_form"] .error { font-size: .9em; font-weight: bold; color: #E83; }
form[name="contact_form"] li { width: 100%; margin-bottom: 1em; }
form[name="contact_form"] li:nth-child(odd) { margin-right: 2%; }
form[name="contact_form"] li.message { width: 100%; margin-top: 1em; margin-right: 0; }
form[name="contact_form"] dl { width: 100%; display: table; }
form[name="contact_form"] dt, form[name="contact_form"] dd { display: table-cell; vertical-align: middle; }
form[name="contact_form"] dt { width: 8em; font-weight: 600; color: #666; }
form[name="contact_form"] dd { flex-grow: 1; }
form[name="contact_form"] input[type="text"], form[name="contact_form"] textarea { width: 100%; padding: .5em 1em; font-size: 1.2em; line-height: 1em; border: #CCC solid 1px; outline: none; -webkit-appearance: none; appearance: none; }
form[name="contact_form"] textarea { height: 9em; padding: .75em 1em; }
form[name="contact_form"] input[type="text"]:focus, form[name="contact_form"] textarea:focus { border-color: #36B; box-shadow: 0 0 6px 0 #6BE; }
form[name="contact_form"] input[type="text"]::placeholder, form[name="contact_form"] textarea::placeholder { font-size: .7em; color: #E83; }
form[name="contact_form"] .control { max-width: 24em; width: 90%; margin: 0 auto; text-align: center; }
form[name="contact_form"] .control .chkbox { margin: 1em auto; }
form[name="contact_form"] .control input[type="submit"] { width: 100%; padding: .75em; font-size: 1.2em; letter-spacing: .1em; text-align: center; outline: none; -webkit-appearance: none; appearance: none; }
form[name="contact_form"] .control input[type="submit"].done { font-weight: 600; color: #26C; background-color: #FFF; border: #26C solid 2px; border-radius: .5em; }
form[name="contact_form"] .control input[type="submit"].done:hover, form[name="contact_form"] .control input[type="submit"].done:focus { color: #FFF; background-color: #26C; box-shadow: 0 1px 5px 0 rgba(0,0,0,0.3); }
form[name="contact_form"] .control input[type="submit"].cancel { color: #333; background-color: #FFF; border: #666 solid 1px; }
form[name="contact_form"] .control input[type="submit"].cancel:hover, form[name="contact_form"] .control input[type="submit"].cancel:focus { color: #36B; border-color: #36B; box-shadow: 0 1px 5px 0 rgba(0,0,0,0.3); }
form[name="contact_form"] .control input[type="submit"]:disabled, form[name="contact_form"] .control input[type="submit"]:disabled:hover { color: #FFF; background-color: #CCC; border-color: #dfdfdf; box-shadow: none; }

/*-- confirm --*/
section.contact .alert { margin: 3em auto; font-weight: bold; text-align: center; color: #36B; }
section.contact .alert p { max-width: 20em; margin: 0 auto; padding-left: 1.5em; background: url(../img/ico_q_blue.svg) 0 50% no-repeat; background-size: 1.3em; }
section.contact.confirm form[name="contact_form"] ul { max-width: 640px; margin: 0 auto; display: block; }
section.contact.confirm form[name="contact_form"] li { width: 100%; }
section.contact.confirm form[name="contact_form"] dt { width: 8em; }
section.contact.confirm form[name="contact_form"] dd { font-weight: bold; }
form[name="contact_form"] .control.duo { max-width: 600px; width: 90%; margin: 2em auto 4em; display: flex; }
form[name="contact_form"] .control.duo input[type="submit"] { margin: 0 .5em; }
form[name="contact_form"] .control.duo .cancel { font-weight: 600; color: #888; border: #ccc solid 2px; border-radius: .5em; }

/*-- complete --*/
section.contact.complete h2 { padding-top: 5em; background: url(/common/img/ico/ico_airplane_blue.svg) 50% 0 no-repeat; background-size: 5em; }
section.contact.complete .alert { letter-spacing: .3em; }
section.contact.complete .message { max-width: 600px; width: 90%; margin: 0 auto 5em auto; }

/*-- プライバシーポリシー --*/
#policy { max-width: 1280px; min-width: 300px; width: 80%; padding: 3.75em 0 6em 0; margin: 0 auto; }
#policy dt { padding: .25em; color: #26C; border-bottom: #26C solid 2px; }
#policy dt span { max-width: 800px; width: 96%; padding-left: 2em; margin: 0 auto; font-size: 1.25em; font-weight: 600; letter-spacing: .1em; background: url(/common/img/ico/ico_shield_blue.svg) 0 50% no-repeat; background-size: 1.5em; display: block; }
#policy dd { width: 100%; height: 36em; margin: .5em auto; padding: 0 2em; border: #ABC solid 1px; border-radius: .5em; overflow-y: scroll; }
#policy dd p { margin: .5em auto; }
#policy dd p:first-child { margin-top: 2em; }
#policy dd p:last-child { margin-bottom: 2em; }
#policy dd h4 { margin-top: 2em; }


/*------------------------------
  404
------------------------------*/
.notfound_wrap { min-width: 320px; max-width: 980px; width: 94%; padding-top: 10em; margin: 0 auto; }
.notfound_wrap h2 { padding: .5em 0; font-size: 3.25em; font-weight: 800; font-family: Verdana, sans-serif; letter-spacing: 0; line-height: 1em; text-align: center; }
.notfound_wrap h2 span { margin-bottom: -.1em; font-size: 3em; line-height: 1em; text-align: center; display: block; }
.notfound_wrap p, .notfound_wrap dt, .notfound_wrap dd { text-align: center; }
.notfound_wrap dl { margin-bottom: 4em; }
.notfound_wrap .big { font-size: 2.1em; font-weight: 800; line-height: 1.2em; }
.notfound_wrap .note { max-width: 800px; width: 80%; padding: 1em 0; margin: 1em auto; border-color: #FFF; border-style: solid; border-width: 2px 0 2px 0; }


/*------------------------------
  MediaQuery
------------------------------*/
/*-- iPad pro --*/
@media screen and (min-width:1024px) and (max-width:1200px){
  /*HEADER*/
  header h1 a { width: 20em; height: 17em; }
  header h1 a p { width: 14em; height: 7em; }
  header h1 span { font-size: 1.2em; }
  .float_wrap { bottom: 1em; left: 1em; }
  .float_wrap .btn_line { margin-right: 1em; }
  .headmenu_btn { width: 60px; height: 60px; }
  /*カバーアート装飾*/
  #top .copy { width: 8em; }
  #top .copy .vertical { font-size: 1.6em; letter-spacing: .5em; }
  #top .copy .vertical span { margin: 0 0 .75em 0; }
  #top .copy .sub { font-size: .8em; }
  #top .copy::before { width: 6.875em; height: 4.4375em; bottom: -2em; }
  #top .copy::after { border-width: 4em 8em 0 0; bottom: -4em; }
  /*自己紹介*/
  #about { background-size: 22em; height: 60vh; }
  #about p { width: 24em; padding-top: 5em; }
  /*事業内容*/
  #service h2 { margin-bottom: 3em; font-size: 1.5em; text-align: center; writing-mode: horizontal-tb; position: relative; top: 0; }
  #service .service_list { width: 100%; padding-bottom: 6em; }
  #service .service_list li { margin: 0 0 6em 0; }
  /*FOOTER*/
  footer { padding: 1em; }
}

/*-- iPad --*/
@media screen and (min-width:600px) and (max-width:1023px){
  /*HEADER*/
  header h1 a { width: 18em; height: 15em; }
  header h1 a p { width: 12em; height: 6em; }
  header h1 span { font-size: 1.1em; }
  .float_wrap { bottom: 1em; left: 1em; }
  .float_wrap .btn_line { margin-right: 1em; }
  .headmenu_btn { width: 60px; height: 60px; }
  .headmenu_body .menu_list  { font-size: 2.2em; }
  .headmenu_body .tel { font-size: 3em; }
  /*カバーアート装飾*/
  #top .copy { width: 6em; }
  #top .copy .vertical { font-size: 1.35em; letter-spacing: .5em; }
  #top .copy .vertical span { margin: 0 0 .75em 0; }
  #top .copy .sub { font-size: .8em; }
  #top .copy::before { width: 6.875em; height: 4.4375em; bottom: -1.5em; }
  #top .copy::after { border-width: 3em 6em 0 0; bottom: -3em; }
  /*自己紹介*/
  #about { background-size: 16em; height: 70vh; }
  #about p { width: 21.5em; padding-top: 5em; letter-spacing: .5em; line-height: 1.5em; }
  /*事業内容*/
  #service { width: 96%; }
  #service h2 { margin-bottom: 3em; font-size: 1.5em; text-align: center; writing-mode: horizontal-tb; position: relative; top: 0; }
  #service .service_list { width: 100%; padding-bottom: 6em; }
  #service .service_list li { margin: 0 0 6em 0; }
  #service .service_list dd div { margin: 0 2em; }
  /*FOOTER*/
  footer { padding: 1em; }
}

/*-- iPhone --*/
@media screen and (max-width:599px) {
  /*HEADER*/
  header h1 a { width: 10.8em; height: 8.5em; }
  header h1 a p { width: 8em; height: 4em; }
  header h1 span { font-size: .7em; }
  header h1.mini a { width: 10.8em; height: 8.5em; }
  header h1.mini a p { width: 8em; height: 4em; }
  .float_wrap { width: 12.5em; height: 6em; bottom: 2em; left: .5em; }
  .float_wrap .btn_line { width: 6em; height: 6em; margin-right: .5em; }
  .float_wrap .btn_mail { width: 6em; height: 6em; }
  .float_wrap .btn_mail a { background-size: 3em; }
  .float_wrap .btn_mail a span { font-size: .8em; bottom: .3em; }
  .headmenu_btn { width: 60px; height: 60px; top: 0; bottom: auto; transform: none; }
  .headmenu_body { width: 100%; background-color: #26C; }
  .headmenu_body .menu_list  { font-size: 2.2em; }
  .headmenu_body .tel { font-size: 3em; }
  /*パンくずリンク*/
  .bread { width: calc(100% - 16em); font-size: .8em; }
  /*カバーアート装飾*/
  #top .cover { height: 70vh; }
  #top .cover img { height: 70vh; object-fit: cover; }
  #top .copy { width: 5em; min-height: 30em; height: 67vh; top: 0; }
  #top .copy .vertical { margin: 4em 0 0 0; font-size: 1.25em; letter-spacing: .5em; }
  #top .copy .vertical span { margin: 0 0 .75em 0; }
  #top .copy .sub { font-size: .8em; right: -1em; bottom: -7em; }
  #top .copy::before { width: 6.875em; height: 4.4375em; bottom: -1.2em; }
  #top .copy::after { border-width: 2.5em 5em 0 0; bottom: -2.5em; }
  /*自己紹介*/
  #about { height: 100vh; background-position: bottom 2em right 0; background-size: 50%; }
  #about p { width: 21.5em; padding: 0; margin-top: -4em; letter-spacing: .5em; line-height: 1.5em; }
  /*事業内容*/
  #service { width: 96%; }
  #service h2 { margin-bottom: .5em; font-size: 1.5em; text-align: center; writing-mode: horizontal-tb; position: relative; top: 0; }
  #service .service_list { width: 100%; padding-bottom: 6em; }
  #service .service_list li { margin: 0 0 2em 0; }
  #service .service_list dl { display: block; }
  #service .service_list dt, #service .service_list dd { width: 100%; }
  #service .service_list dd { display: block; }
  #service .service_list dd div { max-width: 23em; width: 90%; margin: .5em auto 0 auto; }
  #service .service_list dd h3 span { display: inline-block; }
  /*CTA*/
  #cta { height: 60vw; }
  #cta h4 span { text-align: center; display: block; }
  #cta .btn { width: 60%; }
  #cta .btn a { padding: .75em; }
  /*会社概要*/
  #company { width: 90%; padding-top: 6em; }
  .company_data { margin: 1em 0; }
  .company_data dl { display: block; }
  .company_data dt { width: 100%; padding: 0 0 0 .5em; text-align: left; border-bottom: #136 solid 1px; border-right: none; }
  .company_data dd { width: 100%; padding: .5em 0 1em 1em; }
  /*保有資格*/
  #certifications { width: 90%; padding: 2em 0 6em 0; }
  .certifications_list { padding: 1.2em 8%; display: block; }
  .certifications_list li { width: 100%; }
  .certifications_list li:nth-child(odd) { margin: 0; }
  /*FOOTER*/
  footer { height: 100vw; padding: 0; }
  footer .footer_logo { width: 10em; }
  footer .copylight { margin-top: .35em; font-size: 1.2em; }
  /*メールで問合せ*/
  section.contact .comment { width: 96%; }
  section.contact form ul, section.contact form div { width: 92%; }
  #policy { width: 96%; }
  #policy dd { width: 96%; padding: 0 .5em; }



}