@charset "UTF-8";

/*======================================================
 * Title	: Browser-formatting Styles
 * Name		: default.css
 * Description	: Style Sheet for initialization of the browser style
 * Version	: 1.0
======================================================*/

/*======================================================
 * Contents
 * 1. HyperText Module
 * 2. main.dwt
 * 3. 共通スタイル
 * 4. index.html
 * 5. company
 * 6. thermoforming
 * 7. products
 * 8. request
 * 9. access
 * 10. contact
 * 11. news
 * 12. CFRP専用メールフォーム
 * 13. technology
======================================================*/

/* -----------------------------------------------------
 * 1. HyperText Module
 * -------------------------------------------------- */

a:link {
  color: #009aff;
}
a:visited {
  color: #0cf;
}
a:hover,
a:active {
  color: #9ef;
}

/* -----------------------------------------------------
 * 2. main.dwt
 * -------------------------------------------------- */
/*--- header ---*/
#header-logo {
  position: relative;
}
@media screen and (max-width: 500px) {
  #header-logo {
    padding-top: 20px;
  }
}
div#header h1 {
  padding-top: 10px;
  width: 278px;
  float: left;
}
@media screen and (max-width: 700px) {
  div#header h1 {
    width: 40vw;
  }
}

div#header ul#change-lang {
  float: right;
  width: 184px;
  background: url(../images/slash.png) no-repeat 91px 4px;
  margin-top: 54px;
  margin-right: 2px;
}
@media screen and (max-width: 700px) {
  div#header ul#change-lang {
    margin-top: 8vw;
    width: 181px;
  }
}
@media screen and (max-width: 500px) {
  div#header ul#change-lang {
    margin: 7vw 0 0 0;
    width: 150px;
    background: url(../images/slash.png) no-repeat 69px 4px;
  }
}
div#header ul#change-lang li {
  float: left;
  padding-left: 17px;
}
@media screen and (max-width: 500px) {
  div#header ul#change-lang li {
    width: 48%;
    padding-left: 0;
  }
}
@media screen and (max-width: 700px) {
  div#header ul#change-lang li:nth-child(2) {
    padding-left: 14px;
  }
}
@media screen and (max-width: 500px) {
  div#header ul#change-lang li:nth-child(2) {
    padding-left: 6px;
  }
}
div#header h2 {
  padding-top: 10px;
  padding-bottom: 2px;
}
body#top div#header h2 {
  padding-top: 7px;
}
ul#nav li a {
  display: block;
}

/*--- wrapper ---*/
div#aside ul {
  margin: 0 auto;
}
div#aside ul li {
  *line-height: 1px;
}

div#aside ul#submenu {
  margin-bottom: 20px;
  width: 200px;
}
@media screen and (max-width: 1080px) {
  div#aside ul#submenu {
    width: 19vw;
  }
}
@media screen and (max-width: 700px) {
  div#aside ul#submenu {
    width: 100%;
    display: flex;
    gap: 2px 0.5%;
    flex-wrap: wrap;
  }
}
div#aside ul#submenu li {
  margin-top: 1px;
}
@media screen and (max-width: 700px) {
  div#aside ul#submenu li {
    width: 33%;
  }
}
div#aside ul#submenu li:first-child {
  margin-top: 0;
}
div#aside ul.submenu_txt li a {
  display: block;
  line-height: 40px;
  background: url(../images/bg_submenu.gif) no-repeat;
  text-align: left;
  padding-left: 38px;
  text-decoration: none;
}
div#aside ul.submenu_txt li a:link,
div#aside ul.submenu_txt li a:visited {
  color: #fff;
  background-position: left top;
}
div#aside ul.submenu_txt li a:hover,
div#aside ul.submenu_txt li a:active {
  color: #303030;
  background-position: left -40px;
}

div#aside ul.banner {
  width: 200px;
}
@media screen and (max-width: 1080px) {
  div#aside ul.banner {
    width: 19vw;
  }
}
@media screen and (max-width: 700px) {
  div#aside ul.banner {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

div#aside ul.banner li {
  margin-bottom: 8px;
}
@media screen and (max-width: 700px) {
  div#aside ul.banner li {
    width: 49%;
  }
}
div#aside ul.banner li.last {
  margin-bottom: 0;
  padding-top: 5px;
}

/*--- footer ---*/
div#footer-map {
  text-align: left;
  width: 942px;
  padding: 17px 4px 40px;
}
@media screen and (max-width: 1080px) {
  div#footer-map {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }
}
div#footer-map a {
  text-decoration: none;
}
div#footer-map div {
  float: left;
  margin-left: 24px;
}
@media screen and (max-width: 1080px) {
  div#footer-map div {
    margin-left: 1.8vw;
  }
}
div#footer-map div#footer-map01 {
  width: 160px;
  margin-left: 0;
}
@media screen and (max-width: 1080px) {
  div#footer-map div#footer-map01 {
    width: 15vw;
  }
}
@media screen and (max-width: 700px) {
  div#footer-map div#footer-map01 {
    width: 22vw;
  }
}
@media screen and (max-width: 500px) {
  div#footer-map div#footer-map01 {
    width: 110px;
  }
}
div#footer-map div#footer-map02 {
  width: 370px;
}
@media screen and (max-width: 1080px) {
  div#footer-map div#footer-map02 {
    width: 36.2vw;
  }
}
@media screen and (max-width: 700px) {
  div#footer-map div#footer-map02 {
    width: 66vw;
  }
}
@media screen and (max-width: 500px) {
  div#footer-map div#footer-map02 {
    width: 100%;
    margin-left: 0;
  }
}
div#footer-map div#footer-map02 ul {
  width: 170px;
  float: left;
}
@media screen and (max-width: 1080px) {
  div#footer-map div#footer-map02 ul {
    width: 15.6vw;
  }
}
@media screen and (max-width: 700px) {
  div#footer-map div#footer-map02 ul {
    width: 143px;
  }
}
div#footer-map div#footer-map03 {
  width: 180px;
}
@media screen and (max-width: 1080px) {
  div#footer-map div#footer-map03 {
    width: 18.4vw;
  }
}
@media screen and (max-width: 700px) {
  div#footer-map div#footer-map03 {
    width: 135px;
  }
}
@media screen and (max-width: 500px) {
  div#footer-map div#footer-map03 {
    margin-left: 0;
  }
}
div#footer-map div#footer-map04 {
  width: 160px;
}
@media screen and (max-width: 1080px) {
  div#footer-map div#footer-map04 {
    width: 15vw;
  }
}
@media screen and (max-width: 700px) {
  div#footer-map div#footer-map04 {
    width: 130px;
  }
}
@media screen and (max-width: 500px) {
  div#footer-map div#footer-map04 {
    margin-left: 20px;
  }
}
div#footer-map p.category {
  border-bottom: 1px solid #fff;
}
div#footer-map p.category a {
  font-size: 12px;
  background: url(../images/icon01.gif) no-repeat left 5px;
  padding-left: 14px;
  border-bottom: 1px solid #b0c0d0;
  display: block;
  padding-bottom: 5px;
  margin-top: 12px;
}
div#footer-map p.category a:link {
  color: #58606c;
}
div#footer-map p.category a:visited {
  color: #7d8591;
}
div#footer-map p.category a:hover,
div#footer-map p.category a:active {
  color: #9da5b2;
}
div#footer-map ul {
  margin-top: 6px;
}
div#footer-map ul li {
  font-size: 10px;
}
div#footer-map ul li a {
  line-height: 22px;
  background: url(../images/icon02.gif) no-repeat;
  padding-left: 14px;
  display: block;
}
@media screen and (max-width: 500px) {
  div#footer-map ul li a {
    padding-left: 12px;
  }
}
div#footer-map ul li a:link {
  color: #666;
  background-position: 1px 10px;
}
div#footer-map ul li a:visited {
  color: #888;
  background-position: 1px -50px;
}
div#footer-map ul li a:hover,
div#footer-map ul li a:active {
  color: #aaa;
  background-position: 1px -110px;
}
div#footer-map ul.nolink li {
  line-height: 22px;
  background: url(../images/icon02.gif) no-repeat 1px 10px;
  padding-left: 14px;
  color: #666;
}

