@charset "utf-8";

/*
Theme Name:OL
Author: Unigraphic
Description: Bootstrap v4.6.0をベースにしたデフォルトテーマ

last edit: 2022.2.21
*/

/*フォント設定*/
html {
  font-size: 10px; /* initial 10px */
}

body {
  font-family: "Noto Sans JP", "Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",
    "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic",
    sans-serif;
  font-size: 1.6rem; /* default font-size 16px */
  font-weight: 300;
  line-height: 1.5;
  color: #3c3c3c;
}

/*----------------------------------------------------------
/* リセット・基本定義
-----------------------------------------------------------*/
/* 段落 */
p {
  margin: 0.5em 0 1.5em 0;
}

/* アンカー */
a,
a:link,
a:visited {
  text-decoration: none;
  color:#a51d25;
}
a:active,
a:hover {
  text-decoration: underline;
}

/*** リスト ***/
ul,
ul li {
  padding: 0;
}
ul li {
  list-style: none;
}

/*** イメージ ***/
img{
  max-width: 100%;
  height:auto;
}


/*----------------------------------------------------------
/* レイアウト
-----------------------------------------------------------*/
/*** 下層ページのみボディ背景あり ***/
body::before {
  display: block;
  content: "";
  width: 100%;
}
/* ホーム画面は背景なし */
.home::before,
.page-template-home-test::before {
  content:none !important;
}

.wrapper {
  margin: 0 auto 0;
}
#home-wrapper{
  padding: 140px 0 0;
  background-color: #f0f5f7;
}
#mainslide-box{
  margin: 0 auto 0;
  padding:0;
  overflow: hidden;
}
article {
  padding: 10px 0;
  background-color: #f0f5f7;
}
section {
  margin: 0 auto 0;
}
section .section-inner {
  margin: 0 auto 0;
  padding: 0 15px;
  width: 100%;
  max-width: 1000px;
}
@media screen and (max-width: 767px) {
  body::before {
    height: 220px;
    background: url("./images/home/main-image_sp.jpg") center 40% / cover no-repeat;
  }
}
@media screen and (min-width: 768px) {
  body::before {
    height: 250px;
    background: url("./images/home/main-image_pc.jpg") center -100% / cover no-repeat;
  }
  #home-wrapper{
    padding: 90px 0 0;
  }
  article {
    padding: 60px 0;
  }
}
@media screen and (min-width: 1200px) {
  body::before {
    background: url("./images/home/main-image_pc.jpg") center 11% / cover no-repeat;
  }
  section .section-inner {
    padding: 0 0;
  }
}
@media screen and (min-width: 1500px) {
  body::before {
    background: url("./images/home/main-image_pc.jpg") center 18% / cover no-repeat;
  }
}

/*----------------------------------------------------------
/* スライド／2022.2
-----------------------------------------------------------*/
/*** flexslider.css override ***/
/* dot navi */
.page-template-home-test .metaslider .flex-control-nav,
.home .metaslider .flex-control-nav{
  bottom:-20px;
}
.page-template-home-test .flex-control-paging li a,
.home .flex-control-paging li a{
  margin: 0 4px !important;
  width:14px;
  height:14px;
  background-color:#fff !important;
  border:solid 1px #D3E1E7 !important;
}
.page-template-home-test .flex-control-paging li .flex-active,
.home .flex-control-paging li .flex-active{
  background-color:#4F8196 !important;
}
.page-template-home-test .metaslider .flexslider .flex-direction-nav li a,
.home .metaslider .flexslider .flex-direction-nav li a{
  width:40px;
  height:40px;
  transform: translateY(-10%);
}

/*----------------------------------------------------------
/* ヘッダー
-----------------------------------------------------------*/
header {
  position: fixed;
  top: 0;
  left: 0;
  margin: 0 auto 0;
  padding: 0;
  width: 100%;
  background-color: #fff;
  box-shadow: 0px 8px 9px 0px rgba(163,177,198,0.4);
  z-index: 10;
}
/** 内包含 **/
header .header-inner {
  position: relative;
  margin: 0 auto 0;
  width: 100%;
  max-width: 1000px;
  background-color: #fff;
}
header .header-inner,
header .header-inner .hd-institution {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
}
/*** ロゴ・タイトル ***/
header .header-inner .hd-institution .institution-name {
  margin: 0;
  line-height: 1.2;
  font-weight: 900;
  color: #3c3c3c;
}
header .header-inner .hd-institution .institution-name span {
  display: block;
  width: 100%;
  font-weight: 300;
  font-size: 1rem;
  color: #707070;
}
/** 日本語←→英語スイッチボタン **/
.lang-switch-btn {
  position: absolute;
  bottom: -47px;
  right: 0;
  z-index: -2;
}
.lang-switch-btn > li {
  list-style: none !important;
}
.lang-switch-btn a {
  display: block;
  width: 105px;
  height: 27px;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  line-height: 27px;
  text-align: center;
  font-size: 1.4;
  color: #707070;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0px 0px 10px #00000033;
  transition: all 0.2s ease;
}
.lang-switch-btn a:hover {
  text-decoration: none;
  color: #fff;
  background-color: #707070;
}
@media screen and (max-width: 767px) {
  /** 内包含 **/
  /* 日 */
  header .header-inner {
    padding: 14px 25px 30px 25px;
  }
  /* 英 */
  header .header-inner.en {
    padding: 14px 10px 14px 10px;
  }

  /*** ロゴ・タイトル ***/
  header .header-inner .hd-institution {
    width: calc(100% - 50px);
  }
  header .header-inner .hd-institution .official-logo {
    margin-right: 6px;
    width: 78px;
  }
  header .header-inner .hd-institution .institution-name {
    width: calc(100% - 84px);
    font-size: 1.6rem;
  }
  header .header-inner .hd-institution .institution-name span {
    position: absolute;
    bottom: 14px;
    left: 0;
    width: 100%;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  /** 内包含 **/
  header .header-inner {
    padding: 20px 14px;
  }
  /* ロゴ・タイトル */
  header .header-inner .hd-institution {
    width: 52%;
  }
  header .header-inner .hd-institution .official-logo {
    margin-right: 15px;
    width: 100px;
  }
  header .header-inner .hd-institution .institution-name {
    width: calc(100% - 115px);
    font-size: 1.8rem;
  }
  header .header-inner .hd-institution .institution-name span {
    margin-top: 2px;
    width: 100%;
  }
  /* メニュー */
  header .header-inner #hd-menu-pc {
    position: relative;
    width: 48%;
    z-index:1;
  }
  header .header-inner #hd-menu-pc ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 0;
    width: 100%;
  }
  header .header-inner #hd-menu-pc ul > li {
    line-height: 1.2;
    list-style: none !important;
  }
  header .header-inner #hd-menu-pc ul > li:nth-of-type(n + 2) {
    margin-left: 15px;
  }
  header .header-inner #hd-menu-pc ul li a {
    font-size: 1.4rem;
    font-weight: 300;
    color: #3c3c3c;
    transition: all 0.2s ease;
  }
  header .header-inner #hd-menu-pc ul li a:hover {
    text-decoration: none;
    color: #b32c35;
  }
  /* 英／メニュー */
  header .header-inner #hd-menu-pc.en ul li a {
    font-size: 1.3rem;
  }
  /** 日本語←→英語スイッチボタン **/
  .lang-switch-btn {
    top: 20px;
    right: 14px;
    bottom:0;
    z-index: 0;
  }
  .lang-switch-btn a {
    border:solid 1px #D3E1E7;
    box-shadow: none;
  }
}
@media screen and (min-width: 1200px) {
  header {
    padding: 0 0;
  }
}

