@charset "utf-8";



/*3. ロゴが画像で高さを中央寄せ */
.header3 {
 display: flex;
 justify-content: space-between;
 /* これで、ロゴの高さにメニューをあわせる */
 align-items: center;

 background: #9eceff;
 padding: 30px;
 color: #000000;
}

.header3 .header-logo {
 width: 180px;
 height: auto;
}

.header3 .header-logo img {
 max-width: 100%;
}

.header3 .header-menu a {
 text-decoration: none;
 color: #000000;
 padding: 0 10px;
}

.header3 .header-menu a:hover,
.header3 .header-menu a.active {
   border-bottom: 2px solid #ffff33;
  padding-bottom: 10px;
}


/** 2. メニューをホバーした時に下線ができる */
.header2 {
 display: flex;
 justify-content: space-around;

 background: #1e90ff;
 padding: 30px;
 color: #000000;
}

.header2 .header-menu a {
 text-decoration: none;
 color: #ffffff;
 padding: 0 30px;
}

.header2 .header-menu a:hover,
.header2 .header-menu a.active {
 border-bottom: 2px solid #ffff33;
 padding-bottom: 10px;
}










h1 {
  padding: 0.4em 0.5em;/*文字の上下 左右の余白*/
  color: #000000;/*文字色*/
  background: #ffff33;/*背景色*/
  border-left: solid 5px #1e90ff;/*左線*/
  border-bottom: solid 3px #d7d7d7;/*下線*/
}

h2 {
  padding: 0.5em;/*文字周りの余白*/
  color: #000000;/*文字色*/
  background: #afeeee;/*背景色*/
  border-left: solid 5px #1e90ff;/*左線（実線 太さ 色）*/
}

h4 {
  border-bottom: solid 3px #ffdb4f;
  position: relative;
}

h4:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #2ca9e1;
  bottom: -3px;
  width: 30%;
}


article {
    width: 800px;
    margin-right: auto;
    margin-left: auto;
}


header {
    width: 960px;
    margin-right: auto;
    margin-left: auto;
}

footer {
    background-color: #ffff66;
    width: 100%;
    margin-right: auto;
    margin-left: auto;    
}


box29{
    margin: 2em 0;
    background: #dcefff;
}
box29 .box-title {
    font-size: 1.2em;
    background: #5fb3f5;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}


/*
box29 p {
    padding: 15px 20px;
    margin: 0;


a.tj-btn-1 {
   position:relative;
   text-align:center;
   display:inline-block;
   margin:10px 0;
   padding:.6em 2em .6em 1em;
   font-size:15px;
   font-weight:bold;
   line-height:1.3em;
   text-decoration:none;
   color:black;
   background:orange;
    transition: .4s;
    list-style:none;
}

a.tj-btn-1:after{
   position:absolute;
   top:50%;
   right:.5em;
   transform: translateY(-50%);
   content: "≫";
   animation:infinite movearrow 1.5s ;
}

a.tj-btn-1:hover {
  background: orangered;
  color: white;
}



    
btn{
  display: inline-block;
  max-width: 180px;
  text-align: left;
  border: 2px solid #9ec34b;
  font-size: 16px;
  color: #9ec34b;
  text-decoration: none;
  font-weight: bold;
  padding: 8px 16px;
  border-radius: 4px;
  transition: .4s;
}

btn:hover{
  background-color: #9ec34b;
  border-color: #cbe585;
  color: #FFF;
}

btn{
  display: inline-block;
  text-decoration: none;
  color: #668ad8;
  width: 120px;
  height: 120px;
  line-height: 120px;
  border-radius: 50%;
  border: solid 2px #668ad8;
  text-align: center;
  overflow: hidden;
  font-weight: bold;
  transition: .4s;
}

btn:hover {
  background: #b3e1ff;
}

.box1 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
}
.box1 .Memo {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #95ccff;
    font-weight: bold;
}
.box1 p {
    margin: 0; 
    padding: 0;
}
*/


/*ボタン基本*/
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /*font-size: 62.5%;rem算出をしやすくするために*/
}

.btn,
a.btn,
button.btn,
a.tj-btn-1 {
  /*font-size: 1.6rem;*/
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}