div#footer-address {
  background: url(../images/bg_address.gif) no-repeat center center;
  height: 60px;
  width: 950px;
}
@media screen and (max-width: 1080px) {
  div#footer-address {
    width: 90vw;
  }
}
div#footer-address address {
  float: left;
  text-align: left;
  color: #fff;
  font-style: normal;
  font-size: 20px;
  line-height: 60px;
  width: 50%;
}
@media screen and (max-width: 1080px) {
  div#footer-address address {
    width: 100%;
  }
}
div#footer-address address img {
  display: inline;
  position: relative;
  vertical-align: middle;
  width: initial;
}
@media screen and (max-width: 500px) {
  div#footer-address address img {
    width: 140px;
  }
}
@media screen and (max-width: 350px) {
  div#footer-address address img {
    width: 110px;
  }
}
div#footer-address address span {
  font-size: 10px;
  line-height: 1;
  font-family: Arial, Helvetica, sans-serif;
}

/* -----------------------------------------------------
 * 3. 共通スタイル
 * -------------------------------------------------- */
img {
  vertical-align: bottom;
  display: block;
  max-width: 100%;
  height: auto;
}
div#wrapper * {
  line-height: 1.75;
}
.block {
  width: 700px;
  margin: 0 auto;
}
@media screen and (max-width: 1080px) {
  .block {
    width: 66vw;
  }
}
@media screen and (max-width: 700px) {
  .block {
    width: 100%;
  }
}
p.pagetop {
  text-align: right;
  margin: 60px 5px 7px;
}
@media screen and (max-width: 700px) {
  p.pagetop {
    margin: 50px 5px 20px;
  }
}
p.pagetop a {
  font-size: 10px;
  background: url(../images/pagetop.gif) no-repeat;
  padding-right: 15px;
  text-decoration: none;
}
p.pagetop a:link,
p.pagetop a:visited {
  color: #333;
  background-position: right 6px;
}
p.pagetop a:hover,
p.pagetop a:active {
  color: #999;
  background-position: right -24px;
}
.left {
  float: left;
}
.right {
  float: right;
}
table {
  border-spacing: 0;
}
th,
td {
  font-size: 12px;
  font-weight: normal;
}
form {
  font-size: 12px;
}

/* -----------------------------------------------------
 * 4. index.html
 * -------------------------------------------------- */
body#top div#video {
  float: left;
  width: 360px;
  padding-top: 26px;
}
body#top div#video iframe {
  width: 100%;
}
@media screen and (max-width: 1080px) {
  body#top div#video {
    width: 34vw;
  }
  body#top div#video iframe {
    width: 100%;
    height: 19vw;
  }
}
@media screen and (max-width: 700px) {
  body#top div#video {
    width: 60vw;
  }
  body#top div#video iframe {
    height: 34vw;
  }
}
@media screen and (max-width: 500px) {
  body#top div#video {
    width: 100%;
  }
  body#top div#video iframe {
    height: 52vw;
  }
}
body#top div#video video {
  width: 100%;
  margin-top: 14px;
}
body#top div#video p#banner_recruit {
  margin-top: 14px;
}
body#top div#video p#banner_recruit img {
  width: 100%;
}
body#top div#news {
  float: right;
  width: 310px;
}
@media screen and (max-width: 1080px) {
  body#top div#news {
    width: 29.4vw;
  }
}
@media screen and (max-width: 500px) {
  body#top div#news {
    width: 100%;
    margin-top: 30px;
  }
}
body#top h3.bar {
  position: relative;
  top: -3px;
}
div#news ul {
  margin-left: 10px;
}
div#news ul li {
  margin-top: 7px;
}
div#news ul li {
  background: url(../../images/icon_news.png) no-repeat left 5px;
  text-indent: 15px;
  color: #0054d2;
  font-size: 10px;
  line-height: 20px;
}
div#news ul li a {
  font-size: 12px;
  padding-bottom: 10px;
  background: url(../images/border01.gif) repeat-x left bottom;
  display: block;
  text-indent: 0;
}
div#news ul li a:link {
  color: #333;
}
div#news ul li a:visited {
  color: #666;
}
div#news ul li a:hover,
div#news ul li a:active {
  color: #0054d2;
}

div#news p.more {
  text-align: right;
  margin-top: 10px;
}
div#news p.more a {
  font-size: 10px;
  background: url(../../images/more.gif) no-repeat left 4px;
  padding-left: 15px;
  text-decoration: none;
}
div#news p.more a:link,
div#news p.more a:visited {
  background-position: left 4px;
  color: #333;
}
div#news p.more a:hover,
div#news p.more a:active {
  background-position: left -26px;
  color: #09f;
}
div#prod_info {
  width: 940px;
  margin: 0 auto;
}
@media screen and (max-width: 1080px) {
  div#prod_info {
    width: 90vw;
  }
}
@media screen and (max-width: 700px) {
  div#prod_info {
    width: 100%;
    display: flex !important;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px 0;
  }
}
div#prod_info div.item {
  float: left;
  width: 290px;
  margin-right: 35px;
  margin-top: 20px;
}
@media screen and (max-width: 1080px) {
  div#prod_info div.item {
    width: 27vw;
    margin-right: 4.5vw;
  }
}
@media screen and (max-width: 700px) {
  div#prod_info div.item {
    float: none;
    width: 46%;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
@media screen and (max-width: 500px) {
  div#prod_info div.item {
    width: 48%;
  }
}
div#prod_info div.item.right ~ div.item {
  margin-top: 30px;
}
@media screen and (max-width: 700px) {
  div#prod_info div.item.right ~ div.item {
    margin-top: 0;
  }
}
div#prod_info div.item.right {
  margin-right: 0;
}
div#prod_info div.item p.txt01 {
  line-height: 1.5em;
  height: 3em;
  margin-top: 7px;
}
@media screen and (max-width: 700px) {
  div#prod_info div.item p.txt01 {
    height: auto;
  }
}
div#prod_info div.item p.banner {
  margin-top: 7px;
}

/* -----------------------------------------------------
 * 5. company
 * -------------------------------------------------- */
/*--- index.html ---*/
div#message_01 div.left {
  width: 500px;
}
@media screen and (max-width: 1080px) {
  div#message_01 div.left {
    width: 47vw;
  }
}
@media screen and (max-width: 700px) {
  div#message_01 div.left {
    width: 60vw;
  }
}
div#message_01 p.right {
  width: 172px;
}
@media screen and (max-width: 1080px) {
  div#message_01 p.right {
    width: 18vw;
  }
}
@media screen and (max-width: 700px) {
  div#message_01 p.right {
    width: 23vw;
  }
}
div#message_01 p.txt01 {
  margin-top: 17px;
}
div#message_01 p.txt02 {
  margin-top: 22px;
}
div#message_01 p.txt03 {
  clear: both;
  padding-top: 52px;
}
/*--- outline.html ---*/
div#outline h3,
div#history h3 {
  padding-bottom: 10px;
}
table.outlineT th,
table.outlineT td {
  text-align: left;
  background: url(../images/border01.gif) repeat-x left bottom;
  padding-top: 5px;
  padding-bottom: 4px;
}
table.outlineT th {
  padding-right: 1em;
  width: 48px;
}
table.outlineT td {
  padding-right: 3em;
}

