@charset "UTF-8";

.ColorImage {

        .Color-Main   { color: #79cbf1; }

        .Color-Accent { color: #ffd801; }
        .Color-Accent { color: #70ad57; }
        .Color-Accent { color: #ff7f4e; }
        .Color-Accent { color: #4177c4; }
        .Color-Accent { color: #F6C1CF; }

        .Color-font   { color: #5F6F81; }
        .Color-font   { color: #555; }

        .Color-link   { color: #79cbf1; }
        .Color-link   { color: #F2E8DF;}

}

/*=====================================

      ---------------------------
        font
      ---------------------------
        - title  : Baloo Thambi 2
        - text   :
      ---------------------------
        Structure
      ---------------------------
        - 0.General
        - 1.Header
        - 2.Contents
        - 3.Footer
        - 4.Space

=====================================*/


/*=====================================

      0.General

======================================*/

/*    0.1 Import
======================================*/

@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?xzxaxg');
  src:  url('../fonts/icomoon.eot?xzxaxg#iefix') format('embedded-opentype'),
        url('../fonts/icomoon.ttf?xzxaxg') format('truetype'),
        url('../fonts/icomoon.woff?xzxaxg') format('woff'),
        url('../fonts/icomoon.svg?xzxaxg#icomoon') format('svg');
}
[class^="icon-"], [class*=" icon-"] {
  font-family: 'icomoon' /*!important*/;
}

/*    0.2 Other
======================================*/
* {
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
  /* ▼ スマホ横にしても文字が大きくならない */
  -moz-text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
  -ms-text-size-adjust:100%;
}
body {
  position: relative;
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  background-image: repeating-linear-gradient(120deg, #f5f5f5, #f5f5f5 1px, transparent 1px, transparent 4px);
  font-family:"Inter","Noto Sans JP","Hiragino Sans",-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight: 400;
  color: #555;
  letter-spacing: 0.1em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img {
  max-width:100%;
  height: auto;
}
a {
  color: #79cbf1;
  text-decoration: none;
  transition: .2s ease-in-out;
}
a:hover {
  color: #F2E8DF;
}
.clearfix::after {
  display: block;
  clear: both;
  content: " ";
}

/*=====================================

      1.Header

======================================*/

header.header {
  height: 100%;
  width: 100%;
  max-width: 95rem;
  margin: 0 auto;
  padding: 5rem 0 0 0;
}
.headerInner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  margin: 0 5rem;
}

/*    1.1 Logo,Title
======================================*/
h1 {
  margin: 0;
  font-size: 3.2rem;
  font-weight: 500;
  font-family: 'Baloo Thambi 2', cursive;
	letter-spacing : 0.2rem;
}
h1 a {
  display:flex;
  align-items:center;
  gap:.5rem;
  color:#79cbf1;
}
/* ロゴ */
.logo {
  width:5rem;
  height:5rem;
  background:url(../img/logo.png) no-repeat center;
  background-size:contain;
  transition:transform .3s;
  will-change: transform;
}
h1 a:hover .logo {
  animation: fishSwim 2.5s ease-in-out infinite;
  transform-origin: center;
}
h1 a:hover { color: #79cbf1; }
@keyframes fishSwim{
  0%{ transform:translateX(0) rotate(0deg); }
  25%{ transform:translateX(2px) rotate(3deg); }
  50%{ transform:translateX(4px) rotate(0deg); }
  75%{ transform:translateX(2px) rotate(-3deg); }
  100%{ transform:translateX(0) rotate(0deg); }
}
h1 a{
  position:relative;
}
/* 泡 */
h1 a::after{
  content:"";
  position:absolute;
  left:0;
  top:1.2rem;
  width:6px;
  height:6px;
  background:#fff;
  border: 1px solid #79cbf1;
  border-radius:50%;
  opacity:0;
}
h1 a:hover::after{ animation:bubble 1.2s ease-out infinite; }
/* 2つ目の泡 */
h1 a::before{
  content:"";
  position:absolute;
  left:.5rem;
  top:2.6rem;
  width:3px;
  height:3px;
  background:#fff;
  border: 1px solid #79cbf1;
  border-radius:50%;
  opacity:0;
}
h1 a:hover::before{ animation:bubble2 1.4s ease-out infinite; }
@keyframes bubble{
  0%{
    transform:translateY(0) scale(1);
    opacity:.8;
  }
  100%{
    transform:translateY(-20px) scale(1.6);
    opacity:0;
  }
}
/* 2つ目の泡アニメ */
@keyframes bubble2{
  0%{
    transform:translateY(0) scale(1);
    opacity:.8;
  }
  100%{
    transform:translateY(-25px) scale(1.4);
    opacity:0;
  }
}


/*
h1 a {
  display: inline-block;
  padding: 0.5rem 0 0.5rem 5.5rem;
  background: url(../img/logo.png);
  background-repeat: no-repeat;
  background-position: left center;
  -webkit-background-size: 4.5rem auto;
  background-size: 5rem auto;
  color: #79cbf1;
  transition: transform 0.3s;
}
h1 a:hover {
  color: #79cbf1;
  animation: logoFloat 1.6s ease-in-out infinite;
}

@keyframes logoFloat {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-6px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
  */

/*    1.2 Navi
======================================*/
.headerInner nav.pc-nav {
  margin: 0 0 0 auto;
}
.headerInner nav.pc-nav ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
.headerInner nav.pc-nav ul li {
  position: relative;
  margin: 0 0 0 1.5rem;
  padding-bottom: 1.4rem;
  align-items: flex-start;
  font-size: 1.8rem;
  font-weight: 500;
  font-family: 'Baloo Thambi 2','icomoon', cursive;
  letter-spacing : 0.03em;
  position: relative;
  display: inline-block;
}
.headerInner nav.pc-nav ul li a { color:#5F6F81; }
.headerInner nav.pc-nav > ul > li::before {
  position: absolute;
  top: -20px;
  left: 50%;
  content: "\e902";
  transform: translate(-50%, 10px) scale(0);
  opacity: 0;
  transition: all 0.3s ease;
  color:#79cbf1;
}
.headerInner nav.pc-nav > ul > li:hover::before {
  transform: translate(-50%, 0) scale(1.2);
  opacity: 1;
}
/* nav icon */
.headerInner nav.pc-nav > ul > li.icon-01:before { content: "\e906"; font-size: 1.8rem;  }/*home*/
.headerInner nav.pc-nav > ul > li.icon-02:before { content: "\e901"; font-size: 1.5rem; }/*about*/
.headerInner nav.pc-nav > ul > li.icon-03:before { content: "\e90a"; font-size: 1.7rem; top: -21px; }/*blog*/
.headerInner nav.pc-nav > ul > li.icon-04:before { content: "\e922"; font-size: 1.3rem; }/*gallery*/
.headerInner nav.pc-nav > ul > li.icon-05:before { content: "\e904"; font-size: 1.5rem; top: -18px; }/*contact*/

/* ▼ ドロップダウン本体 */
.dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border-radius: 5px;
  padding: 10px 0;
  overflow: hidden;
  max-height: 0;
  z-index: 100;
  border: 0 solid #eee;
  transition: max-height 0.6s cubic-bezier(.25,.8,.25,1),
              opacity 0.6s ease,
              border-width 0.5s ease;
}
.dropdown-parent:hover .dropdown {
  max-height: 300px;
  border-color: #eee;
  border-width: 1px;
  opacity: 1;
  transition: max-height 2s cubic-bezier(.25,.8,.25,1),
              opacity 0.8s ease,
              border-width 0.5s ease;
}
/* 中身 */
.headerInner nav ul li.dropdown-parent .dropdown li {
  position: relative;
  width: 180px;
  margin: 0;
  padding: 0;
  border-radius: 5px;
}
.headerInner nav ul li.dropdown-parent .dropdown li a { 
  display: block;
  padding: 1.5rem;
  width: 100%;
  color: #5F6F81;
  text-decoration: none;
}
.headerInner nav ul li.dropdown-parent .dropdown li a::before { content: none; }
.headerInner nav ul li.dropdown-parent .dropdown li a::after {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  right: 10px;
  content: '\e90b';
  font-size: 1rem;
  padding-left: 0.2rem;
}
.headerInner nav ul li.dropdown-parent .dropdown li a:hover {  background: #79cbf1; color: #fff; }
.headerInner nav ul li.dropdown-parent .dropdown li:nth-child(1) a {
  border-bottom: 1px solid #eee; }
.dropdown-parent > a { pointer-events: none;cursor: default; }
/*ドロップダウンに触れた時Blogの文字色を維持する
.headerInner nav ul li.dropdown-parent:hover > a { color: #79cbf1; }
.headerInner nav ul li.dropdown-parent .dropdown li a:hover { background: #79cbf1; color: #fff; }*/

/*    1.3 スマホナビ非表示
======================================*/
.sp-nav { display: none; }

/*=====================================

      2.Contents

======================================*/

.wrap {
  width: 100%;
  height: 100%;
  max-width: 95rem;
  margin: 0 auto;
}
main {
  margin: 0 5rem;
  padding: 3rem;
  border: 1px solid #eee;
  border-radius: 10px;
  background-color: #fff;
}

/*    2.2 ContentsHeader
======================================*/
/*.c-Header {}*/
/* パンくずリスト */
.pan {
  margin-bottom: 2rem;
  font-family: 'Baloo Thambi 2','icomoon', cursive;
  font-weight: 500;
}
.pan ol {
  display: flex;
  list-style: none;
  font-size: 1.4rem;
  letter-spacing : 0.1rem;
  flex-wrap: wrap;
}
.pan li { margin: 0 0.8rem 1.4rem 0; }
.pan li.panHome a:before {
  margin-right: 0.3rem;
  content: "\e900";
}
.pan li::before { content: "> "; }
.pan li:first-child::before { content: ""; }
.ft-j span,
.ft-j2 span {
  font-size: 1.2rem;
  font-family:'Lato',Helvetica Neue,Arial,Hiragino Sans,Hiragino Kaku Gothic ProN,BIZ UDPGothic,Meiryo,sans-serif;
}
.ft-j span:before {
  padding-left: 3px;
  padding-right: 1px;
  font-size: 1rem;
  font-family: 'icomoon';
  content: "\e918";
  transition: .2s ease-in-out;
}
/* 各ページタイトル吹き出し */
h2.c-Ttl {
  font-size: 40px;
  font-weight: bold;
  padding: 30px 30px;
  margin-bottom: 1em;
  color: #ffffff;
  background-color: #79cbf1;
  background-image: linear-gradient(90deg, #ffffff1a 2px, transparent 2px), linear-gradient(#ffffff1a 2px, transparent 2px);
  background-position: 10px 10px;
  background-size: 8px 8px;
  box-shadow: 5px 5px 0 0px #f5f5f5;
  border-radius: 5px;
}
.c-Ttl-in {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border-bottom: dashed 2px #fff;
}
.c-Ttl-in span.c-Ttl-l {
  padding-bottom: 1rem;
  font-size: 2.5rem;
  font-family: 'Baloo Thambi 2','icomoon', cursive;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing : 0.3rem;
}
.c-Ttl-in span.c-Ttl-l-01:before,
.c-Ttl-in span.c-Ttl-l-02:before,
.c-Ttl-in span.c-Ttl-l-03:before {
  margin-right: 0.5rem;
  font-size: 2rem;
}
.c-Ttl-in span.c-Ttl-l-04:before {
  margin-right: 1rem;
  font-size:1.7rem;
}
.c-Ttl-in span.c-Ttl-l-01:before { content: "\e901"; }/*about*/
.c-Ttl-in span.c-Ttl-l-02:before { content: "\e922"; }/*gallery*/
.c-Ttl-in span.c-Ttl-l-03:before { content: "\e904"; }/*contact*/
.c-Ttl-in span.c-Ttl-l-04:before { content: "\e916"; }/*search*/
.c-Ttl-in span.c-Ttl-r {
  margin: 0 0 0 auto;
  padding-bottom: 1rem;
  font-size: 1.1rem;
  letter-spacing : 0.3rem;
}

/*    2.3 ContentsMain
======================================*/
.c-main {
  margin: 0 3rem 0 3rem;
  font-size: 1.5rem;
}
.c-main p {
  /*margin-bottom: 1rem;*/
  line-height: 2;
}

/*    2.4 sideNav
======================================*/
.sideNav {
  position:fixed;
  bottom: 20px;
  right: calc(calc(100vw - 100rem) / 2);
}
.sideNav ul {
  list-style: none;
}
.sideNav ul li a { display:block; }
.topBtn,
.sideTw {
  position: relative;
  width: 40px;
  height: 40px;
  margin-top: 1rem;
  border-radius: 50%;
  box-sizing: border-box;
  text-decoration: none;
  text-align: center;
  background-color: #fff;
}
.topBtn { color: #5DBAF0; border: 2px solid #5DBAF0; }
.sideTw { color: #888; border: 2px solid #888; }
.topBtn:before,
.sideTw:before {
  position:absolute;
  left:0;
  width:100%;
  font-family: 'icomoon';
  text-align:center;
}
.topBtn:before {
  content:'\e908';
  top: 8px;
  font-size: 1.8rem;
}
.sideTw:before {
  content:'\e91b';
  top: 7px;
  font-size: 2.4rem;
}

.topBtn:hover,
.sideTw:hover {
  background-color: #fff;
  text-decoration: none;
}
.topBtn:hover { color: #fff; background-color: #5DBAF0; }
.sideTw:hover { color: #fff; background-color: #888; }

/*=====================================

      3.Footer

======================================*/

footer.footer {
  height: 100%;
  width: 100%;
  max-width: 95rem;
  margin: 0 auto;
  padding: 1.5rem 0;
  font-weight: 500;
  font-family:-apple-system,BlinkMacSystemFont,"Inter","Noto Sans JP","Hiragino Sans",sans-serif;
}
.footerInner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  margin: 0 5rem;
  letter-spacing: 0.05em;
}
.copy {
  font-size: 1.2rem;
  flex: 1;
}
.f-txt { font-size: 1rem; }
.kiri {
  font-size: 1rem;
  text-align: right;
}
.footer-sp { display: none; }

/*=====================================

      4.Space

======================================*/

.mt05 { margin-top: 0.5rem!important;    }
.mt10 { margin-top: 1rem!important;      }
.mt15 { margin-top: 1.5rem!important;    }
.mt20 { margin-top: 2rem!important;      }
.mt25 { margin-top: 2.5rem!important;      }

.mr05 { margin-right: 0.5rem!important;  }
.mr10 { margin-right: 1rem!important;    }
.mr15 { margin-right: 1.5rem!important;  }
.mr20 { margin-right: 2rem!important;    }
.mr25 { margin-right: 2.5rem!important;    }

.mb05 { margin-bottom: 0.5rem!important; }
.mb10 { margin-bottom: 1rem!important;   }
.mb15 { margin-bottom: 1.5rem!important; }
.mb20 { margin-bottom: 2rem!important;   }
.mb25 { margin-bottom: 2.5rem!important;   }

.ml05 { margin-left: 0.5rem!important;   }
.ml10 { margin-left: 1rem!important;     }
.ml15 { margin-left: 1.5rem!important;   }
.ml20 { margin-left: 2rem!important;     }
.ml25 { margin-left: 2.5rem!important;     }

.pt05 { padding-top: 0.5rem!important;    }
.pt10 { padding-top: 1rem!important;      }
.pt15 { padding-top: 1.5rem!important;    }
.pt20 { padding-top: 2rem!important;      }
.pt25 { padding-top: 2.5rem!important;      }

.pr05 { padding-right: 0.5rem!important;  }
.pr10 { padding-right: 1rem!important;    }
.pr15 { padding-right: 1.5rem!important;  }
.pr20 { padding-right: 2rem!important;    }
.pr25 { padding-right: 2.5rem!important;    }

.pb05 { padding-bottom: 0.5rem!important; }
.pb10 { padding-bottom: 1rem!important;   }
.pb15 { padding-bottom: 1.5rem!important; }
.pb20 { padding-bottom: 2rem!important;   }
.pb25 { padding-bottom: 2.5rem!important;   }

.pl05 { padding-left: 0.5rem!important;   }
.pl10 { padding-left: 1rem!important;     }
.pl15 { padding-left: 1.5rem!important;   }
.pl20 { padding-left: 2rem!important;     }
.pl25 { padding-left: 2.5rem!important;     }