/*----------------------------------------------------------
/* ヘッダー／SPメニュー
-----------------------------------------------------------*/
/* ボタン */
.spmenu-btn {
  cursor: pointer;
  background: url("./images/common/sp-menu-btn_close.jpg") center center / 50px no-repeat;
}
.spmenu-btn img {
  transition: all 0.2s ease;
}
.spmenu-btn.active img {
  opacity: 0;
}
/** ウインドウオープン **/
#sp-menu-box.active {
  transform: translateX(0%);
  opacity: 1;
}
/** 基本設定／メニュー包含 **/
#sp-menu-box {
  position: fixed;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 90px 0 20px 0;
  width: 100%;
  height: calc(100vh - 80px);
  text-align: center;
  background: rgba(240, 245, 247, 0.95);
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  transition: all 0.2s cubic-bezier(0.25, 1, 0.5, 1);
  opacity: 0;
  box-shadow: 0px 6px 14px -6px rgba(0, 0, 0, 0.3);
  z-index: -1;
}
/*** メニュー ***/
/* 包含 */
#sp-menu-box > div,
#sp-menu-box > div > ul {
  margin: 0 auto;
  width: 100%;
}
#sp-menu-box > div > ul {
  padding-left: 0 !important;
}
#sp-menu-box > div > ul,
#sp-menu-box > div > ul li {
  list-style: none !important;
}
#sp-menu-box > div > ul > li:nth-of-type(n + 2) {
  margin-top: 10px;
}
#sp-menu-box > div > ul > li a {
  display: block;
  padding: 14px;
  text-align: center;
  font-size: 2.5rem;
  font-weight: 400;
  color: #3c3c3c;
  transition: all 0.2s ease;
}
#sp-menu-box > div > ul > li a:hover {
  text-decoration: none;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
}
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1200px) {
}

/*----------------------------------------------------------
/*  ホーム／共通
-----------------------------------------------------------*/
#home-wrapper .section-inner h2 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 20px 0;
  font-size: 3.8rem;
  font-weight: 300;
}
#home-wrapper .section-inner h2 > span {
  display: block;
  width: calc(100% - 45px);
}
#home-wrapper .section-inner h2 img {
  position: relative;
  top: 4px;
  display: inline-block;
  margin-right: 5px;
}
@media screen and (max-width: 767px) {
  #home-wrapper .section-inner h2 {
    align-items: flex-start;
  }
}

/*----------------------------------------------------------
/*  ホーム／冒頭ナビ
-----------------------------------------------------------*/
#sec_topnavi {
  margin: 0 auto 60px;
}
/*** ログインボタン ***/
.srp-login-btn {
  display: block;
  margin-bottom: 12px;
  width: 100%;
  box-shadow: 6px 6px 14px rgb(163, 177, 198, 0.5), -6px -6px 8px rgba(255, 255, 255, 1);
  border-radius: 50px;
  border: solid 5px #fff;
}
.srp-login-btn:hover {
  text-decoration: none;
}
.srp-login-btn > div {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 70px;
  background-color: #1e3f81;
  border-radius: 50px;
  box-shadow: inset 0px 0px 13px #5ea5f8;
}
.srp-login-btn > div span {
  display: inline-block;
  margin-top: 4px;
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
}
/*** ナビ ***/
.topnavi-box {
  width: 100%;
}
.topnavi-box li {
  width: 100%;
}
.topnavi-box li a {
  color: #3c3c3c;
}
.topnavi-box li a:hover {
  text-decoration: none;
  color: #b32c35;
}
.topnavi-box li .guide-btn {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 15px;
  width: 100%;
  border-radius: 10px;
  /* ニューモ凸 */
  box-shadow: 6px 6px 14px rgb(163, 177, 198, 0.4), -6px -6px 8px rgba(255, 255, 255, 1);
  background: url("./images/common/icon_extlink.svg") right 10px top 10px /14px no-repeat #fff;
}
.guide-btn p {
  width: 100%;
  line-height: 1.2;
  font-size: 1.8rem;
  font-weight: 700;
  transition: all 0.2s ease;
}
.guide-btn .mv-arrow {
  position: absolute;
  right: 35px;
  bottom: 15px;
  transition: all 0.2s ease;
}
.guide-btn:hover .mv-arrow {
  right: 15px;
}
@media screen and (max-width: 767px) {
  /*** ナビ ***/
  .topnavi-box > li:nth-of-type(1) {
    margin-bottom: 30px;
  }
  .topnavi-box > li:nth-of-type(2) {
    margin-bottom: 15px;
  }
  /* 解説 */
  .link-box {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  /*** ログインボタン ***/
  .topnavi-box li .guide-btn {
    height: 100px;
  }
  /*** ナビ ***/
  .topnavi-box {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
  }
  .topnavi-box > li:nth-of-type(1) {
    width: 50%;
  }
  .topnavi-box > li:nth-of-type(2),
  .topnavi-box > li:nth-of-type(3) {
    width: 23%;
  }
}
@media screen and (min-width: 1200px) {
}

/*----------------------------------------------------------
/*  ホーム／新着
-----------------------------------------------------------*/
/*** セクション ***/
#sec_news {
  margin: 0 auto 80px;
}