div#history {
  margin-top: 40px;
}

table.historyT th,
table.historyT td {
  text-align: left;
  padding-top: 5px;
  padding-bottom: 4px;
  vertical-align: top;
  background: url(../images/border01.gif) repeat-x left bottom;
}
table.historyT tr:last-child th,
table.historyT tr:last-child td {
  background-image: none;
}
table.historyT th {
  padding-right: 0.5em;
  white-space: nowrap;
  padding-left: 1em;
  background-color: #e7e7e7;
}
table.historyT td {
  padding-left: 1em;
}
div#history div#result {
  margin-top: 30px;
}
div#history div#result p.cap {
  font-size: 10px;
  text-align: center;
  margin-top: 3px;
  color: #666;
}

/*--- network.html ---*/
div#network_map {
  position: relative;
}
div#network_map #map_ss {
  position: absolute;
  left: 35px;
  top: 352px;
}
div#network_map #map_ss ul {
  position: relative;
}
div#network_map #map_ss ul li {
  position: absolute;
}
div#network_map #map_ss ul li#ssmap {
  top: 0px;
  left: 0px;
  display: block;
}
div#network_map #map_ss ul li#point01 {
  top: 97px;
  left: 340px;
}
div#network_map #map_ss ul li#point02-0 {
  top: 109px;
  left: 129px;
}
div#network_map #map_ss ul li#point02-1 {
  top: 75px;
  left: 226px;
}
div#network_map #map_ss ul li#point02-2 {
  top: 121px;
  left: 246px;
}
div#network_map #map_ss ul li#point02-3 {
  top: 163px;
  left: 209px;
}
div#network_map #map_ss ul li#point03 {
  top: 156px;
  left: 249px;
}
div#network_map #map_ss ul li#point04 {
  top: 83px;
  left: 277px;
}
div#network_map #map_ss ul li#point05 {
  top: 209px;
  left: 147px;
}
div#network_map #map_ss ul li#point06 {
  top: 182px;
  left: 9px;
}
div.network_block {
  margin: 25px 5px 0px;
}
div#jpn.network_block {
  margin-top: 0;
}
div.network_block h4 {
  background: #dbe7ed;
}
div.network_block h4 img {
  width: initial;
}
div.network_block div.distributor {
  background: url(../images/border01.gif) repeat-x left top;
  padding-top: 15px;
  margin-top: 15px;
}
div.network_block div.distributor:first-child,
div.network_block h4 + div.distributor {
  margin-top: 0;
  background-image: none;
}
div.network_block h5,
div.network_block p.txt01 {
  padding-left: 35px;
}
div.network_block h5 {
  font-size: 14px;
  background: no-repeat 3px 4px;
}
div.network_block p + h5 {
  margin-top: 3px;
}
div#jpn h5 {
  background-image: url(../../company/images/flag_jpn.gif);
}
div#chn h5 {
  background-image: url(../../company/images/flag_chn.gif);
}
div#chn p + p.txt01 {
  background: url(../../company/images/flag_chn.gif) no-repeat 3px 2px;
}
div#twn h5 {
  background-image: url(../../company/images/flag_twn.gif);
}
div#kor h5 {
  background-image: url(../../company/images/flag_kor.gif);
}
div#tha h5 {
  background-image: url(../../company/images/flag_tha.gif);
}
div#ind h5 {
  background-image: url(../../company/images/flag_ind.gif);
}
div.network_block h5 span.icon {
  position: relative;
  top: -1px;
}
div.network_block h5 span.icon img {
  display: inline;
  vertical-align: middle;
  width: initial;
}
div.network_block p.txt01 {
  margin-top: 3px;
}

p#network_foreign {
  margin-top: 40px;
}
p#network_foreign + div.network_block {
  margin-top: 15px;
}

/* -----------------------------------------------------
 * 6. thermoforming
 * -------------------------------------------------- */
div#thermoforming_01 div.section {
  margin-top: 40px;
}
div#thermoforming_01 div.section:first-child {
  margin-top: 20px;
}
div#thermoforming_01 div.photoBox {
  margin-top: 20px;
}
@media screen and (max-width: 500px) {
  div#thermoforming_01 div.photoBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
div#thermoforming_01 div.photoBox div {
  float: left;
  width: 169px;
  margin-right: 8px;
}
@media screen and (max-width: 500px) {
  div#thermoforming_01 div.photoBox div {
    width: 48%;
    margin-right: 0;
  }
}
div#thermoforming_01 div.photoBox div:last-child {
  margin-right: 0;
}
div#thermoforming_01 div.photoBox div.last-child {
  margin-right: 0;
}
div#thermoforming_01 p.cap {
  font-size: 10px;
  text-align: center;
  margin-top: 3px;
  color: #666;
}
div#thermoforming_01 p.txt01 {
  margin-top: 20px;
}
div#thermoforming_01 div.section p.txt01:first-child {
  margin-top: 0;
}
div#thermoforming_01 p.txt01 + ol,
div#thermoforming_01 ol + p.txt01 {
  margin-top: 0.5em;
}
div#thermoforming_01 p.img01 {
  margin-top: 15px;
}

div#thermoforming_01 ol li {
  margin-left: 1em;
}
div#thermoforming_01 ol li span {
  color: #03c;
}

/* -----------------------------------------------------
 * 7. products
 * -------------------------------------------------- */
body#products ul#prodbtnL {
  margin-top: -5px;
}
@media screen and (max-width: 700px) {
  body#products ul#prodbtnL {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 700px) {
  body#products ul#prodbtnL li {
    width: 48%;
  }
}

body#products p#submenu_ttl {
  width: 200px;
  margin: 25px auto 9px;
}
@media screen and (max-width: 700px) {
  body#products p#submenu_ttl {
    margin: 25px 0 9px;
  }
}
body#products div#aside ul.prod_sub li {
  background: url(../images/border01.gif) repeat-x left bottom;
  margin: 0;
  padding: 2px 1px 3px;
}
@media screen and (max-width: 700px) {
  body#products div#aside ul.prod_sub li {
    width: 100%;
  }
}
body#products div#aside ul.prod_sub li:last-child {
  background-image: url(../images/border02.gif);
}
body#products div#aside ul.prod_sub {
  margin-bottom: 3px;
}

