@charset "UTF-8";

/* 共通 ベース base
----------------------------------------------- */
body {
  font-size: 16px;
  font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #1F1F1F;
  line-height: 1.8;
}
.container {
  max-width: 1500px;
  width: 90%;
  margin: 0 auto;
}
.container_s {
  max-width: 1100px;
  width: 90%;
  margin: 0 auto;
}
main {

}
h2 {
  font-size: 25px;
  font-weight: 500;
}
.sec_title {
  margin-bottom: 50px;
}
.sec_title h2 {
  font-size: 25px;
  font-weight: 500;
}
.sec_title .h2_en {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 1px;
  color: #989933;
}
h3 {
  font-size: 23px;
  font-weight: 500;
}
h4 {
  font-size: 20px;
}
p {
  font-size: 16px;
  line-height: 1.8;
}
.p_s {
  font-size: 15px;
}
.sec_p {
  font-size: 20px;
  line-height: 2;
}
.arrow {
  position: relative;
  font-size: 16px;
  font-weight: 500;
  display: inline-block;
  padding-right: 25px;
}
.arrow:hover {
  color: #CD141C;
}
.arrow::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f105';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-size: 16px;
  color: #CD141C;
  transition: 0.3s ease;
}
.arrow:hover::after {
  right: -5px;
}
.btn_more {

}
.btn_more a {
  font-size: 18px;
  padding: 10px 20px;
  display: inline-block;
  background-color: #fff;
  border: 1px solid #BBBBBB;
}
.btn_more a:hover {
  color: #fff;
  background-color: #E50505;
  border-color: #E50505;
}
.btn_more .arrow:hover::after {
  color: #fff;
  transition: 0.3s ease;
}



.mincho {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-style: normal;
}
.bold {
  font-weight: bold;
}
.normal {
  font-weight: normal;
}
.relative {
  position: relative;
}

.a_link {
  margin-top: -130px;
  padding-top: 130px;
}
.a_none {
  pointer-events: none;
}
a img {
  transition: 0.3s ease;
}
a:hover img {
  opacity: 0.8;
  transition: 0.3s ease;
}



@media only screen and (max-width: 1500px) {

}

@media only screen and (max-width: 1280px) {

}

@media only screen and (max-width: 1024px) {
  main {

  }
  h2 {
    font-size: 20px;
  }
  .sec_title h2 {
    font-size: 22px;
  }
  h3 {
    font-size: 18px;
  }
  h4 {
    font-size: 17px;
  }
  p {
    font-size: 15px;
  }
  .sec_p {
    font-size: 15px;
  }
  .p_s {
    font-size: 13px;
  }
  .arrow {
    font-size: 14px;
  }
  .btn_more a {
    font-size: 14px;
  }
}

@media only screen and (max-width: 768px) {
  .sp_r {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .a_link {
    margin-top: -90px;
    padding-top: 90px;
  }
}

@media only screen and (max-width: 479px) {
  main {

  }
  h2 {
    font-size: 18px;
    line-height: 1.8;
  }
  .sec_title {
    margin-bottom: 20px;
  }
  .sec_title h2 {
    font-size: 18px;
  }
  .sec_title .h2_ja {
    font-size: 12px;
  }
  h3 {
    font-size: 17px;
  }
  h4 {
    font-size: 14px;
  }
  p {
    font-size: 13px;
  }
  .sec_p {
    font-size: 14px;
  }
  .p_s {
    font-size: 12px;
  }
  .arrow {
    font-size: 13px;
  }
  .btn_more a {
    font-size: 13px;
    padding: 13px 15px;
    width: 80%;
  }
}

@media only screen and (max-width: 370px) {
  h2 {
    font-size: 17px;
  }
  .sec_title h2 {
    font-size: 16px;
  }
  h3 {
    font-size: 15px;
  }
  p {
    font-size: 12px;
  }
  .sec_p {
    font-size: 13px;
  }
  .arrow {
    font-size: 12px;
  }
  .btn_more a {
    font-size: 12px;
  }
}



/* -----------------------------------------------

	 トップページ

----------------------------------------------- */

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


/* top_main
----------------------------------------------- */
#top .top_main {
	position: relative;
  font-size: 0;
}
#top .top_main img {
  width: 100%;
}
#top .top_main .main_text {
  position: absolute;
  top: 55%;
  left: 27%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
