@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:wght@:100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP+normal:100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Sawarabi+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;500;700&display=swap" rel="stylesheet');
/*--------------------------------------------------------------------------------------------------

   common

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


/*reset-------------------------------------------------*/
body,div,h1,h2,h3,h4,h5,h6,p,dl,dt,dd {
  margin: 0;
  padding: 0;
}

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  border: none;
  vertical-align: top;
}

header,section,article,aside,footer,nav {
 display: block;
}



/*-------------------------------------------------reset*/


/*common-------------------------------------------------*/
body {
  margin: 0;
  padding: 0;
  color: #000;
  font-size: 18px;
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
 }

 .font-thin {
   font-family: 'Noto Sans JP normal', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
 }

 .font-serif {
  font-family: 'Noto Serif JP', sans-serif;
 }

 .font-Oswald {
  font-family: 'Oswald', sans-serif;
 }

a {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  display: block;
}
ul,li {
  margin: 0px;
  padding: 0px;
  list-style: none;
}

address {
  font-style: normal;
}

.clear:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clear {
  display: inline-table;
}

/* mac \*/
* html .clear {
  height: 1%;
}

.clear {
  display: block;
}

/*-------------------------------------------------common*/


/*--------------------------------------------------------------------------------------------
  header
--------------------------------------------------------------------------------------------*/
header .header-top {
  border-bottom: 2px solid #ae0a0a;
}

header .header-top .logo {
  padding-top: 10px;
  display: inline-block;
}

header .header-top .logo .text {
  margin-left: 25px;
  margin-right: 15px;
  border-right: 1px solid #ae0a0a;
  display: inline-block;
  font-size: 18px;
  margin-top: 18px;
  font-weight: 100;
}

header .header-top .logo .text .title {
  font-size: 25px;
  font-weight: 600;
}

header .header-top .info-call {
  padding-left: 30px;
  padding-top: 35px;
  background: url(../image/icon-phone.png) no-repeat left top 55px;
  display: inline-block;
}

header .header-top .info-call .number {
  font-size: 34px;
  margin-left: 15px;
  font-weight: 900;
  display: inline-block;
}



header .header-top .info-contact {
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  background-color: #ae0a0a;
  margin-top: 53px;
  display: inline-block;
  margin-left: 20px;
}

header .header-top .info-contact a {
  font-size: 19px;
  color: #fff;
  padding: 20px 22px 20px 70px;
  background: url(../image/icon-mail.png) no-repeat left 26px top 26px;
}

.banner-top {
  width: 100%;
  height: 500px;
  background: url(../image/banner-index.png) no-repeat;
  background-size: cover;
}

.banner-top h2 {
  font-size: 45px;
  font-weight: 600;
  padding-top: 207px;
  padding-bottom: 5px;
}

.banner-top p {
  font-size: 26px;
}


.pagination {
  text-align: center;
}

.pagination li:first-child {
  margin-right: 13px;
  width: 24px;
  display: inline-block;
}

.pagination li:last-child {
  margin-left: 13px;
  width: 24px;
  display: inline-block;
}

.pagination li.number {
  margin-left: 13px;
  display: inline-block;
  width: 43px;
  background-color: #a40000;
  border-radius: 9px;
}

.pagination .number a,
.pagination .number span {
  color: #fff;
  text-align: center;
  display: block;
  line-height: 43px;
}

/*------------------------------------------------------------------------------------------------
  content
--------------------------------------------------------------------------------------------------*/
.container {
  width: 1200px;
  margin: 0 auto;
  padding: 0;
}

.al-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.al-right {
  text-align: right;
}

.al-left {
  text-align: left;
}

.flex {
  display: -webkit-box;   /* OLD - iOS 6-, Safari 3.1-6, BB7 */
  display: -ms-flexbox;  /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
  display: flex;   
}

h3 {
  padding-left: 40px;
  border-bottom: 2px solid #ae0a0a;
  line-height: 1;
  position: relative;
  margin-left: 14px;
  font-size: 30px;
}

h3 span {
  font-size: 16px;
  font-weight: normal;
}

h3::before {
  content: "";
  position: absolute;
  left: -14px;
  bottom: -2px;
  width: 44px;
  height: 36px;
  background: url(../image/icon-h3.png);
}

h3 .font-jp {
  font-size: 18px;
  position: relative;
  padding-left: 20px;
}

h3 .font-jp::before {
  content: "/";
  position: absolute;
  left: 0;
  bottom: 7px;
  transform: skewX(-30deg);

}

h3 .font-Oswald {
  font-size: 40px;
  margin-right: 15px;
}
.para-btn {
  margin-top: 80px;
}

.para-btn_li {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.para-btn_li li {
  margin: 0px 20px 20px 20px;
}

.btn-link_list {
  display: flex;
  justify-content: flex-start;
}

.btn-new-2 {
  padding: 10px 20px;
  color: #fff;
  font-size: 16px;
  background-color: #ae0a0a;
  display: inline-block;
  margin-top: 10px;
  margin-bottom: 30px;
  margin-right: 15px;
}

.btn-all-li {
    width: 1020px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 60px;
}

.btn-all-li img{
    width: 60%;
}

.aligncenter {
  width: 320px;
  line-height: 50px;
  padding: 10px 0px;
  border: 1px solid #868686;
  border-radius: 10px;
  margin: 10px 10px;
  box-shadow: 0 7px 16px -11px rgb(0 25 50 / 70%);
}

.company-btn_list {
  width: 300px;
      display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
}

.company-btn_list li{
  margin-left: 20px;
}

.company-btn_list li:nth-of-type(1){
  margin-left: 0px;
}

.aligncenter figcaption {
  font-size: 16px;
}


.title4 {
    display: flex;
    align-items: center;
}
.has-text-align-center {
    text-align: center;
}
.service-cont-li img {
width: 100%;
}


/*------------------------------------------------------------------------------------------------
  footer
--------------------------------------------------------------------------------------------------*/
footer {
  position: relative;
}

footer .info {
  background-color: #700909;
  color: #fff;
  padding: 23px 0 15px 0;
}

footer .container {
  justify-content: space-between;
}

footer .info .logo {
  font-size: 22px;
  font-weight: 700;
}

footer .info address {
  line-height: 1.6;
  font-size: 14px;
}

footer .info .btn-contact {
  margin-right: 80px;
  margin-top: 24px;
  padding: 0px 85px;
  color: #fff;
  font-size: 14px;
  border: 1px solid #fff;
  line-height: 46px;
  height: 46px;
}

footer .coppy {
  padding: 20px 0 24px 0;
  font-size: 14px;
  text-align: center;
}

#ptop {
  position: absolute;
  bottom: 200px;
  right: calc(50% - 600px);
  cursor: pointer;
}


.footer-nav_li{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 50px 0px 30px;
}

.footer-nav a{
  background: url(../image/btn.png) no-repeat left 2px top 9px;
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  margin-left: 25px;
}