/*--- index.html ---*/
div#products_intro p.catch {
  margin-top: 14px;
}
div#products_intro_link {
  margin-top: 40px;
}
div#products_intro_link p {
  width: 332px;
}
@media screen and (max-width: 1080px) {
  div#products_intro_link p {
    width: 48%;
  }
}
div#products_intro_link p a {
  height: 78px;
  padding: 119px 19px 0;
  display: block;
  text-decoration: none;
  background: no-repeat center top;
}
@media screen and (max-width: 500px) {
  div#products_intro_link p a {
    padding: 115px 8px 0;
  }
}
div#products_intro_link p.left a:link,
div#products_intro_link p.left a:visited {
  background-image: url(../../products/images/btn_prod_intro_01.png);
}
div#products_intro_link p.left a:hover,
div#products_intro_link p.left a:active {
  background-image: url(../../products/images/btn_prod_intro_01_o.png);
}
div#products_intro_link p.right a:link,
div#products_intro_link p.right a:visited {
  background-image: url(../../products/images/btn_prod_intro_02.png);
}
div#products_intro_link p.right a:hover,
div#products_intro_link p.right a:active {
  background-image: url(../../products/images/btn_prod_intro_02_o.png);
}
div#products_intro_link span {
  display: block;
}
div#products_intro_link span.txt01 {
  font-size: 10px;
  color: #666;
  margin-top: 5px;
}
div#products_lineup {
  padding-top: 20px;
}
div#products_lineup div.lineup_wrapper {
  background: url(../../products/images/bg_prod_lineup_b.png) no-repeat center
    bottom;
  padding-bottom: 20px;
  margin-top: 10px;
}
div#products_lineup div.lineup {
  background: url(../../products/images/bg_prod_lineup.png) no-repeat center top;
  padding: 21px 5px 15px;
  width: 700px;
}
@media screen and (max-width: 1080px) {
  div#products_lineup div.lineup {
    width: 65vw;
  }
}
@media screen and (max-width: 700px) {
  div#products_lineup div.lineup {
    width: 100%;
  }
}
div.lineup h3 {
  margin-right: 20px;
  margin-left: 20px;
  border-bottom: 1px solid #cacaca;
  padding-bottom: 10px;
  margin-bottom: 12px;
}
div.lineup div.pho {
  float: left;
  width: 285px;
}
@media screen and (max-width: 1080px) {
  div.lineup div.pho {
    width: 25vw;
  }
}
@media screen and (max-width: 810px) {
  div.lineup div.pho {
    width: 340px;
    max-width: 80%;
  }
}
div#qrh div.pho {
  width: 265px;
  margin-left: 20px;
}
div.lineup div.pho p.txt01 {
  margin: 5px 20px 0px;
}
div.lineup ul.lineupL {
  float: right;
  width: 380px;
  margin-right: 30px;
}
@media screen and (max-width: 1080px) {
  div.lineup ul.lineupL {
    width: 36vw;
  }
}
@media screen and (max-width: 810px) {
  div.lineup ul.lineupL {
    width: 90%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 500px) {
  div.lineup ul.lineupL {
    width: 100%;
  }
}
div.lineup ul.lineupL li {
  background: url(../images/border01.gif) repeat-x left bottom;
  padding-bottom: 5px;
  padding-top: 4px;
  height: 32px;
  line-height: 0;
  vertical-align: bottom;
}
div.lineup ul.lineupL li:first-child {
  margin-top: 0;
}
div.lineup ul.lineupL li a {
  line-height: normal;
}
div.lineup div.good {
  clear: both;
  margin: 0 auto;
  padding-top: 15px;
  width: 660px;
}
div.lineup div.good h4 {
  color: #0066d0;
  font-size: 12px;
  margin-left: 1px;
}
div.lineup div.good p.txt01 {
  background: #fff;
  border: 1px solid #cacaca;
  padding: 5px 9px;
}

/*--- 製品詳細ページ ---*/
body#products h3.prodttl {
  margin-top: -5px;
}
body#products div.prod_inner {
  margin-left: 30px;
}
@media screen and (max-width: 810px) {
  body#products div.prod_inner {
    margin-left: 0;
  }
}
body#products div.prod_inner div.section {
  margin-top: 50px;
}
body#products div.prod_inner div.section_s {
  margin-top: 30px;
}
@media screen and (max-width: 600px) {
  body#products div.prod_inner div.section_s {
    overflow-x: scroll;
  }
}
body#products div.prod_inner div.block {
  width: 670px;
}
@media screen and (max-width: 1080px) {
  body#products div.prod_inner div.block {
    width: 63vw;
  }
}
@media screen and (max-width: 700px) {
  body#products div.prod_inner div.block {
    width: 100%;
  }
}
@media screen and (max-width: 500px) {
  body#products div.prod_inner div.block {
    display: flex;
    flex-wrap: wrap;
  }
}
div.prod_inner h4 {
  background: url(../images/border01.gif) repeat-x left bottom;
  padding-bottom: 7px;
  margin-bottom: 10px;
}

div.prod_inner p.txt01,
div.prod_inner div.photoBox,
div.prod_inner .para {
  margin-top: 30px;
}
div.prod_inner div p.txt01:first-child,
div.prod_inner div .para:first-child {
  margin-top: 0;
}
div.prod_inner div.intro dl dt {
  color: #0066d0;
  margin-top: 10px;
}
div.prod_inner div.intro dl dt a {
  color: #0066d0;
}
div.prod_inner div.intro dl dt:first-child {
  margin-top: 0;
}
div.prod_inner div.intro dl dd {
  margin-left: 0;
}
div.prod_inner div.intro div.good {
  margin-top: 30px;
}
div.prod_inner div.intro div.good p {
  color: #0066d0;
  font-weight: bold;
}
div.prod_inner div.intro div.good dl {
  padding: 14px 19px;
  border: 1px solid #cacaca;
  background: #fff;
}
div.prod_inner div.photoBox {
  width: 670px;
}
div.prod_inner div.photoBox.photoBox_tfh {
  width: 442px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 500px) {
  div.prod_inner div.photoBox.photoBox_tfh {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
}
div.prod_inner div.photoBox.photoBox_tfh + div.photoBox.photoBox_tfh {
  margin-top: 14px;
}
div.prod_inner div.photoBox p {
  float: left;
  margin-right: 14px;
}
div.prod_inner div.photoBox p.right {
  margin-right: 0;
}

div.prod_inner div.movie {
  width: 320px;
  margin-top: 20px;
  float: left;
}
@media screen and (max-width: 1080px) {
  div.prod_inner div.movie {
    width: 30vw;
  }
}
@media screen and (max-width: 700px) {
  div.prod_inner div.movie {
    width: 55%;
  }
}
@media screen and (max-width: 500px) {
  div.prod_inner div.movie {
    width: 100%;
  }
}

@media screen and (max-width: 1080px) {
  div.prod_inner div.movie iframe {
    width: 100%;
    height: 22vw;
  }
}
@media screen and (max-width: 700px) {
  div.prod_inner div.movie iframe {
    height: 32vw;
  }
}
@media screen and (max-width: 500px) {
  div.prod_inner div.movie iframe {
    height: 56vw;
  }
}
body#products div.movie p {
  color: #fff;
  text-align: center;
  line-height: 180px;
  background-color: #000;
}
div.prod_inner div.right {
  width: 310px;
}
@media screen and (max-width: 1080px) {
  div.prod_inner div.right {
    width: 29vw;
  }
}
@media screen and (max-width: 700px) {
  div.prod_inner div.right {
    width: 42%;
  }
}
@media screen and (max-width: 500px) {
  div.prod_inner div.right {
    width: 100%;
    margin-top: 30px;
  }
}
div.prod_inner div.right table.specT {
  width: 100%;
}
div.prod_inner p.fig_model {
  text-align: right;
  font-size: 10px;
}
div.prod_inner p.fig_zoom {
  text-align: center;
  font-size: 10px;
}

