@charset "utf-8";

/* タブレット */
@media print, screen and (max-width: 1025px) {
  
}

/* SP */
@media print, screen and (max-width: 750px) {

}

/*-----------------------------------------------------------------
	共通CSS
-----------------------------------------------------------------*/	

.contents {
  padding: 50px 0 64px;
  position: relative;
}

.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}

.top_contents {
  width: 100%;
  min-height: 100vh;
  padding: 150px 0 64px;
  /* position: relative; */
}

.top_bg {
  width: 100%;
  max-width: 1300px;
  position: fixed;
  left: 2vw;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background: url("../images/mark.png") no-repeat 0 205px;
  background-size: 430px;
  z-index: -1;
}

.more_btn a,
.close_btn a {
	width: 271px;
	background: #fff;
	border: #999999 1px solid;
	color: #666;
  font-size: 14px;
	display: block;
	padding: 8px;
	text-align: center;
  transition : 0.5s;
}
.more_btn.toggle_btn a::before {
  text-indent: 100%;
  content: "MORE";
}

.close_btn a::before {
  content: "CLOSE";
}

.color_link a {
  width: 100%;
  max-width: 700px;
  border-radius: 20px;
  background-image: url("../images/icon_arrow.png");
  background-repeat: no-repeat;
  background-position: 98% center;
  background-size: auto 50%;
  display: block;
  text-align: center;
  color: #fff;
  font-size: 166%;
  transition : 0.5s;
  margin: 40px auto 0;
  padding: 15px;
}

.more_btn a:hover {
	background: #446699;
	border: #446699 1px solid;
	color: #fff;
  transition : 0.5s;
}

.h2_page {
  font-size: 28px;
  font-family: m-plus-rounded-1c, sans-serif;
  font-weight: 500!important;
  font-style: normal;
  color: #666;
  margin-bottom: 72px;
}

.h2_title_box {
  width: 100%;
  align-items: flex-start;
}
.h2_title_box .h2_page {
  width: 250px;
  margin-bottom: 20px;
}
.h2_title_txt {
  flex: 1;
  font-size: 12px;
}


/* WIDE */
@media print, screen and (min-width: 1420px) {
  
.top_bg {
  max-width: 1420px;
  left: 40px;
}
}

/* WIDE */
@media print, screen and (min-width: 1500px) {
  
  .top_bg {
    max-width: 1420px;
    left: -50px;
  }

  }

  /* タブレット */
/* @media print, screen and (max-width: 1300px) {
  
  .top_bg {
    left: 20px;
  }

} */

/* タブレット */
@media print, screen and (max-width: 1025px) {  
  .top_bg {
    left: 20px;
  }

}

/* SP */
@media print, screen and (max-width: 750px) {
    
.top_bg {
  display: none;
}

.more_btn a,
.close_btn a {
  margin: auto;
}

.h2_title_txt {
  flex: auto;
  font-size: 14px;
}

}

/*-----------------------------------------------------------------
	table
-----------------------------------------------------------------*/	

.simple_tbl {
  width: 100%;
}
.simple_tbl tr {
  border-bottom: #d9d9d9 1px solid;
}
.simple_tbl tr:first-child {
  border-top: #d9d9d9 1px solid;
}
.simple_tbl th,
.simple_tbl td {
  vertical-align: top;
}
.simple_tbl th {
  font-weight: normal;
  text-align: left;
  padding: 10px 5px;
  white-space: nowrap;
}
.simple_tbl td {
  padding: 10px 5px;
}

/* タブレット */
@media print, screen and (max-width: 1025px) {

}

/* SP */
@media print, screen and (max-width: 750px) {
  .simple_tbl th,
  .simple_tbl td {
    width: 100%;
    display: block;
  }
  .simple_tbl th {
    padding: 10px 5px 0;
  }
  .simple_tbl td:nth-of-type(1) {
    display: none;
  }
  .simple_tbl td {
    padding: 5px 5px 10px;
  }
}

/*-----------------------------------------------------------------
	top共通
-----------------------------------------------------------------*/	

.top_contents_logo {
  position: absolute;
  top: -120px;
  left: -34px;
  z-index: 10000;
}

.top_contents_logo img {
  width: auto;
  height: 70px;
}

.top_contents_logo.top_message_logo {
  top: 30px;
  /* left: 30px; */
}

/* タブレット */
@media print, screen and (max-width: 1025px) {
  .top_contents_logo.top_message_logo {
    left: -14px;
}
}

