@charset "UTF-8";
/*----------------------------------------------------
	☆SP
----------------------------------------------------*/
/*デバイスの横幅が870px以下の場合*/
@media only screen and (max-width: 870px) {
  body {
    min-width: inherit;
  }
  #contents {
    margin-top: 0;
  }
  .spDisp {
    display: block !important;
  }
  .spHide {
    display: none !important;
  }
  br.spHide {
    display: none !important;
  }
  .spImg {
    height: auto;
    width: 100%;
  }
  .spCenter {
    text-align: center;
  }
  .top10 {
    margin-top: 5px !important;
  }
  .top15 {
    margin-top: 5px !important;
  }
  .top20 {
    margin-top: 10px !important;
  }
  .top25 {
    margin-top: 10px !important;
  }
  .top30 {
    margin-top: 15px !important;
  }
  .top35 {
    margin-top: 15px !important;
  }
  .top40 {
    margin-top: 20px !important;
  }
  .btm0 {
    margin-bottom: 0 !important;
  }
  .btm5 {
    margin-bottom: 5px !important;
  }
  .btm10 {
    margin-bottom: 5px !important;
  }
  .btm15 {
    margin-bottom: 10px !important;
  }
  .btm20 {
    margin-bottom: 10px !important;
  }
  .btm25 {
    margin-bottom: 10px !important;
  }
  .btm30 {
    margin-bottom: 15px !important;
  }
  .btm35 {
    margin-bottom: 15px !important;
  }
  .btm40 {
    margin-bottom: 20px !important;
  }
  .btm45 {
    margin-bottom: 20px !important;
  }
  .btm50 {
    margin-bottom: 25px !important;
  }
  .btm55 {
    margin-bottom: 25px !important;
  }
  .btm60 {
    margin-bottom: 30px !important;
  }
  .btm65 {
    margin-bottom: 30px !important;
  }
  .btm70 {
    margin-bottom: 35px !important;
  }
  .btm75 {
    margin-bottom: 35px !important;
  }
  .btm80 {
    margin-bottom: 40px !important;
  }
  .btm85 {
    margin-bottom: 40px !important;
  }
  .btm90 {
    margin-bottom: 45px !important;
  }
  .btm95 {
    margin-bottom: 45px !important;
  }
  .pT0 {
    padding-top: 0 !important;
  }
  .pT5 {
    padding-top: 5px !important;
  }
  .pT10 {
    padding-top: 5px !important;
  }
  .pT15 {
    padding-top: 10px !important;
  }
  .pT20 {
    padding-top: 10px !important;
  }
  .pT25 {
    padding-top: 15px !important;
  }
  .pT30 {
    padding-top: 15px !important;
  }
  .pT35 {
    padding-top: 15px !important;
  }
  .pT40 {
    padding-top: 20px !important;
  }
  .pT45 {
    padding-top: 20px !important;
  }
  .pB0 {
    padding-bottom: 0 !important;
  }
  .pB5 {
    padding-bottom: 5px !important;
  }
  .pB10 {
    padding-bottom: 5px !important;
  }
  .pB15 {
    padding-bottom: 5px !important;
  }
  .pB20 {
    padding-bottom: 10px !important;
  }
  .lm5 {
    margin-left: 5px !important;
  }
  .lm10 {
    margin-left: 5px !important;
  }
  .lm15 {
    margin-left: 5px !important;
  }
  .lm20 {
    margin-left: 10px !important;
  }
  .lm50 {
    margin-left: 20px !important;
  }
  .lm60 {
    margin-left: 30px !important;
  }
  .lm70 {
    margin-left: 30px !important;
  }
  .rm5 {
    margin-right: 5px !important;
  }
  .rm10 {
    margin-right: 5px !important;
  }
  .rm15 {
    margin-right: 5px !important;
  }
  .rm20 {
    margin-right: 10px !important;
  }
  .spBtm0 {
    margin-bottom: 0 !important;
  }
  .spBtm5 {
    margin-bottom: 5px !important;
  }
  .spBtm10 {
    margin-bottom: 10px !important;
  }
  .spBtm15 {
    margin-bottom: 15px !important;
  }
  .spBtm20 {
    margin-bottom: 20px !important;
  }
  .spBtm25 {
    margin-bottom: 25px !important;
  }
  .spBtm30 {
    margin-bottom: 30px !important;
  }
  .spBtm35 {
    margin-bottom: 35px !important;
  }
  .spBtm40 {
    margin-bottom: 40px !important;
  }
  .spBtm45 {
    margin-bottom: 45px !important;
  }
  .spBtm50 {
    margin-bottom: 50px !important;
  }
  .spW100 {
    width: 100% !important;
  }
  body {
    background: none;
    padding-bottom: 40px;
    font-size: 1.3rem;
  }
  #topcontrol {
    background: url(/cmn/cmn_img/bg_hd_bdr_sp.gif) center bottom repeat-x;
    background-size: auto 3px;
    position: fixed;
    bottom: 0 !important;
    left: 0 !important;
    top: auto !important;
    right: auto !important;
    text-align: center;
    height: 40px;
    padding-bottom: 0;
    width: 100%;
  }
  #topcontrol a {
    background-image: none;
    background: rgba(0, 0, 0, 0.8);
    color: #FFF;
    font-size: 1.2rem;
    height: 40px;
    width: 100%;
    opacity: 1;
    padding: 15px;
    border-radius: 0;
    letter-spacing: 0.1em;
  }
  #topcontrol a:hover {
    background-image: none;
    background: rgba(0, 0, 0, 1);
    width: 100%;
  }
  #gNav, #categoryImg {
    display: none;
  }
  #wrap {
    background-color: #fff;
    padding-top: 60px;
  }
  #header {
    border-top: 3px solid #FF0000;
    padding: 0 15px 5px;
    height: 60px;
  }
  #header div.inr {
    padding-bottom: 5px;
    width: auto;
  }
  #header div.inr {
    margin: 0 auto;
    max-width: 1280px !important;
    padding: 0 30px !important;
    width: 100%;
  }
  #header div.inr .logo {
    background: none;
    padding: 17px 0 0 0;
    min-width: 160px;
    width: 100%;
    margin: 0 0 0 23px;
  }
  #header div.inr .logo img {
    height: auto;
    width: 160px;
  }
  #header div.inr .hdR {
    display: none;
  }
  #my-button {
    display: block;
  }
  #header #companyLogo {
    position: absolute;
    top: -4px;
    right: 0;
    width: auto;
  }
  #header #companyLogo img {
    top: -4px;
    height: 26px;
    width: 80px;
    margin: 16px 2px;
  }
  #breadChumbs {
    padding: 10px 15px 10px;
  }
  #breadChumbs p {
    font-size: 10px;
    font-size: 1rem;
    padding: 0;
  }
  #mv {
    height: auto;
    padding: 20px 0;
    text-align: center;
  }
  #mv .mvInr {
    height: auto;
  }
  #mv .cName {
    height: auto;
  }
  #mv .cName span {
    display: block;
  }
  #mv .cName span.jp {
    font-size: 24px;
    font-size: 2.4rem;
    margin-bottom: 5px;
  }
  #mv .cName span.en {
    font-size: 10px;
    font-size: 1rem;
    margin-left: 0;
  }
  #mvMaterial {
    height: auto;
    margin-bottom: 25px;
  }
  #mvMaterial .mvInr {
    height: auto;
    padding: 0;
  }
  #mvMaterial .mvInr .mvCell {
    background-position: center 25px;
    background-repeat: no-repeat;
    background-size: auto 190px;
    height: auto;
    vertical-align: middle;
    padding-top: 210px;
  }
  #mvMaterial .mvInr .mvCell .cName {
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    margin: 0 20px 20px;
    padding: 5px 12px;
  }
  #mvMaterial .mvInr .mvCell h1 {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.3;
    margin: 0 20px 20px;
  }
  #mvMaterial .mvInr .mvCell p.txt {
    color: #FFF;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    margin: 0 20px 20px;
  }
  #mvMaterial .mvInr .mvCell ul {
    display: table;
    width: 100%;
  }
  #mvMaterial .mvInr .mvCell ul li {
    display: table-cell;
    width: 50%;
  }
  #mvMaterial .mvInr .mvCell ul li a {
    border: 2px solid #FFF;
    color: #FFF;
    display: block;
    font-weight: 600;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.7;
    letter-spacing: 0.06em;
    margin-right: 0;
    padding: 9px 10px;
    text-align: center;
    text-decoration: none;
  }
  #mvMaterial .mvInr .mvCell ul li.even a {
    border-left: none;
  }
  #mvMaterial.news {
    height: auto;
  }
  #mvMaterial.news .mvInr {
    height: auto;
  }
  #mvMaterial.news .mvInr .mvCell {
    height: auto;
  }
  #mvMaterial.news .mvInr .mvCell p.txt {
    margin-bottom: 0px;
  }
  #mvMaterial.news .mvInr .mvCell {
    padding: 20px 0 20px;
  }
  #mvMaterial.news .mvInr .mvCell h1 {
    font-size: 22px;
    font-size: 2.2rem;
  }
  #mvMaterial.news .mvInr .mvCell p.txt {
    font-size: 12px;
    font-size: 1.2rem;
    margin: 0 20px 0;
  }
  #contents {
    margin: 0 auto 0;
    padding: 0;
  }
  #contents > br.clear {
    display: none !important;
  }
  #contents p, #contents li, #contents dt, #contents dd, #contents th, #contents td {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
  #main {
    float: none;
    margin: 0;
    padding: 0;
    min-height: auto;
    width: auto;
  }
  #main #mainInr {
    padding: 0 0;
  }
  #main section {
    padding: 0 10px;
  }
  #footer {
    padding: 15px 20px;
  }
  #footer div.inr small {
    font-size: 10px;
    font-size: 1rem;
  }
  /*-------------------------------------------------------------------------------------------------------
	☆compo
*/
  #contents section {
    margin-bottom: 35px;
  }
  #contents section.last {
    margin-bottom: 0;
  }
  /*-------------------------------------------------------------------------------------------------------
	☆Box
*/
  #contents div.bscBox {
    padding: 20px 0;
    margin-bottom: 20px;
  }
  #contents div.bscBox div.inr {
    margin: 0 20px;
  }
  #contents div.imgBox {
    margin-bottom: 20px;
  }
  #contents div.imgBox dl dt {
    font-size: 16px;
  }
  #contents div.imgBox dl dd {
    padding: 15px;
  }
  #contents div.imgBox dl dd img {
    height: auto;
    width: 100%;
  }
  /*-------------------------------------------------------------------------------------------------------
	☆head
*/
  #contents .head02 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.7;
    margin-bottom: 15px;
    padding: 8px 0;
  }
  #contents .head02:after {
    margin: 15px 0 0;
  }
  #contents .head03 {
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 20px;
    padding: 10px 10px;
  }
  #contents .head04 {
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 20px;
    padding-bottom: 10px;
  }
  #contents .head04:after {
    background-color: #FF0000;
    content: '';
    display: block;
    height: 3px;
    width: 60px;
    position: absolute;
    bottom: -3px;
    left: 0;
  }
  #contents .head05 {
    font-size: 16px;
    font-size: 1.6rem;
  }
  /*-------------------------------------------------------------------------------------------------------
	☆Btn
*/
  .cmnBtn {
    margin-bottom: 15px;
  }
  .cmnBtn a {
    border-radius: 5px;
    display: block;
    margin-bottom: 15px;
  }
  .cmnBtn a span {
    border: none;
    display: block;
    line-height: 1.4;
    min-width: inherit;
  }
  /*-------------------------------------------------------------------------------------------------------
	☆List
*/
  #contents .indList, #contents .indListS, #contents .numList, #contents .numListS, #contents ul.iconList, #contents ul.arrowList, #contents dl.arrowDl {
    margin-bottom: 25px;
  }
  #contents ul.arrowList.pattern01 li::before {
    top: 9px;
  }
  #contents ul.arrowList.pattern02 li::before {
    top: 9px;
  }
  /*-------------------------------------------------------------------------------------------------------
	☆Table
*/
  #contents .tableScroll:before {
    content: '※フリックで横スクロール';
    display: block;
    margin-bottom: 10px;
  }
  #contents .tableScroll, #contents .tableScrollLong {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  #contents .tableScroll table {
    width: 600px !important;
  }
  #contents div.tbl00, #contents table.tbl00 {
    margin-bottom: 30px;
  }
  #contents .tbl00 table th, #contents .tbl00 table td, #contents table.tbl00 th, #contents table.tbl00 td {
    font-size: 12px;
    font-size: 1.2rem;
    padding: 10px 10px;
  }
  #contents div.tbl01, #contents table.tbl01 {
    margin-bottom: 20px;
  }
  #contents .tbl01 table th, #contents .tbl01 table td, #contents table.tbl01 th, #contents table.tbl01 td {
    font-size: 12px;
    font-size: 1.2rem;
    padding: 10px 10px;
  }
  #contents .tbl02 table, #contents table.tbl02 {
    border-collapse: collapse;
    width: 100%;
  }
  #contents div.tbl02, #contents table.tbl02 {
    margin-bottom: 20px;
  }
  #contents .tbl02 table th, #contents .tbl02 table td, #contents table.tbl02 th, #contents table.tbl02 td {
    font-size: 12px;
    font-size: 1.2rem;
    padding: 10px 10px;
  }
  /*-------------------------------------------------------------------------------------------------------
	☆flt
*/
  .fltL {
    float: none;
  }
  .fltR {
    float: none;
  }
  .fltImgL {
    float: none;
    margin: 0 0 5px 0;
  }
  .fltImgR {
    float: none;
    margin: 0 0 5px 0;
  }
  #contents div.basicFlt {
    width: auto;
  }
  #contents div.basicFlt br.clear_noie, #contents div.basicFlt br.clear {
    display: none !important;
  }
  #contents div.basicFlt img {
    height: auto;
    width: 100%;
  }
  #contents div.basicFlt div.fltDataL {
    float: none;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 15px;
    width: auto !important;
  }
  #contents div.basicFlt p.fltImgR {
    float: none;
    width: auto !important;
  }
  #contents div.basicFlt div.fltDataR {
    float: none;
    line-height: 1.7;
    padding-top: 0;
    width: auto !important;
  }
  #contents div.basicFlt p.fltImgL {
    float: none;
    margin-right: 0;
    width: auto !important;
  }
  #contents div.basicFlt div.bFL {
    float: none;
    margin-bottom: 10px;
    padding-bottom: 15px;
    width: auto !important;
  }
  #contents div.basicFlt div.bFR {
    float: none;
    margin-bottom: 10px;
    padding-bottom: 15px;
    width: auto !important;
  }
  #contents div.basicFlt div.bFL p.btm5, #contents div.basicFlt div.bFL p.btm10, #contents div.basicFlt div.bFR p.btm5, #contents div.basicFlt div.bFR p.btm10 {
    margin-bottom: 0 !important;
  }
  #contents div.basicFlt ul.column3 {
    width: auto;
  }
  #contents div.basicFlt ul.column3 li {
    float: none;
    margin-right: 0;
    margin-bottom: 10px !important;
    width: auto;
  }
  #contents div.basicFlt ul.column3 li.last {
    margin-right: 0;
  }
  /*-------------------------------------------------------------------------------------------------------
	☆Box
*/
  #contents .bscBtn {
    color: #333;
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.5;
    margin: 0 0 10px 0;
    padding: 12px 15px 10px 10px;
    width: auto;
  }
  #contents .bscBtn.btn04 {
    padding: 12px 15px 10px 10px;
  }
  #contents .bscBtn.btn05 {
    padding: 12px 15px 10px 10px;
  }
  #contents .infoBtn p.txt {
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 400;
    margin-bottom: 10px;
  }
  /*----------------------------------------------------
	☆clmBox
----------------------------------------------------*/
  #contents div.clm2Box ul li {
    float: none;
    margin-bottom: 20px;
    width: auto;
  }
  #contents div.clm2Box ul li.even {
    float: none;
  }
  #contents .clm3Box li {
    float: none;
    margin: 0 0 20px;
    padding-right: 0;
    width: auto;
  }
  /*-------------------------------------------------------------------------------------------------------
	☆MATERIALS
*/
  #contents .materialList {
    margin-bottom: 40px;
    padding: 0 0;
  }
  #contents .materialList h2 {
    border-top: 1px solid #FF0000;
    padding: 30px 0 30px 0;
  }
  #contents .materialList h2 span.jp {
    font-weight: 500;
    font-size: 20px;
    font-size: 2rem;
    margin-bottom: 5px;
  }
  #contents .materialList h2:after {
    display: none;
  }
  #contents .materialList ul li {
    display: block;
    height: auto;
    text-align: center;
    width: 50%;
  }
  #contents .materialList ul li a {
    display: block;
    height: auto;
    padding: 20px;
    width: 100%;
  }
  @media screen and (orientation: landscape) {
    /* 横向きの場合のスタイル */
    #contents .materialList ul li {
      min-height: 200px;
      width: 33.3%;
    }
    #contents .materialList ul li a {
      min-height: 200px;
    }
  }
  /*-------------------------------------------------------------------------------------------------------
	☆pointArea
*/
  #contents .pointArea {
    margin-top: 60px;
    padding: 10px 10px;
  }
  #contents .pointArea:before {
    background: url(../cmn_img/img_pointlabel.png) left top no-repeat;
    background-size: 186px 49px;
    content: "";
    display: block;
    height: 49px;
    width: 186px;
    position: absolute;
    top: -23px;
    left: -10px;
  }
  #contents .pointArea ul li {
    padding: 35px 10px 15px;
  }
  #contents .pointArea ul li.last {
    border-bottom: none;
    margin-bottom: 0;
  }
  #contents .pointArea ul li .tbl {
    display: block;
    width: 100%;
  }
  #contents .pointArea ul li .tbl div.hand {
    display: none;
  }
  #contents .pointArea ul li .tbl div.img {
    display: block;
    padding-top: 20px;
    width: 100%;
  }
  #contents .pointArea ul li .tbl div.img img {
    height: auto;
    width: 100%;
  }
  #contents .pointArea ul li .tbl div.txt {
    background: url(../cmn_img/img_pointhand.png) left top no-repeat;
    background-size: 40px 40px;
    padding: 0 0 0 60px;
  }
  #contents .pointArea ul li .tbl div.txt p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.8;
  }
  #contents .movieList .movieBox {
    float: none;
    margin-bottom: 30px;
    padding: 0;
    width: auto;
  }
  #contents .newsList {}
  #contents .newsList ul li {
    border-bottom: 1px dotted #AAA;
    font-size: 13px;
    font-size: 1.3rem;
    margin-bottom: 0;
  }
  #contents .newsList ul li a {
    padding: 15px;
  }
  #contents .newsList ul li a span.date {
    display: block;
    float: none;
    width: auto;
  }
  #contents .newsList ul li a span.title {
    float: none;
    width: auto;
  }
  #contents .newsList ul li a span.new {
    font-size: 9px;
    font-size: 0.9rem;
    display: none;
  }
  #contents .newsList ul li a span.date span.new {
    display: inline-block;
  }
  /*----------------------------------------------------
	☆faq
----------------------------------------------------*/
  #contents div.faqArea {
    padding-top: 25px;
  }
  #contents .indexCmnList {
    padding-top: 15px;
  }
  #contents .indexCmnList ul li {
    margin: 0 0 20px 0;
    width: 100%;
  }
  #contents .indexCmnList ul li a {
    display: block;
  }
  #contents .indexCmnList ul li a .img {
    background-color: #DDD;
    display: block;
    margin-bottom: 10px;
    width: 100%;
  }
  #contents .indexCmnList.clm2 ul li {
    float: none;
    margin: 0 0 50px 0;
    width: 100%;
  }
  #contents .indexCmnList.clm2 ul li.even {
    float: none;
  }
  #contents .pdfList ul li {
    float: none;
    margin: 0 0 15px 0;
    padding: 0 0;
    width: auto;
  }
  #contents .pdfList ul li a {
    display: table;
    width: 100%;
  }
  #contents .pdfList ul li a > p {
    display: table-cell;
    padding: 0 0 0 25px;
    vertical-align: middle;
    width: 85%;
  }
  #contents .pdfList ul li a > p.img {
    padding: 0;
    width: 15%;
  }
  /*

*/
}
/*==========================================*/
/*-- 20241008デザイン課追加 --*/
/*==========================================*/
@media only screen and (max-width: 750px) {
  #mv2 #mvInr h1 span.name {
    display: block;
    font-size: 28px;
    font-size: 2.8rem;
  }
  #contents .formArea .formAreaL, #contents .formArea .formAreaR {
    float: none;
    width: auto;
  }
  #contents p, #contents li, #contents dt, #contents dd, #contents th, #contents td {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
  label {
    cursor: pointer;
  }
}