/* スペック表（成形テストのご案内でも使用） */
table.specT th,
table.specT td {
  text-align: left;
  vertical-align: middle;
  padding: 2px 10px;
  line-height: 1.5;
}
table.specT th {
  background-color: #303030;
  color: #fff;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  white-space: nowrap;
}
table.specT tr:nth-child(2n) th {
  background-color: #485157;
}
table.specT td {
  background-color: #e6e6e6;
  border-bottom: 1px solid #9a9a9a;
}
table.specT tr:nth-child(2n) td {
  background-color: #eff1f2;
}
table.specT tr:last-child th,
table.specT tr:last-child td {
  border-bottom-width: 0;
}

/* 規格表 */
table + table.standardT {
  margin-top: 20px;
}
table.standardT {
  width: 100%;
}
@media screen and (max-width: 600px) {
  table.standardT {
    width: max-content;
  }
}
table.standardT th,
table.standardT td {
  text-align: center;
}
table.standardT th {
  color: #fff;
  background: #485157;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 6px 4px;
}
div#content table.standardT th,
div#content table.standardT th span {
  line-height: 1.4;
}
table.standardT tr th:last-child {
  border-right: 0px;
}
table.standardT td {
  background: #eff1f2;
  border-right: 1px solid #cacaca;
  border-bottom: 1px solid #cacaca;
  padding: 4px;
}
table.standardT tr td:first-child {
  border-left: 1px solid #cacaca;
}
table.standardT td.model {
  background: #dfeaf8;
  padding-left: 1em;
  padding-right: 1em;
  white-space: nowrap;
}
table.standardT .w15 {
  width: 15%;
}
table.standardT .w20 {
  width: 20%;
}
table.standardT .w25 {
  width: 25%;
}
table.standardT .w30 {
  width: 30%;
}
table.standardT .w35 {
  width: 35%;
}
table.standardT .w40 {
  width: 40%;
}

table.standardT span.small {
  font-size: 10px;
}
table.standardT + .kome {
  text-align: right;
  font-size: 10px;
  margin-top: 3px;
}

/*--- ツールチップ用 ---*/
a.tooltip,
a.tooltip_in {
  padding-right: 12px;
  margin-right: 2px;
  background: url(../images/tooltip.png) no-repeat right bottom;
  *display: inline;
  *zoom: 1;
  cursor: help;
  color: #369;
}
table.tooltipT {
  margin-top: 5px;
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
  margin-bottom: 2px;
}
table.tooltipT th,
table.tooltipT td {
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 4px 10px;
}
table.tooltipT th {
  background-color: #999;
  text-align: center;
  color: #fff;
  white-space: nowrap;
}
table.tooltipT td {
  background-color: #fff;
}
table.tooltipT td.td01 {
  background-color: #eee;
  white-space: nowrap;
}
table.tooltipT td.center {
  text-align: center;
}
table.tooltipT td ul li {
  padding-left: 10px;
  background: url(../images/dot01.png) no-repeat 2px 7px;
}

.pho_tooltip {
  float: left;
  padding: 2px 10px 2px 0;
}

body#tooltip div#container {
  padding: 20px;
}
body#tooltip div#container h1 {
  clear: both;
  font-size: 12px;
  padding: 2px 6px;
  background-color: #eee;
  margin-top: 30px;
  font-weight: normal;
}

body#tooltip div#container > div {
  clear: both;
  padding-top: 50px;
  margin-top: -40px;
}
a.tooltip_in span {
  display: none;
  padding: 13px 15px;
  margin-left: 5px;
  margin-top: -5px;
}
a.tooltip_in:hover span {
  display: inline;
  position: absolute;
  background-color: #eee;
  background-color: rgba(238, 238, 238, 0.85);
  border: solid 1px #ccc;
  width: 390px;
  color: #333;
  text-decoration: none;
}
body#tooltip a.tooltip_in:hover span {
  display: none;
}

/*--- special/technical.html ---*/

div#technical p.intro {
  margin-top: 25px;
}
div#technical div.technical_block {
  margin-top: 50px;
}
div#technical div.technical_block:first-of-type {
  margin-top: 30px;
}
div#technical div.technical_block p.txt01 {
  margin-top: 10px;
}
div#technical div.movie {
  margin-top: 15px;
}
div#technical div.movie div {
  width: 336px;
}

/*--- special/index.html ---*/
div#flow_intro {
  margin-top: 25px;
}
div#flow_intro ul {
  width: 700px;
  margin-top: 20px;
}
@media screen and (max-width: 1080px) {
  div#flow_intro ul {
    width: 66vw;
  }
}
@media screen and (max-width: 700px) {
  div#flow_intro ul {
    width: 100%;
  }
}
div#flow_intro ul li {
  float: left;
  margin-right: 20px;
}
div#flow_intro ul li.right {
  margin-right: 0;
}
div#flow_intro ul li.right ~ li {
  margin-top: 15px;
}

div.flow_block_wrap {
  width: 710px;
}
@media screen and (max-width: 1080px) {
  div.flow_block_wrap {
    width: 100%;
    overflow-x: scroll;
    overflow-y: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
div.flow_block {
  margin-top: 50px;
  width: 340px;
}

div.flow_block h4 {
  margin: 0 5px 25px;
  background: url(../images/border01.gif) repeat-x left bottom;
  padding-bottom: 7px;
}
div.flow_img {
  position: relative;
}
div.flow_img ul {
  position: absolute;
  width: 270px;
  left: 35px;
}
div.flow_img ul li {
  line-height: 20px;
  margin-top: 8px;
  background: url(../images/dot02.png) no-repeat left 5px;
  padding-left: 12px;
}
div.flow_img div.flow_prod {
  position: absolute;
  top: 135px;
}
div.flow_img div.flow_prod h5 {
  text-align: center;
  font-size: 12px;
  margin-top: 7px;
}
div.flow_img div.flow_prod h5,
div.flow_img div.flow_prod h5 a {
  color: #0054d2;
}
div.flow_img div.flow_prod div {
  float: left;
}
div.flow_img div.flow_prod p.cap {
  text-align: center;
  font-size: 10px;
  padding-bottom: 4px;
}
body#products div.flow_img div.flow_prod p.txt01 {
  clear: both;
  padding: 5px 0 0 40px;
  margin-left: 10px;
  margin-right: 10px;
  font-size: 10px;
  text-indent: -40px;
  line-height: 15px;
  background: url(../images/border01.gif) repeat-x left top;
}

div.flow_block#flow01 {
  width: 710px;
}
@media screen and (max-width: 1080px) {
  div.flow_block#flow01 {
    width: 100%;
    overflow-y: scroll;
  }
}
div.flow_block#flow01 img {
  width: initial;
}
div#flow01 ul {
  left: 205px;
  width: 300px;
}
div#flow01 ul#flow01-q01 {
  top: 23px;
}
div#flow01 ul#flow01-q02 {
  top: 167px;
}
div#flow01 ul#flow01-q03 {
  top: 287px;
}
div#flow01 div.flow_prod {
  top: 395px;
}
div#flow01 div#flow_prod_01-1,
div#flow01 div#flow_prod_01-4 {
  width: 218px;
}
div#flow01 div#flow_prod_01-1,
div#flow02 div#flow_prod_02-1,
div#flow04 div#flow_prod_04-1,
div#flow05 div#flow_prod_05-1,
div#flow06 div#flow_prod_06-1 {
  left: 5px;
}
div#flow01 div#flow_prod_01-1 div {
  width: 109px;
}
div#flow01 div#flow_prod_01-2,
div#flow01 div#flow_prod_01-3 {
  width: 120px;
}
div#flow01 div#flow_prod_01-2 {
  left: 231px;
}
div#flow01 div#flow_prod_01-3 {
  left: 359px;
}
div#flow01 div#flow_prod_01-4 {
  left: 487px;
}
div#flow01 div#flow_prod_01-4 div.left {
  width: 88px;
}
div#flow01 div#flow_prod_01-4 div.right {
  width: 130px;
}
div#flow01 div#flow_prod_01-4 div.right img {
  display: inline;
}