/*Next*/
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.btn,
a.btn,
button.btn {
  font-size: 1.0rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 10rem 4rem;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn-flat-2 {
  overflow: hidden;

  padding: 1rem 4rem;

  color: #000;
  border-radius: 0;
  background: #66ffff;
}

a.btn-flat-2 span {
  position: relative;
  z-index: 1;
}

a.btn-flat-2:before {
  position: absolute;
  top: 0;
  left: calc(-150% + 50px);

  width: 150%;
  height: 500%;

  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: rotate(45deg) translateX(0) translateY(0);
  transform: rotate(45deg) translateX(0) translateY(0);

  background: #ffff66;
}

a.btn-flat-2:after {
  position: absolute;
  top: -400%;
  right: calc(-150% + 50px);

  width: 150%;
  height: 500%;

  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: rotate(45deg) translateX(0) translateY(0);
  transform: rotate(45deg) translateX(0) translateY(0);

  background: #ffff66;
}

a.btn-flat-2:hover:before {
  -webkit-transform: rotate(45deg) translateX(0) translateY(-50%);
  transform: rotate(45deg) translateX(0) translateY(-50%);
}

a.btn-flat-2:hover:after {
  -webkit-transform: rotate(45deg) translateX(0) translateY(50%);
  transform: rotate(45deg) translateX(0) translateY(50%);
}





/*Back*/
a.btn-flat-1 {
  overflow: hidden;

  padding: 1rem 4rem;

  color: #000;
  border-radius: 0;
  background: #66ffff;
}

a.btn-flat-1 span {
  position: relative;
  z-index: 1;
}

a.btn-flat-1:before {
  position: absolute;
  top: 0;
  left: calc(-150% + 50px);

  width: 150%;
  height: 500%;

  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: rotate(45deg) translateX(0) translateY(0);
  transform: rotate(45deg) translateX(0) translateY(0);

  background: #66b2ff;
}

a.btn-flat-1:after {
  position: absolute;
  top: -400%;
  right: calc(-150% + 50px);

  width: 150%;
  height: 500%;

  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: rotate(45deg) translateX(0) translateY(0);
  transform: rotate(45deg) translateX(0) translateY(0);

  background: #66b2ff;
}

a.btn-flat-1:hover:before {
  -webkit-transform: rotate(45deg) translateX(0) translateY(-50%);
  transform: rotate(45deg) translateX(0) translateY(-50%);
}

a.btn-flat-1:hover:after {
  -webkit-transform: rotate(45deg) translateX(0) translateY(50%);
  transform: rotate(45deg) translateX(0) translateY(50%);
}






/*ボタン横からver.*/
/*a.btn-flat*/
a.tj-btn-1{
  overflow: hidden;
  padding: 0.7rem 3rem;
  color: #fff;
  border-radius: 0;
  background: #7b68ee;
  text-decoration:none;
}

/*a.btn-flat*/
a.tj-btn-1 span {
  position: relative;
}

/*a.btn-flat*/
a.tj-btn-1:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: translateX(-96%);
  transform: translateX(-96%);
  background: #fa8072;
  /*color:black;*/
}

/*a.btn-flat*/
a.tj-btn-1:hover:before {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  
}

a.tj-btn-1:hover{
    /*position: absolute;*/
    color:white; 
}









.hitokoto{
  background: rgba(135, 206, 235, 0.51);
  margin: 2em 0;
  padding: 25px;
  border-radius: 10px;
}

.hitokoto-circle1{
  font-size: 16px;
  line-height: 1.5;
  position: absolute;
  margin-top: -37px;
  font-weight: bold;
  color: #fff;
  background-color:#4169e1;
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}

.hitokoto-circle1:after{
  content: "E";
  position: absolute;
  margin-top: .2em;
  font-weight: bold;
  color: #fff;
  background-color:#4169e1;
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}

.hitokoto-circle2:before{
  content: "";
  position: absolute;
  top: 100%;
  margin-left: -12px;
  border: 5px solid transparent;
  border-top: 10px solid #4169e1;
  -ms-transform: rotate(-20deg);
  -webkit-transform: rotate(-20deg);
  transform: rotate(-20deg);
}

.hitokoto-circle2{
  position: absolute;
  font-size: 16px;
  line-height: 1.5;
  margin-top: -37px;
  margin-left: 40px;
  font-weight: bold;
  color: #fff;
  background-color:#4169e1;
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}

.hitokoto-circle2:after{
  content: "O";
  position: absolute;
  margin-top: .2em;
  font-weight: bold;
  color: #fff;
  background-color:#4169e1;
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}

.hitokoto p{
  margin: 0;
  padding: 0;
}