#top .top_main .main_text h1 {
  font-size: 36px;
  font-size: 1.9vw;
  font-weight: 400;
  letter-spacing: 8px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 2.2;
}



@media only screen and (max-width: 1280px) {

}

@media only screen and (max-width: 1024px) {
  #top .top_main img {
    height: 450px;
    object-fit: cover;
  }
  #top .top_main .main_text {
    left: 20%;
  }
  #top .top_main .main_text h1 {
    font-size: 22px;
  }
}

@media only screen and (max-width: 768px) {
  #top .top_main img {
    height: 400px;
  }
 #top .top_main .main_text h1 {
   font-size: 20px;
 }
}

@media only screen and (max-width: 479px) {
  #top .top_main img {
    height: 300px;
  }
  #top .top_main .main_text {
    left: 5%;
  }
  #top .top_main .main_text h1 {
    font-size: 16px;
    letter-spacing: 2px;
  }
}

@media only screen and (max-width: 370px) {
  #top .top_main .main_text h1 {
    font-size: 15px;
  }
}




/* top_about
----------------------------------------------- */
#top .top_about {
  padding: 80px 0 120px;
}
#top .top_about_wrap {
  max-width: 1250px;
  margin: 0 auto;
  gap: 10px 20px;
}
#top .top_about .text_area {

}
#top .top_about .text_area h2 {
  font-size: 22px;
  letter-spacing: 2px;
  margin-bottom: 15px;
  line-height: 2;
}
#top .top_about .text_area p {
  line-height: 2;
  letter-spacing: 2px;
}
#top .top_about .text_area .right {
  margin-top: 20px;
}


@media only screen and (max-width: 1280px) {
  #top .top_about img {
    width: 25%;
  }
  #top .top_about .text_area h2 {
    font-size: 20px;
  }
}

@media only screen and (max-width: 1024px) {
  #top .top_about {
    padding: 60px 0 80px;
  }
  #top .top_about img {
    width: 30%;
  }
  #top .top_about .text_area h2 {
    font-size: 18px;
  }
}

@media only screen and (max-width: 768px) {
  #top .top_about_wrap {
    -ms-flex-wrap: wrap;
  	flex-wrap: wrap;
  }
  #top .top_about img {
    width: 50%;
  }
  #top .top_about .text_area {
    width: 100%;
  }
}

@media only screen and (max-width: 479px) {
  #top .top_about {
    padding: 40px 0 60px;
  }
  #top .top_about img {
    width: 80%;
  }
  #top .top_about .text_area h2 {
    font-size: 15px;
  }
}





/* top_item
----------------------------------------------- */
#top .top_item .tab_area {
  position: relative;
}
#top .top_item .tab_area::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #ddd;
  z-index: -1;
}
#top .top_item .tab_area ul {
  max-width: 1250px;
  width: 90%;
  margin: 0 auto;
  gap: 10px 20px;
}
#top .top_item .tab_area .tab_item {
  width: calc( 100% / 3 - 13.4px );
  border: 1px solid #DDDDDD;
  border-bottom: none;
  border-radius: 5px 5px 0 0;
  padding: 30px 0;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 3px;
  cursor: pointer;
}
#top .top_item .tab_area .tab_item.ac {
  background-color: #fff;
  position: relative;
}
#top .top_item .tab_area .tab_item.ac::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f107';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  font-size: 16px;
  color: #CD141C;
  transition: 0.3s ease;
}
#top .top_item .tab_area .tab_item img {
  margin-right: 20px;
}
#top .top_item .contents_area {

}
#top .top_item .contents_area .contents_box {
  display: none;
  width: 100%;
  padding: 80px 0;
}
#top .top_item .contents_area .contents_box.ac {
  display: block;
  animation: box_show .9s ease-in-out forwards;
}
@keyframes box_show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
#top .top_item .contents_area .contents_box ul {
  gap: 50px;
}
#top .top_item .contents_area .contents_box ul li {
  width: calc( 100% / 3 - 33.4px );
  text-align: center;
}
#top .top_item .contents_area .contents_box ul li a {
  display: block;
}
#top .top_item .contents_area .contents_box ul li a p {
  font-size: 13px;
}
#top .top_item .contents_area .contents_box ul li a p.item_name {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 10px;
}
#top .top_item .contents_area .contents_box ul li a:hover {
  color: #CD141C;
}


