/**
 * 共通のCSS
*/
/*
======================================
base
======================================
*/
:root {
  --background-color: #FDF6F8;
  
  /* --english-color: #aa68aa;
  --footer-color: #f5f5f7; */
  --h2-font-size: 50px;
  --icon-font-family: "Font Awesome 6 Free";
  /* --link-block-color: #c0c0c0; */
  --main-color: #63166E;
  --main-font-family: "Marcellus SC", serif;
  --main-font-size: 16px;
  --sub-font-family: "Zen Old Mincho", serif;
  --third-font-family: 'Noto Sans JP', sans-serif;
  --black-color: #000;
  --text-color: #333;
  --sub-text-color: #8A898A;
  --transition-animation: all 0.3s 0s ease;
  --white-color: #FFF;
  --gradient-start-color: #7148B5;
  --gradient-end-color: #CB1164;
  --news-bg-color: #FAF1FD;
  --card-bg-color: #FEFAFB;
  --border-light-color: #F4EFF0;
  --border-accent-color: #C5AAC9;
  --footer-text-color: #BBAABD;
  --link-btn-color: #8F3255;
}

html {
  scroll-behavior: smooth;
}

/* スクロールアニメーション用のスタイル */
.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* フェードインのみ（位置移動なし） */
.fade-in-only {
  opacity: 0;
  transition: opacity 0.6s ease;
}

.fade-in-only.is-visible {
  opacity: 1;
}

/* 左からフェードイン */
.fade-in-left {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in-left.is-visible {
  opacity: 1;
  transform: translateX(0);
}

/* 右からフェードイン */
.fade-in-right {
  opacity: 0;
  transform: translateX(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in-right.is-visible {
  opacity: 1;
  transform: translateX(0);
}

h1,
h2,
h3,
h4,
dt,
dd {
  font-family: var(--main-font-family);
  font-weight: bold;
  line-height: 1.6;
}


p,
th,
td {
  color: var(--text-color);
  font-family: var(--main-font-family);
  line-height: 1.6;
}

a {
  display: inline-block;
  font-family: var(--main-font-family);
}

.main {
  min-height: 300px;
}

.main--action {
  padding-top: 140px;
}

.wp-block {
  max-width: 1800px;
}

.u-pc {
    display: block;

    @media screen and (max-width: 768px) {
        display: none;
    }
}

.u-sp {
    display: none;

    @media screen and (max-width: 768px) {
        display: block;
    }
}


/*
======================================
media
======================================
*/

@media screen and (max-width: 599px) {
  .viewPc {
    display: none !important;
  }
}
@media screen and (min-width: 600px) {
  .viewSp {
    display: none !important;
  }
}