@charset "utf-8";

@media screen and (max-width: 767px) {
  /* reset css
	---------------------- */
  @font-face {
    font-family: "Arial Black";
    font-style: normal;
    font-weight: 400;
    src: local("Arial Black"), url("ariblk_0.ttf") format("ttf");
  }

  html {
    width: 100%;
    height: 100%;
  }

  * {
    box-sizing: border-box;
  }

  body {
    position: relative;
    width: 100%;
    min-width: 100%;
    font-size: 15px;
    -webkit-overflow-scrolling: touch;
  }

  a:link {
    color: #444;
  }

  /* LAYOUT
	---------------------- */
  #page {
    position: relative;
    width: 100%;
    margin: 0 auto;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
  }

  #page.open {
    -webkit-transform: translate3d(-80%, 0, 0);
    -moz-transform: translate3d(-80%, 0, 0);
    transform: translate3d(-80%, 0, 0);
  }

  /* header */
  #header {
    background: #fff;
    border-bottom: 1px solid #dcdddd;
    min-width: 100%;
    padding: 10px 2% 3px;
  }

  #header h1 {
    width: 100%;
    font-size: 2.5vw;
  }

  #header .header {
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }

  #header .header .head-logo {
    width: 73%;
    margin: 0 auto;
    padding-right: 6%;
  }

  #header .header .head-logo img {
    width: 100%;
  }

  #header .header .head-inquiry {
    display: none;
  }

  /* navigation */
  #sp_navi {
    text-align: right;
    width: 25%;
    display: table-cell;
  }

  #sp_navi:after {
    content: " ";
    display: table;
    clear: both;
  }

  #sp_navi li.tel {
    padding-left: 10px;
    float: left;
    width: 50%;
  }

  #sp_navi img {
    width: 100%;
    display: block;
  }

  #gnavi_open {
    width: 9.9%;
    position: fixed;
    right: 7px;
    z-index: 1000;
    opacity: 0.8;
  }

  #drawer_underlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    top: 0;
    left: 0;
    z-index: 5000;
  }

  #gnavi {
    position: fixed;
    width: 80%;
    min-width: 80%;
    height: 100%;
    font-size: 110%;
    border-top: inherit;
    border-bottom: inherit;
    padding: 20px 5%;
    background: #000;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    right: -80%;
    top: 0px;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
  }

  #gnavi.open {
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  #close {
    width: 100%;
    font-size: 100%;
    color: #fff;
    padding: 5px 5%;
    border: 1px solid #555;
    background: #222;
  }

  #close span {
    font-family: "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
    font-size: 130%;
  }

  #gnavi > ul {
    width: 100%;
    padding: 5% 0;
  }

  #gnavi > ul > li {
    width: 100%;
    padding: 0px;
    border-bottom: 1px solid #666;
    border-right: none;
    float: none;
  }

  #gnavi > ul > li:first-child {
    border-left: none;
  }

  #gnavi > ul > li:nth-child(2) {
    width: 100%;
  }

  #gnavi > ul > li > a {
    position: relative;
    display: block;
    text-decoration: none;
    text-align: left;
    letter-spacing: 2px;
    line-height: 1.5;
    color: #fff;
    padding: 14px 0;
    background: #000;
  }

  #gnavi > ul > li > a:hover {
    color: #fff;
  }

  #gnavi > ul > li > a:before {
    content: none;
  }

  #gnavi > ul > li > a:after {
    content: none;
  }

  #gnavi > ul > li > a:hover span {
    color: #898989;
  }

  #gnavi > ul > li.navi_slide {
    position: relative;
    cursor: default;
    border-bottom: 0px;
  }

  #gnavi > ul > li.navi_slide > a {
    cursor: default;
  }

  #gnavi > ul > li.navi_slide:after {
    content: none;
  }

  #gnavi > ul > li.navi_slide > ul li a {
    font-size: 0.9rem;
  }

  #gnavi > ul > li.navi_slide > ul {
    display: block;
    position: inherit;
    width: 100%;
    height: inherit;
    font-size: 90%;
    margin-left: 0;
    padding: 0;
    margin-bottom: 20px;
    border-bottom: inherit;
    overflow: hidden;
    zoom: 1;
    z-index: 5000;
    border-radius: 0 0 4px 4px;
    background: #222;
  }

  #gnavi > ul > li.navi_slide > ul li {
    width: 100%;
    color: #595757;
    text-align: center;
    border-bottom: 1px dashed #666;
    margin: 0;
    float: none;
  }

  #gnavi > ul > li.navi_slide > ul li:last-child {
    border: 0px;
  }

  #gnavi > ul > li.navi_slide > ul li a {
    display: block;
    position: inherit;
    text-align: left;
    text-decoration: none;
    text-shadow: inherit;
    letter-spacing: 1px;
    color: #fff;
    margin: 0 auto;
    padding: 15px 5%;
    background: none;
    box-shadow: none;
  }

  #gnavi li.navi_slide > ul li a:after,
  #gnavi li.navi_slide > ul li a:before {
    content: none;
  }

  #gnavi li.navi_slide > ul li a:hover {
    color: #fff;
  }

  #gnavi + #visual {
    border-bottom: 0px;
  }

  #contents {
  }

  #contents .contents_header {
    width: 100%;
  }

  #contents .contents_header .head_inner {
    width: 100%;
    padding: 60px 20px 55px;
    background: url(img/s-title-sp.png) no-repeat right center;
    background-size: contain;
  }

  #contents .contents_header .head_inner > .title {
    font-size: 1.3rem;
  }

  /* contents */
  #visual {
    min-width: 100%;
  }

  #visual .visual {
    width: 100%;
    padding: 0;
  }

  #visual .slick-slide:not(.slick-center) {
    filter: opacity(100%);
    transition: 0s;
  }

  .slick-dotted.slick-slider {
    margin-bottom: 0 !important;
  }

  .section {
    padding: 40px 0;
  }

  .section.top_section {
    background: url(img/background-img01.png) no-repeat left -80px top,
      url(img/background-img02.png) no-repeat right -80px top;
    background-size: 60%;
  }

  .section.line {
    padding-top: 60px;
  }

  #contents .section > .section_title {
    font-size: 1.4rem;
    width: 100%;
    margin-bottom: 50px;
  }

  .section .section_inner {
    width: 100%;
    padding: 0 10px 20px;
  }

  /* footer */
  .footer {
    min-width: 100%;
  }

  .footer .footer_inner {
    margin: 0 auto;
    padding: 40px 0 25px;
    width: 100%;
  }

  .footer_info {
    margin: 0 auto;
    width: 80%;
    display: block;
  }

  .footer_info .footer_logo,
  .footer_info .info_detail {
    width: 100%;
    display: block;
    vertical-align: baseline;
  }

  .footer_info .footer_logo {
    text-align: center;
    border-right: 0px;
    margin: 0 0 13px;
  }

  .footer_info .footer_logo img {
    width: 100%;
  }

  .footer_info .info_detail {
    font-size: 0.85rem;
    padding: 0;
  }

  .footernavi {
    text-align: left;
    margin: 0 auto;
    padding: 10px 0 0;
    width: 85%;
  }

  .footernavi ul:after {
    content: " ";
    display: table;
    clear: both;
  }

  .footernavi li {
    margin: 0 0 5px;
    width: 50%;
    display: block;
    float: left;
  }

  .footernavi li:after {
    content: none;
  }

  .footernavi li:first-child:before {
    content: none;
  }

  .footernavi li a {
    color: #fff;
    text-decoration: none;
  }

  .footernavi li a:before {
    content: ">";
    color: #69afe1;
    padding-right: 3px;
  }

  .footernavi li a:hover {
    text-decoration: none;
  }

  .copy {
    font-size: 3vw;
    text-align: center;
    width: 100%;
    margin: 0 auto;
    padding: 13px 0;
  }

  .copy img {
    margin: 0 auto;
    display: block;
    top: 3px;
    left: auto;
  }

  .copy a {
    color: #fff;
    text-decoration: none;
  }

  /* 戻る */
  .return {
    width: 100%;
  }

  .return a {
    width: 30px;
    padding: 8px 5px;
    right: 5px;
    box-sizing: border-box;
  }

  .return a img {
    width: 100%;
    display: block;
  }

  /* 各固定ページ用
	---------------------- */

  /* greeting.html */
  #contents .company_office_list {
    margin: 0px;
  }

  .alert_text {
    font-size: 100%;
	padding: 12px 30px;
	line-height: 1.5;
	position: relative;
	border: 2px solid #9b0000;
  }

  .alert_text span {
    display:inline;
  }
  .alert_text:before,
  .alert_text::after {
	  content: "※";
	  position: absolute;
	  top: 0;
	  bottom: 0;
	  display: flex;
	  align-items: center;
  }

  .alert_text:before {
	  left: 8px;
  }

  
  .alert_text:after {
	right: 8px;
}


  p + .alert_text {
	margin-top: 20px;
}

  /* access.html */
  .access_map {
    width: 100%;
    padding: 0 10px;
  }

  .access_map .map_set #map {
    width: 100%;
    height: 200px;
    box-shadow: inherit;
  }

  .access_map .map_set #map iframe {
    height: 200px;
  }

  .access_map .map_set .guide {
    font-size: 85%;
    padding: 13px 10px;
  }

  .access_map .access_data dl dt {
    float: none;
    line-height: 1.4;
  }

  .access_map .access_data dl dd {
    padding-left: 0;
    margin-bottom: 15px;
    line-height: 1.4;
  }

  /* privacy.html */
  .privacy_section {
    padding: 30px 0 40px;
  }

  .privacy_section.top_section {
    background: url(img/background-img01.png) no-repeat left -80px top,
      url(img/background-img02.png) no-repeat right -80px top;
    background-size: 60%;
  }

  .privacy_section_inner {
    width: 100%;
    padding: 0 10px;
  }

  #contents .privacy_set_title {
    font-size: 0.9rem;
    margin-bottom: 20px;
    border-left: 3px solid #b6c8d3;
  }

  .privacy_set_inner {
    padding: 0 5px 15px;
  }

  /* inquiry.html */
  .attent_block {
    padding: 0;
  }

  .attent_block .set {
    padding: 0;
  }

  .inquiry_info .set {
    width: inherit;
    padding: 0 0 20px;
    float: inherit;
  }

  .inquiry_info .no {
    font-size: 2.2rem;
  }

  .inquiry_info .fax .no {
    color: #666666;
    font-size: 1.8rem;
  }

  #inquiry .inquiry_inset {
    padding: 0px;
    background: none;
    border: 0px;
  }

  #MailForm table {
    width: 100%;
    border: 0;
  }

  #MailForm th,
  #MailForm td {
    display: block;
    width: 100%;
    border: none;
  }

  #MailForm th {
    padding: 0 0 3px;
    background: none;
  }

  #MailForm th:before {
    content: "\025a0";
    font-size: 150%;
    color: #666666;
    margin-right: 5px;
    line-height: 1;
  }

  #MailForm th span {
    left: auto;
    right: 5px;
  }

  #MailForm td {
    padding: 0;
    margin-bottom: 35px;
  }

  #MailForm input,
  #MailForm textarea {
    width: 100%;
  }

  #MailForm .form3 {
    vertical-align: middle;
    width: 3%;
  }

  #MailForm .form25 {
    width: 100%;
  }

  #MailForm .form45 {
    width: 100%;
  }

  #MailForm .form60 {
    width: 100%;
  }

  #MailForm .form90 {
    width: 100%;
  }

  .confirm_txt {
    text-align: left;
  }

  .send_btn {
    font-size: 100%;
    padding: 15px 10px;
  }

  .submit_btn {
    width: 80%;
    margin-bottom: 15px;
  }

  .inputarea li {
    margin: 0 15px 0 0;
    float: left;
  }

  .send_inner .send_btn_inner .btn_return {
    margin-bottom: 25px;
  }

  input[type="submit"],
  input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
  }

  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none;
  }

  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px;
  }

  /* formmail.cgi:send confirm */
  .send_confirm_table {
    padding: 17px 0 30px;
  }

  .send_confirm_table table {
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
  }

  .send_confirm_table table th,
  .send_confirm_table table td {
    border: 0px solid #ccc;
    padding: 17px 20px;
    background: #fff;
    display: block;
  }

  #contents .send_confirm_table table th {
    text-align: left;
    width: 100%;
    background: #f5f5f5;
    margin-bottom: 5px;
    padding: 10px 15px;
  }

  .send_confirm_table table td {
    margin-bottom: 30px;
  }

  /* base styles
	---------------------- */
  .table_base table {
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
    border: 0;
  }

  .table_base table th,
  .table_base table td {
    font-weight: normal;
    padding: 12px;
    border: 0px;
    display: block;
  }

  .table_base table td span.map_jump a:hover {
    opacity: 1;
  }

  .table_base table tbody th {
    text-align: left;
    width: 100%;
    background: #f1f1f1;
  }

  .table_base table tbody td {
    padding-left: 12px;
    margin-bottom: 30px;
  }

  .content_inner {
    padding: 0 0 10px;
  }

  .content_inner .images_r,
  .content_inner .images_l {
    padding: 0 0 15px;
    float: none;
  }

  .content_inner .msg_l,
  .content_inner .msg_r {
    float: none;
  }

  .w_margin270 .images_r,
  .w_margin270 .images_l {
    width: 100%;
  }

  .w_margin270 .msg_l,
  .w_margin270 .msg_r {
    width: 100%;
  }

  .w_margin320 .images_r,
  .w_margin320 .images_l {
    width: 100%;
  }

  .w_margin320 .msg_l,
  .w_margin320 .msg_r {
    width: 100%;
  }

  .w_margin390 .images_r,
  .w_margin390 .images_l {
    width: 100%;
  }

  .w_margin390 .msg_l,
  .w_margin390 .msg_r {
    width: 100%;
  }

  .w_margin400 .images_r,
  .w_margin400 .images_l {
    width: 100%;
  }

  .w_margin400 .msg_l,
  .w_margin400 .msg_r {
    width: 100%;
  }

  .breadcrumbs ul {
    width: 100%;
    margin: 0 auto;
    padding: 0 5px;
  }

  #contents .pick_text {
    font-size: 1.1rem;
    margin-bottom: 15px;
    line-height: 1.4;
  }

  /* 各ページ用スタイル
	---------------------- */
  .only_pc {
    display: none;
  }

  .only_sp {
    display: block;
  }

  .tel a {
    color: #000;
    pointer-events: inherit;
  }

  .everywhere_block {
    width: 100%;
    padding: 0 20px;
    margin: 0 auto 30px;
    text-align: left;
    line-height: 1.8;
  }

  .btn_base {
    width: 90%;
  }

  .btn_base:not(:last-child) {
    margin-bottom: 40px;
  }

  .btn_base a {
    color: #fff;
  }

  /* privacy.html */
  #contents ul.privacy_list li {
    margin-bottom: 10px;
    padding-left: 35px;
    text-indent: -45px;
  }

  #contents dl.privacy_item dt {
    margin-bottom: 10px;
  }

  #contents dl.privacy_item dd {
    margin-bottom: 30px;
    padding-left: 0;
  }

  /* -------------------
	index.html */

  /* .top_contents */
  .top_contents {
    padding: 30px 0 0;
    background: url(img/background-img01.png) no-repeat left -100px top,
      url(img/background-img02.png) no-repeat right -100px top;
    background-size: 60%;
    border-bottom: 0;
  }

  .top_contents_title {
    font-size: 1.6rem;
    letter-spacing: 3px;
    margin-bottom: 30px;
  }

  .top_contents_title span {
    color: #005ead;
    display: block;
    font-size: 0.9rem;
    padding-top: 15px;
    background: url(img/midashi-line-pc.png) no-repeat center top;
  }

  .top_contents_inner {
    width: 100%;
  }

  .top_contents .mian_block {
    text-align: left;
    padding: 0 10px;
    margin-bottom: 30px;
    line-height: 1.8;
  }

  #contents .top_contents_list {
    width: 100%;
    padding: 30px 20px;
    background: #005ead;
    margin-bottom: 0;
  }

  .animate {
    opacity: 1;
    transform: none;
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
  }

  .top_contents_list li {
    width: 100%;
    margin-right: 0;
  }

  .top_contents_list li:nth-child(-n + 2) {
    margin-bottom: 15px;
  }

  .top_contents_list li a:hover:before {
    height: 70px;
  }

  .top_contents_list_title {
    background: url(img/arrow01-pc.png) no-repeat left top 8px;
    font-size: 1.1rem;
    text-align: left;
    width: 80%;
    padding: 0 20px;
  }

  .top_contents_list_title span {
    display: inline-block;
    font-size: 0.7rem;
    padding-left: 15px;
  }

  .top_contents_list li a:hover .top_contents_list_title {
    background: url(img/arrow01-pc.png) no-repeat left top 8px;
  }

  /* .top_info */
  .top_info {
    overflow: hidden;
  }

  .top_info:before {
    position: absolute;
    width: 100%;
    padding-top: 22%;
    background: url(img/img01-sp.png) no-repeat center bottom;
    background-size: cover;
  }

  .top_info_title {
    font-size: 1.2rem;
    line-height: 1.5;
    margin-bottom: 30px;
  }

  .top_info_inner {
    width: 100%;
    padding: 50px 20px 70px;
  }

  .top_info .main_block {
    line-height: 1.8;
  }

  #contents .top_info_company {
    font-size: 0.9rem;
  }

  .top_info_name {
    font-size: 0.9rem;
  }

  .top_info_name span {
    font-size: 1.2rem;
  }

  /* -------------------
	contents1.html */

  /*.block_list*/

  .block_list {
    padding-top: 30px;
    display: flex;
    flex-wrap: wrap;
  }

  .block_list_set {
    width: 100%;
    margin: 0 0 30px 0;
  }

  .block_list.one .block_list_set {
    width: 100%;
    margin: 0;
  }

  .block_list_set:last-child {
    margin-bottom: 0;
  }

  .block_list_set_title {
    font-size: 1rem;
    padding: 10px 15px;
    margin-bottom: 15px;
    border-left: 5px solid #005ead;
  }

  .block_list_set_body {
    padding: 0 10px;
  }

  .block_list_set_body li {
    margin-bottom: 10px;
    line-height: 1.4;
  }

  .block_list_set_body li:last-child {
    margin-bottom: 0;
  }

  .block_list_set_body li span {
    font-size: 0.9rem;
    font-weight: bold;
    margin-right: 10px;
  }
}