/*** ニュースリスト包含 ***/
#news-cont {
  margin: 0 auto 0;
  padding: 40px;
  width: 100%;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 3px 3px 12px rgb(163, 177, 198, 0.6) inset, -3px -3px 10px rgba(255, 255, 255, 0.7) inset;
  border: solid 1px #fff;
}
/*** ナビタブ／※基本はホーム画面と一覧ページで共通スタイル 差分は別途記述 ***/
#news-cont .nav-tabs,
#news-ichiranpage-cont .nav-tabs {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto 25px;
  padding-left: 0;
  width: 100%;
  border: none;
}
/*** 一覧ページではタブ左寄せ（投稿0対応） ***/
#news-ichiranpage-cont .nav-tabs {
  justify-content: flex-start;
}
#news-ichiranpage-cont .nav-tabs > li{
  margin-right: 22px;
}
#news-ichiranpage-cont .nav-tabs > li:last-of-type{
  margin-right: 0;
}
#news-cont .nav-tabs > li a,
#news-ichiranpage-cont .nav-tabs > li a {
  display: block;
  padding: 4px 0;
  width: 100%;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 400;
  color: #808080;
  background-color: #fff;
  border-radius: 32px;
  border: solid 1px #e5e5e5;
  transition: all 0.2s ease;
}
#news-cont .nav-tabs > li a:hover,
#news-cont .nav-tabs li .active,
#news-ichiranpage-cont .nav-tabs > li a:hover,
#news-ichiranpage-cont .nav-tabs .active a {
  text-decoration: none;
  color: #fff;
  box-shadow: 0px 0px 5px #00000033;
}
#news-cont .nav-tabs .tab-all a:hover,
#news-cont .nav-tabs .tab-all .active,
#news-ichiranpage-cont .nav-tabs .tab-all a:hover,
#news-ichiranpage-cont .nav-tabs .tab-all.active a,
#news-ichiranpage-cont .nav-tabs .tab-all-en a:hover,
#news-ichiranpage-cont .nav-tabs .tab-all-en.active a {
  background-color: #f279b2;
}
#news-cont .nav-tabs .service a:hover,
#news-cont .nav-tabs .service .active,
#news-ichiranpage-cont .nav-tabs .service a:hover,
#news-ichiranpage-cont .nav-tabs .service.active a,
#news-ichiranpage-cont .nav-tabs .service-en a:hover,
#news-ichiranpage-cont .nav-tabs .service-en.active a {
  background-color: #6d2bd6;
}
#news-cont .nav-tabs .public-offering a:hover,
#news-cont .nav-tabs .public-offering .active,
#news-ichiranpage-cont .nav-tabs .public-offering a:hover,
#news-ichiranpage-cont .nav-tabs .public-offering.active a,
#news-ichiranpage-cont .nav-tabs .public-offering-en a:hover,
#news-ichiranpage-cont .nav-tabs .public-offering-en.active a {
  background-color: #2dc2be;
}
#news-cont .nav-tabs .notification a:hover,
#news-cont .nav-tabs .notification .active,
#news-ichiranpage-cont .nav-tabs .notification a:hover,
#news-ichiranpage-cont .nav-tabs .notification.active a,
#news-ichiranpage-cont .nav-tabs .notification-en a:hover,
#news-ichiranpage-cont .nav-tabs .notification-en.active a {
  background-color: #dec159;
}
#news-cont .nav-tabs .event a:hover,
#news-cont .nav-tabs .event .active,
#news-ichiranpage-cont .nav-tabs .event a:hover,
#news-ichiranpage-cont .nav-tabs .event.active a,
#news-ichiranpage-cont .nav-tabs .event-en a:hover,
#news-ichiranpage-cont .nav-tabs .event-en.active a {
  background-color: #66cc52;
}
/*** リスト表示部／※基本はホーム画面と一覧ページで共通スタイル 差分は別途記述 ***/
/* 包含 */
.tab-content,
.tab-content .tab-pane,
.tab-content .tab-pane ul,
#cmn-news-ichiran {
  margin: 0 auto 0;
  width: 100%;
}
/** 一覧ページ **/
#cmn-news-ichiran {
  margin: 0 auto 60px;
}
.tab-content .tab-pane {
  position: relative;
}
/* 一覧表示ボタン */
.tab-pane .ichiran-box {
  width: 100%;
  text-align: right;
}
.tab-pane .ichiran-box > a {
  display: inline-block;
  margin: 0;
  padding: 5px 10px;
  color: #fff;
  background-color: #3c3c3c;
  border-radius: 3px;
}
.tab-pane .ichiran-box > a {
  display: inline-block;
  margin: 0;
  padding: 5px 10px;
  color: #fff;
  background-color: #3c3c3c;
  border-radius: 3px;
}
.tab-pane .ichiran-box > a:hover {
  text-decoration: none;
}
/** リスト表示 **/
.tab-content .tab-pane ul > li,
#cmn-news-ichiran > li {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  padding-bottom: 12px;
  width: 100%;
  border-bottom: dotted 2px #e5e5e5;
}
.tab-content .tab-pane ul > li:nth-of-type(n + 2),
#cmn-news-ichiran > li:nth-of-type(n + 2) {
  margin-top: 12px;
}
.tab-content .tab-pane ul > li .metabox,
#cmn-news-ichiran > li .metabox {
  display: block;
  margin: 0 0 5px 0;
  width: 100%;
}
.tab-content .tab-pane ul > li .metabox .date,
#cmn-news-ichiran > li .metabox .date {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  font-size: 1.4rem;
}
.tab-content .tab-pane ul > li .metabox .cate,
#cmn-news-ichiran > li .metabox .cate {
  display: inline-block;
  padding: 0 0 2px 0;
  width: 84px;
  vertical-align: middle;
  text-align: center;
  font-size: 1.2rem;
  color: #fff;
  border-radius: 2px;
}
/* カテゴリー */
.tab-content .tab-pane ul > li .service,
.tab-content .tab-pane ul > li .service-en,
#cmn-news-ichiran > li .service,
#cmn-news-ichiran > li .service-en {
  background-color: #6d2bd6;
}
.tab-content .tab-pane ul > li .public-offering,
.tab-content .tab-pane ul > li .public-offering-en,
#cmn-news-ichiran > li .public-offering,
#cmn-news-ichiran > li .public-offering-en {
  background-color: #2dc2be;
}
.tab-content .tab-pane ul > li .notification,
.tab-content .tab-pane ul > li .notification-en,
#cmn-news-ichiran > li .notification,
#cmn-news-ichiran > li .notification-en {
  background-color: #dec159;
}
.tab-content .tab-pane ul > li .event,
.tab-content .tab-pane ul > li .event-en,
#cmn-news-ichiran > li .event,
#cmn-news-ichiran > li .event-en {
  background-color: #66cc52;
}
.tab-content .tab-pane ul > li .link-txt,
#cmn-news-ichiran > li .link-txt {
  margin: 0 0 0 0;
  width: 100%;
  font-size: 1.6rem;
}
.tab-content .tab-pane ul > li .link-txt a,
#cmn-news-ichiran > li .link-txt a {
  color: #3c3c3c;
}
.tab-content .tab-pane ul > li .link-txt a:hover,
#cmn-news-ichiran > li .link-txt a:hover {
  text-decoration: none;
}

/*** ページナビ ***/
.blog .wp-pagenavi > span,
.blog .wp-pagenavi > a,
.category .wp-pagenavi > span,
.category .wp-pagenavi > a {
  display: inline-block;
  padding: 4px 12px;
  font-size: 1.6rem;
  color: #ccdbe0;
  background-color: #fff;
  border: solid 1px #bbb;
  border-radius: 3px;
}
.blog .wp-pagenavi .current,
.category .wp-pagenavi .current {
  font-weight: bold;
  color: #858484;
  border: solid 2px #858484;
}