div#flow02 ul#flow02-q01,
div#flow04 ul#flow04-q01,
div#flow05 ul#flow05-q01,
div#flow06 ul#flow06-q01 {
  top: 37px;
}
div#flow02 div#flow_prod_02-1 {
  width: 202px;
}
div#flow02 div#flow_prod_02-1 div {
  width: 101px;
}
div#flow02 div#flow_prod_02-2 {
  left: 215px;
}

div#flow04 div.flow_prod,
div#flow05 div.flow_prod {
  width: 160px;
}
div#flow04 div#flow_prod_04-2,
div#flow05 div#flow_prod_05-2 {
  left: 175px;
}
div#flow05 div#flow_prod_05-1 h5 a {
  line-height: 166px;
}

div#flow_contact {
  margin-top: 40px;
}
div#flow_contact p.txt01 {
  margin-left: 5px;
  text-align: center;
}
div#flow_contact p.btn {
  margin: 5px auto 0 auto;
  width: 201px;
  padding-left: 5px;
}

div#flow_table {
  margin-top: 50px;
}
@media screen and (max-width: 1080px) {
  div#flow_table {
    overflow-x: scroll;
  }
}
@media screen and (max-width: 1080px) {
  div#flow_table table {
    width: max-content;
  }
}

div#flow_table h4 {
  background: url(../images/dot02.png) no-repeat left 5px;
  padding-left: 12px;
  font-weight: normal;
}
div#flow_table p.kome {
  margin-top: 3px;
  font-size: 10px;
}

table.flowT {
  margin-top: 5px;
}
p.kome + table.flowT {
  margin-top: 20px;
}
table.flowT th,
table.flowT td {
  text-align: center;
  padding: 1px 0;
}
table.flowT th {
  color: #fff;
  background: #485157;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
table.flowT tr th:last-child {
  border-right: 0px;
}
table.flowT tr.model th {
  width: 39px;
  font-size: 11px;
  background: #6b7982;
}
body#products table.flowT tr.model th.l2 {
  font-size: 9px;
  line-height: 1.2;
}
table.flowT td {
  background: #eff1f2;
  border-right: 1px solid #cacaca;
  border-bottom: 1px solid #cacaca;
}
table.flowT td.td01,
table.flowT td.td02 {
  text-align: left;
  padding: 0 1em;
  background: #dfeaf8;
}
table.flowT td.td01 {
  border-left: 1px solid #cacaca;
}
table.flowT tr td sup {
  vertical-align: text-top;
}

/*--- special/example.html ---*/
div#example_wrap {
  margin-top: 15px;
  position: relative;
  height: 460px;
}
@media screen and (max-width: 1080px) {
  div#example_wrap {
    height: 42vw;
  }
}
@media screen and (max-width: 700px) {
  div#example_wrap {
    height: 62vw;
  }
}
@media screen and (max-width: 500px) {
  div#example_wrap {
    height: 58vw;
  }
}

div#example01,
div#example02,
div#example01 p#btn01,
div#example01 p#btn02,
div#example01 p#btn03,
div#example02 p#btn04,
div#example02 p#btn05,
div#example02 p#btn06 {
  position: absolute;
}
div#example01 p#btn01 {
  left: 245px;
  top: 20px;
}
@media screen and (max-width: 1080px) {
  div#example01 p#btn01 {
    left: 24vw;
    top: 2vw;
    width: 20vw;
  }
}
@media screen and (max-width: 700px) {
  div#example01 p#btn01 {
    left: 36vw;
    top: 3vw;
    width: 28vw;
  }
}
div#example01 p#btn02 {
  left: 20px;
  top: 124px;
}
@media screen and (max-width: 1080px) {
  div#example01 p#btn02 {
    left: 2vw;
    top: 12vw;
    width: 20vw;
  }
}
@media screen and (max-width: 700px) {
  div#example01 p#btn02 {
    top: 16vw;
    width: 28vw;
  }
}
div#example01 p#btn03 {
  left: 20px;
  top: 390px;
}
@media screen and (max-width: 1080px) {
  div#example01 p#btn03 {
    width: 20vw;
    top: 36vw;
    left: 2vw;
  }
}
@media screen and (max-width: 700px) {
  div#example01 p#btn03 {
    width: 28vw;
    top: 50vw;
  }
}
div#example02 p#btn04 {
  left: 338px;
  top: 419px;
}
div#example02 p#btn05 {
  left: 413px;
  top: 419px;
}
div#example02 p#btn06 {
  right: 15px;
  bottom: 10px;
}

div#example02 {
  display: none;
  opacity: 0;
}

/*--- qrh/index.html ---*/
div#qrh_intro {
  margin-top: 25px;
  width: 670px;
  margin-left: 35px;
}
@media screen and (max-width: 1080px) {
  div#qrh_intro {
    width: 62vw;
  }
}
@media screen and (max-width: 700px) {
  div#qrh_intro {
    margin-left: 0;
    width: 100%;
  }
}
div#qrh_intro p.pho {
  width: 320px;
  float: left;
  padding-right: 20px;
}
@media screen and (max-width: 500px) {
  div#qrh_intro p.pho {
    width: 100%;
    margin-bottom: 15px;
  }
}
div#qrh01 {
  width: 680px;
  margin-left: 30px;
  padding-top: 5px;
}
@media screen and (max-width: 1080px) {
  div#qrh01 {
    width: 62vw;
  }
}
@media screen and (max-width: 700px) {
  div#qrh01 {
    width: 100%;
    margin-left: 0;
  }
}
div#qrh01 dl dt {
  margin-top: 25px;
}
div#qrh01 dl dd {
  margin: 10px 5px 0 20px;
}

div#qrh02 {
  margin-left: 35px;
  padding-top: 20px;
}
@media screen and (max-width: 700px) {
  div#qrh02 {
    margin-left: 0;
  }
}
div#qrh02 div.qrh_img {
  width: 670px;
  margin-top: 30px;
}
@media screen and (max-width: 1080px) {
  div#qrh02 div.qrh_img {
    width: 62vw;
  }
}
@media screen and (max-width: 700px) {
  div#qrh02 div.qrh_img {
    width: 100%;
  }
}
div#qrh02 div.qrh_img p {
  width: 320px;
}
@media screen and (max-width: 1080px) {
  div#qrh02 div.qrh_img p {
    width: 48%;
  }
}
div#qrh03 {
  margin: 45px 0px 0px 30px;
}
@media screen and (max-width: 700px) {
  div#qrh03 {
    margin-left: 0;
  }
}
div#qrh03 h4 {
  margin-top: 25px;
}
div#qrh03 h4:first-child {
  margin-top: 0;
}
div#qrh03 ul {
  margin: 10px 20px 0;
}
div#qrh03 li {
  background: url(../images/dot02.png) no-repeat left 5px;
  padding-left: 12px;
}

