@charset "utf-8";

/*-- 基本 -----------------------------------------------------*/
html {
  width: 100%;
}

body {
    color: #004ed6;
    width: 100%;
}

a {
    text-decoration: none;
}

ol ul li {
    list-style-type: none;
}

/*-- ハンバーガーメニュー --*/
.hamburgers {
    position: fixed;
    z-index: 999;
    top: 25px;
    right: 15px;
}

.hamburger {
    aspect-ratio: 3 / 4;
    object-fit: cover;
    height: 90px;
    z-index: 999;
    position: relative;
    right: 0;
}

.hamburger2 {
    aspect-ratio: 3 / 4;
    object-fit: cover;
    height: 90px;
    z-index: 999;
    display: none;
    position: relative;
    right: 0;
}

.hamburger-yes {
    display: block !important;
}

.hamburger-no {
    display: none;
}

.nav {
    display: none;
    opacity: 0;
    z-index: 998;
    position: fixed;
    width: 80%;
    top: 0;
    right: 0;
    background-image: url(../images/bouncer.png);
    background-size: 100%;
    height: 540px;
    padding-top: 70px;
    padding-left: 130px;
    transition: all -0.5s;
}

.nav__list {
    list-style-type: none;
}

.nav__list a {
    color: #5d6775;
    font-size: 28px;
    font-weight: bold;
    text-shadow: 5px 2px 5px #FFF;
}

.nav-open {
    display: block;
    opacity: 1;
}

table {
  width: 70%;
  margin: 20px auto;
  border-collapse: collapse;
  background-color: #fff;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3);
}
th, td {
  border: 1px solid #e6f4f1;
  padding: 12px;
  color: #7f8c9f;
}
th {
  background-color: #a3b4d3;
  color: white;
}
td {
  text-align: left;
}

footer {
  height: 50px;
  text-align: center;
  padding: 20px;
}

footer p {
  font-size: 12px;
}

/*-- index.html -----------------------------------------------------*/
.homecver {
    position: relative;
    background: 
    linear-gradient(rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.1)), 
    url(../images/dog4.jpg) no-repeat center bottom; /* 画像の上に半透明の白を重ねる */
    background-size: 85%;
    height: 1008px;
    margin-top: -670px;
    background-color: #e6f4f1;
}

.ribbon {
    font-size: 15px;
    font-weight: bold;
    color: #fff;
}
.ribbon {
    --f: .5em; /* control the folded part*/
    --r: .8em; /* control the ribbon shape */
    position: absolute;
    bottom: 200px;
    right: calc(2.7*var(--f));
    padding-inline: 2.25em;
    line-height: 1.8;
    background: #a3b4d3;
    border-top: var(--f) solid #0005;
    border-left: var(--r) solid #0000;
    clip-path: 
    polygon(0 100%,100% 100%,100% var(--f),calc(100% - var(--f)) 0,
      calc(100% - var(--f)) var(--f),0 var(--f),
      var(--r) calc(50% + var(--f)/2));
}

.ribbon2 {
    bottom: 160px;
    background: #c5d8f3;
}

.homecver2 {
    background: url(../images/lacewhite.png) no-repeat top left;
    background-size: 40%;
    height: 520px;
    width: 540px;
    position: absolute;
    bottom: -180px;
    left: 0;
}

.homecver2 h1 {
    font-size: 45px;
    margin: 25px 25px 0;
}

.homecver2 p {
    font-size: 10px;
    margin: -8px 0 0 170px;
}

.topiconcat {
  display: none;
}

.home-self-introductions {
  position: relative;
  margin: 60px 15px;
}

.titles {
  display: block;
  position: static;
}

.topcontent {
  margin: 0 20px;
  border-bottom: 1px solid #a3b4d3;
  background-image: url(../images/title2.png);
  background-size: 25px;
  width: 190px;
}

.topcontent-title {
  justify-content: space-between;
}

.topcontent a {
  text-align: center;
}

.topcontent-title-right {
  position: absolute;
  right: 0;
}