/* SP */
@media print, screen and (max-width: 750px) {
  .top_contents_logo,
  .top_contents_logo.top_news_logo,
  .top_contents_logo.top_message_logo {
    left: 0;
  }

  .top_contents_logo img {
    height: 70px;
  }
}

/*-----------------------------------------------------------------
	MV
-----------------------------------------------------------------*/	

#mv {
  width: 100%;
  min-height: 100vh;
  background: #fff;
  /* padding-bottom: 50px; */
  position: relative;
}

.mv_contents {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 350px;
  padding-top: 40px;
  padding-bottom: 40px;
}

.mv_logo {
  width: 242px;
  height:110px;
  margin: 0 auto 30px;
}

.mv_banner {
  background: #002266;
  color: #fff;
  margin: auto;
  height: 50px;
  text-align: center;
  font-size: 28px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
}

.mv_sns_link {
  margin: auto;
  letter-spacing: -0.5em;
  text-align: center;
}

.mv_sns_link li {
  width: 45px;
  letter-spacing: normal;
  display: inline-block;
  margin: 0 15px;
}

/* タブレット */
@media print, screen and (max-width: 1025px) {

}

/* タブレット */
@media print, screen and (max-width: 900px) {
  
  .mv_banner {
    height: 80px;
    line-height: 1.2em;
  }
  .mv_banner .sp {
    display: block!important;
  }
}

/* SP */
@media print, screen and (max-width: 750px) {
  .mv_contents {
    padding-top: 0;
  }

  .mv_banner {
    height: 70px;
    font-size: 20px;
  }

}

/*-----------------------------------------------------------------
	top_message
-----------------------------------------------------------------*/

.top_message {
  background: #000;
  padding: 0;
}

.top_messsage_bg {
  width: 100%;
  max-width: 1400px;
  height: 100vh;
  /* padding-top: 61.53%; */
  background: url(../images/top_content_bg01.jpg) no-repeat center bottom;
  background-size: cover;
  margin: auto;
  position: relative;
}

.ov_bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: #000030;
  z-index: 2;
}

.shadow_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background: url(../images/top_content_bg01_shadow.png) no-repeat;
  z-index: 1;
}