/*--- qrh/cfrp.html ---*/
div#cfrp {
  margin-top: 25px;
  width: 670px;
  margin-left: 35px;
}
@media screen and (max-width: 1080px) {
  div#cfrp {
    width: calc(100% - 35px);
  }
}
@media screen and (max-width: 810px) {
  div#cfrp {
    width: calc(100% - 20px);
    margin-left: 20px;
  }
}
@media screen and (max-width: 8500px) {
  div#cfrp {
    width: calc(100% - 10px);
    margin-left: 10px;
  }
}
div#cfrp span.blue {
  color: #09c;
}
div#cfrp p.introtxt {
  margin-bottom: 15px;
}
div#cfrp div#cfrp01,
div#cfrp div#cfrp02,
div#cfrp div#cfrp03,
div#cfrp div#cfrp04 {
  padding-bottom: 25px;
}
div#cfrp h4 {
  background: url(../images/border01.gif) repeat-x left bottom;
  padding-bottom: 7px;
  margin-bottom: 10px;
}
div#cfrp p.feature {
  background: url(../images/dot02.png) no-repeat left 5px;
  padding-left: 15px;
}
div#cfrp div#cfrp01 {
  position: relative;
}
@media screen and (max-width: 500px) {
  div#cfrp div#cfrp01 {
    padding-bottom: 55px;
  }
}
div#cfrp div#cfrp01 img {
  width: initial;
}
div#cfrp div#cfrp02 img {
  width: initial;
}
div#cfrp div#cfrp03 img {
  width: initial;
}
div#cfrp div#cfrp04 img {
  width: initial;
}
div#cfrp p.irtxt {
  font-size: 11px;
  position: absolute;
  bottom: 26px;
  left: 350px;
}
@media screen and (max-width: 500px) {
  div#cfrp p.irtxt {
    left: initial;
    right: 0;
  }
}
div#cfrp p.fig {
  margin: 5px 0 15px 0;
}
div#cfrp p.fig img {
  display: inline;
  margin-left: 15px;
  width: initial;
}
@media screen and (max-width: 1080px) {
  div#cfrp p.fig img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
  }
}
div#cfrp div#movie01 {
  width: 320px;
  margin: 5px 0 0 10px;
}
@media screen and (max-width: 500px) {
  div#cfrp div#movie01 {
    max-width: 100%;
    margin-left: 0;
  }
  div#cfrp div#movie01 iframe {
    width: 100%;
  }
}
div#cfrp div#movie02 {
  width: 670px;
  margin-top: 5px;
}
@media screen and (max-width: 1080px) {
  div#cfrp div#movie02 {
    width: 100%;
  }
}
div#cfrp div#movie02 iframe {
  margin-left: 10px;
}
@media screen and (max-width: 1080px) {
  div#cfrp div#movie02 iframe {
    margin: 10px 0 0 10px;
  }
}
@media screen and (max-width: 500px) {
  div#cfrp div#movie02 iframe {
    margin: 10px 0 0 0;
    max-width: 100%;
  }
}

/* -----------------------------------------------------
 * 8. request
 * -------------------------------------------------- */

div#request_01 dl dt {
  margin-top: 27px;
}
div#request_01 dl dt,
div#test div#model p {
  background: url(../images/border01.gif) repeat-x left bottom;
  padding-bottom: 7px;
}
div#request_01 dl dd {
  margin-top: 10px;
  margin-left: 0px;
}
div#request_02 {
  margin-top: 35px;
}
div#request_02 p.pho {
  float: left;
  width: 340px;
  margin-top: 20px;
}
@media screen and (max-width: 500px) {
  div#request_02 p.pho {
    width: 100%;
  }
}
div#request_02 table.specT {
  width: 350px;
  float: right;
  margin-top: 35px;
}
@media screen and (max-width: 500px) {
  div#request_02 table.specT {
    width: 100%;
  }
}
div#request_02 p.flow {
  clear: both;
  padding-top: 10px;
  margin: 0 auto;
  width: 670px;
}
@media screen and (max-width: 700px) {
  div#request_02 p.flow {
    width: 100%;
  }
}
body#request div.prod_block {
  margin-top: 20px;
}
body#request div.prod_block:first-child {
  margin-top: 0;
}
body#request div#test {
  width: 755px;
  margin-left: 5px;
  margin-top: 25px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1080px) {
  body#request div#test {
    width: 100%;
    height: auto;
  }
}
body#request div#test::before {
  content: "";
  position: absolute;
  top: 0;
  left: 6px;
  height: 100%;
  width: calc(100% - 12px);
  border: 4px solid #7f97e8;
  background-color: #f3f3f3;
  pointer-events: none;
  z-index: -1;
}
div#step div.step_block {
  width: 630px;
  margin-left: 35px;
}
@media screen and (max-width: 1080px) {
  div#step div.step_block {
    width: 90%;
    display: flex;
  }
}
@media screen and (max-width: 810px) {
  div#step div.step_block {
    margin: 0 auto;
  }
}
div#step p.num {
  width: 80px;
  float: left;
}
div#step div.txt {
  width: 540px;
  float: right;
  margin-top: 10px;
}
div#step div#step03 div.txt {
  margin-top: 25px;
}
div#step p.txt01 {
  margin-top: 10px;
  margin-left: 18px;
}
div#step p.txt02 {
  margin-left: 15px;
  margin-top: 3px;
  font-size: 10px;
}
div#step p.txt02 img {
  display: inline;
  vertical-align: middle;
  width: initial;
}
div#step p.txt02 span {
  position: relative;
  top: 3px;
}
div#step ul li {
  margin-left: 18px;
  background: url(../images/dot02.png) no-repeat left 5px;
  padding-left: 12px;
}
div#test div#model {
  margin-left: 48px;
  margin-top: 25px;
  width: 617px;
}
@media screen and (max-width: 1080px) {
  div#test div#model {
    width: 90%;
    margin: 0 auto;
  }
}
div#test div#model dl {
  margin-top: 5px;
}
div#test div#model dl dt,
div#test div#model dl dd {
  padding-left: 15px;
  margin-left: 0;
}
div#test div#model dl dt {
  background: url(../images/dot02.png) no-repeat 3px 5px;
}

/* -----------------------------------------------------
 * 9. access
 * -------------------------------------------------- */
div#googlemap {
  border: 1px solid #cacaca;
  padding: 4px;
  background-color: #fff;
}
@media screen and (max-width: 700px) {
  div#googlemap {
    height: 65vw;
  }
}
div#googlemap iframe {
  width: 100%;
}
@media screen and (max-width: 700px) {
  div#googlemap iframe {
    height: 100%;
  }
}
div#access01 p.txt01 {
  font-size: 10px;
  text-align: right;
  margin-top: 3px;
}
div#access01 div#access_route {
  background: url(../images/border01_v.gif) repeat-y center top;
  padding-top: 10px;
}
@media screen and (max-width: 500px) {
  div#access01 div#access_route {
    background: initial;
    display: flex;
    flex-direction: column;
    gap: 20px 0;
  }
}
div#access01 div#access_route div {
  width: 310px;
  padding: 0 20px;
}
@media screen and (max-width: 1080px) {
  div#access01 div#access_route div {
    width: 45%;
  }
}
@media screen and (max-width: 500px) {
  div#access01 div#access_route div {
    width: 100%;
  }
}
div#access01 div#access_route h3 {
  color: #0054d2;
  font-size: 12px;
  font-weight: normal;
  background: no-repeat left center;
  line-height: 30px;
  padding-left: 38px;
}
div#access01 div#access_route div.left h3 {
  background-image: url(../../access/images/icon_train.png);
}
div#access01 div#access_route div.right h3 {
  background-image: url(../../access/images/icon_car.png);
}
div#access01 div#access_route h3,
div#access01 div#access_route ul {
}
div#access01 div#access_route ul {
  padding-left: 38px;
}

