@charset 'UTF-8';

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; font-weight: normal; } body { line-height: 1; } article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: none; } a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; text-decoration: none; } del { text-decoration: line-through; } abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; } table { border-collapse: collapse; border-spacing: 0; } hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; } input, select { vertical-align: middle; } a { text-decoration: none; color: #000;}

/**
 * 変数
 */

:root {
  --main-color: #95A9B0;
  --sub-color: #007178;
  --main-font: "Zen Old Mincho", serif;
}

/**
 * Common Setting
 */

.trigger {
    cursor: pointer;
}

@media only screen and (max-width: 768px) {
    .trigger {
        -webkit-tap-highlight-color: rgba(0,0,0,0);
        tap-highlight-color: rgba(0, 0, 0, 0);
    }
}

.sp {
  display: none;
}

@media only screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}

/*
.cf::after {
    clear: both;
    content: '';
    display: block;
    height: 0;
}
*/
.content-wrap {
    line-height: 1.786;
    font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    font-size: 16px;
    font-weight: 400;
    text-align: center;
    overflow-x: hidden;
}

@media only screen and (max-width: 768px) {
    .content-wrap {
        font-size: 14px;
    }
}

.g-wrapper img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

/**
 * g-header
 */

.g-header img {
  max-width: 340px;
  margin: 0 auto;
  display: block;
}
@media only screen and (max-width: 768px) {
  .g-header img {
    max-width: 250px;
  }
}


/**
 * sec-common
 */

.sec-common h2,.sec-common h3 {
  color: var(--main-color);
  font-family: var(--main-font);
  font-size: 30px;
  margin-top: 100px;
  margin-bottom: 50px;
}
@media only screen and (max-width: 768px) {
  .sec-common h2,.sec-common h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }
}

.sec-common h3 {
  font-size: 24px;
}
@media only screen and (max-width: 768px) {
  .sec-common h3 {
    font-size: 16px;
    margin-top: 30px;
  }
}

.sec-common p {
  margin-bottom: 20px;
  line-height: 2.0;
}

.links {
  background: var(--sub-color);
  color: #fff;
  font-family: var(--main-font);
  max-width: 400px;
  display: block;
  margin: 0 auto;
  padding: 10px 0;
  letter-spacing: .2em;
}
@media only screen and (max-width: 768px) {
  .links {
    max-width: 350px;
    width: 95%;
  }
}

/**
 * sec-main
 */

.sec-main {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .sec-main {
    width: 100%;
  }
}

/**
 * sec-concept
 */

 .sec-concept img {
  max-width: 400px;
  width: 100%;
  margin-bottom: 20px;
}

/**
 * sec-profile
 */

.sec-profile img {
  max-width: 130px;
  margin-bottom: 20px;
}

/**
 * sec-monthly
 */

.sec-monthly .card {
  border: 2px solid #F0F0F0;
  display: flex;
  margin: 0 auto;
  max-width: 400px;
  text-align: left;
  align-items: center;
  margin-bottom: 20px;
  padding-right: 5px;
}
@media only screen and (max-width: 768px) {
  .sec-monthly .card {
    width: 93%;
  }
}

.sec-monthly .card img {
  width: 150px;
  height: 150px;
  object-fit: cover;
  margin-right: 10px;
}

/**
 * sec-gallery
 */

.sec-gallery .column {
  display: flex;
  flex-wrap: nowrap;
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  .sec-gallery .column {
    flex-wrap: wrap;
  }
}

.sec-gallery .column li {
  flex-basis: 16.66%;
}
@media only screen and (max-width: 768px) {
  .sec-gallery .column li {
    flex-basis: 33.33%;
  }
}


/**
 * footer
 */

.sns ul {
  text-align: center;
}

.sns ul li {
  display: inline-block;
  margin: 10px;
}

.sns ul li a {
  background: #F8F8F8;
  display: block;
  border: solid 1px lightgray;
  width: 40px;
  height: 33px;
  border-radius: 50%;
  text-align: center;
  padding-top: 7px;
}

.sns ul li a i {
  font-family: 'Font Awesome 5 Brands';
  font-style: normal;
  color: var(--sub-color);
  font-size: 25px;
}

.footer {
  margin-top: 100px;
}

.footer img {
  display: block;
  margin: 0 auto;
  max-width: 100px;
  margin-bottom: 10px;
}

.footer .copy {
  text-align: center;
  color: var(--main-color);
  font-size: 12px;
  margin: 50px 0 30px;
}

/**
 * fade-up
 */

.fade-up {
    opacity: 0;
}

.fade-up.show {
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-duration: .8s;
    animation-duration: .8s;
    -webkit-animation-name: anim-fade-up;
    animation-name: anim-fade-up;
}

@-webkit-keyframes anim-fade-up {
  0%{ opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); }
  100%{ opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}

@keyframes anim-fade-up {
  0%{ opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); }
  100%{ opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