@media screen and (max-width: 767px) {
  /* 包含 */
  .tab-content .tab-pane {
    padding-bottom: 60px;
  }
  /*** ナビタブ ***/
  #news-cont .nav-tabs > li,
  #news-ichiranpage-cont .nav-tabs > li {
    width: 48%;
  }
  #news-cont .nav-tabs > li:nth-of-type(n + 3),
  #news-ichiranpage-cont .nav-tabs > li:nth-of-type(n + 3) {
    margin-top: 15px;
  }
  /* 一覧表示ボタン */
  .tab-pane .ichiran-box {
    position: absolute;
    bottom: 0;
    left: 0;
    margin: 0 0 0 0;
  }
}
@media screen and (min-width: 768px) {
  /*** ナビタブ ***/
  #news-cont .nav-tabs,
  #news-ichiranpage-cont .nav-tabs {
    margin: 0 auto 60px;
  }
  #news-cont .nav-tabs > li,
  #news-ichiranpage-cont .nav-tabs > li {
    width: 18%;
  }
  /* 一覧表示ボタン */
  .tab-pane .ichiran-box {
    margin: 0 0 20px 0;
  }
  /** リスト表示 **/
  .tab-content .tab-pane ul > li .metabox,
  #cmn-news-ichiran > li .metabox {
    margin: 0 5px 0 0;
    width: 170px;
  }
  .tab-content .tab-pane ul > li .link-txt,
  #cmn-news-ichiran > li .link-txt {
    width: calc(100% - 175px);
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1200px) {
}

/*----------------------------------------------------------
/*  ホーム／各種情報リンク
-----------------------------------------------------------*/
/*** セクション ***/
#sec_information-link {
  margin: 0 auto 20px;
}
/* メニューブロック包含 */
#infolink-box-wrap {
  width: 100%;
}
/*** 個々メニュー ***/
/* 包含 */
.infolink-box {
  position: relative;
  padding: 5px 5px 15px 5px;
  width: 100%;
  background-color: #fff;
  border-radius: 10px;
  /* ニューモ凸 */
  box-shadow: 6px 6px 14px rgb(163, 177, 198, 0.4), -6px -6px 8px rgba(255, 255, 255, 1);
}
/* 見出し */
.infolink-box > h3 {
  margin: 0 auto 20px;
  width: 100%;
}
.infolink-box > h3 > img {
  margin: 0 auto 20px;
}
.infolink-box > h3 > span {
  display: block;
  margin: 0 auto 20px;
  width: 100%;
  text-align: center;
  font-size: 2.5rem;
  font-weight: 900;
}
.infolink-box > h3 > span::after {
  display: block;
  content: "";
  margin: 12px auto 0;
  width: 77px;
  height: 1px;
  border-top: solid 2px #b32c35;
}
/*** リスト ***/
.infolink-box > ul {
  padding: 0 10px;
}
.infolink-box > ul > li:nth-of-type(n + 2) {
  margin-top: 10px;
}
.infolink-box ul a {
  display: block;
  padding-right: 16px;
  width: 100%;
  color: #3c3c3c;
  transition: all 0.2s ease;
}
.infolink-box ul a:hover {
  text-decoration: none;
  color: #b32c35;
}
/* 仕切り線 */
.infolink-box > ul > li::after {
  display: block;
  content: "";
  margin-top: 10px;
  width: 100%;
  height: 3px;
  background: #f7f7f7 0% 0% no-repeat padding-box;
  box-shadow: inset 0px 1px 1px #3c3c3c26;
}
/*** 親メニュー ***/
.infolink-box > ul > li > a {
  font-weight: 400;
}
/* 子メニュー内包の場合はliのリンクアイコン付けない */
.infolink-box ul .parentlist.bg_extlink {
  background: none;
}
.infolink-box ul .parentlist.bg_link {
  background: none;
}
.infolink-box ul .parentlist .no-link {
  margin: 0;
  padding-right: 16px;
}
/*** 子メニュー ***/
.infolink-box > ul > li > ul {
  margin-top: 5px;
}
.infolink-box > ul > li > ul > li {
  line-height: 1.2;
}
.infolink-box > ul > li > ul > li:nth-of-type(n + 2) {
  margin-top: 6px;
}
/* リスト先頭赤〇アイコン付与 */
.infolink-box > ul > li > ul > li {
  position: relative;
  padding-left: 1em;
}
.infolink-box > ul > li > ul > li::before {
  position: absolute;
  top: 2px;
  left: 0;
  content: url("./images/common/icon_redpoint.png");
  transform: scale(0.5);
  width: 16px;
}
.infolink-box > ul > li > ul > li > a {
  display: block;
  font-weight: 300;
}
/* 外部リンクアイコン表示 */
.infolink-box ul .bg_extlink a {
  background: url("./images/common/icon_extlink-infolink.svg") right 0 bottom 0 /14px no-repeat,
    url("./images/common/icon_extlink-hover.svg") right 0 bottom 0 /14px no-repeat;
}
.infolink-box ul .bg_extlink a:hover {
  background: url("./images/common/icon_extlink-hover.svg") right 0 bottom 0 /14px no-repeat;
}
/* 内部リンクアイコン表示 */
.infolink-box ul .bg_link a {
  background: url("./images/common/icon_link-infolink.svg") right 0 bottom 0 /14px no-repeat,
    url("./images/common/icon_link-hover.svg") right 0 bottom 0 /14px no-repeat;
}
.infolink-box ul .bg_link a:hover {
  background: url("./images/common/icon_link-hover.svg") right 0 bottom 0 /14px no-repeat;
}
@media screen and (max-width: 767px) {
  /*** ナビ包含 ***/
  #infolink-box-wrap > div:nth-of-type(n + 2) {
    margin-top: 20px;
  }
  .infolink-box > ul > li {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  /* 包含 */
  #infolink-box-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #infolink-box-wrap::after {
    display: block;
    content: "";
    width: 32%;
  }
  /*** ナビ包含 ***/
  #infolink-box-wrap .infolink-box {
    width: 32%;
  }
  #infolink-box-wrap > div:nth-of-type(n + 4) {
    margin-top: 15px;
  }
}
@media screen and (min-width: 1200px) {
}