@media only screen and (max-width: 1280px) {
  #top .top_item .tab_area .tab_item {
    font-size: 18px;
  }
}

@media only screen and (max-width: 1024px) {
  #top .top_item .tab_area .tab_item {
    font-size: 16px;
    line-height: 1.6;
    padding: 20px 0 25px;
  }
  #top .top_item .contents_area .contents_box {
    padding: 50px 0;
  }
  #top .top_item .contents_area .contents_box ul {
    gap: 50px 30px;
  }
  #top .top_item .contents_area .contents_box ul li {
    width: calc( 100% / 3 - 20px );
  }
  #top .top_item .contents_area .contents_box ul li a p.item_name {
    font-size: 18px;
  }
}

@media only screen and (max-width: 768px) {
  #top .top_item .tab_area .tab_item {
    font-size: 14px;
    letter-spacing: 1px;
    padding: 12px 5px 18px;
    -webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
  }
  #top .top_item .tab_area .tab_item.ac::after {
    line-height: 1;
  }
  #top .top_item .tab_area .tab_item img {
    margin-right: 0;
    margin-bottom: 8px;
    width: 50px;
  }
  #top .top_item .contents_area .contents_box ul {
    gap: 30px 30px;
  }
  #top .top_item .contents_area .contents_box ul li {
    width: calc( 100% / 2 - 15px );
  }
  #top .top_item .contents_area .contents_box ul li a img {
    width: 90%;
  }
  #top .top_item .contents_area .contents_box ul li a p.item_name {
    font-size: 16px;
  }
  #top .top_item .contents_area .contents_box ul li a p {
    font-size: 12px;
  }
}

@media only screen and (max-width: 479px) {
  #top .top_item .tab_area ul {
    -ms-flex-wrap: wrap;
  	flex-wrap: wrap;
  }
  #top .top_item .tab_area .tab_item {
    width: 100%;
    -webkit-box-orient: horizontal;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: row;
  	flex-direction: row;
    border-bottom: 1px solid #DDDDDD;
    border-radius: 5px;
    padding: 12px 5px 15px;
  }
  #top .top_item .tab_area .tab_item.ac {
    background-color: #f2f2f2;
  }
  #top .top_item .tab_area .tab_item img {
    margin-right: 20px;
    margin-bottom: 0;
  }
  #top .top_item .contents_area .contents_box {
    padding: 30px 0;
  }
  #top .top_item .contents_area .contents_box ul {
    gap: 30px 20px;
  }
  #top .top_item .contents_area .contents_box ul li {
    width: calc( 100% / 2 - 10px );
  }
  #top .top_item .contents_area .contents_box ul li a img {
    width: 100%;
  }
  #top .top_item .contents_area .contents_box ul li a p.item_name {
    font-size: 15px;
  }
}

@media only screen and (max-width: 370px) {
  #top .top_item .tab_area .tab_item {
    font-size: 13px;
  }
  #top .top_item .tab_area .tab_item.ac::after {
    font-size: 14px;
  }
  #top .top_item .tab_area .tab_item img {
    width: 45px;
  }
  #top .top_item .contents_area .contents_box ul li a p.item_name {
    font-size: 14px;
    margin-bottom: 5px;
  }
  #top .top_item .contents_area .contents_box ul li a p {
    font-size: 10px;
  }
}




/* top_bnr
----------------------------------------------- */
#top .top_bnr {
  padding: 80px 0;
}
#top .top_bnr ul {
  gap: 20px 50px;
}
#top .top_bnr ul li {
  width: calc( 100% / 3 - 33.4px );
}





@media only screen and (max-width: 1400px) {

}

@media only screen and (max-width: 1024px) {
  #top .top_bnr {
    padding: 60px 0;
  }
  #top .top_bnr ul {
    gap: 20px 20px;
  }
  #top .top_bnr ul li {
    width: calc( 100% / 3 - 13.4px );
  }
}