.comment {
  display: block;
  position: static;
}

.self-introductions img {
  width: 85px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  margin: auto 10px;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3);
}

.self-introductions p {
  margin: 10px;
  word-break: normal;
  overflow-wrap: break-word; /* 長い単語やURLの折り返し対応 */
  line-break: strict; /* 日本語対応にも効果的（必要に応じて） */
}

.self-introductions-left p {
  margin-top: 40px;
}

.self-introductions-mail {
  margin-bottom: 100px;
}

.self-introductions-mail img {
  aspect-ratio: 0;
}

.contact-intro p {
  margin: 35px 25px 25px;
}

/*-- work.html -----------------------------------------------------*/
.work-main  {
  height: 3400px;
}

.firstview-work {
  margin-bottom: -200px;
}

.workcver {
    position: relative;
    background-image: none;
    height: 1255px;
    margin-top: -670px;
}

.workcver2 {
    bottom: 0;
    top: 670px;
}

.ribbon-work {
  display: block;
  position: relative;
  height: 60px;
  line-height: 60px;
  text-align: center;
  padding: 5px 25px;
  margin: 100px auto 20px;
  font-size: 15px;/*フォントサイズ*/
  box-sizing: border-box;
  width: 80%;
}

.ribbon-work h2 {
  margin: 0;
  padding: 0 30px;
  border-top: dashed 1px #FFF;/*上の破線*/
  border-bottom: dashed 1px #FFF;/*下の破線*/
  line-height: 46px;
}

.ribbon-work:before, .ribbon-work:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.ribbon-work:before {
  /*左端の山形*/
  top: 0;
  left: 0;
  border-width: 30px 0px 30px 15px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}

.ribbon-work:after {
  /*右端の山形*/
  top: 0;
  right: 0;
  border-width: 30px 15px 30px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}

.image-container {
            position: absolute;
            z-index: 10;
            top: 0%;
            width: 150px;
            height: auto;
            transition: transform 3s linear;
        }

        /* 画像ごとの初期位置をずらす */
        .circlelace1 { top: 0%; left: -200px; }
        .circlelace2 { top: 20%; left: -250px; }
        .circlelace3 { top: 40%; left: -300px; }
        .circlelace4 { top: 70%; left: -300px; }
        .circlelace5 { top: 90%; left: -300px; }

.worksentence {
  position: relative;
  top: -415px;
  z-index: 11;
  margin: 50px;
  border-radius: 10px;
  padding: 10px;
  text-align: center;
}

.work {
  margin-top: -215px;
}

.work-item {
  height: 600px;
  position: relative;
  margin: 40px auto 0;
  padding: 0 45px;
}

.work-item-img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  height: 290px;
}

.work-item-img-banners {
  display: flex;
  justify-content: space-between;
  margin-left: -30px;
  margin-right: -30px;
}

.work-item-img-banner {
  width: 95%;
  margin-top: -20px;
}