/*----------------------------------------------------------
/*  ホーム／各種情報リンク／カスタムツール群
-----------------------------------------------------------*/
/*** セクション ***/
#sec_tools {
  margin: 0 auto 10px;
}
/*** ツール ***/
#custom-tool {
  margin: 0 auto 0;
  width: 100%;
}
#custom-tool > li {
  width: 100%;
}
.tool-btn {
  border-radius: 10px;
  box-shadow: 3px 3px 12px rgb(163, 177, 198, 0.6) inset, -3px -3px 10px rgba(255, 255, 255, 0.7) inset;
  border: solid 1px #fff;
  transition: all 0.2s ease;
}
/* リンクアイコン */
.tool-btn.blank {
  background: url("./images/common/icon_extlink-tool.svg") right 15px top 50% / 14px no-repeat,
    url("./images/common/icon_extlink.svg") right 15px top 50% / 14px no-repeat;
}
.tool-btn.blank:hover {
  background: url("./images/common/icon_extlink.svg") right 15px top 50% / 14px no-repeat #fff;
}
.tool-btn.self {
  background: url("./images/common/icon_link-tool.svg") right 15px top 50% / 14px no-repeat,
    url("./images/common/icon_link.svg") right 15px top 50% /14px no-repeat;
}
.tool-btn.self:hover {
  background: url("./images/common/icon_link.svg") right 15px top 50% / 14px no-repeat #fff;
}
#custom-tool > li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  padding: 10px;
  width: 100%;
  height: 100%;
  color: #3c3c3c;
  transition: all 0.2s ease;
}
#custom-tool > li a:hover {
  text-decoration: none;
}
/* ツールアイコン */
#custom-tool .tool-icon {
  display: block;
  width: 56px;
}
#custom-tool > li p {
  font-size: 1.6rem;
  font-weight: 700;
  color: #3c3c3c;
}
#custom-tool > li a:hover p {
  color: #b32c35;
}
@media screen and (max-width: 767px) {
  #custom-tool > li:nth-of-type(n + 2) {
    margin-top: 15px;
  }
  #custom-tool > li a {
    align-items: center;
    justify-content: flex-start;
  }
  #custom-tool > li a .tool-icon {
    margin-right: 8px;
  }
  #custom-tool > li p {
    width: calc(100% - 88px);
    margin: 0;
  }
  /* ツールアイコン */
  #custom-tool .tool-icon {
    margin: 0 4px 0 0;
  }
}
@media screen and (min-width: 768px) {
  /*** セクション ***/
  #sec_tools {
    margin: 0 auto 70px;
  }
  /*** ツール ***/
  #custom-tool {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #custom-tool::before,
  #custom-tool::after {
    display: block;
    content: "";
    width: 24%;
  }
  #custom-tool::before {
    order: 1;
  }
  #custom-tool > li {
    width: 24%;
  }
  #custom-tool > li:nth-of-type(n + 5) {
    margin-top: 15px;
  }
  #custom-tool > li a {
    align-items: flex-start;
    justify-content: center;
    padding: 20px 15px;
  }
  /* ツールアイコン */
  #custom-tool .tool-icon {
    margin: 0 auto 10px;
  }
  #custom-tool > li p {
    text-align: center;
    margin: 0;
    width: 100%;
  }
  /* リンクアイコン */
  .tool-btn.blank {
    background: url("./images/common/icon_extlink-tool.svg") right 15px top 15px /14px no-repeat,
      url("./images/common/icon_extlink.svg") right 15px top 15px /14px no-repeat;
  }
  .tool-btn.blank:hover {
    background: url("./images/common/icon_extlink.svg") right 15px top 15px /14px no-repeat #fff;
  }
  .tool-btn.self {
    background: url("./images/common/icon_link-tool.svg") right 15px top 15px /14px no-repeat,
      url("./images/common/icon_link.svg") right 15px top 15px /14px no-repeat;
  }
  .tool-btn.self:hover {
    background: url("./images/common/icon_link.svg") right 15px top 15px /14px no-repeat #fff;
  }
}
@media screen and (min-width: 1200px) {
}

/*----------------------------------------------------------
/* about CDS
-----------------------------------------------------------*/
.greeting-sent {
  margin: 30px 0 1.5em 0;
  text-align: right;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
}
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1200px) {
}

/*----------------------------------------------------------
/* ICL演習室案内
-----------------------------------------------------------*/
.report-notes {
  margin: 0 0 10px 0;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.3;
  font-size: 2rem;
  font-weight: 400;
  color: #a51d25;
}
@media screen and (max-width: 767px) {
}
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1200px) {
}

/*----------------------------------------------------------
/* システム利用規程
-----------------------------------------------------------*/
/* 横並び／PC 2、SP 1 */
.system-statute-parallel2 {
  margin: 0;
  width: 100%;
}
/* 見出し */
.system-statute_md {
  margin: 1.5em 0 0.5em 0;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.3;
  font-weight: 400;
}
/* 更新日 */
.system-statute-date {
  margin: 0 0 20px 0;
  text-align: right;
}
/* 別表 */
.system-statute-betsuhyo tr td:nth-of-type(1) {
  font-weight: 400;
  background-color: #f7f7f7;
}
@media screen and (max-width: 767px) {
  .system-statute-parallel2 > p {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .system-statute-parallel2 {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
  }
  .system-statute-parallel2 > p {
    width: 46%;
  }
  .system-statute-parallel2 .hyou-box {
    width: 52%;
  }
}
@media screen and (min-width: 1200px) {
}

/*----------------------------------------------------------
/* アクセス・連絡先
-----------------------------------------------------------*/
/* 見出し */
.access-contact_md {
  margin: 0.5em 0 10px 0;
  padding-left: 1em;
  text-indent: -1em;
  font-weight: 400;
}
/*** 所在地情報・外観写真・マップ ***/
.access-parallel2 {
  margin: 0 auto 30px;
  width: 100%;
}
/* 外観写真 */
.access-parallel2 .photo-map-box .cap {
  margin: 5px 0 0 0;
  font-size: 1.3rem;
}
/* マップ */
.access-parallel2 .photo-map-box .dllink {
  margin: 5px 0 0 0;
}
.access-parallel2 .photo-map-box .dllink a {
  text-decoration: underline;
  font-size: 1.3rem;
  color: #3c3c3c;
}
.access-parallel2 .photo-map-box .dllink a:hover {
  text-decoration: none;
}
/*** スタッフ紹介包含 ***/
.staff-intro-wrap {
  margin: 0 auto 0;
  width: 100%;
}
.staff-intro-wrap > div:nth-of-type(n + 2) {
  margin-top: 20px;
}
/** テーブル **/
.staff-intro-wrap > div table:nth-of-type(n + 2) {
  margin-top: 15px;
}
/* テーブルセル半々 */
.staff-intro-wrap > div table tr th {
  width: 35%;
}
.staff-intro-wrap > div table tr td {
  width: 65%;
}
/*** 学外からのアクセス表 ***/
#gakugai-access-info {
  margin: 0 auto 30px;
  width: 100%;
}
#gakugai-access-info > div .km,
#gakugai-access-info > div .naiyou {
  padding: 8px;
}
#gakugai-access-info > div .km {
  text-align: center;
  background-color: #d3e1e7;
  border-bottom: solid 1px #707070;
}
#gakugai-access-info > div .naiyou {
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .access-parallel2 > div:nth-of-type(n + 2) {
    margin-top: 25px;
  }
  .access-parallel2 .photo-map-box > div {
    margin: 0 auto 0;
    width: 70%;
  }
  .access-parallel2 .photo-map-box > div:nth-of-type(n + 2) {
    margin-top: 20px;
  }
  .access-parallel2 .photo-map-box div .cap,
  .access-parallel2 .photo-map-box div .dllink {
    text-align: center;
  }
  /*** 学外からのアクセス表 ***/
  #gakugai-access-info > div {
    border-top: solid 1px #707070;
    border-right: solid 1px #707070;
    border-left: solid 1px #707070;
  }
  #gakugai-access-info > div:last-of-type {
    border-bottom: solid 1px #707070;
  }
}
@media screen and (min-width: 768px) {
  .access-parallel2 {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
  }
  .access-parallel2 .info-box,
  .access-parallel2 .photo-map-box {
    width: 48%;
  }
  /*** 所在地情報・外観写真・マップ ***/
  .access-parallel2 .photo-map-box {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
  }
  .access-parallel2 .photo-map-box .photo-box,
  .access-parallel2 .photo-map-box .map-box {
    width: 48%;
  }
  /*** スタッフ紹介包含 ***/
  .staff-intro-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
  }
  .staff-intro-wrap > div {
    width: 48%;
  }
  /* センター長のみ1ブロックで表示処理 */
  .staff-intro-wrap > div:nth-of-type(1) {
    width: 100%;
  }
  .staff-intro-wrap > div:nth-of-type(1) table {
    width: 48%;
  }
  .staff-intro-wrap > div:nth-of-type(n + 4) {
    margin-top: 30px;
  }
  /*** 学外からのアクセス表 ***/
  #gakugai-access-info {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
  }
  #gakugai-access-info > div {
    width: 25%;
    border-top: solid 1px #707070;
    border-bottom: solid 1px #707070;
    border-left: solid 1px #707070;
    background-color: #fff;
  }
  #gakugai-access-info > div:last-of-type {
    border-right: solid 1px #707070;
  }
  #gakugai-access-info > div .km {
    width: 100%;
  }
  #gakugai-access-info > div .naiyou {
    width: 100%;
  }
}
@media screen and (min-width: 1200px) {
}

