@charset "UTF-8";

body {
  font-family:
    "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "Meiryo", "メイリオ", "sans-serif";
  background: #fff;
  color: #000080;
  /* resetcssの「１」でnavの下に隙間ができるためもとにもどしている */
  line-height: inherit;
  }
article,
aside,
main,
section {
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}
/* マージン中央寄せ ma0atはクラス追加指定用（例：class="sebase ma0at")*/
header,
main,
nav,
footer,
section,
#wrapper,
.ma0at {
  margin: 0 auto;
}
/* ulのbox-sizingは個別指定0427 */
header *, .sticky *, .sebase *
{
  box-sizing: border-box;
}
ul {
  list-style-type: none;
}
header,
main {
  width: 100%;
}
/* section{
  margin-bottom: 2rem;
} */
/* height:auto;なしへ0427 */
img {
  width: 100%;
  max-width: 100%;
}
/* iframe */
iframe {
  width: 100%;
  max-width: 100%;
  /*height:auto;*/
}
a {
  text-decoration: none;
}

/* button {
  background-color: transparent;
} */
section:first-child {
  padding-top: 2rem;
}
/* 段落p */
section p {
  width: 100%;
  /* padding: 0.1rem; */
  /* resetにてpタグには余白０となるように設定されている */
  /* もしpタグ要素内の左右に余白設定するならborder-box指定要 */
  line-height: 1.6;
  padding-bottom: 1em;
}
section p:last-child p{
padding-bottom: 0;
}
/*ナビ*/
/* #nav はこのID名でJQueryを実装することがあるためこのID名を使用している */
nav, #nav {
  /*width: clamp(900px, 78%, 1000px);*/
  /* max-width: 1024px; 128x8 */
  width: 100%;
}
/* nav ul#nav */
nav ul#nav {
  /* display: flex; */
  /* justify-content: space-around; */
  /* list-style: none; */
  /* テスト的に二重で背景色設定 */
  background-color: #6484b4;
}
/* nav ul li paddingは子要素のaタグで */
nav ul li {
  display: block;
  width: 100%;
  background-color: #6484b4;
  text-align: center;
  cursor: pointer;
  transition: all 0.4s; /*変化速度*/
}

/*nav ul li aリンクボタン flexヴァージョンは削除0427 */

/*フォントサイズ指定参照：font-size: min(1rem, 18px);*/
/* nav ul li aタグblock 文字色親要素継承バージョン↓ */
nav ul li a {
  max-width: 699px;
  display: block;
  width: 100%;
  padding: 0.8rem 1rem;
  color: inherit;
  font-weight: 700;
  
}
/* nav ul li aタグinline-block 文字色指定バージョン↓ */
/* nav ul li a {
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 5px 1rem;
  color: #0033cc;
  font-weight: 700;
  
} */
nav ul li:hover {
  background: white;
  /* border-radius:0.8rem; */
}
/* ナビここまで */
/* baseここまで------------------------------------------ */
/* サイト全体設定base2------------------------------------------ */

/* 見出しタグ関連--- */
h1 {
  /* font-size: 2rem; */
  width: 100%;
}
h2{
  padding:0 0 0.2rem 0;
  font-size: 1.4rem;
}
/* h3, h4 {
    text-align: center;
} */

