@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
/* ------------------
 グローバル変数
------------------ */
:root {
  /* 色 */
  --main-color: #023894;
  --sub-color: #00CCFF;
  --bg-color: #D9E1EF;
  --gray: #F5F5F5;

  /* 背景 */
  --grad-menu:linear-gradient(90deg, #007AD2 0%, #009251 100%);
  /* 文字サイズ */
	--font-64: 6.4rem;
	--font-48: 4.8rem;
	--font-46: 4.6rem;
	--font-36: 3.6rem;
	--font-34: 3.4rem;
  --font-32: 3.2rem;
  --font-28: 2.8rem;
	--font-24: 2.4rem;
  --font-22: 2.2rem;
  --font-20: 2rem;
	--main-txt: 1.6rem;
  --font-14: 1.4rem;

  /* 幅 */
  --width-1024: 1024px;

  /* 余白 */
  --space-90: 90px;
  --space-65: 65px;
  --space-30: 30px;
}
@media screen and (max-width: 767px) {
  :root {
    /* 文字サイズ */
    --font-48: 3.6rem;
    --font-46: 3.2rem;
    --font-36: 2.4rem;
    --font-34: 2.4rem;
    --font-32: 2.2rem;
    --font-28: 2.2rem;
    --font-24: 2rem;
    --font-22: 1.8rem;
    --font-20: 1.7rem;
    --main-txt: 1.5rem;

    /* 余白 */
    --space-90: 60px;
    --space-65: 45px;
    --space-30: 20px;
  }
}

html {
	scroll-padding-top: 85px;
}
img{
  max-width: 100%;
  height: auto;
}
/* ------------------
 フォント
------------------ */
body {
  font-family: "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-size: var(--main-txt);
	line-height: 1.5;
  font-weight: 500;
	position: relative;
}
.f_san {
  font-family: "Noto Sans JP",'Hiragino Kaku Gothic ProN','Hiragino Sans',Meiryo,sans-serif;
}
.f_bar {
  font-family: "Barlow Condensed", Arial,'Hiragino Kaku Gothic ProN','Hiragino Sans',Meiryo,sans-serif;
}

/* ------------------
 config
------------------ */
:where(a){color: #000;&:hover {opacity: 0.8;}}
:where(h1,h2,h3,h4,h5){line-height: 1.5;}
:where(button){font-family: 'Noto Sans JP';font-size: var(--main-txt);}

/* スマホメニュー非表示 */
.spNav_btn,.spNav_panel {display: none;}

/* スマホ閲覧時のみ表示 */
.sp_block {display: none;}

/* ------------------
 アニメーション
------------------ */
.fade{
  opacity: 0;
  transition:ease-out 0.5s;
}
.fade.fade--left{
  transform: translate(-100px,0)
}
.fade.fade--right{
  transform: translate(100px,0)
}
.fade.fade--bot{
  transform: translate(0,100px)
}
.fade.scrollin{
  opacity: 1;
  transform: translate(0,0);
}
.fade.fade--list{
  opacity: 1;
}
.fade.fade--list .fade_child{
  opacity: 0;
  transition:ease-out 0.5s;
  transform: translate(0,100px)
}
.fade.fade--list.scrollin .fade_child{
  opacity: 1;
  transform: translate(0,0);
}

.fade.fade--list .fade_child:nth-child(1){
  transition-delay: 0.0s;
}
.fade.fade--list .fade_child:nth-child(2){
  transition-delay: 0.15s;
}
.fade.fade--list .fade_child:nth-child(3){
  transition-delay: 0.3s;
}
.fade.fade--list .fade_child:nth-child(4){
  transition-delay: 0.45s;
}
.fade.fade--list .fade_child:nth-child(5){
  transition-delay: 0.6s;
}
.fade.fade--list .fade_child:nth-child(6){
  transition-delay: 0.75s;
}
.fade.fade--list .fade_child:nth-child(7){
  transition-delay: 0.9s;
}
.fade.fade--list .fade_child:nth-child(8){
  transition-delay: 1.05s;
}
.fade.fade--list .fade_child:nth-child(9){
  transition-delay: 1.2s;
}
.fade.fade--list .fade_child:nth-child(10){
  transition-delay: 1.35s;
}
/* ------------------
 レイアウト
------------------ */
.bold{
font-weight: bold;
}
.half{
  background: linear-gradient(transparent 50%,var(--mark) 50%);
}
.mark{
  background: var(--mark);
}
.indent{
  text-indent: -1em;
  padding-left: 1em;
}

/* ------------------
  Backtop
------------------ */
#backtop {
  position: fixed;
  display: block;
  width: 50px;
  height: 50px;
  right: 3%;
  bottom: 50px;
  border-radius: 50%;
  background: rgba(50,50,50,0.9);
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
  z-index: -10;
}
#backtop::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-25%) rotate(-45deg);
  top: 50%;
  left: 0;
  right: 0;
  margin-inline: auto;
}
#backtop.active {
  opacity: 0.6;
  visibility: visible;
  z-index: 50;
}

@media screen and (max-width: 1279px) {
/* 推奨動作環境1280pxに固定 */
  body {
    width: 1280px;
  }
}

@media screen and (min-width: 768px) {
/* PCの場合はtelリンクを無効 */
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

/* iPad調整用 */
@media screen and (orientation: portrait) and (min-width: 768px){}

@media screen and (max-width: 767px) {
  body {
    width: 100%;
  }
.sp_block {display: block;}
.pc_block,.pc_nav {display: none;}
	

}

/* 印刷用設定 */
@media print {
  body {
    width:1280px!important;
    zoom: 0.68;
    -webkit-print-color-adjust: exact;
  }
  .hd_inner{
    position: absolute;
  }
}
@page {
  size: A4;margin: 5px;
}