/*----------------------------------------------------------
/* ソーシャルメディアポリシー
-----------------------------------------------------------*/
.social-md {
  margin: 1.5em 0 0.5em 0;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
}
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1200px) {
}

/*----------------------------------------------------------
/* iThenticate（アイセンティケイト）
-----------------------------------------------------------*/
/* H3見出し調整 */
.page-ithenticate h3 {
  padding-left: 1.1em;
  text-indent: -1.1em;
}
.page-ithenticate h3::after {
  margin-left: -1.1em;
  width: calc(100% + 1.1em) !important;
}
/** 並列表示包含 **/
.ithenticate-parallel2 {
  margin: 0 auto 0;
  width: 100%;
}

.ithenticate-parallel2 .dl-box .dllink a {
  text-decoration: underline;
  margin: 5px 0 0 0;
  font-size: 1.3rem;
  color: #3c3c3c;
}
.ithenticate-parallel2 .dl-box .dllink a:hover {
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  /* H2見出し画像 */
  .page-ithenticate h2 img {
    width: 180px;
  }
  /** 並列表示包含 **/
  .ithenticate-parallel2 > div:nth-of-type(n + 2) {
    margin-top: 20px;
  }
  /** 1. iThenticateについて リーフレット **/
  .ithenticate-parallel2 .dl-box {
    margin: 0 auto 0;
    width: 70%;
  }
  .ithenticate-parallel2 .dl-box .dllink {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  /** 並列表示包含 **/
  .ithenticate-parallel2 {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
  }
  .ithenticate-parallel2 .info-box {
    width: 73%;
  }
  .ithenticate-parallel2 .dl-box {
    width: 25%;
  }
  .ithenticate-parallel2.type2 > p {
    width: 65%;
  }
}
@media screen and (min-width: 1200px) {
}

/*----------------------------------------------------------
/* フッター
-----------------------------------------------------------*/
/* 包含 */
footer {
  margin: 0 auto 0;
  padding-top: 80px;
  width: 100%;
  background-color: #fff;
}
footer .footer-inner {
  margin: 0 auto 80px;
  padding: 0 15px;
  width: 100%;
  max-width: 1000px;
}
footer .footer-inner > div {
  margin-right: 0 auto 0;
}
/*** ロゴ ***/
footer .footer-inner .logo img {
  margin: 0 auto 0;
}
/*** メニュー ***/
.menu-md {
  margin: 0 0 15px 0;
  font-size: 2rem;
  font-weight: 400;
  padding: 0 0 8px 0;
  border-bottom: solid 1px #d3e1e7;
}
.footer-menubox {
  width: 100%;
}
.footer-menu {
  padding: 0 !important;
  width: 100%;
}
.footer-menu > li {
  list-style: none !important;
  line-height: 1.2;
}
.footer-menu > li:nth-of-type(n + 2) {
  margin-top: 6px;
}
.footer-menu > li a {
  color: #3c3c3c;
  font-weight: 300;
}
.footer-copy {
  margin: 0 auto 0;
  padding: 8px 15px;
  text-align: center;
  font-size: 1.2rem;
  color: #fff;
  background-color: #3c3c3c;
}

@media screen and (max-width: 767px) {
  footer .footer-inner .logo,
  footer .footer-inner .footer-menubox.facilities {
    margin: 0 auto 30px;
  }
  footer .footer-inner .logo img {
    width: 150px;
  }
}
@media screen and (min-width: 768px) {
  footer .footer-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
  }
  footer .footer-inner .logo {
    width: 14%;
  }
  footer .footer-inner .footer-menubox.facilities {
    width: 44%;
  }
  footer .footer-inner .footer-menubox.info {
    width: 33%;
  }
}
@media screen and (min-width: 1200px) {
  footer .footer-inner {
    padding: 0 0;
  }
}

/*----------------------------------------------------------
/* エディタスタイル／※基本はページ・投稿共通
-----------------------------------------------------------*/
/*** 詳細記事展開部包含 ***/
#kiji-box {
  margin: 0 auto 0;
  padding-bottom: 40px;
}
/*** 見出し ***/
.cmn-page h2,
.single h2 {
  margin: 0.5em 0 50px 0;
  line-height: 1.2;
  font-size: 3.8rem;
  font-weight: 700;
}
/** 詳細記事見出し **/
/* H2 + カテゴリ名 */
.single .h2title-sub_cate > span {
  font-size: 3rem;
}
.single .h3 {
  margin-bottom: 15px !important;
}

.cmn-page h3,
.single h3 {
  margin: 0.5em 0 35px 0;
  line-height: 1.2;
  font-size: 3rem;
}
.cmn-page h3::after,
.single h3::after {
  display: block;
  content: "";
  margin-top: 7px;
  width: 100%;
  height: 2px;
  border-radius: 1px;
  background-color: #d3e1e7;
}
/** 詳細記事見出し **/
.single h3.kiji-title {
  margin-bottom: 15px !important;
}

.cmn-page h4,
.single h4 {
  margin: 0.5em 0 25px 0;
  line-height: 1.2;
  font-size: 2.5rem;
  font-weight: 700;
}
.cmn-page h5,
.single h5 {
  position: relative;
  margin: 0.5em 0 0.6em 0;
  padding-left: 1em;
  line-height: 1.2;
  font-size: 2rem;
}
.cmn-page h5::before,
.single h5::before {
  display: block;
  content: "■";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 2rem;
  color: #3c3c3c;
}
.cmn-page h6,
.single h6 {
  position: relative;
  margin: 0.5em 0 0.6em 0;
  padding-left: 1em;
  line-height: 1.2;
  font-size: 1.8rem;
}
.cmn-page h6::before,
.single h6::before {
  display: block;
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.8rem;
  color: #3c3c3c;
}
/* 記事日付 */
.single-date {
  margin: 0 auto 30px;
  text-align: right;
}
/* フロートクリアを常時設定 */
.single h2,
.single h3,
.single h4,
.single h5,
.single h6,
.single p {
  clear: both;
}