.image-container2 {
            opacity: 0;
            transform: translateY(50px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }

        .show {
            opacity: 1;
            transform: translateY(0);
        }

.work-item-write {
  border-radius: 10px;
  padding: 20px;
  margin-top: -20px;
  width: 320px;
  margin-left: -15px;
}

.work-item-write h2 {
  color: #5c6573;
  margin-top: 5px;
  border-bottom: 1px solid #fff;
  text-align: center;
}

.work-item-write p {
  margin: 10px;
  text-align: center;
}

.work-item2 {
  margin-top: 200px;
}

.work-item3 {
  margin-top: 220px;
}

.work-item4 {
  margin-top: 55px;
}

.work-table {
  width: 100%;
  margin: 0;
}

.work-table th {
  width: 30%;
  padding: 5px;
}

.work-table td {
  padding: 5px 10px;
}

.work-table li {
  margin-left: 15px;
}

.image-container3 {
            opacity: 0;
            transform: translateY(50px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }

        .show {
            opacity: 1;
            transform: translateY(0);
        }


.image-container4 {
            opacity: 0;
            transform: translateY(50px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }

        .show {
            opacity: 1;
            transform: translateY(0);
        }

.image-container5 {
            opacity: 0;
            transform: translateY(50px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }

        .show {
            opacity: 1;
            transform: translateY(0);
        }

.ribbon-work2 {
  margin-top: 165px;
  padding-left: 11px;
  padding-right: 11px;
}

.ribbon-work3 {
  margin-top: 10px;
}

.footer-work {
  margin-top: 1900px;
}

/*-- my.html -----------------------------------------------------*/
.my-self-introductions {
  margin-top: 30px;
  display: flex;
}

.my-self-introductions2 {
  text-align: right;
  margin-right: 20px;
  margin-bottom: 20px;
}

.mycver {
  background: linear-gradient(rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.1)), url(../images/dog3.jpg) no-repeat center bottom;
  background-size: 85%;
  background-color: #e6f4f1;
}

.profile-items {
  text-align: center;
}

.profile-items a {
  color: #004ed6;
}

.profile-items time {
  margin-right: 20px;
}

.profileh2 {
  text-align: center;
  font-size: 1.5em;
  margin: 70px auto 20px;
}

.profile-item {
  margin: 10px;
  border-radius: 10px;
  padding: 10px;
}

.profile-item .profile-item2 {
  margin-bottom: 3px;
}

.profile-item1 {
  font-size: 1.25em;
}

.profile-item2 {
  font-size: 0.75em;
}

.profile-item2 time {
  margin: 0;
}

.profile-item3 {
  font-size: 0.75em;
}

.hyphen {
  height: 45px;
  width: 8px;
  margin: auto;
  border-radius: 10px;
}

.Qualifications {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: center;
}

.Qualifications a {
  color: #a3b4d3;
}

.Qualification {
  margin: 10px;
  border-radius: 10px;
  padding: 10px;
}

#Qualification1 {
  display: none;
}

.Qualification1 {
  display: inline-block;
  cursor: pointer;
  margin: 0 5px;
}

.Qualification1-none {
  display: none;
  padding-top: 5px;
  background-color: #fee7ea;
}

#Qualification1:checked+label+.Qualification1-none {
  display: inline-block;
}

#Qualification2 {
  display: none;
}

.Qualification2 {
  display: inline-block;
  cursor: pointer;
  margin: 0 5px;
}

.Qualification2-none {
  display: none;
  padding-top: 5px;
  background-color: #fef1e7;
}

#Qualification2:checked+label+.Qualification2-none {
  display: inline-block;
}

#Qualification3 {
  display: none;
}

.Qualification3 {
  display: inline-block;
  cursor: pointer;
  margin: 10px 0 0;
}

.Qualification3-none {
  display: none;
  padding-top: 5px;
  background-color: #fdf8d8;
}

#Qualification3:checked+label+.Qualification3-none {
  display: inline-block;
}

#Qualification4 {
  display: none;
}

.Qualification4 {
  display: inline-block;
  cursor: pointer;
  margin: 0 5px;
}

.Qualification4-none {
  display: none;
  padding-top: 5px;
  background-color: #e6f4f1;
}

#Qualification4:checked+label+.Qualification4-none {
  display: inline-block;
}

#Qualification5 {
  display: none;
}

.Qualification5 {
  display: inline-block;
  cursor: pointer;
  margin: 12px 1px;
}

.Qualification5-none {
  display: none;
  background-color: #e2e9f8;
}

#Qualification5:checked+label+.Qualification5-none {
  display: inline-block;
}

/*-- contact.html -----------------------------------------------------*/
.homecver-contact {
  position: relative;
  height: 1008px;
  margin-top: -670px;
}

.section-contact {
  margin-top: -215px;
}

.contactsentence {
  top: -45px;
  padding: 20px;
}

.contactsentence2 {
  margin: 0 auto;
}

.contactsentence ul {
  list-style-type: none;
  margin-top: 15px;
}

.contactsentence li {
  margin-bottom: 10px;
}