/* -----------------------------------------------------
 * 10. contact
 * -------------------------------------------------- */
input[type="text"],
textarea {
  border: 1px solid #9a9a9a;
}
input[type="checkbox"],
input[type="radio"] {
  position: relative;
  top: 2px;
  margin-right: 8px;
}
body#contact .kome {
  color: #f00;
}
@media screen and (max-width: 1080px) {
  body#contact .kome {
    width: 16px;
  }
}
table.contactT {
  margin-top: 20px;
}
@media screen and (max-width: 1080px) {
  table.contactT {
    width: 100%;
    table-layout: fixed;
    word-break: break-all;
    word-wrap: break-all;
  }
}
table.contactT th,
table.contactT td {
  text-align: left;
  vertical-align: top;
  font-size: 14px;
  line-height: 24px;
}
table.contactT th {
  padding-right: 1em;
  padding-top: 6px;
}
@media screen and (max-width: 1080px) {
  table.contactT th {
    width: 70px;
  }
}
table.contactT td {
  padding-top: 5px;
}
table.contactT input[type="text"] {
  line-height: 24px;
  height: 24px;
  padding: 0;
}
div#enquete {
  width: 640px;
  margin: 50px auto 0 auto;
}
@media screen and (max-width: 1080px) {
  div#enquete {
    width: 100%;
  }
}
div#enquete h3 {
  background-color: #e7e7e7;
  text-align: center;
  font-weight: normal;
  font-size: 14px;
}
div#enquete p {
  margin-top: 15px;
  background: url(../images/dot02.png) no-repeat left 5px;
  padding-left: 12px;
  margin-left: 12px;
}
div#enquete ul {
  padding-left: 24px;
  width: 616px;
}
@media screen and (max-width: 1080px) {
  div#enquete ul {
    padding-left: 20px;
    width: calc(100% - 20px);
  }
}
div#enquete ul li {
  width: 10em;
  float: left;
}
div#enquete ul li.x2 {
  width: 20em;
}
div#enquete ul li.x3 {
  width: 30em;
}
@media screen and (max-width: 500px) {
  div#enquete ul li.x3 {
    width: 100%;
  }
}
div#enquete ul li label {
  line-height: 2;
}
div#enquete ul li input[type="text"] {
  line-height: 20px;
  height: 20px;
}
body#contact .w01 {
  width: 140px;
}
@media screen and (max-width: 500px) {
  body#contact .w01 {
    width: 100%;
  }
}
body#contact .w02 {
  width: 210px;
}
@media screen and (max-width: 500px) {
  body#contact .w02 {
    width: 100%;
  }
}
body#contact .w03 {
  width: 280px;
}
@media screen and (max-width: 500px) {
  body#contact .w03 {
    width: 100%;
  }
}
body#contact .w04 {
  width: 420px;
}
@media screen and (max-width: 810px) {
  body#contact .w04 {
    width: 100%;
  }
}
body#contact .w05 {
  width: 560px;
}
@media screen and (max-width: 1080px) {
  body#contact .w05 {
    width: 100%;
  }
}

div#contact_to {
  background: #fff;
  padding: 14px 39px;
  margin: 15px 30px 0;
  border: 1px solid #ccc;
}
@media screen and (max-width: 500px) {
  div#contact_to {
    padding: 14px 15px;
    margin: 15px 0px 0;
  }
}
div#contact_to h3 {
  text-align: center;
  font-size: 14px;
}
div#contact_to ul {
  margin-top: 5px;
}
div#contact_to label {
  line-height: 2;
}
p#contact_privacy {
  margin: 20px 30px 0;
  background-color: #eee;
  padding: 15px 20px;
  font-size: 11px;
  border: 1px solid #ccc;
}
@media screen and (max-width: 500px) {
  p#contact_privacy {
    margin: 20px 0 0;
  }
}
body#contact p.btn {
  text-align: center;
  margin-top: 30px;
}
body#contact p.img01 {
  margin: 15px auto 0px;
  width: 50px;
}
body#contact .err_msg {
  color: #f00;
}
body#contact .readonly {
  color: #999;
}

body#contact .g-recaptcha {
  /* Google reCaptcha ボタン用 */
  margin-top: 2em;
  margin-bottom: -1em;
  text-align: center;
}
body#contact .g-recaptcha > div {
  display: inline-block;
}

/* -----------------------------------------------------
 * 11. news
 * -------------------------------------------------- */
body#news h3 {
  line-height: 30px;
  background: url(../../news/images/bg_sttl_news.png) no-repeat left center;
  color: #0054d2;
  font-weight: normal;
  padding-left: 40px;
  font-size: 16px;
  margin-left: -3px;
}

div.newsbox {
  width: 700px;
  margin: 40px auto 0;
}
@media screen and (max-width: 1080px) {
  div.newsbox {
    width: 66vw;
  }
}
@media screen and (max-width: 700px) {
  div.newsbox {
    width: 100%;
  }
}
div.newsbox img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 700px) {
  div.newsbox img {
    height: auto !important;
  }
}
h3 + div.newsbox {
  margin-top: 20px;
}
div.newsbox p.date {
  background: url(../../images/icon_news.png) no-repeat left 4px;
  text-indent: 15px;
  color: #0054d2;
}
div.newsbox h4 {
  font-size: 16px;
  font-weight: normal;
  padding-bottom: 5px;
  background: url(../images/border01.gif) repeat-x left bottom;
  margin-bottom: 20px;
}
div.newsbox .newsbox_left {
  float: left;
  width: 470px;
}
div.newsbox .newsbox_right {
  float: right;
  width: 200px;
}

/* -----------------------------------------------------
 * 12. CFRP専用メールフォーム
 * -------------------------------------------------- */

div#cfrp_form {
  padding-top: 20px;
}
div#cfrp_form .kome {
  color: #f00;
}
div#cfrp_form .w01 {
  width: 140px;
}
div#cfrp_form .w02 {
  width: 210px;
}
div#cfrp_form .w03 {
  width: 280px;
}
div#cfrp_form .w04 {
  width: 420px;
}
div#cfrp_form .w05 {
  width: 560px;
}
div#cfrp_form p.btn {
  text-align: center;
  margin-top: 30px;
}
div#cfrp_form p.img01 {
  margin: 15px auto 0px;
  width: 50px;
}
div#cfrp_form .err_msg {
  color: #f00;
}
div#cfrp_form .readonly {
  color: #999;
}

/* -----------------------------------------------------
 * 13. technology
 * -------------------------------------------------- */

div#technology_01 ul {
  display: flex;
  justify-content: center;
}
div#technology_01 ul li {
  width: 33.33333%;
  padding: 0 1em;
  box-sizing: border-box;
}
div#technology_01 ul li + li {
  margin-left: 50px;
}
div#technology_01 ul li a img {
  box-shadow: 0px 0px 2px #ccc;
  border: 1px solid #ccc;
}
div#technology_01 ul li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: auto;
}
div#technology_01 ul li a:hover {
  text-decoration: none;
  opacity: 0.8;
  transition: 0.2s;
}
div#technology_01 ul li a .txt01 {
  text-align: center;
  margin-top: 10px;
  color: #333;
  width: 100%;
  word-wrap: break-word;
}

@media screen and (max-width: 700px) {
  .sp-none {
    display: none;
  }
}
