@charset "UTF-8";
/* HTML */
.html {
  color: #e44d26;
}

.html-bc {
  background-color: #e44d26;
}

/* CSS */
.css {
  color: #264de4;
}

.css-bc {
  background-color: #264de4;
}

/* JavaScript */
.javascript {
  color: #f7df1e;
}

.javascript-bc {
  background-color: #f7df1e;
}

/* jQuery */
.jquery {
  color: #0769ad;
  /* 独自色: jQueryの公式カラー */
}

.jquery-bc {
  background-color: #0769ad;
}

/* PHP */
.php {
  color: #787cb4;
}

.php-bc {
  background-color: #787cb4;
}

/* Java */
.java {
  color: #5382a1;
  /* 独自色: Java公式カラーに基づく */
}

.java-bc {
  background-color: #5382a1;
}

/* Python */
.python {
  color: #306998;
  /* 独自色: Python公式カラー */
}

.python-bc {
  background-color: #306998;
}

/* React.js */
.reactjs {
  color: #61dafb;
}

.reactjs-bc {
  background-color: #61dafb;
}

/* Vue.js */
.vuejs {
  color: #42b883;
}

.vuejs-bc {
  background-color: #42b883;
}

/* WordPress */
.wordpress {
  color: #21759b;
}

.wordpress-bc {
  background-color: #21759b;
}

/* MySQL */
.mysql {
  color: #00758f;
}

.mysql-bc {
  background-color: #00758f;
}

/* Illustrator */
.illustrator {
  color: #ff9a00;
}

.illustrator-bc {
  background-color: #ff9a00;
}

/* Photoshop */
.photoshop {
  color: #31a8ff;
}

.photoshop-bc {
  background-color: #31a8ff;
}

/* Adobe XD */
.adobexd {
  color: #ff61f6;
}

.adobexd-bc {
  background-color: #ff61f6;
}

/* Figma */
.figma {
  color: #a259ff;
}

.figma-bc {
  background-color: #a259ff;
}

/* github */
.github {
  color: #181717;
  /* GitHubに対応する黒 */
}

.github-bc {
  background-color: #181717;
}

/* top-paddingはheaderの高さ分のpaddingを設けヘッダーの下に隠れて表示されることを防ぐ物です。span.top-paddingと併用し使用してください*/
div.top-pading {
  display: block;
  width: 100%;
  height: 80px;
}

html h1 {
  font-size: 2em;
}

html h2 {
  font-size: 1.75em;
}

html h3 {
  font-size: 1.5em;
}

html h4 {
  font-size: 1.25em;
}

html h5 {
  font-size: 1.125em;
}

html h6 {
  font-size: 1em;
}

html p {
  font-size: 1em;
}