@media only screen and (max-width: 768px) {
  #top .top_bnr ul li {
    width: calc( 100% / 2 - 10px );
    line-height: 1;
  }
}

@media only screen and (max-width: 479px) {
  #top .top_bnr {
    padding: 40px 0;
  }
  #top .top_bnr ul {
    gap: 10px 20px;
  }
  #top .top_bnr ul li {
    width: 100%;
  }
}




/* top_company
----------------------------------------------- */
#top .top_company {
  padding: 120px 0;
}
#top .top_company .top_company_inner {
  position: relative;
}
#top .top_company .top_company_inner .top_company_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#top .top_company .top_company_inner .text_area {
  width: 50%;
  padding: 25px;
  margin-left: auto;
}
#top .top_company .top_company_inner .text_area h2 {
  margin-bottom: 20px;
}
#top .top_company .top_company_inner .text_area p {
  line-height: 2.5;
  letter-spacing: 2px;
}
#top .top_company .top_company_inner .text_area .arrow {
  padding-right: 60px;
}
#top .top_company .top_company_inner .text_area .arrow::after {
  right: 20px;
}




@media only screen and (max-width: 1280px) {
  #top .top_company .top_company_inner .top_company_bg {
    position: unset;
    width: 80%;
  }
  #top .top_company .top_company_inner .text_area {
    width: 100%;
  }
}

@media only screen and (max-width: 1024px) {
  #top .top_company {
    padding: 60px 0;
  }
}

@media only screen and (max-width: 768px) {
  #top .top_company .top_company_inner .top_company_bg {
    width: 100%;
  }
  #top .top_company .top_company_inner .text_area {
    padding: 20px 0;
  }
  #top .top_company .top_company_inner .text_area p {
    line-height: 2.2;
  }
}

@media only screen and (max-width: 479px) {
  #top .top_company {
    padding: 40px 0;
  }
  #top .top_company .top_company_inner .text_area img {
    width: 120px;
    margin-top: 10px;
  }
  #top .top_company .top_company_inner .text_area .btn_more {
    margin-top: 20px;
  }
}




/* top_news
----------------------------------------------- */
#top .top_news {
  padding: 80px 0 150px;
}
#top .top_news .top_news_title {
  width: 20%;
  border: 5px solid #EEEEEE;
  text-align: center;
}
#top .top_news .top_news_title h2 span {
  font-size: 15px;
  font-weight: 300;
  color: #3F0000;
}
#top .top_news .top_news_list {
  width: 77%;
}
#top .top_news .top_news_list ul li a {
  padding: 15px 0;
  border-bottom: 1px solid #A8A8B7;
}
#top .top_news .top_news_list .news_date {
  width: 12%;
}
#top .top_news .top_news_list ul li a:hover {
  color: #CD141C;
}




@media only screen and (max-width: 1400px) {

}

@media only screen and (max-width: 1024px) {
  #top .top_news {
    padding: 60px 0 120px;
  }
  #top .top_news .top_news_title {
    width: 25%;
  }
  #top .top_news .top_news_list {
    width: 70%;
  }
  #top .top_news .top_news_list ul li a {
    -ms-flex-wrap: wrap;
  	flex-wrap: wrap;
  }
  #top .top_news .top_news_list .news_date {
    width: 100%;
    margin-bottom: 5px;
  }
  #top .top_news .top_news_list .news_title {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) {
  #top .top_news .top_news_title {
    width: 50%;
    padding: 10px 0;
  }
  #top .top_news .top_news_list {
    width: 100%;
  }
}

@media only screen and (max-width: 479px) {
  #top .top_news {
    padding: 20px 0 100px;
  }
  #top .top_news .top_news_title {
    width: 100%;
    margin-bottom: 10px;
  }
  #top .top_news .top_news_title h2 span {
    font-size: 13px;
  }
  #top .top_news .top_news_list ul li a {
    padding: 10px 0;
  }
}





/*
----------------------------------------------- */



@media only screen and (max-width: 1400px) {

}

@media only screen and (max-width: 1024px) {

}

@media only screen and (max-width: 768px) {

}

@media only screen and (max-width: 479px) {

}
