@charset "UTF-8";


.siteTitle {
  position: relative;
  z-index: 1000;
  text-align: center;
  line-height: 1;
}

.siteTitle .eng {
  font-size: 50px;
  color: #fd932b;
}

.siteTitle .eng02 {
  font-size: 22px;
  color: #fdbf2b;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-top: 10px;
}


@media only screen and (max-width: 1040px) {
  .siteTitle .eng {
    font-size: 26px;
  }

  .siteTitle .eng02 {
    font-size: 16px;
    color: #fff;
  }
}

/*============================
top_img
============================*/

#top_img {
  margin-top: 60px;
  padding: 0 40px;
  position: relative;
}

#top_img::before {
  content: '';
  display: block;
  background: url(../images/texture/texture01.png) no-repeat center;
  width: 1076px;
  height: 916px;
  position: absolute;
  top: -560px;
  right: -100px;
}

.swiper-slide {
  position: relative;
  padding-top: 40%;
}

.swiper-slide img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 矢印 */

.swiper-button-next,
.swiper-button-prev {
  color: #fff;
}

/* ページャー */

.swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.5);
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background: #fe932b;
}

@media only screen and (max-width: 1040px) {
  #top_img {
    margin-top: 30px;
    padding: 0;
  }

  #top_img::before {
    right: -320px;
  }

  .swiper-slide {
    padding-top: 48%;
  }

  /* 矢印 */

  .swiper-button-next::after,
  .swiper-button-prev::after {
    font-size: 24px;
  }
}

/*============================
container
============================*/

.container {
  position: relative;
}

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

/*============================
profile
============================*/

#profile {
  position: relative;
  padding-top: 140px;
}

#profile::before {
  content: '';
  display: block;
  background: url(../images/texture/texture02.png) no-repeat center;
  width: 1091px;
  height: 1025px;
  position: absolute;
  top: -30px;
  left: -230px;
}

#profile .inner {
  position: relative;
  z-index: 10;
}

#profile img {
  width: 340px;
}

#profile .text {
  width: 650px;
}

#profile .text dt {
  font-size: 32px;
  font-weight: 600;
  border-bottom: 1px solid #ffdb2c;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

#profile .text dt .eng02 {
  font-size: 20px;
  margin-left: 20px;
}

#profile table.table {
  width: 100%;
  margin-top: 30px;
}

#profile table.table tr {
  display: block;
  padding: 5px 0;
  border-bottom: 1px solid #ffdb2c;
}

table.table th {
  vertical-align: middle;
  color: #fe932a;
}

#profile table.table th,
#profile table.table td {
  padding: 10px 0;
}

#profile table.table tr:first-child {
  padding-top: 0;
}

#profile table.table td {
  text-align: left;
  padding-left: 20px;
}

#profile ul {
  margin-top: 40px;
}

#profile ul li {
  width: 49%;
}

#profile ul li:nth-child(n+3) {
  margin-top: 2%;
}

#profile ul li a {
  display: flex;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  font-size: 16px;
}

#profile ul a i {
  font-size: 20px;
}

#profile ul a .eng02 {
  margin-left: 20px;
  margin-top: -4px;
}

@media only screen and (max-width: 1040px) {
  #profile {
    padding-top: 60px;
  }

  #profile h2 {
    margin-bottom: 0;
  }

  #profile::before {
    left: -420px;
  }

  #profile .inner {
    position: relative;
    z-index: 10;
  }

  #profile img {
    width: 150px;
    margin: 0 auto;
    border-radius: 50%;
    overflow: hidden;
  }

  #profile .text {
    width: 100%;
  }

  #profile .text dt {
    font-size: 22px;
    text-align: center;
    margin-top: 10px;
  }

  #profile .text dt .eng02 {
    font-size: 16px;
    margin-left: 10px;
  }

  #profile ul {
    margin-top: 30px;
  }

  #profile ul li {
    width: 100%;
  }

  #profile ul li:nth-child(n+2) {
    margin-top: 14px;
  }
}


/*============================
works
============================*/

#works {
  position: relative;
  padding-top: 0;
}

#works::before {
  content: '';
  display: block;
  background: url(../images/texture/texture03.png) no-repeat center;
  width: 1169px;
  height: 916px;
  position: absolute;
  top: -60px;
  right: -260px;
}

#works .inner {
  position: relative;
  z-index: 10;
}

#works dl {
  width: 48%;
}

#works dl:nth-child(n+3) {
  margin-top: 40px;
}

#works dl dt {
  background-color: #fbcb44;
  font-weight: bold;
  color: #fff;
  padding: 8px 20px;
  border-radius: 5px;
}

#works dl dd li {
  border-bottom: 1px solid #ffdb2c;
  padding: 6px 0;
}

#works a {
  display: inline-block;
  margin-top: 40px;
  font-size: 16px;
  color: #fe932b;
  font-weight: 600;
}

@media only screen and (max-width: 1040px) {
  #works {
    padding-top: 20px;
  }

  #works::before {
    top: 40px;
    right: -340px;
  }

  #works dl {
    width: 100%;
  }

  #works dl:nth-child(n+2) {
    margin-top: 30px;
  }

  #works a {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
  }

  #works .add-text {
    text-align: right;
  }

}


/*============================
bg-section
============================*/

.bg-section {
  background: url(../images/texture/bg.png) no-repeat bottom center;
  -webkit-background-size: cover;
  background-size: cover;
}


/*============================
#news
============================*/

#news {
  position: relative;
  padding-top: 0;
}

#news .box {
  background-color: #fff;
  border-radius: 10px;
  padding: 20px 60px;
overflow-y: scroll;
  height: 750px;
}

/* Chrome / Safari / Edge用 */
#news ::-webkit-scrollbar {
  width: 10px;
}

#news ::-webkit-scrollbar-track {
  background: #f0f0f0;
}

#news ::-webkit-scrollbar-thumb {
  background: #fd932b;
  border-radius: 10px;
}

#news ::-webkit-scrollbar-thumb:hover {
  background: #fd932b;
}

#news .box .each {
  display: block;
  border-bottom: 1px solid #ffdb2c;
  padding: 10px 0;
}

#news .box .each p {
  margin: 0;
}

#news .box .each p.date {
  font-weight: 600;
}

#news .box a.all-link {
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
  font-size: 16px;
  color: #fe932b;
  font-weight: 600;
}

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

  #news .box {
    background-color: #fff;
    border-radius: 10px;
    padding: 10px 20px 20px;
  }
}



/*============================
#contact
============================*/

#contact {
  text-align: center;
  padding-top: 80px;
  padding-bottom: 220px;
}

#contact h2 {
  margin-bottom: 20px;
}

#contact h2 .eng {
  color: #fff;
  font-size: 60px;
}

#contact a {
  display: block;
  margin: 0 auto;
  background-color: #feda2a;
  width: 300px;
  padding: 20px 0;
  text-align: center;
  border-radius: 50px;
  margin-top: 30px;
  color: #f38920;
  font-size: 16px;
  font-weight: 600;
}

@media only screen and (max-width: 1040px) {
  #contact {
    padding-top: 40px;
    padding-bottom: 100px;
  }

  #contact h2 {
    margin-bottom: 20px;
  }

  #contact h2 .eng {
    color: #fff;
    font-size: 40px;
  }
}



/*============================
footer
============================*/

footer {
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.12em;
  font-weight: 500;
  padding: 10px 0;
}