body {
  color: #fff;
  font-family: sans-serif !important;
  overflow-x: hidden;
}
body div.sections-text-fixed div.sections-title {
  display: inline-block;
  margin: 20px;
}
body div.sections-text-fixed p.sections-text {
  max-width: 700px;
  margin: 0 auto 20px;
  padding: 0 20px;
}
body div.sections-title {
  width: 100%;
  text-align: center;
}
body div.sections-title.hide {
  transition: all 0.5s;
  transform: scale(0.5);
}
body div.sections-title.hide.scale-show {
  transform: scale(1);
  opacity: 1;
}
body div.sections-title h2 {
  display: inline-block;
  margin: 20px;
}
body p.section-text {
  max-width: 700px;
  margin: 0 auto 20px;
  padding: 0 20px;
}
body div#particles-js {
  position: fixed;
  width: 100vw;
  height: 100lvh;
  background-color: #0067c0;
  z-index: -1;
}
body .img {
  position: relative;
  overflow: hidden;
}
body .img img {
  position: absolute;
  display: block;
  width: 100%;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
body .img_item {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
body .hide {
  opacity: 0;
}
body div.sections-text-scale {
  transform: scale(0);
  opacity: 0;
  transition: all 0.8s;
}
body div.sections-text-scale.scale-show {
  transform: scale(1);
  opacity: 1;
}
body p.ip {
  text-align: center;
}
body header {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
}
@media (min-width: 0) and (max-width: 767px) {
  body header {
    height: auto;
  }
}
body header div.menu-content {
  position: fixed;
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  width: 100%;
  height: 80px;
  background-color: #ffffff;
  z-index: 100;
}
body header div.menu-content div.img {
  position: fixed;
  top: 0;
  left: 0;
  width: 210px;
  height: 70px;
  margin: 5px;
}
@media (min-width: 0) and (max-width: 767px) {
  body header div.menu-content div.hamburger {
    position: fixed;
    right: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 35px;
    height: 30px;
    cursor: pointer;
    margin: 25px;
  }
  body header div.menu-content div.hamburger span {
    display: block;
    width: 100%;
    height: 5px;
    background-color: #333;
    border-radius: 5px;
    transition: transform 0.3s, opacity 0.3s;
  }
  body header div.menu-content div.hamburger span.open:nth-child(1) {
    transform: translateY(10px) rotate(45deg);
  }
  body header div.menu-content div.hamburger span.open:nth-child(2) {
    opacity: 0;
  }
  body header div.menu-content div.hamburger span.open:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg);
  }
  body header div.menu-content nav.menu {
    position: fixed;
    width: 100%;
    height: calc(100lvh - 80px);
    transition: all 0.5s;
    margin-top: 80px;
    transform: translateX(100%);
    background-color: white;
  }
  body header div.menu-content nav.menu.open {
    transform: translateX(0);
  }
  body header div.menu-content nav.menu ul {
    display: flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
    color: #000000;
  }
  body header div.menu-content nav.menu ul li {
    width: 100%;
    text-align: center;
    height: 50px;
    line-height: 50px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  body header div.menu-content div.hamburger {
    position: fixed;
    right: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 35px;
    height: 30px;
    cursor: pointer;
    margin: 25px;
  }
  body header div.menu-content div.hamburger span {
    display: block;
    width: 100%;
    height: 5px;
    background-color: #333;
    border-radius: 5px;
    transition: transform 0.3s, opacity 0.3s;
  }
  body header div.menu-content div.hamburger span.open:nth-child(1) {
    transform: translateY(10px) rotate(45deg);
  }
  body header div.menu-content div.hamburger span.open:nth-child(2) {
    opacity: 0;
  }
  body header div.menu-content div.hamburger span.open:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg);
  }
  body header div.menu-content nav.menu {
    position: fixed;
    width: 100%;
    height: calc(100lvh - 80px);
    transition: all 0.5s;
    margin-top: 80px;
    transform: translateX(100%);
    background-color: white;
  }
  body header div.menu-content nav.menu.open {
    transform: translateX(0);
  }
  body header div.menu-content nav.menu ul {
    display: flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
    color: #000000;
  }
  body header div.menu-content nav.menu ul li {
    width: 100%;
    text-align: center;
    height: 50px;
    line-height: 50px;
  }
}
@media (min-width: 1024px) {
  body header div.menu-content div.hamburger {
    display: none;
  }
  body header div.menu-content nav.menu {
    width: auto;
    height: 100%;
    transition: all 0.5s;
  }
  body header div.menu-content nav.menu ul {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    gap: 40px;
    color: #000000;
  }
}
body .hero div.header-view {
  position: relative;
  width: 100%;
  height: auto;
  padding: 120px 0 50px;
}
body .hero div.header-view div.header-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../photos/sitecodding.jpg");
  background-attachment: fixed;
  background-size: cover;
  background-position: center center;
  z-index: -1;
}
body .hero div.header-view div.content-profile {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  width: 100%;
  height: 100%;
  transition: all 0.5s;
}
body .hero div.header-view div.content-profile div.img {
  width: 300px;
  height: 300px;
  border-radius: 150px;
  background-color: white;
}
body .hero div.header-view div.content-profile div.content-profile_text {
  text-align: center;
}
@media (min-width: 1024px) {
  body .hero div.header-view div.content-profile div.content-profile_text {
    padding-left: 100px;
  }
}
body .hero div.header-view div.content-profile div.content-profile_text h2,
body .hero div.header-view div.content-profile div.content-profile_text p {
  width: 80%;
  max-width: 500px;
  padding: 10px 0;
  margin: 0 auto;
}
body .hero div.header-view div.content-profile div.content-profile_text ul {
  list-style: none;
  width: 80%;
  margin: 0 auto;
}
body .hero div.header-view div.content-profile div.content-profile_text ul li {
  text-align: left;
  margin: 10px 0;
}
body .hero div.header-view div.content-profile div.content-profile_text p {
  text-align: left;
}
body .hero div.header-view div.content-profile div.content-profile_text a {
  display: block;
  width: 150px;
  height: 40px;
  line-height: 30px;
  border: solid 1px #ffffff;
  margin: 20px auto;
}
body .hero div.header-view div.content-profile div.SNS {
  width: 100%;
}
body .hero div.header-view div.content-profile div.SNS ul {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  flex-wrap: nowrap;
  list-style: none;
  gap: 30px;
  padding-top: 50px;
}
body .hero div.header-view div.content-profile div.SNS ul li {
  width: 100px;
  height: 100px;
  border-radius: 50px;
  background-color: #ffffff;
  padding: 25px;
}
body .hero div.header-view div.content-profile div.SNS ul li a {
  display: block;
}
body .hero div.header-view div.content-profile div.SNS ul li a img {
  display: block;
  width: 100%;
  height: 100%;
}
body main {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
  /*-----------------------------------------*
  |              page-tracking               |
  *-----------------------------------------*/
  /*-----------------------------------------*
  |              section-news                |
  *-----------------------------------------*/
  /*-----------------------------------------*
  |              section-work                |
  *-----------------------------------------*/
  /*-----------------------------------------*
  |              section-portfolio           |
  *-----------------------------------------*/
  /*-----------------------------------------*
  |              section-skill               |
  *-----------------------------------------*/
  /*-----------------------------------------*
  |              section-contact             |
  *-----------------------------------------*/
  /*-----------------------------------------*
  |              page-confirm.php            |
  *-----------------------------------------*/
  /*-----------------------------------------*
  |              page-semd.php               |
  *-----------------------------------------*/
  /*-----------------------------------------*
  |              section-hero                |
  *-----------------------------------------*/
}
@media (min-width: 0) and (max-width: 767px) {
  body main {
    padding: 10px 30px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  body main {
    padding: 0 100px 100px;
  }
}
@media (min-width: 1024px) {
  body main {
    padding: 0 100px 100px;
  }
}
body main div.page-tracking {
  padding: 30px 0 0;
}
body main section.section-news {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  transition: all 0.5s;
}
body main section.section-news.hide.fade-in {
  opacity: 1;
}
body main section.section-news ul.news-list li.news-list__item {
  width: 100%;
  list-style: none;
  border-top: solid 1px #fff;
  margin: 0;
}
body main section.section-news ul.news-list li.news-list__item article {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-height: 60px;
  padding: 10px;
}
body main section.section-news ul.news-list li.news-list__item article time {
  margin: 0 10px;
}
body main section.section-news ul.news-list li.news-list__item article span.category {
  display: inline-block;
  padding: 5px;
  margin: 0 10px;
  color: #000000;
  background-color: white;
}
body main section.section-news ul.news-list li.news-list__item article p {
  margin: 0 10px;
  display: inline-block;
}
body main section.section-work {
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
body main section.section-work div.work-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  width: 100%;
  gap: 50px;
  margin: 60px auto 0;
}
body main section.section-work div.work-content div.work-content_item {
  width: 100%;
  max-width: 500px;
  height: auto;
  text-align: center;
  word-wrap: break-word;
}
@media (min-width: 1024px) {
  body main section.section-work div.work-content div.work-content_item {
    max-width: 350px;
  }
}
body main section.section-work div.work-content div.work-content_item.hide {
  transition: all 0.5s;
  transform: translateY(200px);
}
body main section.section-work div.work-content div.work-content_item.hide.fade-up {
  transform: translateY(0);
  opacity: 1;
}
body main section.section-work div.work-content div.work-content_item div.img {
  width: 100%;
  aspect-ratio: 16/9;
  background-color: gray;
}
body main section.section-work div.work-content div.work-content_item h3 {
  padding: 20px 40px 10px;
}
body main section.section-work div.work-content div.work-content_item p {
  width: 100%;
  padding: 10px 40px 30px;
}
body main section.portfolio {
  width: 100%;
}
body main section.portfolio div.portfolio-Rightcontent {
  width: 100%;
  max-width: 1200px;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  flex-wrap: nowrap;
  margin: 30px auto;
}
@media (max-width: 1150px) {
  body main section.portfolio div.portfolio-Rightcontent {
    flex-wrap: wrap;
  }
}
body main section.portfolio div.portfolio-Rightcontent div.portfolio-content-img.img {
  width: 55%;
  aspect-ratio: 16/9;
  background-color: gray;
  -webkit-clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%);
}
@media (max-width: 1150px) {
  body main section.portfolio div.portfolio-Rightcontent div.portfolio-content-img.img {
    max-width: 600px;
    width: 100%;
    -webkit-clip-path: none;
            clip-path: none;
  }
}
body main section.portfolio div.portfolio-Rightcontent div.portfolio-content-text {
  width: 40%;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media (max-width: 1150px) {
  body main section.portfolio div.portfolio-Rightcontent div.portfolio-content-text {
    max-width: 600px;
    width: 100%;
  }
}
@media (max-width: 1150px) {
  body main section.portfolio div.portfolio-Rightcontent div.portfolio-content-text p {
    margin-top: 30px;
  }
}
body main section.portfolio div.portfolio-Rightcontent div.portfolio-content-text a {
  display: block;
  width: auto;
  border: solid 2px #fff;
  padding: 15px 30px;
  text-align: center;
  margin: 50px 10% 0;
}
body main section.portfolio div.portfolio-Leftcontent {
  width: 100%;
  max-width: 1200px;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  flex-wrap: nowrap;
  margin: 30px auto;
}
@media (max-width: 1150px) {
  body main section.portfolio div.portfolio-Leftcontent {
    flex-wrap: wrap;
  }
}
body main section.portfolio div.portfolio-Leftcontent div.portfolio-content-img.img {
  width: 55%;
  aspect-ratio: 16/9;
  background-color: gray;
  -webkit-clip-path: polygon(100% 0, 0 0, 20% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0 0, 20% 100%, 100% 100%);
  order: 2;
}
@media (max-width: 1150px) {
  body main section.portfolio div.portfolio-Leftcontent div.portfolio-content-img.img {
    max-width: 600px;
    width: 100%;
    order: 1;
    -webkit-clip-path: none;
            clip-path: none;
  }
}
body main section.portfolio div.portfolio-Leftcontent div.portfolio-content-text {
  width: 40%;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  flex-wrap: wrap;
  order: 1;
}
@media (max-width: 1150px) {
  body main section.portfolio div.portfolio-Leftcontent div.portfolio-content-text {
    max-width: 600px;
    width: 100%;
    order: 2;
  }
}
@media (max-width: 1150px) {
  body main section.portfolio div.portfolio-Leftcontent div.portfolio-content-text p {
    margin-top: 30px;
  }
}
body main section.portfolio div.portfolio-Leftcontent div.portfolio-content-text a {
  display: block;
  width: auto;
  border: solid 2px #fff;
  padding: 15px 30px;
  text-align: center;
  margin: 50px auto 0;
}
body main section.section-skill div.skill-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: auto;
  gap: 45px;
  margin: 0 auto;
}
body main section.section-skill div.skill-content div.skill-content__item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  width: 220px;
  aspect-ratio: 1/1;
  color: black;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 150px;
  margin: 20px 0;
  transition: all 1s ease;
  overflow: hidden;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-skill div.skill-content div.skill-content__item {
    width: 140px;
  }
}
body main section.section-skill div.skill-content div.skill-content__item.html {
  border: solid 10px #e34f26;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-skill div.skill-content div.skill-content__item.html {
    border: solid 5px #e34f26;
  }
}
body main section.section-skill div.skill-content div.skill-content__item.css {
  border: solid 10px #2965f1;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-skill div.skill-content div.skill-content__item.css {
    border: solid 5px #2965f1;
  }
}
body main section.section-skill div.skill-content div.skill-content__item.javascript {
  border: solid 10px #f7df1e;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-skill div.skill-content div.skill-content__item.javascript {
    border: solid 5px #f7df1e;
  }
}
body main section.section-skill div.skill-content div.skill-content__item.react {
  border: solid 10px #61dbfb;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-skill div.skill-content div.skill-content__item.react {
    border: solid 5px #61dbfb;
  }
}
body main section.section-skill div.skill-content div.skill-content__item.php {
  border: solid 10px #8993be;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-skill div.skill-content div.skill-content__item.php {
    border: solid 5px #8993be;
  }
}
body main section.section-skill div.skill-content div.skill-content__item.wordpress {
  border: solid 10px #21759b;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-skill div.skill-content div.skill-content__item.wordpress {
    border: solid 5px #21759b;
  }
}
body main section.section-skill div.skill-content div.skill-content__item.photoshop {
  border: solid 10px #31a8ff;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-skill div.skill-content div.skill-content__item.photoshop {
    border: solid 5px #31a8ff;
  }
}
body main section.section-skill div.skill-content div.skill-content__item.illustrator {
  border: solid 10px #ff9a00;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-skill div.skill-content div.skill-content__item.illustrator {
    border: solid 5px #ff9a00;
  }
}
body main section.section-skill div.skill-content div.skill-content__item.mysql {
  border: solid 10px #00758f;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-skill div.skill-content div.skill-content__item.mysql {
    border: solid 5px #00758f;
  }
}
body main section.section-skill div.skill-content div.skill-content__item.adobexd {
  border: solid 10px #ff61f6;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-skill div.skill-content div.skill-content__item.adobexd {
    border: solid 5px #ff61f6;
  }
}
body main section.section-skill div.skill-content div.skill-content__item.figma {
  border: solid 10px #f24e1e;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-skill div.skill-content div.skill-content__item.figma {
    border: solid 5px #f24e1e;
  }
}
body main section.section-skill div.skill-content div.skill-content__item.github {
  border: solid 10px #181717;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-skill div.skill-content div.skill-content__item.github {
    border: solid 5px #181717;
  }
}
body main section.section-skill div.skill-content div.skill-content__item.skill-fade-up {
  transform: translateY(200px);
}
body main section.section-skill div.skill-content div.skill-content__item.skill-fade-up.fade-in {
  transform: translateY(0);
  opacity: 1;
}
body main section.section-skill div.skill-content div.skill-content__item div.img {
  width: 100px;
  aspect-ratio: 1/1;
  margin: 10px auto 0;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-skill div.skill-content div.skill-content__item div.img {
    width: 60px;
  }
}
body main section.section-skill div.skill-content div.skill-content__item div.img img {
  display: block;
  width: 100%;
  height: auto;
}
body main section.section-skill div.skill-content div.skill-content__item div.skill-content__item__text {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  width: 100%;
  overflow: hidden;
  margin: 10px auto;
}
body main section.section-skill div.skill-content div.skill-content__item div.skill-content__item__text h4 {
  width: 100%;
  text-align: center;
}
body main section.section-skill div.skill-content div.skill-content__item div.skill-content__item__text div.img-star {
  width: 100px;
  margin: 15px 0;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-skill div.skill-content div.skill-content__item div.skill-content__item__text div.img-star {
    width: 60px;
    margin: 10px 0;
  }
}
body main section.section-skill div.skill-content div.skill-content__item div.skill-content__item__text div.img-star img {
  display: block;
  width: 100%;
  height: auto;
}
body main section.section-contact {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}
body main section.section-contact form {
  transition: all 1s ease;
}
body main section.section-contact form.hide {
  transform: translateY(200px);
}
body main section.section-contact form.hide.fade-up {
  transform: translateY(0);
  opacity: 1;
}
body main section.section-contact form div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  padding: 25px 10px;
  border-top: solid 1px #ffffff;
}
body main section.section-contact form div label {
  display: flex;
  align-items: center;
  width: 100%;
  height: 40px;
  max-width: 400px;
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.section-contact form div label {
    padding-bottom: 20px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  body main section.section-contact form div label {
    padding-bottom: 20px;
  }
}
body main section.section-contact form div input,
body main section.section-contact form div select,
body main section.section-contact form div textarea {
  display: block;
  width: 100%;
  max-width: 400px;
  background-color: #ffffff;
  color: black;
  padding: 0 20px;
}
body main section.section-contact form div input,
body main section.section-contact form div select {
  height: 40px;
}
body main section.section-contact form div select {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  color: #b0b0b0;
}
body main section.section-contact form div select:focus {
  color: black;
}
body main section.section-contact form div option {
  color: black;
}
body main section.section-contact form div textarea {
  height: 200px;
  padding: 20px;
}
body main section.section-contact form input[type=submit] {
  display: block;
  width: 80px;
  height: 40px;
  line-height: 40px;
  background-color: #ffffff;
  color: black;
  margin: 50px auto 60px;
}
body main section.confirm {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 60px;
}
body main section.confirm div.confirm div.confirm-content {
  display: flex;
  justify-content: center;
  width: 100%;
  border-top: solid 1px #ffffff;
}
body main section.confirm div.confirm div.confirm-content h3 {
  width: 100%;
  max-width: 400px;
}
body main section.confirm div.confirm div.confirm-content p {
  width: 100%;
  max-width: 600px;
  height: auto;
  line-height: 50px;
  text-align: left;
}
body main section.confirm p.section-text {
  text-align: center;
}
body main section.confirm div.button-area {
  position: relative;
  width: 100%;
  text-align: center;
}
body main section.confirm div.button-area a {
  position: absolute;
  left: 50%;
  display: block;
  width: auto;
  height: 2em;
  font-size: 1em;
  line-height: 2em;
  background-color: #ffffff;
  padding: 10px;
  color: black;
  margin: 50px 0 0;
  transform: translateX(-50%);
}
body main section.semdmail {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  height: auto;
  padding: 25px 10px;
  border-top: solid 1px white;
}
body main section.semdmail div.semdmail p {
  text-align: center;
  padding-top: 30px;
}
body main section.semdmail div.button-area {
  position: relative;
  width: 100%;
  text-align: center;
}
body main section.semdmail div.button-area a {
  position: absolute;
  left: 50%;
  display: block;
  width: auto;
  height: 40px;
  font-size: 1em;
  line-height: 1em;
  background-color: white;
  padding: 10px;
  color: black;
  margin: 50px 0 60px;
  transform: translateX(-50%);
}
body main section.about {
  display: flex;
  flex-wrap: wrap;
  /* 子要素が画面幅に収まるように wrap */
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  /* 余白を追加 */
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.about {
    flex-direction: column;
    padding: 10px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  body main section.about {
    padding: 20px;
  }
}
@media (min-width: 1024px) {
  body main section.about {
    padding: 20px;
  }
}
body main section.about div.hero-profile {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  /* 下部に余白追加 */
}
@media (min-width: 1024px) {
  body main section.about div.hero-profile {
    width: 300px;
    margin-bottom: 10px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  body main section.about div.hero-profile {
    width: 300px;
    margin-bottom: 10px;
  }
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.about div.hero-profile {
    width: 100%;
    margin-bottom: 20px;
  }
}
body main section.about div.hero-profile div.img {
  width: 200px;
  aspect-ratio: 1/1;
  background-color: gray;
  border-radius: 50%;
  box-sizing: border-box;
}
body main section.about div.hero-profile div.img img.hero-profile_img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  /* 画像が枠内に収まるように調整 */
  border-radius: 50%;
  /* 画像を丸くする */
}
body main section.about div.hero-profile ul {
  padding-top: 30px;
  padding-left: 0;
  list-style: none;
}
body main section.about div.hero-profile ul li {
  font-size: 1em;
}
body main section.about div.hero-profile ul li ruby {
  font-weight: bold;
}
body main section.about div.hero-profile ul li ruby rt {
  font-size: 50%;
}
body main section.about div.hero-text {
  background-color: rgba(255, 255, 255, 0.7);
  z-index: -1;
}
@media (min-width: 1024px) {
  body main section.about div.hero-text {
    width: 60%;
    padding: 50px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  body main section.about div.hero-text {
    width: 100%;
    padding: 20px;
  }
}
@media (min-width: 0) and (max-width: 767px) {
  body main section.about div.hero-text {
    width: 100%;
    padding: 20px;
  }
}
body main section.about div.hero-text p {
  color: #000000;
}
body main section.background {
  padding-top: 60px;
}
body div.table-container {
  width: 100%;
}
@media (min-width: 768px) and (max-width: 1023px) {
  body div.table-container {
    overflow-x: scroll;
  }
}
@media (min-width: 0) and (max-width: 767px) {
  body div.table-container {
    overflow-x: scroll;
  }
}
body div.table-container table {
  border-collapse: collapse;
  width: 800px;
  margin: 0 auto;
  font-family: Arial, sans-serif;
  font-size: 1em;
  background-color: rgba(255, 255, 255, 0.7);
  color: #000000;
}
body div.table-container table thead th {
  padding: 10px;
  border: 1px solid #000000;
  text-align: left;
  font-weight: bold;
}
body div.table-container table tbody td {
  padding: 10px;
  border: 1px solid #000000;
  text-align: left;
}
body footer {
  width: 100%;
  height: 80px;
  color: black;
  background-color: white;
}
body footer p {
  text-align: center;
  padding: 20px 0;
}/*# sourceMappingURL=style.css.map */