/*** 画像配置 ***/
/* 左 */
.alignleft {
  float: left;
  margin: 10px 20px 20px 0;
}
/* 中央 */
.aligncenter {
  display: block;
  margin: 10px auto 20px;
}
/* 右 */
.alignright {
  float: right;
  margin: 10px 0 20px 20px;
}

/*** テーブル（表） ***/
/* 表スライド用包含 */
.common-table-slide_wrap {
  margin: 1em 0 1.5em 0;
  width: 100%;
  overflow-x: auto;
}
.common_table-slide_wrap::-webkit-scrollbar {
  height: 4px;
}
.common_table-slide_wrap::-webkit-scrollbar-thumb {
  background: #aaa;
  border-radius: 2px;
}
.common_table-slide_wrap::-webkit-scrollbar-track-piece {
  background: #efefef;
}
.cmn-page table,
.single table {
  margin: 0 0 0 0;
  width: 100%;
  border: solid 1px #707070;
}
.cmn-page table tr th,
.cmn-page table tr td,
.single table tr th,
.single table tr td {
  padding: 8px;
  border: solid 1px #707070;
}
.cmn-page table tr th,
.single table tr th {
  text-align: center;
  font-weight: 400;
  background-color: #d3e1e7;
}
.cmn-page table tr td,
.single table tr td {
  background-color: #fff;
}

/** リスト **/
.cmn-page ul,
.single ul,
.cmn-page ol,
.single ol {
  margin: 0 0 1em 0;
  padding-left: 1em;
}
.cmn-page ul li,
.single ul li {
  list-style: inherit;
}

/* 引用 */
.cmn-page blockquote,
.single blockquote {
  padding-left: 1em;
}

@media screen and (max-width: 767px) {
  /*** テーブル（表）／SP表示 ***/
  /* スライドアナウンス */
  .sp_slide-announce {
    margin: 0 0 6px 0;
    text-align: right;
  }
  .sp_slide-announce::before {
    display: inline-block;
    content: "→→";
    font-size: 1.4rem;
    font-weight: 400;
  }
  /* 表スライド用包含 */
  .common-table-slide_wrap {
    padding-bottom: 14px;
  }
  .common-table-slide_wrap > table {
    width: 800px !important;
  }
}
@media screen and (min-width: 768px) {
  /*** テーブル（表）SP表示用アナウンス非表示 ***/
  .sp_slide-announce {
    display: none;
  }
}
@media screen and (min-width: 1200px) {
}

/*----------------------------------------------------------
/* 汎用スタイル
-----------------------------------------------------------*/
/* 英字体指定 */
.font-en {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
}

/* 注釈 */
.cmn-notes {
  margin: 0.5em 0 1.5em 0;
  font-size: 1.4rem;
}

/* 文字色（注釈・強調　など） */
.notes-red {
  color: #a51d25 !important;
}

/* 画像 */
.img-respo-block {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-respo-inlineblock {
  display: inline-block;
  max-width: 100%;
  height: auto;
}

/* imgホバー透過 */
a:hover img {
  opacity: 0.65;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}

/*** 赤●アイコン付 ***/
/* 汎用ulのpaddingリセット */
.list_headicon {
  padding-left: 0 !important;
}
.list_headicon li,
.add_headicon {
  list-style: none !important;
  position: relative;
  padding-left: 1em;
}
.list_headicon > li:nth-of-type(n + 2) {
  margin-top: 6px;
}
a.add_headicon {
  display: inline-block;
}
.list_headicon > li::before,
.add_headicon::before {
  position: absolute;
  top: 2px;
  left: 0;
  content: url("./images/common/icon_redpoint.png");
  transform: scale(0.5);
  width: 16px;
}

/*** 赤アイコン付リストの孫メニュー／白●アイコン付 ***/
.list-shiromaru {
  list-style: none !important;
  position: relative;
  margin-top: 10px !important;
  padding-left: 0 !important;
}
.list-shiromaru > li:nth-of-type(n + 2) {
  margin-top: 6px;
}
.list-shiromaru > li::before {
  position: absolute;
  top: 2px;
  left: 0;
  content: url("./images/common/icon_whitepoint.png");
  transform: scale(0.5);
  width: 14px;
}

/*** 白●付リストの孫メニュー／グレー■アイコン付 ***/
.list-shikaku {
  list-style: none !important;
  position: relative;
  margin-top: 10px !important;
  padding-left: 0 !important;
}
.list-shikaku > li:nth-of-type(n + 2) {
  margin-top: 6px;
}
.list-shikaku > li::before {
  position: absolute;
  top: 2px;
  left: 0;
  content: url("./images/common/icon_shikakupoint.png");
  transform: scale(0.5);
  width: 14px;
}

/*** 赤▲アイコン付 ***/
/* 汎用ulのpaddingリセット */
.list-sankaku {
  padding-left: 0 !important;
}
/* ニューモbox内の時 */
.cmn-neumobox .list-sankaku {
  margin: 0 !important;
}
.list-sankaku li {
  list-style: none !important;
  position: relative;
  padding-left: 1em;
}
.list-sankaku > li::before {
  display: block;
  content: "▲";
  position: absolute;
  top: 2px;
  left: 0;
  font-size: 1.4rem;
  color: #a51d25;
  transform: rotateZ(90deg);
}
.list-sankaku > li:nth-of-type(n + 2) {
  margin-top: 6px;
}

/** ページコンテント内リンクテキスト **/
.cmn-page .list_headicon li a,
.cmn-page .list-sankaku li a,
.cmn-page .linktxt-red {
  text-decoration: underline;
  color: #a51d25;
}
.cmn-page .list_headicon li a:hover,
.cmn-page .list-sankaku li a:hover,
.cmn-page .linktxt-red:hover {
  text-decoration: none;
}
/* ファイルDL用 */
.cmn-page .list_headicon li .file-dl-txt {
  color: #3c3c3c !important;
}

/*** 外部リンクアイコン付 ***/
.extlink::after,
.extlink-white::after,
.link::after,
.link-white::after {
  position: relative;
  top: -1px;
  left: 4px;
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 14px;
}
/** 外部リンク**/
.extlink::after {
  content: url("./images/common/icon_extlink.svg");
}
/* 白 */
.extlink-white::after {
  content: url("./images/common/icon_extlink-white.svg");
}
/** 内部リンク **/
.link::after {
  content: url("./images/common/icon_link.svg");
}
/* 白 */
.link-white::after {
  content: url("./images/common/icon_link-white.svg");
}

/* ニューモフィズムBOX */
.cmn-neumobox {
  margin: 1em 0 1.5em 0;
  padding: 15px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 3px 3px 12px rgb(163, 177, 198, 0.6) inset, -3px -3px 10px rgba(255, 255, 255, 0.7) inset;
  border: solid 1px #fff;
}
/* ニューモboxの最初と最後の段落余白なし */
.cmn-neumobox > p:first-of-type {
  margin-top: 0 !important;
}
.cmn-neumobox > p:last-of-type {
  margin-bottom: 0 !important;
}

/*** 主にリスト、ニューモBOXのインデント用 ***/
.set-indent {
  margin-left: 1em !important;
}

/*** 矢印動作リンクボタン／基本は右上に外部リンクアイコン ***/
.cmn-arrowmove-btn {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 15px;
  width: 320px;
  height: 80px;
  border-radius: 10px;
  /* ニューモ凸 */
  box-shadow: 6px 6px 14px rgb(163, 177, 198, 0.4), -6px -6px 8px rgba(255, 255, 255, 1);
  background: url("./images/common/icon_extlink.svg") right 10px top 10px /14px no-repeat #fff;
}
/* 内部リンク用（右上アイコン替） */
.cmn-arrowmove-btn.internal {
  background: url("./images/common/icon_link.svg") right 10px top 10px /14px no-repeat #fff;
}
.cmn-arrowmove-btn > p {
  margin: 0;
  width: 100%;
  line-height: 1.2;
  font-size: 1.8rem;
  font-weight: 700;
  transition: all 0.2s ease;
}
.cmn-arrowmove-btn .arrow {
  position: absolute;
  right: 35px;
  bottom: 15px;
  transition: all 0.2s ease;
}
.cmn-arrowmove-btn:hover .arrow {
  right: 15px;
}
.cmn-arrowmove-btn .btnbox {
  position: absolute;
  top: 0;
  left: 0;
}
.cmn-arrowmove-btn .btnbox > a {
  display: block;
}
.cmn-arrowmove-btn .btnbox,
.cmn-arrowmove-btn .btnbox > a {
  width: 100%;
  height: 100%;
  text-decoration: none !important;
}
.cmn-arrowmove-btn .btnbox > a:hover {
  text-decoration: none !important;
}

/*** 矢印動作リンクボタン横並び用 ***/
.arrowbtn-parallel2 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
}
@media screen and (max-width: 767px) {
  /*** 横2並び用（矢印動作リンクボタン など） ***/
  .arrowbtn-parallel2 > div {
    margin-top: 15px;
  }
}
@media screen and (min-width: 768px) {
  /*** 横2並び用（矢印動作リンクボタン など） ***/
  .arrowbtn-parallel2 > div {
    margin-right: 20px;
  }
}
@media screen and (min-width: 1200px) {
}