.top_message_banner {
  background: #002266;
  color: #fff;
  position: absolute;
  top: 0;
  right: 0;
  bottom :0;
  left: 0;
  margin: auto;
  height: 50px;
  text-align: center;
  font-size: 28px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* WIDE */
@media print, screen and (min-width: 1420px) {

  .top_message .inner_wide {
    max-width: 1420px;
  }
  
  }

/* SP */
@media print, screen and (max-width: 750px) {

  .top_message_banner {
    height: 70px;
    font-size: 20px;
    top: auto;
    bottom :28%;
  }
  
  .top_messsage_bg {
    background: url(../images/top_content_bg01.jpg) no-repeat 60% bottom;
    background-size: cover;
  }
}

/*-----------------------------------------------------------------
	top_concept
-----------------------------------------------------------------*/

.top_concept {
  width: 100%;
  margin: auto;
  overflow: hidden;
}

.concept_box {
  width: 100%;
  justify-content: space-between;
  position: relative;
}

.concept_box_txt {
  flex: 1;
  margin-right: 90px;
}

.concept_txt {
  padding: 0 0 0 25px;
}

.concept_box_img {
  width: 355px;
}

.concept_box_img .pos-re {
  width: 590px;
}

.concept_box_img .pos-re img {
  position: absolute;
  top: -50px;
  left: 0;
}

.concept_box_img img:nth-of-type(1) { z-index: 3;}
.concept_box_img img:nth-of-type(2) { z-index: 2;}
.concept_box_img img:nth-of-type(3) { z-index: 1;}

.mds {
  font-size: 24px!important;
  line-height: 1.8em;
}

/* WIDE */
@media print, screen and (min-width: 1420px) {

.top_concept .inner_wide {
  max-width: 1420px;
}

.concept_box_img {
  width: 590px;
}

}

/* タブレット */
@media print, screen and (max-width: 1025px) {
  
.concept_box_txt {
  margin-right: 7vw;
}

}

/* タブレット～SP */
@media print, screen and (max-width: 949px) {
.concept_box_img {
    width: 280px;
}
.concept_box_img .pos-re {
  width: 464px;
}
.concept_box_img .pos-re img {
  top: 0;
}
}

/* SP */
@media print, screen and (max-width: 750px) {

  .concept_box {
    max-width: 90vw;
    margin: auto;
    position: relative;
  }

  .concept_txt {
    max-width: 445px;
    padding: 0 10px 0 20px;
  }

  .concept_box_txt {
    width: 100%;
    margin-right: 0;
    padding: 175px 5px 40px;
  }
  
  .concept_box_img {
    width: 295px;
    position: absolute;
    top: -100px;
    /* right: 0; */
    left: 50%;
    padding-left: 0;
    padding-bottom: 30px;
    z-index: -1;
  }
  
  .concept_box_img .pos-re {
    width: auto;
    height: auto;
  }
  
  .mds {
    font-size: 18px!important;
    line-height: 1.8em;
  }

  .white_bg {
    background: rgba(255,255,255,0.8);
  }

}


/*-----------------------------------------------------------------
	top_product
-----------------------------------------------------------------*/	

.top_product {
  width: 100%;
  display: block;
  margin: auto;
}

.product_box {
  width: 100%;
  margin: auto;
  justify-content: space-between;
}

.product_box_txt {
  flex: 1;
  padding-top: 15px;
}

.product_banner {
  font-size: 20px;
  color: #fff;
  position: relative;
  padding: 0 20px;
  vertical-align: middle;
}
.product_banner::before {
  content: "";
  width: 100%;
  height: 30px;
  background: #b5002e;
  position: absolute;
  top: -5px;
  left: -320px;
  width: 500px;
  padding: 5px 20px;
  z-index: -1;
}
.product_banner .bold {
  font-size: 26px;
  margin-left: -0.2em;
  vertical-align: top;
}

.product_txt_bg {
  background: #b5002e;
  color: #fff;
  padding: 5px;
  line-height: 1.4em;
  margin-left: -5px;
}

.product_box_img {
  width: 355px;
  text-align: right;
}

.product_box_img .pos-re {
  width: 355px;
  height: 470px;
}

.product_box_img .pos-re img {
  position: absolute;
  top: 0;
  left: 0;
}

.product_box_img_bg {
  width: 100%;
  height: 100%;
  max-width: 355px;
  background: #333;
}

.product_box_img img {
  width: 100%;
}

.ov_bg2 {
  max-width: 300px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: #000030;
  /* opacity: 0; */
}

.product_mark {
  width: 110px;
  background: #aa0000;
  color: #fff;
  font-size: 12px;
  text-align: center;
  margin-bottom: 8px;
  margin-left: 20px;
}

.product_title {
  font-size: 20px;
  text-align: left;
  border-bottom: #666 1px solid;
  padding-left: 20px;
  padding-bottom: 10px;
  margin-bottom: 16px;
}

.product_txt {
  padding: 0 0 0 20px;
  margin-right: 90px;
}

/* WIDE */
@media print, screen and (min-width: 1420px) {

  .top_product .inner_wide {
    max-width: 1420px;
  }
  
  .product_box_img {
    width: 590px;
  }
  
  }

/* タブレット */
@media print, screen and (max-width: 1025px) {
.product_txt {
  margin-right: 7vw;
}
}

/* タブレット～SP */
@media print, screen and (max-width: 949px) {
  .product_box_img {
    width: 240px;
  }

  .product_box_img .pos-re {
    width: 280px;
    height: 370px;
  }
  }

/* SP */
@media print, screen and (max-width: 750px) {
  .product_box {
    width: 90vw;
    margin: auto;
    justify-content: flex-start;
    position: relative;
  }
  
  .product_box_txt {
    width: 100%;
    padding-bottom: 50px;
  }
  
  .product_txt {
    margin-right: 0;
    padding: 0 10px 0 20px;
  }

  .product_title {
    padding-top: 55px;
  }
  
  .product_banner {
    font-size: 18px;
  }
  .product_banner .bold {
    font-size: 24px;
  }
  
  .product_box_img {
    width: 178px;
    height: 100%;
    position: absolute;
    top: -100px;
    left: 55%;
    padding-left: 0;
    padding-bottom: 30px;
    z-index: -1;
  }
  
  .product_box_img_bg {
    width: 100%;
    height: 0;
    padding-top: 132.14%;
  }

  .product_box_img .pos-re {
    width: auto;
  }
}

/*-----------------------------------------------------------------
	company
-----------------------------------------------------------------*/	

.greeting_box{
  width: 100%;
}

.greeting_txt {
  flex: 1;
  margin-right: 40px;
  min-width: 320px;
}

.greeting_title {
  font-size: 20px;
  line-height: 1.6em;
  text-align: left;
  border-bottom: #666 1px solid;
  padding-bottom: 20px;
}

.greeting_pickup {
  font-size: 18px;
  display: inline-block;
  margin-bottom: 20px;
}

.greeting_img {
  width: 200px;
}

.company_list li {
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 10px;
}

/* タブレット */
@media print, screen and (max-width: 1025px) {

}

/* SP */
@media print, screen and (max-width: 750px) {
  .greeting_txt {
    flex: auto;
    margin-right: 0;
    margin-bottom: 30px;
  }

  .greeting_img {
    text-align: center;
    margin: 0 auto 20px;
  }

}

/*-----------------------------------------------------------------
	お知らせ
-----------------------------------------------------------------*/	

.top_news {
  width: 100%;
}

.news_list {
  width: 100%;
  min-height: 440px;
  margin: 0 auto 50px;
  padding: 20px;
}

.news_list li {
  border-bottom: #666 1px solid;
  padding: 15px;
  position: relative;
  transition : 0.3s;
}

.news_list li:first-child {
  border-top: #666 1px solid;
}

.news_list_date {
  width: 130px;
  display: inline-block;
}

.news_list_title {
  display: inline-block;
}

.news_list li:hover {
  background: #002266!important;
  color: #fff!important;
  transition : 0.8s;
}

/* お知らせ詳細 */

.page_news {
  min-height: 400px;
}
.h3_news {
  color: #446699;
  border-bottom: #ccc 1px solid;
  padding: 10px 0;
  margin-bottom: 30px;
}

.news_box {
  margin-bottom: 50px;
}

.news_date {
  color: #999;
  text-align: right;
  margin-bottom: 10px;
}

.news_img {
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px;
}

.news_img img {
  max-width: 100%;
  max-height: 700px;
}

.post {
  margin-bottom: 100px;
}

/* WIDE */
@media print, screen and (min-width: 1420px) {

  .top_news .inner_wide {
    max-width: 1420px;
  }
  
  }

/* タブレット */
@media print, screen and (max-width: 1025px) {

.post {
  margin-bottom: 9.756vw;
}

}

/* SP */
@media print, screen and (max-width: 750px) {
  
  .news_list_date {
    width: 100%;
  }

}

/*-----------------------------------------------------------------
	お問い合わせ
-----------------------------------------------------------------*/	

.policy_list dt {
  border-bottom: #666 1px solid;
  font-size: 16px;
  margin-bottom: 24px;
  padding-bottom: 10px;
}

.policy_list dd {
  font-size: 14px;
  margin-bottom: 40px;
}

.ul1 {
  padding-top: 10px;
}

.ul1 li {
  padding-left:2.6em;
	text-indent:-3em;
}

/*-----------------------------------------------------------------
	お問い合わせ
-----------------------------------------------------------------*/	

.contact_tbl {
  width: 100%;
  margin: 40px 0;
}

.contact_tbl tr {
  border-bottom: #d9d9d9 1px solid;
}
.contact_tbl tr:first-child {
  border-top: #d9d9d9 1px solid;  
}

.contact_tbl th {
  width: 160px;
  font-weight: normal;
  text-align: left;
}

.contact_tbl th,
.contact_tbl td {
  padding: 10px 0;
  vertical-align: top;
}

.invisi {
  display: none;
}

.err_msg {
  font-size: 12px;
  color: #ff0000;
}

.half_list {
  width: 100%;
  max-width: 510px;
  margin: auto;
  text-align: center;
}

.half_list li {
  width: 48%;
  display: inline-block;
}

.color_btn {
  -webkit-appearance: none;
  width: 100%;
  max-width: 230px;
  height: 25px;
  border: #666 1px solid;
  display: block;
  text-align: center;
  background: #666;
  color: #fff;
  transition : 0.5s;
  padding: 3px 10px;
  line-height: 1em;
}

.back_btn {
  background: #999;
}

.input_clr {
  background: #f2f2f2;
}

.input_err_clr {
  background: #ffe9e9!important;
}

.thanks {
  display: none;
}
#btn_back, #btn_submit {
  display: none;
}

/* タブレット */
@media print, screen and (max-width: 1025px) {

.contact_tbl {
  margin: 3.902vw 0;
}

.color_btn {
  height: auto;
  padding: 10px 5px;
}

}

/* SP */
@media print, screen and (max-width: 750px) {

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

.contact_tbl th,
.contact_tbl td {
  display: block;
}
  

}