/* 見出しタグ関連ここまで--- */
/* base2ここまで------------------------------------------ */
/* wrapper--body直下の外枠--- */
#wrapper {
  width: 100%;
  max-width: 699px;
  min-width: 378px;
  padding-top: 12rem;
  position: relative;
  background-color: aliceblue;
}
/* wrapperここまで--- */
/* header */
.header_logo{
  width: 100%;
  /* align-items用に高さ指定 */
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.header_logo h1 {
  /* width: min(18vw, 280px); */
  width: min(28vw, 280px);
  /*  */
  /* margin-left: 2.4rem;
  margin-top: 3rem; */
  /*  */
  /* margin: 3rem auto 1.4rem auto; */
  /*  */
  /* margin: auto;
  transform: translateY(1.5rem); */
  /*  */
  /* margin-top: 0.5rem; */
  /* margin-bottom: 1.4rem; */

}

/* article直下のbox */
  /* 枠幅など確認用の枠線指定↓ */
article div {
  width: 100%;
  /* padding: 0 1.6rem; */
  /* border: 1px solid rgba(128, 0, 128, 0.4); */
}
aside div {
  width: min(20vw, 200px);
  /* max-width: 200px; */
  padding: 1rem;
  border: 1px solid #6484b4;
}
footer div {
  background-color: #6484b4;
  padding: 0.5rem 0;
  text-align: center;
  color: #000080;
}
/* ly_inner：main直下のbox。flex設定以外にもサイト構成によってはCSS記述を設定する可能性があるためly_flexとは分けて記述している */
/* .ly_inner {
  display: flex;
} */
/*section子要素用*/
.sebase {
  /* position: relative; */
  /* border: 1px solid #6484b4; */
  width: min(90%, 1024px);
  padding: 0 1.4rem;
  margin-bottom: 1rem;
}
.txindent p {
  text-indent: 1em;
  
}
/* ma0at同様、クラス追加指定で利用可のクラス */
/* .ly_flex {
  display: flex;
} */
/* 装飾 */
/* .decoration::after {
  position: absolute;
  bottom: -2rem;
  right: -2rem;
  display: block;
  border-radius: 18px;
  content: "";
  width: 6rem;
  height: 6rem;
} */
/* --- */
#works ul li{
  padding: 0.5em;
}
#works ul li{
  /* display: block */
  line-height: 1.4em;
}
#works ul li a{
  color: #000080;
  text-decoration: underline;
}
#works ul li a:hover{
  color: #f68607;
  text-decoration: none;
}
#works ul li a:visited{
  color: #c358f9;
  text-decoration: none;
}
/* JQuery関連 CSSアニメーションなど */
/* sticky記述文はbase.cssからは削除------------*/
.fixed {
  /* fixedでbody要素基準 */
  /* position:sticky;で親要素基準 */
  /* 80,-80の設定確認が必要なのでいったん設定を外しておく */
  position: fixed;
  z-index: 999;
  top: 0;
  /* right:3vw; */
}
/*stickyここまで*/
/* slider */
#slide {
  width: 80%;
  max-width: 896px;
}
#slide ul {
  display: block;
  position: relative;
  max-width: 100%;
}

#slide li {
  /* position: absolute; */
  max-width: 100%;
  border-radius: 20px;
  display: block;
}
#slide li img {
  display: block;
  height: auto;
  border-radius: 20px;
}

/* end slider */
/* --Wave-- */
/* --- */
/* body, #wrapper, header{
height: 100vh;
height: 100%;
} */
/* #wrapper{
 background-color: rgb(150, 198, 182);
} */
.wavetopimg .top_image {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  width: 100%;
  /* height: 40vw; */
  /* height: 100vh;
  height: 100%; */
  background-color: rgb(219, 223, 252);
}
.top_image{
   height: 40vw;
}
.wavetopimg .top_image::before {
  position: absolute;
  top: -440%;
  left: -50%;
  border-radius: 50% 50% / 50% 70%;
  width: 200%;
  content: "";
  background-color: hsla(221, 82%, 47%, 0.30);
  animation: wave linear 10s infinite;
}
.top_image::before{
height: 198vw;
}
@keyframes wave {
  from {
      transform: rotate(0deg);
  }

  to {
      transform: rotate(360deg);
  }
}
@media(min-width:700px){
  #wrapper{
    max-width: 1280px;
    min-width: 500px;
    padding-top: 3rem;
  }
  nav ul#nav{
    max-width: 1280px;
    min-width: 500px;
    display: flex;
    justify-content: space-around;
    /* list-style: none; *//*0512*/
  }
  nav ul li{
    width: 25%;
  }
}
@media(min-width:1280px){
.wavetopimg .top_image::before{
  top:-350%;
  width: 2400px;
}
.top_image::before{
  height: 2400px;
}
}