/* font size */
.font10 {
  font-size: 1rem !important;
}
.font12 {
  font-size: 1.2rem !important;
}
.font14 {
  font-size: 1.4rem !important;
}
.font16 {
  font-size: 1.6rem !important;
}
.font18 {
  font-size: 1.8rem !important;
}
.font20 {
  font-size: 2rem !important;
}
.font26 {
  font-size: 2.6rem !important;
}
.font28 {
  font-size: 2.8rem !important;
}
.font30 {
  font-size: 3rem !important;
}

/* font weight */
.weight-med {
  font-weight: 400 !important;
}
.weight-bold {
  font-weight: 700 !important;
}

/* upper magin */
.upm5 {
  margin-top: 5px !important;
}
.upm10 {
  margin-top: 10px !important;
}
.upm15 {
  margin-top: 15px !important;
}
.upm20 {
  margin-top: 20px !important;
}
.upm25 {
  margin-top: 25px !important;
}
.upm30 {
  margin-top: 30px !important;
}

/* bottom magin */
.btm0 {
  margin-bottom: 0 !important;
}
.btm2 {
  margin-bottom: 2px !important;
}
.btm3 {
  margin-bottom: 3px !important;
}
.btm4 {
  margin-bottom: 4px !important;
}
.btm5 {
  margin-bottom: 5px !important;
}
.btm6 {
  margin-bottom: 6px !important;
}
.btm7 {
  margin-bottom: 7px !important;
}
.btm8 {
  margin-bottom: 8px !important;
}
.btm9 {
  margin-bottom: 9px !important;
}
.btm10 {
  margin-bottom: 10px !important;
}
.btm13 {
  margin-bottom: 13px !important;
}
.btm15 {
  margin-bottom: 15px !important;
}
.btm18 {
  margin-bottom: 18px !important;
}
.btm20 {
  margin-bottom: 20px !important;
}
.btm23 {
  margin-bottom: 23px !important;
}
.btm25 {
  margin-bottom: 25px !important;
}
.btm28 {
  margin-bottom: 28px !important;
}
.btm30 {
  margin-bottom: 30px !important;
}
.btm33 {
  margin-bottom: 33px !important;
}
.btm35 {
  margin-bottom: 35px !important;
}
.btm38 {
  margin-bottom: 38px !important;
}
.btm40 {
  margin-bottom: 40px !important;
}
.btm43 {
  margin-bottom: 43px !important;
}
.btm45 {
  margin-bottom: 45px !important;
}
.btm48 {
  margin-bottom: 48px !important;
}
.btm50 {
  margin-bottom: 50px !important;
}
.btm53 {
  margin-bottom: 53px !important;
}
.btm55 {
  margin-bottom: 55px !important;
}
.btm58 {
  margin-bottom: 58px !important;
}
.btm60 {
  margin-bottom: 60px !important;
}
.btm63 {
  margin-bottom: 63px !important;
}
.btm65 {
  margin-bottom: 65px !important;
}
.btm68 {
  margin-bottom: 68px !important;
}
.btm70 {
  margin-bottom: 70px !important;
}
.btm73 {
  margin-bottom: 73px !important;
}
.btm75 {
  margin-bottom: 75px !important;
}
.btm78 {
  margin-bottom: 78px !important;
}
.btm80 {
  margin-bottom: 80px !important;
}

/*** ページトップボタン ***/
.float-totop {
  display: none;
  position: fixed;
  bottom: 30%;
  right: 0;
  opacity: 0.65;
  box-shadow: 0px 0px 6px #00000029;
  transition: all 0.2s ease;
}
.float-totop:hover,
.float-totop:hover img {
  opacity: 1 !important;
}
@media screen and (max-width: 767px) {
  .float-totop img {
    width: 50px !important;
  }
}
@media screen and (min-width: 768px) {
  .float-totop {
    bottom: 400px;
    right: 5%;
  }
}
/*** スクロール誘導アナウンス ***/
@media screen and (max-width: 767px) {
  #scroll-announce.active {
    opacity: 1;
    z-index: 100;
  }
  #scroll-announce {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    opacity: 0;
    z-index: -1;
    transition: all 0.4s ease-in;
  }
  #scroll-announce > img {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translateX(-50%);
    transform: translateY(-50%);
  }
  .anime-bounce {
    -webkit-animation: fukidasi 0.8s 0.1s ease-out alternate infinite;
    animation: fukidasi 0.8s 0.1s ease-out alternate infinite;
  }
  @-webkit-keyframes fukidasi {
    0% {
      -webkit-transform: translate(-50%, 0px);
      transform: translate(-50%, 0px);
    }
    100% {
      -webkit-transform: translate(-50%, -15px);
      transform: translate(-50%, -15px);
    }
  }
  @keyframes fukidasi {
    0% {
      -webkit-transform: translate(-50%, 0px);
      transform: translate(-50%, 0px);
    }
    100% {
      -webkit-transform: translate(-50%, -15px);
      transform: translate(-50%, -15px);
    }
  }
}
@media screen and (min-width: 768px) {
  #scroll-announce {
    display: none !important;
  }
}
