@charset "UTF-8";

/* Box sizing rules */

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Set core root defaults */

html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img,
picture {
  max-width: 100%;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
  font: inherit;
}

button{
  background: none;
  border: none;
  padding: 0;
  outline: none;
}

button:focus{
    outline: none;
  }

button:disabled{
    opacity:1;
  }

button:disabled:hover{
      opacity:1;
    }

:root {
  --text-color:#000000;
  --primary_blue:#1E68A2;
  --secondary_blue:#6BA9B7;

  --width:min(calc(100% - 20px),1238px);
}

@media (max-width:767px){
  :root {
    --width: calc(calc(343/375) * 100vw);
  }
}

/* ==========================================================================
  アニメーション
========================================================================== */

/* ==========================================================================
  ボタンアニメーション
========================================================================== */

.btnAnime{
  transition: all .2s linear;
}

@media (hover:hover) {
    .btnAnime:hover{
      opacity: 1;
      background-color: #1B6BD0;
      box-shadow: 0 3px 10px rgba(53,120,201,.5);
    }
  }

/* ==========================================================================
  SPメニュー開閉アニメーション
========================================================================== */

@keyframes menuIn {
  0%{
    display: flex;
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

@keyframes menuOut {
  0%{
    opacity: 1;
  }
  99%{
    opacity: 0;
  }
  100%{
    display: none;
    opacity: 0;
  }
}

/* ==========================================================================
  home MVアニメーション
========================================================================== */

.home .header{
    opacity: 0;
    animation: fadeIn 2s 1 .3s ease forwards;
  }

.homePage .mv::after{
      opacity: 0;
      animation: fadeIn 2s 1 .3s ease forwards;
    }

.homePage .mv .catchBox{
      opacity: 0;
      animation: fadeIn 2s 1 .3s ease forwards;
    }

.homePage .mv .splideInfiniteScroll{
      opacity: 0;
      animation: fadeIn 2s 1 1s ease forwards;
    }

.homePage .mv .specialPage,.homePage .mv .fixLibraryBtn{
      opacity: 0;
      animation: fadeIn 2s 1 .3s ease forwards;
    }

@keyframes fadeIn {
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

/* ==========================================================================
   共通設定
========================================================================== */

html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
  scroll-padding-top: 100px;
}

body {
	font-family: 'Noto Sans','Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','游ゴシック', '游ゴシック体','メイリオ',Meiryo,sans-serif;
	font-feature-settings : 'pkna';
  font-optical-sizing: auto;
	color:#000000;
	color:var(--text-color);
	text-align: justify;
	width:100%;
  min-width: 1258px;
	font-size: 1.6rem;
	line-height: 1.6;
  letter-spacing: .04em;
  background: #F5F5F5;
  text-wrap: pretty;
}

img{
	vertical-align:bottom;
	max-width: 100%;
	height: auto;
  backface-visibility: hidden;
}

a{
	color:#000000;
	color:var(--text-color);
	text-decoration: none;
  display: inline-block;
}

@media (hover: hover) {
  a:hover{
    opacity: .8;
  }
}

.spShow{
	display: none;
}

.pcShow{
	display: inline-block;
}

.container{
	display: grid;
	min-height: 100vh;
	grid-template-columns: 100%;
  grid-template-rows: 151px 1fr auto;
}

.header{
	grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 2;
}

.pageContainer{
	grid-column: 1;
  grid-row: 2;
  position: relative;
  z-index: 2;
}

.footer{
	grid-column: 1;
  grid-row: 3;
  z-index: 1;
}

button{
  background: none;
  border: none;
  padding: 0;
  outline: none;
  color: #000000;
  color: var(--text-color);
  cursor: pointer;
}

button:focus{
    outline: none;
  }

button:disabled{
    opacity:1;
    color: #000000;
    color: var(--text-color);
  }

button:hover{
    opacity: .8;
  }

svg{
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* ==========================================================================
   header
========================================================================== */

.header{
  height: 151px;
  width: 100%;
  min-width: 1258px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 900;
  transition: all .2s linear;
}

.header .headerInner{
    container-type: inline-size;
    height: 100%;
    width: min(calc(100% - 80px),1366px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 240px 1fr;
  }

.header .logo{
    align-self: center;
    line-height: 1;
  }

/* ==========================================================================
   グローバルナビ
========================================================================== */

.header .gNav{
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 151px 67px;
    grid-template-rows: 1fr 1fr;
    justify-content: end;
    gap: 8px 0;
  }

.header .gNav .pageLink{
      grid-column: 1;
      grid-row: 1 / 3;
      align-self: center;
      display: flex;
      justify-self: end;
      gap: calc(calc(25/1366) * 100cqw);
      font-size: 1.4rem;
      line-height: 1.8;
      font-weight: 500;
      margin-right: calc(calc(65/1366) * 100cqw);
    }

@container (max-width: 1300px){

.header .gNav .pageLink{
        margin-right: calc(calc(35/1366) * 100cqw);
        gap: calc(calc(15/1366) * 100cqw)
    }
      }

.header .gNav .search{
      grid-column: 2;
      grid-row: 1;
      align-self: end;
    }

.header .gNav .search input{
        width: 100%;
        height: 27px;
        line-height: 27px;
        background: url('../../img/search_icon.svg') no-repeat 8px center / 12px auto;
        background-color: #fff;
        border: 1px solid #D4D4D4;
        border-radius: 2px;
        padding: 0 1em 0 24px;
        font-size: 1.3rem;
        font-weight: 500;
      }

.header .gNav .lang{
      grid-column: 3;
      grid-row: 1;
      align-self: end;
      display: flex;
      justify-content: flex-end;
      align-items: center;
      gap: 4px;
      font-size: 1.4rem;
      line-height: 1.8;
      font-weight: 500;
      color: #7E7E7E;
    }

.header .gNav .lang li:first-child::after{
          content: '/';
          margin-left: 4px;
        }

.header .gNav .lang a{
        color: #7E7E7E;
      }

.header .gNav .lang .active{
        color: #1E68A2;
        color: var(--primary_blue);
      }

.header .gNav .library{
      grid-column: 2 / 4;
      grid-row: 2;
    }

.header .gNav .library a{
        width: 100%;
        height: 41px;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0 16px;
        background: #1E68A2;
        background: var(--primary_blue);
        border-radius: 2px;
        color: #fff;
        font-size: 1.4rem;
        font-weight: 500;
        line-height: 1;
        padding-left: 10px;
      }

.header .gNav .library a::after{
          content: '';
          width: 14px;
          height: 14px;
          background-color: #fff;
          -webkit-mask-image: url('../../img/other_tab_icon.svg');
                  mask-image: url('../../img/other_tab_icon.svg');
          -webkit-mask-position: center center;
                  mask-position: center center;
          -webkit-mask-repeat: no-repeat;
                  mask-repeat: no-repeat;
          -webkit-mask-size: contain;
                  mask-size: contain;
          flex-shrink: 0;
        }

.header .gNav .pageLink .parent{
        display: inline-flex;
        align-items: center;
        gap: 0 6px;
        cursor: pointer;
        position: relative;
      }

.header .gNav .pageLink .parent::before{
          content: '';
          width: 100%;
          height: 1px;
          background: transparent;
          position: absolute;
          bottom: -1px;
          left: 0;
          transition: background .2s linear;
        }

@media (hover:hover){
          .header .gNav .pageLink .parent:hover{
            opacity: .8;
          }
        }

.header .gNav .pageLink .parent::after{
          content: '';
          width: 11px;
          height: 6px;
          background-color: #000;
          -webkit-mask-image: url('../../img/gnavi_arrow_bottom_back.svg');
                  mask-image: url('../../img/gnavi_arrow_bottom_back.svg');
          -webkit-mask-position: center center;
                  mask-position: center center;
          -webkit-mask-repeat: no-repeat;
                  mask-repeat: no-repeat;
          -webkit-mask-size: contain;
                  mask-size: contain;
          flex-shrink: 0;
        }

.header .gNav .pageLink .is-open::before{
          background: #fff;
        }

.header .hideMenu{
    display: none;
    min-width: 1258px;
    position: fixed;
    top: 151px;
    left: 0;
    transition: top .2s linear;
    z-index: 1001;
    width: 100%;
    background: rgba(30,104,162,.92);
    padding: 42px 0 59px;
  }

.header .hideMenu .menuInner{
      width: min(calc(100% - 80px),1146px);
      margin-inline: auto;
      display: grid;
      grid-template-columns: 473px 258px 1fr;
      gap: 16px 0;
      color: #fff;
    }

.header .hideMenu .menuInner a{
        color: #fff;
      }

.header .hideMenu .hideMenuTitle{
      grid-column: 1;
      margin-right: 97px;
      font-size: 1.6rem;
      font-weight: 500;
      border-right: 1px solid #BEBEBE;
    }

.header .hideMenu .hideMenuTitle::before{
        font-size: 4rem;
        line-height: 1.4;
        font-weight: 700;
        font-family: "BIZ UDPGothic", sans-serif;
        font-optical-sizing: auto;
        display: block;
        margin-bottom: 1px;
        white-space: pre;
      }

.header .hideMenu .menuListSection h2{
        font-size: 1.8rem;
        line-height: 1.6;
        font-weight: 500;
        margin-bottom: 5px;
      }

.header .hideMenu .menuListSection li{
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1.6;
      }

.header .hideMenu .menuListSection li + li{
        margin-top: 6px;
      }

.header .hideMenu .menuListSection a{
        display: inline-flex;
        align-items: center;
        gap: 0 7px;
      }

.header .hideMenu .menuListSection a::before{
          content: '';
          width: 6px;
          height: 9px;
          background-color: #fff;
          -webkit-mask-image: url('../../img/arrow_right.svg');
                  mask-image: url('../../img/arrow_right.svg');
          -webkit-mask-position: center center;
                  mask-position: center center;
          -webkit-mask-repeat: no-repeat;
                  mask-repeat: no-repeat;
          -webkit-mask-size: contain;
                  mask-size: contain;
          flex-shrink: 0;
        }

.header .hideMenu1 .menuInner{
      grid-template-rows: auto auto 1fr;
    }

.header .hideMenu1 .hideMenuTitle{
      grid-row: 1 / 4;
      width: 387px;
      display: flex;
      flex-flow: column;
      justify-content: center;
    }

.header .hideMenu1 .hideMenuTitle::before{
        content: 'ABOUT US';
      }

.header .hideMenu1 .menuListSection1{
      grid-column: 2;
      grid-row: 1;
    }

.header .hideMenu1 .menuListSection2{
      grid-column: 2;
      grid-row: 2;
    }

.header .hideMenu1 .menuListSection3{
      grid-column: 2;
      grid-row: 3;
    }

.header .hideMenu1 .menuListSection4{
      grid-column: 3;
      grid-row: 1 / 4;
      margin-left: 82px;
    }

.header .hideMenu2{
    display: none;
  }

.header .hideMenu2 .menuInner{
      grid-template-rows: auto auto 1fr;
    }

.header .hideMenu2 .hideMenuTitle{
      grid-row: 1 / 4;
      width: 377px;
      display: flex;
      flex-flow: column;
      justify-content: center;
    }

.header .hideMenu2 .hideMenuTitle::before{
        content: 'RESEARCH \ASTUDY';
      }

.header .hideMenu2 .menuListSection1{
      grid-column: 2;
      grid-row: 1;
    }

.header .hideMenu2 .menuListSection2{
      grid-column: 2;
      grid-row: 2;
    }

.header .hideMenu2 .menuListSection3{
      grid-column: 2;
      grid-row: 3;
    }

.header .hideMenu2 .menuListSection4{
      grid-column: 3;
      grid-row: 1 / 4;
      margin-left: 82px;
    }

.header .hideMenu3 .menuInner{
      grid-template-rows: auto 1fr;
    }

.header .hideMenu3 .hideMenuTitle{
      grid-row: 1 / 3;
      width: 377px;
      display: flex;
      flex-flow: column;
      justify-content: center;
    }

.header .hideMenu3 .hideMenuTitle::before{
        content: 'VIEW \APUBLICATIONS';
      }

.header .hideMenu3 .menuListSection1{
      grid-column: 2;
      grid-row: 1;
    }

.header .hideMenu3 .menuListSection2{
      grid-column: 2;
      grid-row: 2;
    }

.header .hideMenu3 .menuListSection3{
      grid-column: 3;
      grid-row: 1 / 3;
      margin-left: 82px;
    }

.header .hideMenu4 .menuInner{
      grid-template-columns: 473px 1fr;
      grid-template-rows: auto 1fr;
    }

.header .hideMenu4 .hideMenuTitle{
      grid-row: 1 / 3;
      width: 377px;
      display: flex;
      flex-flow: column;
      justify-content: center;
    }

.header .hideMenu4 .hideMenuTitle::before{
        content: 'APPLY FOR \A A GRANT';
      }

.header .hideMenu4 .menuListSection1{
      grid-column: 2;
      grid-row: 1;
    }

.header .hideMenu4 .menuListSection2{
      grid-column: 2;
      grid-row: 2;
    }

.menuOverlay{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  z-index: 899;
}

.header:has(.is-open){
  background-color: rgba(30,104,162,.92);
}

.header:has(.is-open) .logo svg path{
        fill: #fff;
      }

.header:has(.is-open) .gNav .pageLink a{
        color: #fff;
      }

.header:has(.is-open) .gNav .pageLink .parent{
        color: #fff;
      }

.header:has(.is-open) .gNav .pageLink .parent::after{
          background-color: #fff;
        }

.header:has(.is-open) .gNav .lang{
      color: #fff;
    }

.header:has(.is-open) .gNav .lang li:first-child::after{
          content: '/';
        }

.header:has(.is-open) .gNav .lang a{
        color: #fff;
      }

.header:has(.is-open) .gNav .lang .active{
        color: #fff;
      }

.header:has(.is-open) .gNav .library a{
        background: #fff;
        color: #1E68A2;
        color: var(--primary_blue);
      }

.header:has(.is-open) .gNav .library a::after{
          background-color: #1E68A2;
          background-color: var(--primary_blue);
        }

/* ==========================================================================
   header スクロール時
========================================================================== */

.fixHeader{
  background: #fff;
  height: 72px;
}

.fixHeader .headerInner{
    grid-template-columns: 158px 1fr;
  }

.fixHeader .gNav{
    margin-left: calc(calc(22/1366) * 100cqw);
    grid-template-columns: 1fr calc(calc(151/1366) * 100cqw) auto calc(calc(170/1366) * 100cqw);
    grid-template-rows: auto;
  }

@container (max-width: 1300px){

.fixHeader .gNav{
      grid-template-columns: 1fr calc(calc(140/1366) * 100cqw) auto calc(calc(160/1366) * 100cqw)
  }
    }

.fixHeader .gNav .pageLink{
      grid-column: 1;
      grid-row: 1;
      gap: calc(calc(17/1366) * 100cqw);
      margin-right: calc(calc(22/1366) * 100cqw);
    }

@container (max-width: 1300px){

.fixHeader .gNav .pageLink{
        margin-right: calc(calc(15/1366) * 100cqw);
        gap: calc(calc(13/1366) * 100cqw);
        font-size: 1.35rem
    }
      }

.fixHeader .gNav .search{
      grid-column: 2;
      grid-row: 1;
      align-self: center;
    }

.fixHeader .gNav .search input{
        background-color: #F5F5F5;
      }

.fixHeader .gNav .lang{
      grid-column: 3;
      grid-row: 1;
      margin: 0 calc(calc(16/1366) * 100cqw);
      align-self: center;
    }

.fixHeader .gNav .library{
      grid-column: 4;
      grid-row: 1;
      align-self: center;
    }

@container (max-width: 1300px){
        .fixHeader .gNav .library a{
          padding-left: 0;
          gap: 0 10px;
        }
      }

.fixHeader .gNav .hideMenu{
      top: 72px;
    }

/* ==========================================================================
   footer
========================================================================== */

.footer{
  margin-top: 120px;
  background: #fff;
  padding: 88px 0 0;
}

.footer .footerInner{
    width: min(calc(100% - 20px),1238px);
    width: var(--width);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 382px 1fr;
    grid-template-rows: auto auto 1fr auto auto auto;
    gap: 0 78px;
    position: relative;
  }

.footer .footerInner::before{
      content: '';
      width: 1px;
      height: calc(100% - 150px);
      background: #BEBEBE;
      position: absolute;
      top: 0;
      left: 382px;
    }

.footer .footerTitle{
    grid-column: 1;
    grid-row: 1;
  }

.footer .footerPageNavi{
    grid-column: 2;
    grid-row: 1 / 4;
  }

.footer .relatedLinks{
    grid-column: 2;
    grid-row: 4;
  }

.footer .address{
    grid-column: 1;
    grid-row: 2;
  }

.footer .sns{
    grid-column: 1;
    grid-row: 3 / 5;
  }

.footer .copyrightNotice{
    grid-column: 1 / 3;
    grid-row: 5;
    text-align: center;
    font-size: 1.2rem;
    color: #535353;
    padding: 40px 20px 0;
    line-height: 1.8;
  }

.footer .copyright{
    grid-column: 1 / 3;
    grid-row: 6;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 75px;
    font-size: 1.4rem;
    color: #535353;
  }

.footer .footerTitle{
    width: 303px;
    margin-left: 24px;
  }

.footer .footerTitle .footerLogo{
      width: 180px;
      margin-inline: auto;
    }

.footer .footerTitle .udpGothic{
      margin-top: 16px;
      font-weight: 700;
      text-align: center;
      letter-spacing: .08em;
    }

.footer .pageListTitle{
    font-size: 2.4rem;
    color: #1E68A2;
    color: var(--primary_blue);
    margin-bottom: 24px;
  }

.footer .pageListTitle::after{
      content: '';
      margin-top: 16px;
      display: block;
      width: 48px;
      height: 2px;
      background: linear-gradient(to right, #1E68A2 50%, #6BA9B7 50%);
    }

.footer .footerPageList{
    display: grid;
    grid-template-columns: auto auto;
    gap: 0 115px;
  }

.footer .footerPageList .pageListTitle{
      grid-column: 1 / 3;
    }

.footer .footerNavColumn >h2{
      font-size: 1.8rem;
      font-weight: 500;
      margin-bottom: 12px;
    }

.footer .footerNavColumn ul{
      display: flex;
      flex-flow: column;
      gap: 8px 0;
    }

.footer .footerNavColumn li{
      font-size: 1.4rem;
    }

.footer .footerNavColumn a{
      display: inline-flex;
      gap: 7px;
    }

.footer .footerNavColumn a::before{
        content: '';
        width: 6px;
        height: 1.6em;
        background: url('../../img/arrow_right.svg') no-repeat center center / contain;
        flex-shrink: 0;
      }

.footer .footerNavColumn .subSection{
      margin-top: 4px;
    }

.footer .footerNavColumn .subSection .subSectionTitle{
        display: inline-flex;
        align-items: center;
        gap: 5px;
        margin-bottom: 8px;
      }

.footer .footerNavColumn .subSection .subSectionTitle::before{
          content: '';
          width: 4px;
          height: 4px;
          background: #1E68A2;
          background: var(--primary_blue);
          flex-shrink: 0;
        }

.footer .footerNavColumn .subSection ul{
        padding-left: 10px;
      }

.footer .footerNavColumn3,.footer .footerNavColumn4{
    margin-top: 40px;
  }

.footer .footerPageList2{
    margin-top: 64px;
  }

.footer .relatedLinks{
    margin-top: 64px;
    background: #F5F5F5;
    padding: 33px 61px 38px;
  }

.footer .relatedLinks >h2{
      text-align: center;
      font-size: 1.8rem;
      font-weight: 500;
      color: #1E68A2;
      color: var(--primary_blue);
      margin-bottom: 16px;
    }

.footer .relatedLinks ul{
      display: grid;
      grid-template-columns: 148px 148px 1fr;
      gap: 12px 70px;
      font-size: 1.4rem;
    }

.footer .relatedLinks ul li:last-child{
        grid-column: 1 / 4;
      }

.footer .relatedLinks ul a{
        
        color: #535353;
        display: inline-flex;
        align-items: center;
        gap: 0 6px;
      }

.footer .relatedLinks ul a::after{
          content: '';
          width: 9px;
          height: 9px;
          background-color: #535353;
          -webkit-mask-image: url('../../img/other_tab_icon.svg');
                  mask-image: url('../../img/other_tab_icon.svg');
          -webkit-mask-position: center center;
                  mask-position: center center;
          -webkit-mask-repeat: no-repeat;
                  mask-repeat: no-repeat;
          -webkit-mask-size: contain;
                  mask-size: contain;
          flex-shrink: 0;
        }

.footer .address{
    margin-top: 32px;
    font-size: 1.4rem;
    font-style: normal;
    padding-left: 24px;
  }

.footer .address .inner{
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 16px 28px;
    }

.footer .address header{
      grid-column: 1 / 3;
    }

.footer .address h2{
      font-size: 1.4rem;
      font-weight: 400;
      margin-bottom: 4px;
    }

.footer .address figcaption{
      display: inline-flex;
      align-items: center;
      gap: 5px;
      margin-bottom: 8px;
    }

.footer .address figcaption::before{
        content: '';
        width: 4px;
        height: 4px;
        background: #1E68A2;
        background: var(--primary_blue);
        flex-shrink: 0;
      }

.footer .address ul{
      padding-left: 9px;
    }

.footer .address .tel,.footer .address .fax{
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }

.footer .address .tel::before,.footer .address .fax::before{
        content: '';
        width: 14px;
        height: 14px;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: contain;
        flex-shrink: 0;
      }

.footer .address .tel::before{
        background-image: url('../../img/tel_icon.svg');
      }

.footer .address .fax{
      margin-top: 2px;
    }

.footer .address .fax::before{
        background-image: url('../../img/fax_icon.svg');
      }

.footer .sns{
    width: 303px;
    margin-top: 40px;
    margin-left: 24px;
  }

.footer .sns ul{
      display: flex;
      justify-content: center;
      gap: 16px;
    }

.pagetop{
  position: fixed;
  z-index: 800;
  right: 48px;
  bottom: 48px;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: #1E68A2;
  background: var(--primary_blue);
  color: #fff;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  gap: 9px;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

.pagetop::before{
    content: '';
    width: 14px;
    height: 7px;
    background-color: #fff;
    -webkit-mask-image: url('../../img/gnavi_arrow_bottom_back.svg');
            mask-image: url('../../img/gnavi_arrow_bottom_back.svg');
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    rotate: 180deg;
  }

/* ==========================================================================
   subPage 共通
========================================================================== */

.container:has(.subPage){
   background: url('../../img/sub_page_title_bk.webp') no-repeat center top;
   background-attachment: fixed;
}

.subPage .main{
    width: min(calc(100% - 20px),1238px);
    width: var(--width);
    margin: 53px auto 0;
  }

/* ==========================================================================
   英語
========================================================================== */

.enBody{
  font-family: -apple-system, BlinkMacSystemFont, 'Noto Sans','Noto Sans JP','Noto Sans CJK JP','Segoe UI', Roboto, Arial, sans-serif;
	font-feature-settings : normal;
  text-align: left;
}

/* ==========================================================================
   header スクロール時
========================================================================== */

@container (max-width: 1300px){

.fixHeader.headerEn .gNav{
      grid-template-columns: 1fr 151px auto 170px
  }
    }

.fixHeader.headerEn .library a{
      gap: 0 10px;
      padding: 0;
    }

/* ==========================================================================
   footer 英語
========================================================================== */

.footerEn .footerInner{
    grid-template-rows: auto 1fr auto auto auto;
  }

.footerEn .footerInner::before{
      height: calc(100% - 70px);
    }

.footerEn .copyright{
    grid-row: 5;
  }

.footerEn .pageLink li{
      font-size: 1.8rem;
    }

.footerEn .pageLink li + li{
      margin-top: 16px;
    }

.is-layout-constrained >*:not(.wp-block-image),.is-root-container >*:not(.wp-block-image){
		max-width: 866px;
		margin-inline: auto;
		line-height: 1.6;
	}

.is-layout-constrained h2,.is-root-container h2{
		font-size: 24px;
		font-weight: 400;
		padding-left: 24px;
		border-left: 2px solid #1E68A2;
		min-height: 48px;
		display: flex;
		align-items: center;
		box-sizing: border-box;
	}

.is-layout-constrained >h2 + *,.is-root-container >h2 + *{
		margin-top: 24px;
	}

.is-layout-constrained >h2:not(:first-child),.is-root-container >h2:not(:first-child){
		margin-top: 80px;
	}

.is-layout-constrained h3,.is-root-container h3{
		font-size: 18px;
		font-weight: 500;
	}

.is-layout-constrained >h3 + *,.is-root-container >h3 + *{
		margin-top: 8px;
	}

.is-layout-constrained ol,.is-layout-constrained ul,.is-root-container ol,.is-root-container ul{
		list-style: inherit;
		padding-left: 1.5em;
	}

.is-layout-constrained ul li::marker,.is-root-container ul li::marker{
			color: #1E68A2;
		}

.is-layout-constrained a,.is-root-container a{
		text-decoration: underline;
		color: #1E68A2;
	}

.is-layout-constrained a[target="_blank"],.is-root-container a[target="_blank"]{
		display: inline-flex;
		align-items: center;
		gap: 0 5px;
	}

.is-layout-constrained a[target="_blank"]::after,.is-root-container a[target="_blank"]::after{
			content: '';
			width: 17px;
			height: 12px;
			background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2217%22%20height%3D%2212%22%20viewBox%3D%220%200%2017%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20x%3D%220.5%22%20y%3D%223.5%22%20width%3D%2213%22%20height%3D%228%22%20fill%3D%22white%22%20stroke%3D%22%231E68A2%22%2F%3E%3Crect%20x%3D%223.5%22%20y%3D%220.5%22%20width%3D%2213%22%20height%3D%228%22%20fill%3D%22white%22%20stroke%3D%22%231E68A2%22%2F%3E%3C%2Fsvg%3E');
			background-repeat: no-repeat;
			background-position: center center;
			background-size: contain;
			flex-shrink: 0;
		}

.is-layout-constrained .wp-block-image .wp-element-caption,.is-root-container .wp-block-image .wp-element-caption{
			text-align: center;
			margin-top: 16px;
			font-size: 14px;
		}

.is-layout-constrained .wp-block-button a,.is-root-container .wp-block-button a{
			color: #fff;
			text-decoration: none;
		}

.is-layout-constrained .downloadBox,.is-root-container .downloadBox{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}

.is-layout-constrained .downloadBox .wp-block-column,.is-root-container .downloadBox .wp-block-column{
			border: 1px solid #6BA9B7;
			padding: 42px 19px;
			background: #fff;
		}

.is-layout-constrained .downloadBox h3,.is-root-container .downloadBox h3{
			text-align: center;
		}

.is-layout-constrained .downloadBox p,.is-root-container .downloadBox p{
			margin-top: 4px;
			font-size: 14px;
			color: #535353;
			text-align: center;
		}

.is-layout-constrained .downloadBox .wp-block-buttons,.is-root-container .downloadBox .wp-block-buttons{
			margin-top: 16px;
		}

.is-layout-constrained .downloadBox .wp-block-buttons a,.is-layout-constrained .downloadBox .wp-block-buttons .wp-block-button__link,.is-root-container .downloadBox .wp-block-buttons a,.is-root-container .downloadBox .wp-block-buttons .wp-block-button__link{
				min-height: 48px;
				border-radius: 2px;
				background: #1E68A2;
				display: flex;
				justify-content: center;
				align-items: center;
				color: #fff;
				gap: 0 12px;
				min-width: 212px;
				padding: 10px 18px;
				line-height: 1;
			}

.is-layout-constrained .downloadBox .wp-block-buttons a::after,.is-layout-constrained .downloadBox .wp-block-buttons .wp-block-button__link::after,.is-root-container .downloadBox .wp-block-buttons a::after,.is-root-container .downloadBox .wp-block-buttons .wp-block-button__link::after{
					display: none;
				}

.is-layout-constrained .downloadBox .wp-block-buttons a::before,.is-layout-constrained .downloadBox .wp-block-buttons .wp-block-button__link::before,.is-root-container .downloadBox .wp-block-buttons a::before,.is-root-container .downloadBox .wp-block-buttons .wp-block-button__link::before{
					content: '';
					width: 16px;
					height: 16px;
					background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8%2010V2%22%20stroke%3D%22white%22%20stroke-width%3D%221.33333%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M14%2010V12.6667C14%2013.0203%2013.8595%2013.3594%2013.6095%2013.6095C13.3594%2013.8595%2013.0203%2014%2012.6667%2014H3.33333C2.97971%2014%202.64057%2013.8595%202.39052%2013.6095C2.14048%2013.3594%202%2013.0203%202%2012.6667V10%22%20stroke%3D%22white%22%20stroke-width%3D%221.33333%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M4.66797%206.66699L8.0013%2010.0003L11.3346%206.66699%22%20stroke%3D%22white%22%20stroke-width%3D%221.33333%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E');
					background-repeat: no-repeat;
					background-position: center center;
					background-size: contain;
					flex-shrink: 0;
				}

.is-layout-constrained >.wp-block-buttons a,.is-root-container >.wp-block-buttons a{
			min-height: 48px;
			border-radius: 2px;
			background: #1E68A2;
			display: flex;
			justify-content: center;
			align-items: center;
			color: #fff;
			gap: 0 16px;
			padding: 15px 24px;
		}

.is-layout-constrained >.wp-block-buttons a::after,.is-root-container >.wp-block-buttons a::after{
				content: '';
				width: 7px;
				height: 12px;
				background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%227%22%20height%3D%2212%22%20viewBox%3D%220%200%207%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M0.355469%2011.3535L5.85547%205.85352L0.355469%200.353516%22%20stroke%3D%22white%22%2F%3E%3C%2Fsvg%3E');
				background-repeat: no-repeat;
				background-position: center center;
				background-size: contain;
				flex-shrink: 0;
			}

.is-layout-constrained >* + .wp-block-buttons,.is-root-container >* + .wp-block-buttons{
		margin-top: 1em;
	}

/* end .entry-content */

@media only screen and (max-width: 767px) {
	:root :where(.is-layout-constrained) > *{
		margin-block-start: calc(calc(24/375) * 100vw);
	}
		.is-layout-constrained >*:not(.wp-block-image),.is-root-container >*:not(.wp-block-image){
			max-width: none;
		}
		.is-layout-constrained >*,.is-root-container >*{
			font-size: 1.4rem;
		}
		.is-layout-constrained h2,.is-root-container h2{
			font-size: 1.8rem;
			padding-left: calc(calc(10/375) * 100vw);
			border-left: calc(calc(2/375) * 100vw) solid #1E68A2;
			min-height: calc(calc(40/375) * 100vw);
		}
		.is-layout-constrained >h2 + *,.is-root-container >h2 + *{
			margin-top: calc(calc(16/375) * 100vw);
		}
		.is-layout-constrained h3,.is-root-container h3{
			font-size: 1.6rem;
		}
		.is-layout-constrained >h3 + *,.is-root-container >h3 + *{
			margin-top: calc(calc(8/375) * 100vw);
		}
		.is-layout-constrained a[target="_blank"],.is-root-container a[target="_blank"]{
			gap: 0 calc(calc(5/375) * 100vw);
		}
			.is-layout-constrained a[target="_blank"]::after,.is-root-container a[target="_blank"]::after{
				width: calc(calc(16/375) * 100vw);
				height: calc(calc(12/375) * 100vw);
			}
		.is-layout-constrained .downloadBox,.is-root-container .downloadBox{
			display: grid;
			grid-template-columns: 100%;
			gap: calc(calc(24/375) * 100vw);
		}
			.is-layout-constrained .downloadBox .wp-block-column,.is-root-container .downloadBox .wp-block-column{
				border: calc(calc(1/375) * 100vw) solid #6BA9B7;
				padding: calc(calc(24/375) * 100vw) calc(calc(10/375) * 100vw);
				background: #fff;
			}
			.is-layout-constrained .downloadBox h3,.is-root-container .downloadBox h3{
				text-align: center;
			}
			.is-layout-constrained .downloadBox p,.is-root-container .downloadBox p{
				margin-top: calc(calc(2/375) * 100vw);
				font-size: 1.2rem;
			}
			.is-layout-constrained .downloadBox .wp-block-buttons,.is-root-container .downloadBox .wp-block-buttons{
				margin-top: calc(calc(12/375) * 100vw);
			}
				.is-layout-constrained .downloadBox .wp-block-buttons a,.is-layout-constrained .downloadBox .wp-block-buttons .wp-block-button__link,.is-root-container .downloadBox .wp-block-buttons a,.is-root-container .downloadBox .wp-block-buttons .wp-block-button__link{
					min-height: calc(calc(40/375) * 100vw);
					border-radius: calc(calc(2/375) * 100vw);
					gap: 0 calc(calc(4/375) * 100vw);
					min-width: calc(calc(180/375) * 100vw);
					padding: calc(calc(9/375) * 100vw) calc(calc(15/375) * 100vw);
				}
					.is-layout-constrained .downloadBox .wp-block-buttons a::after,.is-layout-constrained .downloadBox .wp-block-buttons .wp-block-button__link::after,.is-root-container .downloadBox .wp-block-buttons a::after,.is-root-container .downloadBox .wp-block-buttons .wp-block-button__link::after{
						display: none;
					}
					.is-layout-constrained .downloadBox .wp-block-buttons a::before,.is-layout-constrained .downloadBox .wp-block-buttons .wp-block-button__link::before,.is-root-container .downloadBox .wp-block-buttons a::before,.is-root-container .downloadBox .wp-block-buttons .wp-block-button__link::before{
						width: calc(calc(16/375) * 100vw);
						height: calc(calc(16/375) * 100vw);
					}
			.is-layout-constrained >.wp-block-buttons a,.is-root-container >.wp-block-buttons a{
				min-height: calc(calc(40/375) * 100vw);
				border-radius: calc(calc(2/375) * 100vw);
				gap: 0 calc(calc(12/375) * 100vw);
				padding: calc(calc(9/375) * 100vw) calc(calc(15/375) * 100vw);
			}
				.is-layout-constrained >.wp-block-buttons a::after,.is-root-container >.wp-block-buttons a::after{
					width: calc(calc(7/375) * 100vw);
					height: calc(calc(12/375) * 100vw);
				}
		.is-layout-constrained .wp-block-media-text,.is-root-container .wp-block-media-text{
			grid-template-areas:"media-text-media" "media-text-content";
			grid-template-columns:1fr;
		}
			.is-layout-constrained .wp-block-media-text .wp-block-media-text__media,.is-root-container .wp-block-media-text .wp-block-media-text__media{
				grid-area: media-text-media;
			}
			.is-layout-constrained .wp-block-media-text .wp-block-media-text__content,.is-root-container .wp-block-media-text .wp-block-media-text__content{
				grid-area: media-text-content;
				padding: 1em 0 0;
			}
	.wp-block-columns.is-not-stacked-on-mobile{
		gap:0 .5em;
	}
}

@media only screen and (max-width: 767px){
		.is-layout-constrained .wp-block-media-text .wp-block-media-text__media,.is-root-container .wp-block-media-text .wp-block-media-text__media{
    -ms-grid-row: 1;
    -ms-grid-column: 1;
		}
		.is-layout-constrained .wp-block-media-text .wp-block-media-text__content,.is-root-container .wp-block-media-text .wp-block-media-text__content{
    -ms-grid-row: 2;
    -ms-grid-column: 1;
		}
}

/* ==========================================================================
   テキスト設定
========================================================================== */

/* ==========================================================================
   フォント
========================================================================== */

.udpGothic{
  font-family: "BIZ UDPGothic", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.poppins{
  font-family: 'Poppins', sans-serif;
}

/* ==========================================================================
   見出し
========================================================================== */

/* 左ボーダー付きタイトル */

.borderLeftTitle{
  font-size: 2.4rem;
  font-weight: 400;
  padding-left: 24px;
  border-left: 2px solid #1E68A2;
  border-left: 2px solid var(--primary_blue);
  min-height: 48px;
  display: flex;
  align-items: center;
  margin-bottom: 32px;
}

@media (max-width:767px){
  .borderLeftTitle{
    font-size: 1.8rem;
    padding-left: calc(calc(10/375) * 100vw);
    border-left: calc(calc(2/375) * 100vw) solid #1E68A2;
    border-left: calc(calc(2/375) * 100vw) solid var(--primary_blue);
    min-height: calc(calc(40/375) * 100vw);
    margin-bottom: calc(calc(24/375) * 100vw);
  }
}

/* 左アイコン付きタイトル */

.iconTitle{
  font-size: 2.4rem;
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}

.iconTitle::before{
    content: '';
    background-color: #1E68A2;
    background-color: var(--primary_blue);
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    flex-shrink: 0;
  }

.searchIcon.iconTitle::before{
    -webkit-mask-image: url('../../img/search_icon.svg');
            mask-image: url('../../img/search_icon.svg');
    width: 24px;
    height: 24px;
  }

.peopleIcon.iconTitle::before{
    -webkit-mask-image: url('../../img/people_icon.svg');
            mask-image: url('../../img/people_icon.svg');
    width: 24px;
    height: 22px;
  }

.earthIcon.iconTitle::before{
    -webkit-mask-image: url('../../img/earth_icon.svg');
            mask-image: url('../../img/earth_icon.svg');
    width: 24px;
    height: 24px;
  }

.linkIcon.iconTitle::before{
    -webkit-mask-image: url('../../img/link_icon.svg');
            mask-image: url('../../img/link_icon.svg');
    width: 24px;
    height: 24px;
  }

.bookOpenIcon.iconTitle::before{
    -webkit-mask-image: url('../../img/book_open_icon.svg');
            mask-image: url('../../img/book_open_icon.svg');
    width: 24px;
    height: 24px;
  }

.graduationCapIcon.iconTitle::before{
    -webkit-mask-image: url('../../img/graduation_cap_icon.svg');
            mask-image: url('../../img/graduation_cap_icon.svg');
    width: 24px;
    height: 18px;
  }

.awardIcon.iconTitle::before{
    -webkit-mask-image: url('../../img/award_icon.svg');
            mask-image: url('../../img/award_icon.svg');
    width: 16px;
    height: 27px;
  }

.bookmarkIcon.iconTitle::before{
    -webkit-mask-image: url('../../img/bookmark_icon.svg');
            mask-image: url('../../img/bookmark_icon.svg');
    width: 16px;
    height: 20px;
  }

.flaskIcon.iconTitle::before{
    -webkit-mask-image: url('../../img/flask_icon.svg');
            mask-image: url('../../img/flask_icon.svg');
    width: 16px;
    height: 20px;
  }

.squareIcon.iconTitle::before{
    -webkit-mask-image: url('../../img/square_icon.svg');
            mask-image: url('../../img/square_icon.svg');
    width: 31px;
    height: 31px;
  }

@media (max-width:767px){
  .iconTitle{
    font-size: 1.8rem;
    gap: calc(calc(8/375) * 100vw);
    margin-bottom: calc(calc(24/375) * 100vw);
    align-items: flex-start;
  }
    .searchIcon.iconTitle::before{
      width: calc(calc(18/375) * 100vw);
      height: 1.6em;
    }
    .peopleIcon.iconTitle::before{
      width: calc(calc(24/375) * 100vw);
      height: 1.6em;
    }
    .earthIcon.iconTitle::before{
      width: calc(calc(24/375) * 100vw);
      height: 1.6em;
    }
    .linkIcon.iconTitle::before{
      width: calc(calc(24/375) * 100vw);
      height: 1.6em;
    }
    .bookOpenIcon.iconTitle::before{
      width: calc(calc(24/375) * 100vw);
      height: 1.6em;
    }
    .graduationCapIcon.iconTitle::before{
      width: calc(calc(24/375) * 100vw);
      height: 1.6em;
    }
    .awardIcon.iconTitle::before{
      width: calc(calc(16/375) * 100vw);
      height: 1.6em;
    }
    .bookmarkIcon.iconTitle::before{
      width: calc(calc(16/375) * 100vw);
      height: 1.6em;
    }
    .flaskIcon.iconTitle::before{
      width: calc(calc(16/375) * 100vw);
      height: 1.6em;
    }
    .squareIcon.iconTitle::before{
      width: calc(calc(24/375) * 100vw);
      height: 1.6em;
    }
}

/* ==========================================================================
   primaryカラーのボタン
========================================================================== */

.primaryBtn{
  min-height: 59px;
  border-radius: 2px;
  background: #1E68A2;
  background: var(--primary_blue);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  gap: 0 12px;
  max-width: 314px;
  padding: 15px 18px;
}

@media (max-width:767px){
  .primaryBtn{
    min-height: calc(calc(42/375) * 100vw);
    border-radius: calc(calc(2/375) * 100vw);
    padding: calc(calc(10/375) * 100vw) calc(calc(18/375) * 100vw);
    background: #1E68A2;
    background: var(--primary_blue);
    gap: 0 calc(calc(6/375) * 100vw);
    max-width: calc(calc(277/375) * 100vw);
  }
}

/* ==========================================================================
   ダウンロードアイコンのボタン
========================================================================== */

.downloadBtn::before{
    content: '';
    width: 16px;
    height: 16px;
    background-color: #fff;
    -webkit-mask-image: url('../../img/download_icon.svg');
            mask-image: url('../../img/download_icon.svg');
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    flex-shrink: 0;
  }

@media (max-width:767px){
    .downloadBtn::before{
      width: calc(calc(16/375) * 100vw);
      height: calc(calc(16/375) * 100vw);
    }
}

/* ==========================================================================
   プリントアイコンのボタン
========================================================================== */

.printBtn::before{
    content: '';
    width: 16px;
    height: 16px;
    background-color: #fff;
    -webkit-mask-image: url('../../img/print_icon_blue.svg');
            mask-image: url('../../img/print_icon_blue.svg');
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    flex-shrink: 0;
  }

@media (max-width:767px){
    .printBtn::before{
      width: calc(calc(16/375) * 100vw);
      height: calc(calc(16/375) * 100vw);
    }
}

/* ==========================================================================
   別タブアイコンのボタン
========================================================================== */

.otherTabBtn{
  gap: 0 8px;
}

.otherTabBtn::after{
    content: '';
    width: 14px;
    height: 14px;
    background-color: #fff;
    -webkit-mask-image: url('../../img/other_tab_icon.svg');
            mask-image: url('../../img/other_tab_icon.svg');
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    flex-shrink: 0;
  }

@media (max-width:767px){
    .otherTabBtn::before{
      width: calc(calc(16/375) * 100vw);
      height: calc(calc(16/375) * 100vw);
    }
}

/* ==========================================================================
   検索アイコンのボタン
========================================================================== */

.searchIconBtn{
  gap: 0 12px;
}

.searchIconBtn::before{
    content: '';
    width: 16px;
    height: 16px;
    background-color: #fff;
    -webkit-mask: url('../../img/search_icon.svg') no-repeat center center / contain;
            mask: url('../../img/search_icon.svg') no-repeat center center / contain;
    flex-shrink: 0;
  }

@media (max-width:767px){
    .otherTabBtn::before{
      width: calc(calc(16/375) * 100vw);
      height: calc(calc(16/375) * 100vw);
    }
}

/* ==========================================================================
   ダウンロードアイコン付きリンク
========================================================================== */

.downloadLink{
  display: inline-flex;
  gap: 6px;
}

.downloadLinkAfter{
  align-items: center;
}

.downloadLinkAfter::after{
    content: '';
    width: 13px;
    height: 1.6em;
    background-color: #1E68A2;
    background-color: var(--primary_blue);
    -webkit-mask-image: url('../../img/download_icon.svg');
            mask-image: url('../../img/download_icon.svg');
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    flex-shrink: 0;
  }

.downloadLinkBefore::before{
    content: '';
    width: 13px;
    height: 1.6em;
    background-color: #1E68A2;
    background-color: var(--primary_blue);
    -webkit-mask-image: url('../../img/download_icon.svg');
            mask-image: url('../../img/download_icon.svg');
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    flex-shrink: 0;
  }

@media (max-width:767px){
  .downloadLink{
    gap: calc(calc(6/375) * 100vw);
  }
    .downloadLinkAfter::after{
      width: calc(calc(13/375) * 100vw);
    }
    .downloadLinkBefore::before{
      width: calc(calc(13/375) * 100vw);
    }
}

/* ==========================================================================
   別タブアイコン付きリンク
========================================================================== */

.otherTabLink{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.otherTabLink::after{
    content: '';
    width: 14px;
    height: 14px;
    background-color: #1E68A2;
    background-color: var(--primary_blue);
    -webkit-mask-image: url('../../img/other_tab_icon.svg');
            mask-image: url('../../img/other_tab_icon.svg');
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    flex-shrink: 0;
  }

/* ）終わり */

.otherTabLink.endParentheses{
  gap: 0;
}

@media (max-width:767px){
  .otherTabLink{
    gap: calc(calc(6/375) * 100vw);
  }
    .otherTabLink::after{
      width: calc(calc(14/375) * 100vw);
      height: calc(calc(14/375) * 100vw);
    }
  /* ）終わり */
  .otherTabLink.endParentheses{
    gap: calc(calc(6/375) * 100vw);
  }
}

/* ==========================================================================
   丸囲み矢印 マーク
========================================================================== */

.circleArrowLink{
  font-size: 1.6rem;
  text-decoration: underline;
}

.circleArrowLink::after{
    content: '';
    background: url('../../img/circle_arrow.svg') no-repeat center bottom / contain;
    width: 16px;
    height: 16px;
    margin-left: 16px;
    margin-bottom: -.15em;
    display: inline-block;
    vertical-align: baseline;
  }

.circleArrowLinkFlex{
  display: flex;
  align-items: center;
}

@media (max-width:767px){
  .circleArrowLink{
    font-size: 1.4rem;
  }
    .circleArrowLink::after{
      width: calc(calc(16/375) * 100vw);
      height: calc(calc(16/375) * 100vw);
      margin-left: calc(calc(6/375) * 100vw);
    }
    .circleArrowLinkFlex::after{
      margin-left: calc(calc(12/375) * 100vw);
    }
}

/* ==========================================================================
   プリントアイコン付きリンク
========================================================================== */

.printLink{
  display: inline-flex;
  gap: 6px;
}

.printLink::before{
    content: '';
    width: 13px;
    height: 1.6em;
    background-color: #1E68A2;
    background-color: var(--primary_blue);
    -webkit-mask-image: url('../../img/print_icon_blue.svg');
            mask-image: url('../../img/print_icon_blue.svg');
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    flex-shrink: 0;
  }

@media (max-width:767px){
  .printLink{
    gap: calc(calc(6/375) * 100vw);
  }
    .printLink::before{
      width: calc(calc(13/375) * 100vw);
    }
}

/* ==========================================================================
   日付＋タイトル
========================================================================== */

.dateTitleList{
  display: grid;
  grid-template-columns: auto 1fr;
  border-bottom: 1px solid #D4D4D4;
}

.dateTitleList >dt,.dateTitleList >dd{
    border-top: 1px solid #D4D4D4;
  }

.dateTitleList >dt{
    padding: 18px 50px 0 14px;
    color: #686868;
  }

.dateTitleList >dd{
    padding: 18px 0;
  }

@media (max-width:767px){
  .dateTitleList{
    display: grid;
    grid-template-columns: 100%;
    border-bottom: calc(calc(1/375) * 100vw) solid #D4D4D4;
    font-size: 1.4rem;
  }
    .dateTitleList >dt,.dateTitleList >dd{
      border-top: calc(calc(1/375) * 100vw) solid #D4D4D4;
    }
    .dateTitleList >dt{
      padding: calc(calc(16/375) * 100vw) 0 0 calc(calc(8/375) * 100vw);
    }
    .dateTitleList >dd{
      border: none;
      padding:calc(calc(4/375) * 100vw) calc(calc(8/375) * 100vw) calc(calc(16/375) * 100vw) calc(calc(8/375) * 100vw);
    }
}

/* ==========================================================================
   ハイフォン マーク
========================================================================== */

.lineDots{
  display: inline-flex;
  gap: 0 6px;
  font-size: 1.6rem;
}

.lineDots::before{
    content: '';
    width: 6px;
    height: 1px;
    background: #1E68A2;
    background: var(--primary_blue);
    flex-shrink: 0;
    margin-top: .8em;
  }

@media (max-width:767px){
  .lineDots{
    display: inline-flex;
    gap: 0 calc(calc(6/375) * 100vw);
    font-size: 1.4rem;
  }
    .lineDots::before{
      content: '';
      width: calc(calc(6/375) * 100vw);
      height: calc(calc(1/375) * 100vw);
      background: #1E68A2;
      background: var(--primary_blue);
      flex-shrink: 0;
    }
}

/* ==========================================================================
   ハイフォン マーク リスト
========================================================================== */

.lineDotsList .lineDots{
    display: flex;
  }

/* ==========================================================================
   矢印マーク リスト
========================================================================== */

.arrowList li{
    display: flex;
    gap: 0 6px;
  }

.arrowList li::before{
      content: '';
      width: 6px;
      height: 1.5em;
      background-color: #1E68A2;
      background-color: var(--primary_blue);
      -webkit-mask-image: url('../../img/arrow_right.svg');
              mask-image: url('../../img/arrow_right.svg');
      -webkit-mask-position: center center;
              mask-position: center center;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      -webkit-mask-size: contain;
              mask-size: contain;
      flex-shrink: 0;
    }

@media (max-width:767px){
    .arrowList li{
      gap: 0 calc(calc(6/375) * 100vw);
    }
      .arrowList li::before{
        width: calc(calc(6/375) * 100vw);
      }
}

/* ==========================================================================
   ドットリスト
========================================================================== */

.dotsList li{
    font-size: 1.6rem;
    display: flex;
    line-height: 1.6;
  }

.dotsList li::before{
      content: '';
      background-color: #1E68A2;
      background-color: var(--primary_blue);
      -webkit-mask-image: url('../../img/dots.svg');
              mask-image: url('../../img/dots.svg');
      -webkit-mask-position: center center;
              mask-position: center center;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      -webkit-mask-size: 4px auto;
              mask-size: 4px auto;
      width: .625em;
      height: 1.6em;
      margin-right: 6px;
      flex-shrink: 0;
    }

.dotsListBlack li::before{
      background-color: #000000;
      background-color: var(--text-color);
    }

@media (max-width:767px){
    .dotsList li{
      font-size: 1.4rem;
      line-height: 1.8;
    }
      .dotsList li::before{
        margin-right: calc(calc(6/375) * 100vw);
        -webkit-mask-size: calc(calc(4/375) * 100vw) auto;
                mask-size: calc(calc(4/375) * 100vw) auto;
      }
}

/* ==========================================================================
   pankuzu
========================================================================== */

.pankuzu{
  width: min(calc(100% - 20px),1238px);
  width: var(--width);
  margin-inline: auto;
  font-size: 1.4rem;
  line-height: 1.42;
}

.pankuzu ol{
    display: flex;
    flex-flow: row wrap;
    gap: 11px;
  }

.pankuzu li:not(:last-child){
    color: #7E7E7E;
    display: inline-flex;
    align-items: center;
    gap: 0 11px;
  }

.pankuzu li:not(:last-child)::after{
      content: '';
      width: 5px;
      height: 8px;
      background-color: #7E7E7E;
      -webkit-mask-image: url('../../img/arrow_right.svg');
              mask-image: url('../../img/arrow_right.svg');
      -webkit-mask-position: center center;
              mask-position: center center;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      -webkit-mask-size: contain;
              mask-size: contain;
      flex-shrink: 0;
    }

.pankuzu a{
    color: #7E7E7E;
    text-decoration: underline;
  }

@media (max-width:767px){
  .pankuzu{
    width: calc(calc(343/375) * 100vw);
    overflow-x: auto;
    padding-bottom: calc(calc(7/375) * 100vw);
  }
    .pankuzu::-webkit-scrollbar {
      height: calc(calc(2/375) * 100vw);
    }
    .pankuzu::-webkit-scrollbar-track {
      background: #BEBEBE;
    }
    .pankuzu::-webkit-scrollbar-thumb {
      background: #1E68A2;
      background: var(--primary_blue);
      border-radius: calc(calc(6/375) * 100vw);
    }
    .pankuzu ol{
      width: -moz-max-content;
      width: max-content;
      flex-flow: row nowrap;
    }
}

/* ==========================================================================
   pageHeader
========================================================================== */

.pageHeader{
  width: min(calc(100% - 20px),1238px);
  width: var(--width);
  margin-inline: auto;
  margin-top: 71px;
}

.pageHeader .parentPage{
    font-size: 1.8rem;
    line-height: 1.8;
  }

.pageHeader .parentPage::after{
      content: '';
      display: block;
      width: 32px;
      height: 1px;
      background: #1E68A2;
      background: var(--primary_blue);
      margin-top: 8px;
    }

.pageHeader .pageTitle{
    font-size: 3.2rem;
    font-weight: 400;
  }

.pageHeader .pageTitle br{
      display: none;
    }

.pageHeader .parentPage + .pageTitle{
    margin-top: 8px;
  }

@media (max-width:767px){
  .pageHeader{
    margin-top: calc(calc(31/375) * 100vw);
  }
    .pageHeader .parentPage{
      font-size: 1.4rem;
    }
      .pageHeader .parentPage::after{
        width: calc(calc(32/375) * 100vw);
        height: calc(calc(1/375) * 100vw);
        margin-top: calc(calc(16/375) * 100vw);
      }
    .pageHeader .pageTitle{
      font-size: 2.4rem;
    }
      .pageHeader .pageTitle br{
        display: inline-block;
      }
    .pageHeader .parentPage + .pageTitle{
      margin-top: calc(calc(16/375) * 100vw);
    }
}

.subPageRead{
  width: min(calc(100% - 20px),1238px);
  width: var(--width);
  margin-inline: auto;
  margin-top: 24px;
  line-height: 1.8;
}

@media (max-width:767px){

.subPageRead{
    margin-top: calc(calc(24/375) * 100vw)
}
  }

/* ==========================================================================
   whiteBox
========================================================================== */

.whiteBox{
  padding: 48px 59px 57px 53px;
  background: #fff;
}

.whiteBox + .whiteBox{
  margin-top: 64px;
}

@media (max-width:767px){
  .whiteBox{
    padding: calc(calc(40/375) * 100vw) calc(calc(20/375) * 100vw);
    background: #fff;
  }

  .whiteBox + .whiteBox{
    margin-top: calc(calc(40/375) * 100vw);
  }
}

/* ==========================================================================
   ページ内スクロールリンク
========================================================================== */

.pageScrollNavi{
  width: min(calc(100% - 20px),1238px);
  width: var(--width);
  padding: 0 59px 0 53px;
  margin-inline: auto;
}

.pageScrollNavi >h2{
    font-size: 1.6rem;
    font-weight: 500;
    margin-bottom: 16px;
  }

.pageScrollNavi ul{
    display: flex;
    flex-flow: row wrap;
    gap: 16px;
    line-height: 1;
  }

.pageScrollNavi ul a{
      min-height: 34px;
      padding: 4px 15px;
      display: flex;
      justify-content: center;
      align-items: center;
      background: #1E68A2;
      background: var(--primary_blue);
      border-radius: 4px;
      color: #fff;
    }

.pageScrollNavi ul a::after{
        content: '';
        width: 10px;
        height: 7px;
        background-color: #fff;
        -webkit-mask-image: url('../../img/gnavi_arrow_bottom_back.svg');
                mask-image: url('../../img/gnavi_arrow_bottom_back.svg');
        -webkit-mask-position: center center;
                mask-position: center center;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        flex-shrink: 0;
        margin-left: 15px;
      }

.pageScrollNavi ul a::before{
        content: '';
        background-color: #fff;
        -webkit-mask-position: center center;
                mask-position: center center;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        flex-shrink: 0;
        margin-right: 7px;
      }

.pageScrollNavi .searchIcon::before{
    -webkit-mask-image: url('../../img/search_icon.svg');
            mask-image: url('../../img/search_icon.svg');
    width: 14px;
    height: 14px;
  }

.pageScrollNavi .peopleIcon::before{
    -webkit-mask-image: url('../../img/people_icon.svg');
            mask-image: url('../../img/people_icon.svg');
    width: 16px;
    height: 14px;
  }

.pageScrollNavi .earthIcon::before{
    -webkit-mask-image: url('../../img/earth_icon.svg');
            mask-image: url('../../img/earth_icon.svg');
    width: 14px;
    height: 14px;
  }

.pageScrollNavi .linkIcon::before{
    -webkit-mask-image: url('../../img/link_icon.svg');
            mask-image: url('../../img/link_icon.svg');
    width: 14px;
    height: 14px;
  }

.pageScrollNavi .bookOpenIcon::before{
    -webkit-mask-image: url('../../img/book_open_icon.svg');
            mask-image: url('../../img/book_open_icon.svg');
    width: 14px;
    height: 13px;
  }

.pageScrollNavi .graduationCapIcon::before{
    -webkit-mask-image: url('../../img/graduation_cap_icon.svg');
            mask-image: url('../../img/graduation_cap_icon.svg');
    width: 18px;
    height: 13px;
  }

.pageScrollNavi .awardIcon::before{
    -webkit-mask-image: url('../../img/award_icon.svg');
            mask-image: url('../../img/award_icon.svg');
    width: 9px;
    height: 14px;
  }

.pageScrollNavi .bookmarkIcon::before{
    -webkit-mask-image: url('../../img/bookmark_icon.svg');
            mask-image: url('../../img/bookmark_icon.svg');
    width: 11px;
    height: 14px;
  }

.pageScrollNavi .flaskIcon::before{
    -webkit-mask-image: url('../../img/flask_icon.svg');
            mask-image: url('../../img/flask_icon.svg');
    width: 10px;
    height: 12px;
  }

.pageScrollNavi .squareIcon::before{
    -webkit-mask-image: url('../../img/square_icon.svg');
            mask-image: url('../../img/square_icon.svg');
    width: 16px;
    height: 16px;
  }

.pageScrollNavi .dbIcon::before{
    -webkit-mask-image: url('../../img/db_icon.svg');
            mask-image: url('../../img/db_icon.svg');
    width: 16px;
    height: 16px;
  }

.pageScrollNavi .documentIcon::before{
    -webkit-mask-image: url('../../img/document_icon 2.svg');
            mask-image: url('../../img/document_icon 2.svg');
    width: 16px;
    height: 16px;
  }

@media (max-width:767px){
  .pageScrollNavi{
    padding: 0;
  }
    .pageScrollNavi >h2{
      margin-bottom: calc(calc(16/375) * 100vw);
    }
    .pageScrollNavi ul{
      gap: calc(calc(12/375) * 100vw);
    }
      .pageScrollNavi ul a{
        min-height: calc(calc(34/375) * 100vw);
        padding: calc(calc(6/375) * 100vw) calc(calc(12/375) * 100vw);
        border-radius: calc(calc(4/375) * 100vw);
      }
        .pageScrollNavi ul a::after{
          width: calc(calc(10/375) * 100vw);
          height: calc(calc(7/375) * 100vw);
          margin-left: calc(calc(16/375) * 100vw);
        }
        .pageScrollNavi ul a::before{
          margin-right: calc(calc(8/375) * 100vw);
        }
    .pageScrollNavi .searchIcon::before{
      width: calc(calc(14/375) * 100vw);
      height: calc(calc(14/375) * 100vw);
    }
    .pageScrollNavi .peopleIcon::before{
      width: calc(calc(16/375) * 100vw);
      height: calc(calc(14/375) * 100vw);
    }
    .pageScrollNavi .earthIcon::before{
      width: calc(calc(14/375) * 100vw);
      height: calc(calc(14/375) * 100vw);
    }
    .pageScrollNavi .linkIcon::before{
      width: calc(calc(14/375) * 100vw);
      height: calc(calc(14/375) * 100vw);
    }
    .pageScrollNavi .bookOpenIcon::before{
      width: calc(calc(14/375) * 100vw);
      height: calc(calc(13/375) * 100vw);
    }
    .pageScrollNavi .graduationCapIcon::before{
      width: calc(calc(18/375) * 100vw);
      height: calc(calc(13/375) * 100vw);
    }
    .pageScrollNavi .awardIcon::before{
      width: calc(calc(9/375) * 100vw);
      height: calc(calc(14/375) * 100vw);
    }
    .pageScrollNavi .bookmarkIcon::before{
      width: calc(calc(11/375) * 100vw);
      height: calc(calc(14/375) * 100vw);
    }
    .pageScrollNavi .flaskIcon::before{
      width: calc(calc(10/375) * 100vw);
      height: calc(calc(12/375) * 100vw);
    }
    .pageScrollNavi .squareIcon::before{
      width: calc(calc(16/375) * 100vw);
      height: calc(calc(16/375) * 100vw);
    }
    .pageScrollNavi .dbIcon::before{
      width: calc(calc(16/375) * 100vw);
      height: calc(calc(16/375) * 100vw);
    }
    .pageScrollNavi .documentIcon::before{
      width: calc(calc(16/375) * 100vw);
      height: calc(calc(16/375) * 100vw);
    }
}

/* ==========================================================================
   教科別PDFダウンロードリスト
========================================================================== */

.schoolTypePdfDwonloadSec{
  display: grid;
  grid-template-columns: 180px 1fr;
  grid-template-rows: auto auto auto 1fr;
  gap: 0 32px;
}

.schoolTypePdfDwonloadSec .borderLeftTitle{
    grid-column: 1 / 3;
    grid-row: 1
  }

.schoolTypePdfDwonloadSec .tm{
    grid-column: 1;
    grid-row: 2;
  }

.schoolTypePdfDwonloadSec .allPdf{
    grid-column: 2;
    grid-row: 2;
  }

.schoolTypePdfDwonloadSec .allPdf .discription{
      display: grid;
      grid-template-columns: 48px 1fr;
      grid-template-rows: auto 1fr;
      gap: 4px 16px;
    }

.schoolTypePdfDwonloadSec .allPdf .discription::before{
        grid-column: 1;
        grid-row: 1 / 3;
        align-self: center;
        content: '';
        width: 48px;
        height: 48px;
        background: url('../../img/document_icon.svg') no-repeat center center / 16px auto;
        background-color: #F5F5F5;
      }

.schoolTypePdfDwonloadSec .allPdf .discription h2{
        grid-column: 2;
        grid-row: 1;
        font-size: 1.8rem;
        font-weight: 400;
      }

.schoolTypePdfDwonloadSec .allPdf .discription p{
        grid-column: 2;
        grid-row: 2;
      }

.schoolTypePdfDwonloadSec .allPdf .downloadBtn{
      margin-top: 24px;
      max-width: 271px;
    }

.schoolTypePdfDwonloadSec .subjectPdfDownloadList{
    grid-column: 1 / 3;
    grid-row: 3;
  }

.schoolTypePdfDwonloadSec .notice{
    grid-column: 1 / 3;
    grid-row: 4;
    margin-top: 32px;
    color: #535353;
    font-size: 1.4rem;
    text-indent: -1.2em;
    margin-left: 1.2em;
  }

.subjectPdfDownloadList{
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #D4D4D4;
}

.subjectPdfDownloadList h2{
    font-size: 1.8rem;
    font-weight: 400;
    margin-bottom: 16px;
  }

.subjectPdfDownloadList ul{
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 20px 24px;
  }

.subjectPdfDownloadList ul .column2{
      grid-column: span 2;
    }

.subjectPdfDownloadList a{
    width: 100%;
    min-height: 65px;
    padding: 7px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 4px;
    border: 1px solid #6BA9B7;
    border: 1px solid var(--secondary_blue);
    color: #000;
    background: #fff;
    transition: background .2s linear;
  }

.subjectPdfDownloadList a::before{
      content: '';
      width: 16px;
      height: 16px;
      background-color: #000;
      -webkit-mask-position: center center;
              mask-position: center center;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      -webkit-mask-size: contain;
              mask-size: contain;
    }

@media (hover: hover) {
      .subjectPdfDownloadList a:hover{
        background: #6BA9B7;
        background: var(--secondary_blue);
        color: #fff;
      }
        .subjectPdfDownloadList a:hover::before{
          background-color: #fff;
        }
    }

.subjectPdfDownloadList .bookOpenIcon::before{
      -webkit-mask-image: url('../../img/book_open_icon.svg');
              mask-image: url('../../img/book_open_icon.svg');
    }

.subjectPdfDownloadList .societyIcon::before{
      -webkit-mask-image: url('../../img/society_icon.svg');
              mask-image: url('../../img/society_icon.svg');
    }

.subjectPdfDownloadList .calculatorIcon::before{
      -webkit-mask-image: url('../../img/calculator_icon.svg');
              mask-image: url('../../img/calculator_icon.svg');
    }

.subjectPdfDownloadList .scienceIcon::before{
      -webkit-mask-image: url('../../img/science_icon.svg');
              mask-image: url('../../img/science_icon.svg');
    }

.subjectPdfDownloadList .earthIcon::before{
      -webkit-mask-image: url('../../img/earth_icon.svg');
              mask-image: url('../../img/earth_icon.svg');
    }

.subjectPdfDownloadList .musicIcon::before{
      -webkit-mask-image: url('../../img/music_icon.svg');
              mask-image: url('../../img/music_icon.svg');
    }

.subjectPdfDownloadList .musicIcon::before{
      -webkit-mask-image: url('../../img/music_icon.svg');
              mask-image: url('../../img/music_icon.svg');
    }

.subjectPdfDownloadList .artCraftIcon::before{
      -webkit-mask-image: url('../../img/art_craft_icon.svg');
              mask-image: url('../../img/art_craft_icon.svg');
    }

.subjectPdfDownloadList .homeIcon::before{
      -webkit-mask-image: url('../../img/home_icon.svg');
              mask-image: url('../../img/home_icon.svg');
    }

.subjectPdfDownloadList .peopleIcon::before{
      -webkit-mask-image: url('../../img/people_icon.svg');
              mask-image: url('../../img/people_icon.svg');
    }

.subjectPdfDownloadList .squareIcon::before{
      background-color: #1E68A2;
      background-color: var(--primary_blue);
      -webkit-mask-image: url('../../img/square_icon.svg');
              mask-image: url('../../img/square_icon.svg');
    }

@media (max-width:767px){
  .schoolTypePdfDwonloadSec{
    grid-template-columns: 100%;
    gap: 0;
  }
    .schoolTypePdfDwonloadSec .borderLeftTitle{
      grid-column: 1;
    }
    .schoolTypePdfDwonloadSec .tm{
      justify-self: center;
      width: calc(calc(180/375) * 100vw);
    }
    .schoolTypePdfDwonloadSec .allPdf{
      grid-column: 1;
      grid-row: 3;
      margin-top: calc(calc(16/375) * 100vw);
    }
      .schoolTypePdfDwonloadSec .allPdf .discription{
        display: grid;
        grid-template-columns: calc(calc(32/375) * 100vw) 1fr;
        grid-template-rows: calc(calc(32/375) * 100vw) 1fr;
        gap: calc(calc(4/375) * 100vw) calc(calc(9/375) * 100vw);
      }
        .schoolTypePdfDwonloadSec .allPdf .discription::before{
          grid-row: 1;
          width: 100%;
          height: calc(calc(32/375) * 100vw);
          background: url('../../img/document_icon.svg') no-repeat center center / calc(calc(16/375) * 100vw) auto;
          background-color: #F5F5F5;
        }
        .schoolTypePdfDwonloadSec .allPdf .discription h2{
          grid-column: 2;
          grid-row: 1;
          font-size: 1.6rem;
          align-self: center;
        }
        .schoolTypePdfDwonloadSec .allPdf .discription p{
          grid-column: 2;
          grid-row: 2;
        }
      .schoolTypePdfDwonloadSec .allPdf .downloadBtn{
        margin: calc(calc(16/375) * 100vw) auto 0;
        max-width: calc(calc(240/375) * 100vw);
      }
    .schoolTypePdfDwonloadSec .subjectPdfDownloadList{
      grid-row: 4;
    }
    .schoolTypePdfDwonloadSec .notice{
      grid-row: 5;
      margin-top: calc(calc(16/375) * 100vw);
    }
  .subjectPdfDownloadList{
    margin-top: calc(calc(32/375) * 100vw);
    padding-top: calc(calc(32/375) * 100vw);
    border-top: calc(calc(1/375) * 100vw) solid #D4D4D4;
  }
    .subjectPdfDownloadList h2{
      font-size: 1.6rem;
      margin-bottom: calc(calc(12/375) * 100vw);
    }
    .subjectPdfDownloadList ul{
      display: grid;
      grid-template-columns: repeat(2,1fr);
      gap: calc(calc(16/375) * 100vw);
    }
      .subjectPdfDownloadList ul .column2{
        grid-column: span 2;
      }
        .subjectPdfDownloadList ul .column2 a{
          text-align: center;
        }
    .subjectPdfDownloadList a{
      min-height: calc(calc(65/375) * 100vw);
      padding: calc(calc(10.5/375) * 100vw);
      gap: calc(calc(4/375) * 100vw);
      border: calc(calc(1/375) * 100vw) solid #6BA9B7;
      border: calc(calc(1/375) * 100vw) solid var(--secondary_blue);
    }
      .subjectPdfDownloadList a::before{
        width: calc(calc(16/375) * 100vw);
        height: calc(calc(16/375) * 100vw);
      }
}

/* ==========================================================================
   左ボーダー 注意喚起ボックス
========================================================================== */

.noticeLeftBorderBox{
  border-left: 2px solid #1E68A2;
  border-left: 2px solid var(--primary_blue);
  padding: 20px 20px 18px 20px;
  background: #F8FBFF;
}

@media (max-width:767px){
  .noticeLeftBorderBox{
    border-left: calc(calc(2/375) * 100vw) solid #1E68A2;
    border-left: calc(calc(2/375) * 100vw) solid var(--primary_blue);
    padding: calc(calc(14/375) * 100vw) calc(calc(16/375) * 100vw) calc(calc(15/375) * 100vw) calc(calc(18/375) * 100vw);
    background: #F8FBFF;
  }
}

.noticeLeftBorderBoxBig{
  padding: 32px;
}

@media (max-width:767px){
  .noticeLeftBorderBoxBig{
    padding: calc(calc(24/375) * 100vw) calc(calc(12/375) * 100vw);
  }
}

/* ==========================================================================
   お知らせ
========================================================================== */

.newsCategoryList{
  width: min(calc(100% - 20px),1238px);
  width: var(--width);
}

.newsCategoryList ul{
    display: flex;
    gap: 16px;
  }

.newsCategoryList ul a,.newsCategoryList ul button{
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 30px;
      padding: 3px 16px;
      font-weight: 500;
      line-height: 1.3;
      color: #1E68A2;
      color: var(--primary_blue);
      border-radius: 40px;
      background: #fff;
    }

.newsCategoryList ul .current{
      background: #1E68A2;
      background: var(--primary_blue);
      color: #fff;
    }

.newsListRow{
  display: grid;
  grid-template-columns: auto auto 1fr;
}

.newsListBox{
  display: contents;
}

.newsListBox a{
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 3;
    align-items: center;
    gap: 24px;
    padding: 18px 14px;
    border-top: 1px solid #D4D4D4;
  }

.newsListBox time{
    color: #1E68A2;
    color: var(--primary_blue);
    font-weight: 500;
  }

.newsListBox .category{
    justify-self: start;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3px 12px;
    min-height: 25px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
    color: #1E68A2;
    color: var(--primary_blue);
    border-radius: 24px;
    border: 1px solid #1E68A2;
    border: 1px solid var(--primary_blue);
  }

.newsListBox h2{
    font-weight: 400;
    font-size: 1.6rem;
  }

.newsListBox:last-child a{
    border-bottom: 1px solid #D4D4D4;
  }

@media (max-width:767px) {
    .newsCategoryList ul{
      gap: calc(calc(12/375) * 100vw);
      flex-flow: column;
      align-items: flex-start;
    };
      .newsCategoryList ul a{
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: calc(calc(26/375) * 100vw);
        padding: calc(calc(3/375) * 100vw) calc(calc(16/375) * 100vw);
        border-radius: calc(calc(40/375) * 100vw);
      }
  .newsListRow{
    display: block;
  }
  .newsListBox{
    display: block;
  }
    .newsListBox a{
      display: block;
      padding: calc(calc(16/375) * 100vw) calc(calc(7/375) * 100vw);
      border-top: calc(calc(1/375) * 100vw) solid #D4D4D4;
    }
    .newsListBox .category{
      padding: calc(calc(3/375) * 100vw) calc(calc(12/375) * 100vw);
      min-height: calc(calc(25/375) * 100vw);
      font-size: 1.3rem;
      font-weight: 500;
      line-height: 1.4;
      border-radius: calc(calc(24/375) * 100vw);
      border: calc(calc(1/375) * 100vw) solid #1E68A2;
      border: calc(calc(1/375) * 100vw) solid var(--primary_blue);
      margin-top: calc(calc(8/375) * 100vw);
    }
    .newsListBox h2{
      margin-top: calc(calc(8/375) * 100vw);
    }
    .newsListBox:last-child a{
      border-bottom: calc(calc(1/375) * 100vw) solid #D4D4D4;
    }
}

/* ==========================================================================
   ページ送り
========================================================================== */

.pagenation{
  margin-top: 48px;
}

.pagenation ul{
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    gap:0 24px;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
  }

.pagenation .current{
    color: #1E68A2;
    color: var(--primary_blue);
  }

.pagenation .nextprev{
    display: block;
    width: 32px;
  }

.pagenation .nextprev svg{
      width: 100%;
      height: auto;
    }

.pagenation .prev{
    margin-right: 24px;
  }

.pagenation .next{
    margin-left: 24px;
  }

.pagenation .next svg{
      rotate: 180deg;
    }

.pagenation a.nextprev path:first-child{
      fill: #1E68A2;
      fill: var(--primary_blue);
    }

@media (max-width: 767px) {
  .pagenation{
    margin-top: calc(calc(32/375) * 100vw);
  }
    .pagenation ul{
      gap:0 calc(calc(18/375) * 100vw);
      font-size: 1.6rem;
    }
    .pagenation .nextprev{
      width: calc(calc(32/375) * 100vw);
    }
    .pagenation .prev{
      margin-right: 0;
    }
    .pagenation .next{
      margin-left: 0;
    }
}

/* ==========================================================================
  ロード関連
========================================================================== */

@keyframes fadeInAjax {
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

.ajaxFadein{
  opacity: 0;
	animation: fadeInAjax .8s 1 0s ease forwards;
}

.loading{
  position: relative;
}

.loading::before{
    position: absolute;
    top:50%;
    left:50%;
    translate: -50% -50%;
    width: 40px;
    height: 40px;
    content: '';
    animation: loader .8s infinite linear;
    border: 6px solid #000;
    border-top-color: #ddd;
    border-radius: 50%;
    opacity: .5;
  }

@media only screen and (max-width: 767px) {
    .loading::before{
      position: absolute;
      top:50%;
      left:50%;
      translate: -50% -50%;
      width: 26px;
      height: 26px;
      content: '';
      animation: loader .8s infinite linear;
      border: 4px solid #000;
      border-top-color: #ddd;
      border-radius: 50%;
    }
}

@keyframes loader{
  0%{
    transform: rotate(0deg);
  }
  100%{
    transform: rotate(360deg);
  }
}

/* ==========================================================================
   slideDownSection
========================================================================== */

.slideDownSection{
  border-radius: 4px;
  border: 1px solid #6BA9B7;
  border: 1px solid var(--secondary_blue);
}

.slideDownSection >header{
    padding: 13px 20px 10px 28px;
    cursor: pointer;
    display: grid;
    grid-template-columns: 1fr 16px;
    gap: 0 16px;
  }

.slideDownSection >header::after{
      grid-column: 2;
      grid-row: 1;
      justify-self: center;
      align-self: center;
      content: '';
      width: 16px;
      height: 1px;
      background: #1E68A2;
      background: var(--primary_blue);
    }

.slideDownSection >header::before{
      grid-column: 2;
      grid-row: 1;
      justify-self: center;
      align-self: center;
      content: '';
      width: 1px;
      height: 16px;
      background: #1E68A2;
      background: var(--primary_blue);
      transition: rotate .2s linear,opacity .1s linear;
      transition-delay: 0s ,0.1s;
    }

.slideDownSection >header h2{
      font-size: 1.8rem;
      font-weight: 400;
    }

@media (hover:hover){
      .slideDownSection >header:hover{
        opacity: .8;
      }
    }

.slideDownSection .open::before{
      rotate: 90deg;
      opacity: 0;
    }

.slideDownSection .hideBox{
    display: none;
    padding: 6px 22px 24px 28px;
  }

@media (max-width:767px){
  .slideDownSection{
    border-radius: calc(calc(4/375) * 100vw);
    border: calc(calc(1/375) * 100vw) solid #6BA9B7;
    border: calc(calc(1/375) * 100vw) solid var(--secondary_blue);
  }
    .slideDownSection >header{
      padding: calc(calc(13/375) * 100vw) calc(calc(17/375) * 100vw) calc(calc(12/375) * 100vw) calc(calc(16/375) * 100vw);
      grid-template-columns: 1fr calc(calc(16/375) * 100vw);
      gap: 0 calc(calc(16/375) * 100vw);
    }
      .slideDownSection >header::after{
        width: calc(calc(16/375) * 100vw);
        height: calc(calc(1/375) * 100vw);
      }
      .slideDownSection >header::before{
        width: calc(calc(1/375) * 100vw);
        height: calc(calc(16/375) * 100vw);
      }
      .slideDownSection >header h2{
        font-size: 1.6rem;
      }
    .slideDownSection .hideBox{
      display: none;
      padding: calc(calc(4/375) * 100vw) calc(calc(16/375) * 100vw) calc(calc(19/375) * 100vw) calc(calc(16/375) * 100vw);
    }
}

/* ==========================================================================
   目的・事業・情報公開
========================================================================== */

.purpose_jpPage .whiteBox p{
      line-height: 1.8;
    }

.purpose_jpPage .whiteBox .endText{
      margin-top: 8px;
      text-align: right;
      color: #4A5565;
    }

.purpose_jpPage .about p + p{
      margin-top: 1em;
    }

.purpose_jpPage .about .downloadBtn{
      margin-top: 23px;
    }

.purpose_jpPage .about .logoDesign{
      max-width: 795px;
      margin: 64px auto 0;
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-rows: auto auto 1fr;
      gap: 0 56px;
    }

.purpose_jpPage .about .logoDesign >h2{
        grid-column: 1 / 3;
        grid-row: 1;
        text-align: center;
        color: #1E68A2;
        color: var(--primary_blue);
        font-size: 2.4rem;
        font-weight: 500;
        margin-bottom: 16px;
      }

.purpose_jpPage .about .logoDesign .concept{
        grid-column: 1 / 3;
        grid-row: 2;
        text-align: center;
        font-size: 2rem;
        color: #1E68A2;
        color: var(--primary_blue);
        font-weight: 500;
        margin-bottom: 32px;
      }

.purpose_jpPage .about .logoDesign figure{
        grid-column: 1;
        grid-row: 3;
      }

.purpose_jpPage .about .logoDesign .text{
        grid-column: 2;
        grid-row: 3;
        align-self: center;
        line-height: 1.8;
      }

.purpose_jpPage .business .numberList{
      margin-top: 16px;
      counter-reset: my-counter;
    }

.purpose_jpPage .business .numberList li{
        display: flex;
      }

.purpose_jpPage .business .numberList li::before{
          content: counter(my-counter)'.';
          counter-increment: my-counter;
          flex-shrink: 0;
          width: 3.5ch;
        }

.purpose_jpPage .business .numberList li + li{
        margin-top: 8px;
      }

.purpose_jpPage .informationDisclosure .row{
      margin-top: 32px;
      display: grid;
      grid-template-columns: repeat(3,1fr);
      gap: 32px;
    }

.purpose_jpPage .informationDisclosure .cardSection{
      display: grid;
      grid-template-rows: subgrid;
      gap: 0;
      grid-row: span 2;
      border: 1px solid #6BA9B7;
      border: 1px solid var(--secondary_blue);
      padding: 34px 32px;
    }

.purpose_jpPage .informationDisclosure .cardSection h2{
        text-align: center;
        font-size: 2rem;
        font-weight: 400;
        margin-bottom: 24px;
        display: flex;
        flex-flow: column;
        align-items: center;
      }

.purpose_jpPage .informationDisclosure .cardSection h2::before{
          content: '';
          background: url('../../img/document_icon.svg') no-repeat center center / contain;
          display: block;
          width: 35px;
          height: 44px;
          margin-bottom: 19px;
        }

.purpose_jpPage .informationDisclosure .cardSection h2::after{
          content: '';
          margin-top: 16px;
          display: block;
          width: 48px;
          height: 2px;
          background: linear-gradient(to right, #1E68A2 50%, #6BA9B7 50%);
        }

.purpose_jpPage .informationDisclosure .cardSection li:not(:last-child){
        padding-bottom: 12px;
        border-bottom: 1px solid #6BA9B7;
        border-bottom: 1px solid var(--secondary_blue);
      }

.purpose_jpPage .informationDisclosure .cardSection li:not(:first-child){
        padding-top: 12px;
      }

.purpose_jpPage .informationDisclosure .cardSection .downloadLink{
        gap: 8px;
      }

/* ==========================================================================
   沿革
========================================================================== */

.historyPage .chronology .dateTitleList dt{
        min-width: 266px;
      }

.historyPage .chronology small{
      font-size: 1.4rem;
      color: #535353;
      margin-top: 4px;
    }

/* ==========================================================================
   アクセス
========================================================================== */

.access_jpPage .company{
    display: grid;
    grid-template-columns: 278px 1fr;
    border-bottom: 1px solid #D4D4D4;
  }

.access_jpPage .company dt,.access_jpPage .company dd{
      border-top: 1px solid #D4D4D4;
    }

.access_jpPage .company dt{
      padding: 18px 0 0 14px;
    }

.access_jpPage .company dd{
      padding: 18px 0;
    }

.access_jpPage .googleMap h2{
      font-size: 1.6rem;
      font-weight: 400;
      margin-bottom: 12px;
    }

.access_jpPage .googleMap .map iframe{
        width: 100%;
        height: 361px;
      }

.access_jpPage .googleMap .goMap{
      color: #535353;
      display: inline-flex;
      align-items: center;
      gap: 2px;
      margin-top: 12px;
      border-bottom: 1px solid #535353;
    }

.access_jpPage .googleMap .goMap::after{
        content: '';
        width: 14px;
        height: 16px;
        background: url('../../img/map_icon.svg') no-repeat center center / contain;
        flex-shrink: 0;
      }

.access_jpPage .illuMap{
    margin-top: 32px;
    display: block;
  }

.access_jpPage .accessSec h2{
      font-size: 1.8rem;
      font-weight: 500;
      line-height: 1.8;
    }

.access_jpPage .accessSec .lineDots{
      margin-top: 2px;
    }

.access_jpPage .accessSec li + li{
      margin-top: 8px;
    }

.access_jpPage .accessSec .notice{
      font-size: 1.4rem;
      color: #535353;
      margin-top: 8px;
      display: flex;
      gap: .2em;
    }

.access_jpPage .accessSec + .accessSec{
    margin-top: 16px;
  }

/* ==========================================================================
   調査研究テーマについて
========================================================================== */

.research_jpPage .subPageRead{
    margin-bottom: 53px;
  }

.research_jpPage .whiteBox{
    width: min(calc(100% - 20px),1238px);
    width: var(--width);
    margin-inline: auto;
  }

.research_jpPage .purpose .innerSec h2{
        font-size: 1.8rem;
        font-weight: 400;
        margin-bottom: 8px;
      }

.research_jpPage .purpose .innerSec + .innerSec{
      margin-top: 32px;
      padding-top: 32px;
      border-top: 1px solid #E9E9E9;
    }

.research_jpPage .pageScrollNavi{
    margin-top: 56px;
  }

.research_jpPage .categorySection{
    margin-top: 64px;
  }

.research_jpPage .accordionSec{
    margin-top: 24px;
  }

.research_jpPage .accordionSec h2{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      padding: 4px 16px;
      font-size: 1.6rem;
      font-weight: 400;
      border: 1px solid #1E68A2;
      border: 1px solid var(--primary_blue);
      border-radius: 4px;
      color: #1E68A2;
      color: var(--primary_blue);
      cursor: pointer;
    }

.research_jpPage .accordionSec h2::after{
        content: '';
        width: 10px;
        height: 7px;
        background-color: #1E68A2;
        background-color: var(--primary_blue);
        -webkit-mask-image: url('../../img/gnavi_arrow_bottom_back.svg');
                mask-image: url('../../img/gnavi_arrow_bottom_back.svg');
        -webkit-mask-position: center center;
                mask-position: center center;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        flex-shrink: 0;
        transition: rotate .2s linear;
      }

@media (hover:hover){
        .research_jpPage .accordionSec h2:hover{
          opacity: .8;
        }
      }

.research_jpPage .accordionSec .open::after{
        rotate: 180deg;
      }

.research_jpPage .accordionSec .hideList{
      display: none;
      margin-top: 16px;
    }

.research_jpPage .accordionSec + .accordionSec{
    margin-top: 16px;
  }

/* ==========================================================================
   研究成果・刊行物
========================================================================== */

.outcomePage .pageScrollNavi{
    margin-top: 56px;
  }

.outcomePage .publications{
    margin-top: 64px;
  }

.outcomePage .publications .dateTitleList .bottomTextarea{
        margin-top: 8px;
      }

/* ==========================================================================
   過去に開催した研修講座
========================================================================== */

.seminarPage .subPageRead p{
      display: block;
      max-width: 693px;
    }

.seminarPage .pageScrollNavi{
    margin-top: 56px;
  }

.seminarPage .seminarSection{
    margin-top: 64px;
  }

.seminarPage .seminarSection1{
    margin-top: 54px;
  }

/* ==========================================================================
   学習者用デジタル教科書紹介リンク集
========================================================================== */

.digital-linkPage .subPageRead .kome{
      color: #535353;
      font-size: 1.4rem;
      margin-top: 16px;
      text-indent: -1.2em;
      margin-left: 1.2em;
    }

.digital-linkPage .pageScrollNavi{
    margin-top: 56px;
  }

.digital-linkPage .digitalLinkSec{
    margin-top: 64px;
  }

.digital-linkPage .linkTable{
    width: 100%;
    table-layout: fixed;
    border-collapse:collapse;
    position: relative;
  }

.digital-linkPage .linkTable::before{
      content: '';
      width: 100%;
      height: 57px;
      position: absolute;
      top: 0;
      left: 0;
      background: #fff;
      box-shadow: 0 2px 2px 0 rgba(0,0,0,.15);
      z-index: 1;
    }

.digital-linkPage .linkTable thead th{
        border: none;
        padding: 10px 0 23px 0;
        position: relative;
        z-index: 2;
        height: 71px;
        line-height: 1.42;
      }

.digital-linkPage .linkTable thead th span{
          width: 100%;
          height: 100%;
          display: flex;
          justify-content: flex-start;
          align-items: center;
        }

.digital-linkPage .linkTable thead th:not(:first-child)::before{
          content: '';
          width: 1px;
          height: 33px;
          background: #D4D4D4;
          position: absolute;
          left: 0;
          top: 10px;
        }

.digital-linkPage .linkTable thead th:not(.issuerTh){
        text-align: center;
      }

.digital-linkPage .linkTable thead .issuerTh{
        width: 227px;
        padding-left: 27px;
      }

.digital-linkPage .linkTable thead .lr{
        writing-mode: vertical-lr;
        letter-spacing: .2em;
      }

.digital-linkPage .linkTable thead .zuga span{
          justify-content: center;
          align-items: flex-start;
          margin-top: -.42em;
        }

.digital-linkPage .linkTable th{
      font-size: 1.4rem;
      line-height: 1.42;
      font-weight: 400;
    }

.digital-linkPage .linkTable th,.digital-linkPage .linkTable td{
      border-right: 1px solid #D4D4D4;
      border-bottom: 1px solid #D4D4D4;
    }

.digital-linkPage .linkTable th:last-child,
    .digital-linkPage .linkTable td:last-child{
      border-right: none;
    }

.digital-linkPage .linkTable td{
      text-align: center;
    }

.digital-linkPage .linkTable td a{
        color: #1E68A2;
        color: var(--primary_blue);
        text-decoration: underline;
        font-weight: 700;
      }

.digital-linkPage .linkTable .publisher{
      padding: 10px 0 10px 23px;
    }

.digital-linkPage .linkTable .publisher .inner{
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto 1fr;
        gap: 4px;
        line-height: 1.3;
      }

.digital-linkPage .linkTable .publisher a{
        text-decoration: underline;
        width: -moz-fit-content;
        width: fit-content;
        font-weight: 400;
      }

.digital-linkPage .linkTable .publisher .num{
        grid-column: 1;
        grid-row: 1 / 3;
      }

.digital-linkPage .linkTable .publisher .name{
        grid-column: 2;
        grid-row: 1;
        display: inline-flex;
        align-items: center;
        gap: 5px;
      }

.digital-linkPage .linkTable .publisher .name::after{
          content: '';
          width: 10px;
          height: 10px;
          background-color: #1E68A2;
          background-color: var(--primary_blue);
          -webkit-mask-image: url('../../img/other_tab_icon.svg');
                  mask-image: url('../../img/other_tab_icon.svg');
          -webkit-mask-position: center center;
                  mask-position: center center;
          -webkit-mask-repeat: no-repeat;
                  mask-repeat: no-repeat;
          -webkit-mask-size: contain;
                  mask-size: contain;
          flex-shrink: 0;
        }

.digital-linkPage .linkTable .publisher .trial{
        grid-column: 2;
        grid-row: 2;
        font-size: 1.2rem;
        color: #1E68A2;
        color: var(--primary_blue);
        display: inline-block;
      }

.digital-linkPage .linkTable tbody tr:nth-child(even){
        background: #F5F5F5;
      }

.digital-linkPage .notice{
    margin-top: 33px;
    color: #535353;
    font-size: 1.4rem;
    line-height: 1.42;
  }

.digital-linkPage .notice li{
      display: flex;
    }

.digital-linkPage .notice li + li{
      margin-top: 8px;
    }

/* ==========================================================================
   学習者用デジタル教科書活用事例集
========================================================================== */

.digital-jireisyuPage .subPageRead p + p{
      margin-top: 8px;
    }

.digital-jireisyuPage .pageScrollNavi{
    margin-top: 56px;
  }

.digital-jireisyuPage .schoolTypePdfDwonloadSec2{
    margin-top: 32px;
  }

.digital-jireisyuPage .noticeLeftBorderBox{
    margin-top: 32px;
  }

/* ==========================================================================
   "新しい"教科書の使い方
========================================================================== */

.tsukaikataPage .subPageRead * + *{
      margin-top: 8px;
    }

.tsukaikataPage .pageScrollNavi{
    margin-top: 56px;
  }

.tsukaikataPage .referenceInformation{
    max-width: min(calc(100% - 20px),1238px);
    max-width: var(--width);
    margin: 53px auto 0;
  }

.tsukaikataPage .referenceInformation .innerSec header{
        display: grid;
        grid-template-columns: 48px 1fr;
        grid-template-rows: auto 1fr;
        gap: 4px 16px;
      }

.tsukaikataPage .referenceInformation .innerSec header::before{
          grid-column: 1;
          grid-row: 1 / 3;
          content: '';
          width: 48px;
          height: 48px;
          background-color: #F5F5F5;
        }

.tsukaikataPage .referenceInformation .innerSec header h2{
          grid-column: 2;
          grid-row: 1;
          font-size: 1.8rem;
          font-weight: 400;
        }

.tsukaikataPage .referenceInformation .innerSec header p{
          grid-column: 2;
          grid-row: 2;
        }

.tsukaikataPage .referenceInformation .innerSec .tm{
        margin-top: 24px;
      }

.tsukaikataPage .referenceInformation .innerSec .otherTabBtn{
        margin-top: 24px;
      }

.tsukaikataPage .referenceInformation .innerSec + .innerSec{
      margin-top: 40px;
      padding-top: 40px;
      border-top: 1px solid #D4D4D4;
    }

.tsukaikataPage .referenceInformation .innerSec1 header::before{
          background: url('../../img/movie_icon.svg') no-repeat center center / 24px auto;
          background-color: #F5F5F5;
        }

.tsukaikataPage .referenceInformation .innerSec1 .otherTabBtn{
        max-width: 258px;
      }

.tsukaikataPage .referenceInformation .innerSec2 header::before{
          background: url('../../img/document_icon_bold.svg') no-repeat center center / 24px auto;
          background-color: #F5F5F5;
        }

.tsukaikataPage .referenceInformation .innerSec2 .otherTabBtn{
        max-width: 207px;
      }

.tsukaikataPage .referenceInformation .innerSec3 header::before{
          background: url('../../img/document_icon_bold.svg') no-repeat center center / 24px auto;
          background-color: #F5F5F5;
        }

.tsukaikataPage .referenceInformation .innerSec3 .otherTabBtn{
        max-width: 242px;
      }

.tsukaikataPage .schoolTypePdfDwonloadSec{
    max-width: min(calc(100% - 20px),1238px);
    max-width: var(--width);
    margin-inline: auto;
  }

/* ==========================================================================
   教科書作成のしおり（令和3年改訂版）
========================================================================== */

.shioriPage .noticeLeftBorderBoxBig h2{
      font-size: 2rem;
      font-weight: 500;
      margin-bottom: 16px;
    }

.shioriPage .noticeLeftBorderBoxBig p{
      line-height: 2;
    }

.shioriPage .noticeLeftBorderBoxBig p strong{
        font-weight: 500;
      }

.shioriPage .noticeLeftBorderBoxBig .small{
      color: #7E7E7E;
      font-size: 1.4rem;
    }

.shioriPage .noticeLeftBorderBoxBig .downloadBtn{
      max-width: 532px;
      margin-top: 16px;
    }

.shioriPage .allDownLoadSec{
    margin-top: 40px;
  }

.shioriPage .allDownLoadSec li{
      display: grid;
      grid-template-columns: 48px 1fr;
      grid-template-rows: auto 1fr;
      gap: 4px 16px;
    }

.shioriPage .allDownLoadSec li::before{
        grid-column: 1;
        grid-row: 1 / 3;
        content: '';
        width: 48px;
        height: 48px;
      }

.shioriPage .allDownLoadSec li p{
        font-size: 1.8rem;
      }

.shioriPage .allDownLoadSec li a{
        font-size: 1.4rem;
        width: -moz-fit-content;
        width: fit-content;
        color: #1E68A2;
        color: var(--primary_blue);
      }

.shioriPage .allDownLoadSec li:nth-child(1)::before{
        background: url('../../img/document_icon_bold.svg') no-repeat center center / 24px auto;
        background-color: #F5F5F5;
      }

.shioriPage .allDownLoadSec li:nth-child(2){
      margin-top: 32px;
    }

.shioriPage .allDownLoadSec li:nth-child(2)::before{
        background: url('../../img/book_open_icon2.svg') no-repeat center center / 24px auto;
        background-color: #F5F5F5;
      }

.shioriPage .numberSec{
    margin-top: 40px;
  }

.shioriPage .numberSec li{
      font-size: 1.4rem;
    }

.shioriPage .numberSec li a{
        color: #1E68A2;
        color: var(--primary_blue);
      }

.shioriPage .numberSec li + li{
      margin-top: 12px;
    }

.shioriPage .numberSec6 .otherTabBtn{
      margin-top: 32px;
      gap: 0 4px;
      max-width: 437px;
    }

/* ==========================================================================
   教科書作成のしおり＜資料編＞
========================================================================== */

.shiori-shiryouPage .goShiori{
    width: min(calc(100% - 20px),1238px);
    width: var(--width);
    margin: 40px auto 0;
  }

.shiori-shiryouPage .goShiori a{
      border: 1px solid #939393;
      border-radius: 2px;
      max-width: 408px;
      min-height: 56px;
      padding: 10px 18px;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 0 12px;
    }

.shiori-shiryouPage .goShiori a::before{
        content: '';
        width: 8px;
        height: 13px;
        background: url('../../img/arrow_left.svg') no-repeat center center / contain;
        flex-shrink: 0;
      }

.shiori-shiryouPage .main{
    margin-top: 40px;
  }

.shiori-shiryouPage .numberSec{
    margin-top: 40px;
  }

.shiori-shiryouPage .numberSec li{
      font-size: 1.4rem;
    }

.shiori-shiryouPage .numberSec li a{
        color: #1E68A2;
        color: var(--primary_blue);
      }

.shiori-shiryouPage .numberSec li + li{
      margin-top: 12px;
    }

.shiori-shiryouPage .numberSec .firstLink{
      font-size: 1.4rem;
    }

.shiori-shiryouPage .numberSec .firstLink a{
        color: #1E68A2;
        color: var(--primary_blue);
      }

.shiori-shiryouPage .numberSec figure{
      margin-top: 24px;
    }

.shiori-shiryouPage .numberSec figure figcaption{
        margin-bottom: 8px;
      }

.shiori-shiryouPage .arrowLeftBtn{
    max-width: 473px;
    margin: 64px auto 0;
    min-height: 56px;
    border-radius: 2px;
    background: #1E68A2;
    background: var(--primary_blue);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    gap: 0 18px;
  }

.shiori-shiryouPage .arrowLeftBtn::before{
      content: '';
      width: 8px;
      height: 13px;
      background-color: #fff;
      -webkit-mask-image: url('../../img/arrow_left.svg');
              mask-image: url('../../img/arrow_left.svg');
      -webkit-mask-position: center center;
              mask-position: center center;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      -webkit-mask-size: contain;
              mask-size: contain;
      flex-shrink: 0;
    }

/* ==========================================================================
   大学院生の教科書研究論文助成
========================================================================== */

.daigakuinPage .borderTopList{
    margin-top: 32px;
    padding-top: 32px;
    border-top: 1px solid #E9E9E9;
  }

.daigakuinPage .outline li{
      display: flex;
    }

.daigakuinPage .outline li::before{
        content: '';
        background: url('../../img/check_mark.svg') no-repeat center center / contain;
        width: 23px;
        height: 23px;
        flex-shrink: 0;
        margin-right: 10px;
      }

.daigakuinPage .outline li strong{
        font-weight: 500;
        margin-right: 4px;
      }

.daigakuinPage .outline li + li{
      margin-top: 18px;
    }

.daigakuinPage .whiteBox + .whiteBox{
    margin-top: 64px;
  }

.daigakuinPage .summary .summaryList{
      font-size: 1.4rem;
    }

.daigakuinPage .summary .summaryList li{
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto 1fr;
        gap: 6px 8px;
      }

.daigakuinPage .summary .summaryList li + li{
        margin-top: 23px;
      }

.daigakuinPage .summary .summaryList a{
        font-size: 1.4rem;
        text-decoration: none;
      }

.daigakuinPage .summary .summaryList a >span{
          border-bottom: 1px solid #000;
          line-height: 1;
        }

.daigakuinPage .summary .summaryList a .spBlock{
          padding-left: 1em;
        }

.daigakuinPage .summary .summaryList .end{
        grid-column: 2;
        grid-row: 2;
        font-size: 1.6rem;
        color: #AD3626;
        display: flex;
        align-items: center;
        gap: 6px;
      }

.daigakuinPage .summary .summaryList .end::before{
          content: '';
          background: url('../../img/end_icon.svg') no-repeat center center / contain;
          width: 24px;
          height: 24px;
          flex-shrink: 0;
        }

.daigakuinPage .resultsEssayList{
    font-size: 1.4rem;
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 12px 0;
  }

.daigakuinPage .resultsEssayList a{
      color: #1E68A2;
      color: var(--primary_blue);
    }

/* ==========================================================================
   大学院生の教科書研究論文助成金応募分
========================================================================== */

.joseiTemplatePage .borderTop{
    margin-top: 32px;
    padding-top: 32px;
    border-top: 1px solid #E9E9E9;
  }

.joseiTemplatePage .downLoadList{
    font-size: 1.4rem;
  }

.joseiTemplatePage .downLoadList li{
      display: flex;
      flex-flow: column;
      gap: 8px;
    }

.joseiTemplatePage .downLoadList li + li{
      margin-top: 16px;
    }

.joseiTemplatePage .downLoadList a{
      color: #1E68A2;
      color: var(--primary_blue);
      width: -moz-fit-content;
      width: fit-content;
    }

.joseiTemplatePage .downLoadList .end{
      font-size: 1.4rem;
      color: #AD3626;
      display: flex;
      align-items: center;
      gap: 4px;
      margin-left: 16px;
    }

.joseiTemplatePage .downLoadList .end::before{
        content: '';
        background: url('../../img/end_icon.svg') no-repeat center center / contain;
        width: 16px;
        height: 16px;
        flex-shrink: 0;
      }

.joseiTemplatePage .documents .documentsInner h2{
        font-size: 1.8rem;
        font-weight: 400;
        margin-bottom: 12px;
        display: flex;
        align-items: center;
        gap: 8px;
        line-height: 1.6;
      }

.joseiTemplatePage .documents .documentsInner h2::before{
          content: '';
          background-color: #1E68A2;
          background-color: var(--primary_blue);
          -webkit-mask-image: url('../../img/square_icon.svg');
                  mask-image: url('../../img/square_icon.svg');
          -webkit-mask-position: center center;
                  mask-position: center center;
          -webkit-mask-repeat: no-repeat;
                  mask-repeat: no-repeat;
          -webkit-mask-size: contain;
                  mask-size: contain;
          width: 6px;
          height: 6px;
          flex-shrink: 0;
        }

.joseiTemplatePage .documents .documentsInner ul{
        padding-left: 14px;
      }

/* ==========================================================================
   若手研究者教科書研究助成
========================================================================== */

.wakatePage .borderTop{
    margin-top: 32px;
    padding-top: 32px;
    border-top: 1px solid #E9E9E9;
  }

.wakatePage .borderTop .downloadLink{
      align-items: flex-start;
    }

.wakatePage .about ul,.wakatePage .outline ul{
      font-size: 1.4rem;
    }

.wakatePage .about ul li + li,.wakatePage .outline ul li + li{
        margin-top: 12px;
      }

.wakatePage .about ul a,.wakatePage .outline ul a{
        color: #1E68A2;
        color: var(--primary_blue);
      }

.wakatePage .result ul{
      font-size: 1.4rem;
    }

.wakatePage .result ul a{
        color: #1E68A2;
        color: var(--primary_blue);
      }

.wakatePage .result .borderTop >li + li{
        margin-top: 16px;
      }

.wakatePage .result .borderTop >li{
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 4px 0;
      }

.wakatePage .result .borderTop .childText{
        padding-left: 19px;
        color: #535353;
        max-width: 650px;
        display: flex;
        flex-flow: row wrap;
        gap: 0 1em;
      }

/* ==========================================================================
   海外教科書制度
========================================================================== */

.kaigaiPage .pageScrollNavi1{
    margin-top: 56px;
  }

.kaigaiPage .pageScrollNavi1 a::before{
        display: none;
      }

.kaigaiPage .textbookSystem .btnList{
      display: flex;
      gap: 24px;
    }

.kaigaiPage .textbookSystem .btnList .primaryBtn{
        max-width: none;
      }

.kaigaiPage .textbookSystem .btnList li:first-child{
        flex:0 1 239px;
      }

.kaigaiPage .textbookSystem .btnList li:last-child{
        flex:0 1 323px;
      }

.kaigaiPage .textbookSystem .notice{
      font-size: 1.4rem;
      line-height: 1.8;
      color: #535353;
      margin-top: 16px;
    }

.kaigaiPage .textbookSystem .notice li{
        text-indent: -1.2em;
        margin-left: 1.2em;
      }

.kaigaiPage .textbookSystemArea{
    margin-top: 48px;
  }

.kaigaiPage .textbookSystemArea >h2{
      width: min(calc(100% - 20px),1238px);
      width: var(--width);
      padding: 0 59px 0 53px;
      margin-inline: auto;
      font-size: 1.6rem;
      font-weight: 500;
      margin-bottom: 16px;
    }

.kaigaiPage .areaScrollNavi{
    width: min(calc(100% - 20px),1238px);
    width: var(--width);
    padding: 0 59px 0 53px;
    margin-inline: auto;
  }

.kaigaiPage .areaScrollNavi ul{
      display: flex;
      flex-flow: row wrap;
      gap: 16px;
      line-height: 1;
    }

.kaigaiPage .areaScrollNavi a{
      min-height: 34px;
      padding: 4px 16px;
      display: flex;
      justify-content: center;
      align-items: center;
      border: 1px solid #1E68A2;
      border: 1px solid var(--primary_blue);
      border-radius: 4px;
      color: #1E68A2;
      color: var(--primary_blue);
      gap: 0 16px;
    }

.kaigaiPage .areaScrollNavi a::after{
        content: '';
        background-color: #6BA9B7;
        background-color: var(--secondary_blue);
        -webkit-mask-image: url('../../img/gnavi_arrow_bottom_back.svg');
                mask-image: url('../../img/gnavi_arrow_bottom_back.svg');
        -webkit-mask-position: center center;
                mask-position: center center;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        flex-shrink: 0;
        width: 10px;
        height: 7px;
      }

.kaigaiPage .areaRow{
    margin-top: 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }

.kaigaiPage .areaCard{
    background: #fff;
    padding: 53px 53px 64px;
  }

.kaigaiPage .areaCard >header{
      pointer-events: none;
    }

.kaigaiPage .areaCard h2{
      font-size: 1.8rem;
      font-weight: 500;
      color: #1E68A2;
      color: var(--primary_blue);
      margin-bottom: 16px;
    }

.kaigaiPage .areaCard a{
      color: #1E68A2;
      color: var(--primary_blue);
    }

.kaigaiPage .areaCard .hideBox{
      display: block;
    }

.kaigaiPage .areaCard ul{
      font-size: 1.4rem;
      display: grid;
      grid-template-columns: 232px 1fr;
      gap: 12px 30px;
    }

.kaigaiPage .areaCard ul li a{
          display: flex;
          width: -moz-fit-content;
          width: fit-content;
        }

.kaigaiPage .areaCard ul .row{
        display: flex;
        align-items: center;
        flex-flow: row wrap;
        gap: 4px 14px;
        text-align: left;
      }

.kaigaiPage .areaCard ul .update{
        display: inline-block;
        padding: 2px 4px;
        border: 1px solid #6BA9B7;
        border: 1px solid var(--secondary_blue);
        color: #6BA9B7;
        color: var(--secondary_blue);
        border-radius: 2px;
        font-size: 1.3rem;
        font-weight: 500;
        line-height: 1.25;
      }

.kaigaiPage .schoolSystem{
    margin-top: 66px;
  }

.kaigaiPage .schoolSystem .downloadBtn{
      max-width: 223px;
    }

.kaigaiPage .schoolSystem .notice{
      font-size: 1.4rem;
      line-height: 1.8;
      color: #535353;
      margin-top: 16px;
    }

.kaigaiPage .schoolSystem .notice li{
        text-indent: -1.2em;
        margin-left: 1.2em;
      }

.kaigaiPage .byCountry{
    margin-top: 64px;
  }

.kaigaiPage .byCountry .downloadBtn{
      max-width: 220px;
      margin-top: 40px;
    }

.kaigaiPage .aboutTheReport{
    margin-top: 64px;
  }

.kaigaiPage .aboutTheReport .innerBox{
      padding: 47px 44px;
      background: #FFF3F3;
    }

.kaigaiPage .aboutTheReport .soldOut{
      margin-top: 16px;
      width: 165px;
      height: 45px;
      display: grid;
      place-content: center;
      text-align: center;
      color: #fff;
      border-radius: 2px;
      background: #535353;
    }

/* ==========================================================================
   お知らせ　記事
========================================================================== */

.newsSinglePage .share{
    display: flex;
    align-items: center;
    gap: 0 24px;
  }

.newsSinglePage .share ul{
      display: flex;
      gap: 12px;
    }

.newsSinglePage .share .shareBtn{
      background: #fff;
      border: 1px solid #E6E6E6;
      border-radius: 4px;
      padding: 0 13px 0 11px;
      height: 32px;
      display: flex;
      align-items: center;
      gap: 0 5px;
    }

.newsSinglePage .share .shareBtn::before{
        content: '';
        background-repeat: no-repeat;
        background-position: center center;
        background-size: contain;
        flex-shrink: 0;
      }

.newsSinglePage .share .facebook::before{
        width: 16px;
        height: 16px;
        background-image: url('../../img/facebook_icon.svg');
      }

.newsSinglePage .share .x::before{
        width: 13px;
        height: 13px;
        background-image: url('../../img/x_icon.svg');
      }

.newsSinglePage .share .copy::before{
        width: 15px;
        height: 15px;
        background-image: url('../../img/link_icon_b.svg');
      }

.newsSinglePage .newsHeader{
    width: min(calc(100% - 20px),1028px);
  }

.newsSinglePage .newsHeader .data{
      margin: 16px 0 8px;
      display: flex;
      align-items: center;
      gap: 0 16px;
      color: #1E68A2;
      color: var(--primary_blue);
    }

.newsSinglePage .newsHeader .data time{
        font-weight: 500;
      }

.newsSinglePage .newsHeader .data .category{
        display: flex;
        gap: 16px;
      }

.newsSinglePage .newsHeader .data .category a{
          display: flex;
          align-items: center;
          justify-content: center;
          padding: 0 12px;
          font-size: 1.4rem;
          font-weight: 500;
          line-height: 1.65;
          color: #1E68A2;
          color: var(--primary_blue);
          border-radius: 24px;
          border: 1px solid #1E68A2;
          border: 1px solid var(--primary_blue);
        }

.newsSinglePage .newsHeader .share{
      margin-top: 20px;
    }

.newsSinglePage .main{
    margin-top: 62px;
    width: min(calc(100% - 20px),1028px);
    background: #fff;
    padding: 75px 81px 120px;
  }

.newsSinglePage .shareFooter{
    margin-top: 80px;
    background: #F5F5F5;
    justify-content: center;
    padding: 26px 0;
  }

.newsSinglePage .shareFooter h2{
      font-size: 16px;
      font-weight: 400;
    }

.newsSinglePage .goArchive{
    max-width: 396px;
    margin: 64px auto 0;
  }

.newsSinglePage .goArchive a{
      width: 100%;
      height: 56px;
      border: 1px solid #939393;
      border-radius: 2px;
      background: url('../../img/arrow_left_gray.svg') no-repeat 28px center / 7px auto;
      background-color: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      font-weight: 500;
    }

/* ==========================================================================
   お知らせ　一覧
========================================================================== */

.newsArchivePage .newsCategoryList{
    margin: 40px auto 0;
  }

.newsArchivePage .main{
    margin-top: 40px;
    background: #fff;
    padding: 60px 56px 64px;
  }

/* ==========================================================================
   search results 検索
========================================================================== */

body.gsc-overflow-hidden{
  overflow-y: auto !important;
}

body.gsc-overflow-hidden .searchResultsPage .gsc-results-wrapper-overlay{
      background: transparent !important;
    }

body.gsc-overflow-hidden .searchResultsPage .gsc-results-wrapper-overlay{
      position: static !important;
    }

body.gsc-overflow-hidden .searchResultsPage .gsc-modal-background-image-visible{
      display: none !important;
    }

body.gsc-overflow-hidden .searchResultsPage .gsc-wrapper{
      max-width: none !important;
    }

body.gsc-overflow-hidden .searchResultsPage .gsc-results-close-btn{
      display: none !important;
    }

body.gsc-overflow-hidden .searchResultsPage .gcsc-find-more-on-google svg{
        width: 70px;
        display: block;
        margin: 0 auto 2em;
      }

/* ==========================================================================
   home
========================================================================== */

.home{
  background: #F5F5F5;
}

.home .header .gNav .search,.home .header .gNav .lang{
        grid-row: 1 / 3;
        align-self: center;
      }

.home .header .gNav .library{
        display: none;
      }

.home .fixHeader .gNav{
      grid-template-columns: 1fr calc(calc(140 / 1366) * 100cqw) auto;
    }

.home .fixHeader .gNav .search,.home .fixHeader .gNav .lang{
        grid-row: 1;
      }

.homePage{
  overflow: hidden;
}

.homePage .mv{
    padding: 60px 0 100px;
    height: 1050px;
    position: relative;
  }

.homePage .mv::before{
      content: '';
      width: min(calc(100% - 80px),1366px);
      height: 100%;
      position: absolute;
      top: 0;
      left: 50%;
      z-index: -1;
      translate: -50% 0;
      background: #fff;
      border-radius: 16px;
    }

.homePage .mv::after{
      content: '';
      width: 1286px;
      height: 100%;
      background: url('../../img/home_mv_kazari.png') no-repeat center center;
      position: absolute;
      top: 0;
      left: 50%;
      z-index: 2;
      translate: -50% 0;
    }

.homePage .mv .catchBox{
      width: min(calc(100% - 80px),1366px);
      margin-inline: auto;
      line-height: 1;
      padding-left: 67px;
      position: relative;
      z-index: 3;
    }

.homePage .mv .splideInfiniteScroll{
      position: relative;
      z-index: 2;
      width: 100%;
      overflow: hidden;
    }

.homePage .mv .splideInfiniteScroll .splide__track{
        max-width: 560px;
        margin: 58px auto 0;
        overflow: visible;
      }

.homePage .mv .splideInfiniteScroll .splide__slide{
        overflow: hidden;
        background: #fff;
        border-radius: 20px;
      }

.homePage .specialPage{
    position: relative;
    z-index: 3;
    max-width: 720px;
    height: 160px;
    margin: 80px auto 0;
    border: 1px solid #1E68A2;
    padding: 20px 40px;
    background: #fff;
  }

.homePage .specialPage a{
      display: flex;
      align-items: center;
      gap: 0 40px;
    }

.homePage .specialPage .logo50th{
      width: 120px;
    }

.homePage .specialPage h2{
      font-size: 2.8rem;
      line-height: 1.46;
      font-weight: 700;
      color: #1E68A2;
    }

.homePage .specialPage p{
      font-size: 1.6rem;
      line-height: 1.18;
      margin-top: 10px;
    }

.homePage .specialPage .goBtn{
      width: 182px;
      height: 40px;
      position: absolute;
      bottom: 0;
      right: 0;
      background: #1E68A2;
      color: #fff;
      font-size: 1.3rem;
      font-weight: 500;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 0 10px;
      border-radius: 20px 0 0 0;
    }

.homePage .specialPage .goBtn::after{
        content: '';
        width: 7px;
        height: 10px;
        background-color: #fff;
        -webkit-mask-image: url('../../img/50th_arrow.svg');
                mask-image: url('../../img/50th_arrow.svg');
        -webkit-mask-position: center center;
                mask-position: center center;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        flex-shrink: 0;
      }

.homePage .fixLibraryBtn{
    width: 56px;
    height: 260px;
    position: fixed;
    top: 50%;
    right: 0;
    translate: 0 -50%;
    z-index: 900;
  }

.homePage .fixLibraryBtn a{
      background: #FFCC00;
      border: 2px solid #fff;
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      writing-mode:vertical-lr;
      font-size: 1.4rem;
      font-weight: 700;
      letter-spacing: .1em;
      gap: 10px;
      border-radius: 8px 0 0 8px;
    }

.homePage .fixLibraryBtn a::before{
        content: '';
        width: 32px;
        height: 32px;
        background-color: #000;
        -webkit-mask-image: url('../../img/library_icon.svg');
                mask-image: url('../../img/library_icon.svg');
        -webkit-mask-position: center center;
                mask-position: center center;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        flex-shrink: 0;
      }

.homePage .pickUp{
    margin-top: 88px;
  }

.homePage .pickUp >h2{
      width: min(calc(100% - 20px),1238px);
      margin-inline: auto;
      font-size: 1.6rem;
      font-weight: 500;
      display: flex;
      align-items: baseline;
      gap: 0 6px;
      margin-bottom: 28px;
    }

.homePage .pickUp >h2::before{
        content: 'Pick up';
        font-family: 'Poppins', sans-serif;
        color: #1E68A2;
        color: var(--primary_blue);
        font-size: 4rem;
        line-height: 1.3;
        letter-spacing: .03em;
        flex-shrink: 0;
      }

.homePage .pickUp .pickupSlide .splide__track{
        width: 940px;
        margin-inline: auto;
        overflow: visible;
      }

.homePage .pickUp .parts{
      width: min(calc(100% - 20px),1238px);
      margin: 40px auto 0;
      display: flex;
      justify-content: flex-end;
      gap: 40px;
    }

.homePage .pickUp .parts .splide__arrows{
        display: flex;
        gap: 0 12px;
      }

.homePage .pickUp .parts .splide__arrow{
        position: static;
        translate: 0;
        width: 54px;
        height: 54px;
        border-radius: 0;
        transform: translateY(0);
      }

.homePage .pickUp .parts .splide__arrow svg{
          display: none;
        }

.homePage .pickUp .parts .splide__arrow--prev{
        background: url('../../img/slide_arrow_left.svg') no-repeat center center / contain;
      }

.homePage .pickUp .parts .splide__arrow--next{
        background: url('../../img/slide_arrow_right.svg') no-repeat center center / contain;
      }

.homePage .pickUp .parts .splide__pagination{
        position: static;
        padding: 0;
        gap: 16px;
      }

.homePage .pickUp .parts .splide__pagination li{
          width: 10px;
          height: 10px;
        }

.homePage .pickUp .parts .splide__pagination li button{
            width: 100%;
            height: 100%;
            background: #A9A9A9;
            opacity: 1;
            margin: 0;
            transform:scale(1);
          }

.homePage .pickUp .parts .splide__pagination li .is-active{
            background: #1E68A2;
            background: var(--primary_blue);
          }

.homePage .pickUp .pickUpcard{
      position: relative;
      padding: 12px;
      background: #fff;
    }

.homePage .pickUp .pickUpcard .dataBox{
        background: #fff;
        position: absolute;
        top: 248px;
        left: 0;
        padding: 28px 40px;
        width: 400px;
        display: none;
      }

.homePage .pickUp .pickUpcard .dataBox .category{
          justify-self: start;
          display: flex;
          align-items: center;
          justify-content: center;
          padding: 3px 12px;
          min-height: 23px;
          font-size: 1.3rem;
          font-weight: 500;
          line-height: 1.4;
          color: #1E68A2;
          color: var(--primary_blue);
          border-radius: 24px;
          border: 1px solid #1E68A2;
          border: 1px solid var(--primary_blue);
        }

.homePage .pickUp .pickUpcard .dataBox h2{
          margin-top: 8px;
          font-size: 1.6rem;
          font-weight: 500;
          text-align: left;
        }

.homePage .homeSecTitle{
    text-align: center;
    display: flex;
    flex-flow: column;
    align-items: center;
  }

.homePage .homeSecTitle::before{
      content: attr(data-en);
      font-family: "BIZ UDPGothic", sans-serif;
      color: #1E68A2;
      color: var(--primary_blue);
      font-size: 4rem;
      line-height: 1.3;
      font-weight: 700;
      letter-spacing: .03em;
      order: 2;
    }

.homePage .homeSecTitle::after{
      content: '';
      width: 20px;
      height: 26px;
      background:url('../../img/home_sec_icon.svg') no-repeat center center / contain;
      margin-bottom: 4px;
      order: 1;
    }

.homePage .homeSecTitle h2{
      font-size: 1.6rem;
      font-weight: 500;
      order: 3;
    }

.homePage .news{
    margin-top: 88px;
  }

.homePage .news .newsCategoryList{
      margin: 40px auto 0;
    }

.homePage .news .newsCategoryList ul{
        justify-content: center;
      }

.homePage .news .newsCategoryList button{
        background: #E9E9E9;
        color: #000;
      }

.homePage .news .newsCategoryList .current{
        background: #1E68A2;
        background: var(--primary_blue);
        color: #fff;
      }

.homePage .news .notice{
      max-width: 1027px;
      margin: 32px auto 0;
      text-align: center;
    }

.homePage .news .notice a{
        color: #FF3B30;
        text-decoration: underline;
        padding: 1em 2em;
        border: 2px solid #FF3B30;
        font-weight: 500;
      }

.homePage .news .newsListRow{
      max-width: 1027px;
      margin: 32px auto 0;
      min-height: 100px;
    }

.homePage .news .goNewsPage{
      margin-top: 40px;
      text-align: center;
    }

.homePage .news .goNewsPage a{
        display: inline-flex;
        align-items: center;
        gap: 18px;
        font-weight: 500;
        text-decoration: underline;
      }

.homePage .news .goNewsPage a::after{
          content: '';
          width: 8px;
          height: 13px;
          background-color: #1E68A2;
          background-color: var(--primary_blue);
          -webkit-mask-image: url('../../img/arrow_right.svg');
                  mask-image: url('../../img/arrow_right.svg');
          -webkit-mask-position: center center;
                  mask-position: center center;
          -webkit-mask-repeat: no-repeat;
                  mask-repeat: no-repeat;
          -webkit-mask-size: contain;
                  mask-size: contain;
          flex-shrink: 0;
        }

.homePage .followUs{
    margin-top: 88px;
    text-align: center;
  }

.homePage .followUs header{
      margin-bottom: 32px;
    }

.homePage .followUs header .fukidashi{
        width: 166px;
        height: 40px;
        margin-inline: auto;
        background: #1E68A2;
        background: var(--primary_blue);
        color: #fff;
        border-radius: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 2rem;
        font-weight: 700;
        line-height: 1.3;
        letter-spacing: .08em;
        margin-bottom: 22px;
        position: relative;
      }

.homePage .followUs header .fukidashi::after{
          content: '';
          clip-path: polygon(50% 100%, 0 0, 100% 0);
          background: #1E68A2;
          background: var(--primary_blue);
          width: 12px;
          height: 9px;
          position: absolute;
          left: 50%;
          translate: -50% 0;
          bottom: -8px;

        }

.homePage .followUs header h2{
        font-size: 1.9rem;
        font-weight: 600;
        color: #1E68A2;
        color: var(--primary_blue);
        display: flex;
        justify-content: center;
        align-items: baseline;
        gap: 12px;
      }

.homePage .followUs header h2::before,.homePage .followUs header h2::after{
          content: '';
          width: 13px;
          height: 18px;
          flex-shrink: 0;
        }

.homePage .followUs header h2::before{
          background: url('../../img/fllow_us_line1.svg') no-repeat center center / contain;
        }

.homePage .followUs header h2::after{
          background: url('../../img/fllow_us_line2.svg') no-repeat center center / contain;
        }

.homePage .followUs ul{
      margin-inline: auto;
      background: #fff;
      padding: 24px 0;
      display: flex;
      justify-content: center;
      width: -moz-fit-content;
      width: fit-content;
    }

.homePage .followUs ul li{
        width: 212px;
      }

.homePage .followUs ul li a{
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 7px;
          font-size: 1.8;
          font-weight: 500;
          color: #1E68A2;
          color: var(--primary_blue);
        }

.homePage .followUs ul li:nth-child(2){
        border-left: 1px solid #E9E9E9;
        border-right: 1px solid #E9E9E9;
      }

.homePage .guide{
    margin-top: 82px;
    padding: 78px 0 76px;
    background: url('../../img/home_guide_bk.png') no-repeat center top;
    background-color: #fff;
  }

.homePage .guide .toptext{
      text-align: center;
      margin-top: 32px;
      font-size: 1.8rem;
    }

.homePage .guide .row{
      width: min(calc(100% - 20px),1159px);;
      margin: 40px auto 0;
      display: grid;
      grid-template-columns: repeat(3,1fr);
      gap: 32px;
    }

.homePage .guide .guideSec{
      border: 1px solid #6BA9B7;
      border: 1px solid var(--secondary_blue);
      padding: 44px 38px 36px;
      background: rgba(255,255,255,.75);
    }

.homePage .guide .guideSec h2{
        text-align: center;
        font-size: 2rem;
        font-weight: 400;
        display: flex;
        flex-flow: column;
        align-items: center;
        margin-bottom: 24px;
      }

.homePage .guide .guideSec h2::before{
          content: '';
          background-repeat: no-repeat;
          background-position: center center;
          background-size: contain;
          display: block;
          margin-bottom: 20px;
          width: 76px;
          height: 58px;
        }

.homePage .guide .guideSec h2::after{
          content: '';
          margin-top: 16px;
          display: block;
          width: 48px;
          height: 2px;
          background: linear-gradient(to right, #1E68A2 50%, #6BA9B7 50%);
        }

.homePage .guide .guideSec ul li:not(:first-child){
          margin-top: 12px;
          padding-top: 12px;
          border-top: 1px solid #6BA9B7;
          border-top: 1px solid var(--secondary_blue);
        }

.homePage .guide .guideSec ul a{
          display: flex;
          align-items: center;
          gap: 12px;
        }

.homePage .guide .guideSec ul a::after{
            content: '';
            width: 7px;
            height: 12px;
            background-color: #1E68A2;
            background-color: var(--primary_blue);
            -webkit-mask-image: url('../../img/arrow_right.svg');
                    mask-image: url('../../img/arrow_right.svg');
            -webkit-mask-position: center center;
                    mask-position: center center;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-size: contain;
                    mask-size: contain;
            flex-shrink: 0;
          }

.homePage .guide .guideSec1 h2::before{
          background-image: url('../../img/guide_icon1.png');
        }

.homePage .guide .guideSec2 h2::before{
          background-image: url('../../img/guide_icon2.png');
        }

.homePage .guide .guideSec3 h2::before{
          background-image: url('../../img/guide_icon3.png');
        }

.homePage .usefulContent{
    margin-top: 88px;
  }

.homePage .usefulContent .toptext{
      margin-top: 24px;
      text-align: center;
    }

.homePage .usefulContent .usefulContentSlide{
      margin-top: 40px;
    }

.homePage .usefulContent .usefulContentSlide .splide__track{
        width: 1088px;
        margin-inline: auto;
        overflow: visible;
      }

.homePage .usefulContent .usefulContentLink{
      display: flex;
      flex-flow: column;
      gap: 8px;
    }

.homePage .usefulContent .usefulContentLink .img{
        background: #fff;
        padding: 9px 12px;
      }

.homePage .usefulContent .usefulContentLink p{
        text-align: center;
        color: #1E68A2;
        color: var(--primary_blue);
        font-size: 1.4rem;
      }

.homePage .usefulContent .splide__pagination{
      margin-top: 48px;
      position: static;
      padding: 0;
      gap: 16px;
    }

.homePage .usefulContent .splide__pagination li{
        width: 10px;
        height: 10px;
      }

.homePage .usefulContent .splide__pagination li button{
          width: 100%;
          height: 100%;
          background: #A9A9A9;
          opacity: 1;
          margin: 0;
          transform:scale(1);
          display: block;
          line-height: 1;
        }

.homePage .usefulContent .splide__pagination li .is-active{
          background: #1E68A2;
          background: var(--primary_blue);
        }

/* ==========================================================================
   算数・数学の教科書の世界的潮流に関する調査研究
========================================================================== */

.math-textbook-global-trendsPage .report .downloadBtn{
      margin-top: 40px;
    }

/* ==========================================================================
   home 英語
========================================================================== */

.homePageEn .mv{
    height: 810px;
    padding-top: 85px;
  }

.homePageEn .mv::after{
      background: url('../../img/home_mv_kazari_en.png') no-repeat center center;
    }

.homePageEn .mv .splideInfiniteScroll .splide__track{
        margin: 85px auto 0;
      }

.homePageEn .fixLibraryBtnEn{
    width: 56px;
    height: 260px;
    position: fixed;
    top: 50%;
    right: 0;
    translate: 0 -50%;
    z-index: 900;
    line-height: 1;
  }

.homePageEn .homeSecTitleEn{
    text-align: center;
    display: flex;
    flex-flow: column;
    align-items: center;
  }

.homePageEn .homeSecTitleEn::before{
      content: '';
      width: 20px;
      height: 26px;
      background:url('../../img/home_sec_icon.svg') no-repeat center center / contain;
      margin-bottom: 4px;
    }

.homePageEn .homeSecTitleEn h2{
      color: #1E68A2;
      color: var(--primary_blue);
      font-size: 4rem;
      line-height: 1.3;
      font-weight: 700;
      letter-spacing: .03em;
    }

.homePageEn .news{
    margin-top: 56px;
  }

body.enBody:has(.homePageEn) .footerEn{
    margin-top: 0;
  }

/* ==========================================================================
   大学院生の教科書研究論文助成 英語
========================================================================== */

.daigakuinPage .summary .summaryListEn li{
        display: block;
      }

.daigakuinPage .summary .summaryListEn a{
        font-size: 1.4rem;
        text-decoration: none;
      }

.daigakuinPage .summary .summaryListEn a >span{
          border-bottom: 1px solid #000;
          line-height: 1;
        }

.daigakuinPage .summary .summaryListEn a .spBlock{
          padding-left: 1em;
        }

.daigakuinPage .summary .summaryListEn .end{
        margin-top: 6px;
      }

/* ==========================================================================
   「わたしと教科書」作文コンクール
========================================================================== */

.sakubunPage .pageHeader{
    margin-top: 40px;
  }

.sakubunPage .subPageRead p{
      max-width: 866px;
    }

.sakubunPage .publicationsInformation p,.sakubunPage .publicationsInformation ul{
      line-height: 1.8;
    }

.sakubunPage .publicationsInformation ul{
      margin-top: 24px;
    }

.sakubunPage .award{
    margin-top: 40px;
  }

.sakubunPage .award table{
      width: 100%;
      border-bottom: 1px solid #D4D4D4;
      border-collapse: collapse;
    }

.sakubunPage .award table td,.sakubunPage .award table th{
        border-top: 1px solid #D4D4D4;
        padding: 15px;
      }

.sakubunPage .award table a{
        text-decoration: underline;
        display: inline-flex;
        align-items: center;
      }

.sakubunPage .award table a::before{
          content: '';
          width: 24px;
          height: 24px;
          background: url('../../img/akar-icons_file.svg') no-repeat center center / contain;
          flex-shrink: 0;
          margin-right: 4px;
        }

.sakubunPage .award thead th{
        font-weight: 500;
      }

.sakubunPage .award thead tr th:nth-child(1){
          width: 297px;
        }

.sakubunPage .award thead tr th:nth-child(2){
          width: 172px;
        }

.sakubunPage .award .best{
      color: #AD3626;
    }

/* ==========================================================================
   50周年記念
========================================================================== */

.page-template-page-anniversary{
  background: url('../../img/50th_bk.jpg') no-repeat center top;
  background-color: #fff;
}

.page-template-page-anniversary .container{
    background: none;
  }

.page-template-page-anniversary .header .headerInner{
      grid-template-columns: 359px 1fr;
    }

.page-template-page-anniversary .header .gNav{
      grid-template-columns: 1fr calc(calc(217/1366) * 100cqw);
      grid-template-rows: auto;
    }

.page-template-page-anniversary .header .gNav .pageLink{
        grid-column: 1;
        grid-row: 1;
        gap: calc(calc(42/1366) * 100cqw);
      }

.page-template-page-anniversary .header .gNav .backHome{
        grid-column: 2;
        grid-row: 1;
        align-self: center;
      }

.page-template-page-anniversary .header .gNav .backHome a{
          width: 100%;
          height: 40px;
          display: flex;
          justify-content: center;
          align-items: center;
          background: url('../../img/home_icon2.svg') no-repeat 11px center / 18px auto;
          background-color: #1E68A2;
          background-color: var(--primary_blue);
          border-radius: 2px;
          color: #fff;
          font-size: 1.4rem;
          font-weight: 500;
          line-height: 1;
        }

.page-template-page-anniversary .fixHeader .headerInner{
    grid-template-columns: 300px 1fr;
  }

.anniversaryPage{
  /* バックドロップのスタイル */
}

.anniversaryPage .fv{
    width: min(calc(100% - 20px),1286px);
    margin-inline: auto;;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    padding-top: 142px;
    height: 905px;
    position: relative;
  }

.anniversaryPage .fv::before{
      content: '';
      width: 1290px;
      height: 905px;
      background: url('../../img/50th_fv_bk.png') no-repeat center center / cover;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 1;
    }

.anniversaryPage .fv .inner{
      max-width: 816px;
      margin-inline: auto;
      display: grid;
      grid-template-columns: 402px 1fr;
      grid-template-rows: auto 1fr;
      gap: 0 48px;
    }

.anniversaryPage .fv .inner::after{
        content: '';
        width: 21px;
        height: 21px;
        border-left: 1px solid #000000;
        border-left: 1px solid var(--text-color);
        border-bottom: 1px solid #000000;
        border-bottom: 1px solid var(--text-color);
        rotate: -45deg;
        position: absolute;
        left: 50%;
        translate: -50% 0;
        bottom: 70px;
        z-index: 1;
      }

.anniversaryPage .fv .logo{
      grid-column: 1 / 3;
      grid-row: 1;
    }

.anniversaryPage .fv .catchBox{
      grid-column: 1;
      grid-row: 2;
      margin-top: 14px;
    }

.anniversaryPage .fv .catchBox .text1{
        line-height: 1;
      }

.anniversaryPage .fv .catchBox .text2{
        font-size: 3.2rem;
        font-weight: 700;
        color: #1E68A2;
        color: var(--primary_blue);
        margin-top: 40px;
      }

.anniversaryPage .fv .illu{
      grid-column: 2;
      grid-row: 2;
      margin-top: -11px;
    }

.anniversaryPage .message{
    width: min(calc(100% - 20px),1238px);
    width: var(--width);
    margin: 120px auto 0;
    display: grid;
    grid-template-columns: 397px 1fr;
    gap: 40px 32px;
  }

.anniversaryPage .message >h2{
      grid-column: 1 / 3;
      grid-row: 1;
      font-size: 3.2rem;
      font-weight: 700;
      color: #1E68A2;
      color: var(--primary_blue);
      text-align: center;
    }

.anniversaryPage .message >h2 span{
        padding-left: .2em;
      }

.anniversaryPage .message .ph{
      grid-column: 1;
      grid-row: 2;
    }

.anniversaryPage .message .ph figcaption{
        text-align: center;
        line-height: 1.8;
        margin-top: 16px;
      }

.anniversaryPage .message .textBox{
      grid-column: 2;
      grid-row: 2;
    }

.anniversaryPage .message .textBox P{
        line-height: 1.8;
      }

.anniversaryPage .message .textBox p + p{
        margin-top: 24px;
      }

.anniversaryPage .historyTimeline{
    max-width: 714px;
    margin: 120px auto 0;
  }

.anniversaryPage .historyTimeline >h2{
      font-size: 3.2rem;
      font-weight: 700;
      color: #1E68A2;
      color: var(--primary_blue);
      text-align: center;
    }

.anniversaryPage .historyTimeline >h2 span{
        padding-left: .2em;
      }

.anniversaryPage .historyTimeline .timelineList{
      margin-top: 40px;
      display: grid;
      grid-template-columns: 128px 1fr;
      gap: 24px 10px;
      position: relative;
    }

.anniversaryPage .historyTimeline .timelineList::before{
        content: '';
        width: 1px;
        height: calc(100% - 8px);
        background: linear-gradient(to bottom, #939393 86.54%, transparent 100%);
        position: absolute;
        top: 8px;
        left: 102px;
        z-index: -1;
      }

.anniversaryPage .historyTimeline .timelineList dt,.anniversaryPage .historyTimeline .timelineList h3{
        font-size: 2rem;
        color: #1E68A2;
        color: var(--primary_blue);
        font-weight: 500;
      }

.anniversaryPage .historyTimeline .timelineList dd{
        position: relative;
      }

.anniversaryPage .historyTimeline .timelineList dd::before{
          content: '';
          width: 16px;
          height: 16px;
          background: #1E68A2;
          background: var(--primary_blue);
          border-radius: 50%;
          position: absolute;
          top: 6px;
          left: -43px;
        }

.anniversaryPage .historyTimeline .timelineList dd p{
          line-height: 1.8;
          margin-top: 4px;
        }

.anniversaryPage .attempt{
    width: min(calc(100% - 20px),1238px);
    width: var(--width);
    margin: 120px auto 0;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 48px 34px;
  }

.anniversaryPage .attempt >header{
      grid-column: 1 / 4;
    }

.anniversaryPage .attempt >header h2{
        font-size: 3.2rem;
        font-weight: 700;
        color: #1E68A2;
        color: var(--primary_blue);
        text-align: center;
      }

.anniversaryPage .attempt >header h2 span{
          padding-left: .2em;
        }

.anniversaryPage .attempt >header .toptext{
        margin-top: 40px;
        line-height: 1.8;
        text-align: center;
      }

.anniversaryPage .attempt .attemptCards{
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 4;
      gap: 0;
      padding-bottom: 26px;
      border-radius: 8px;
      overflow: hidden;
      border: 1px solid #6BA9B7;
      border: 1px solid var(--secondary_blue);
    }

.anniversaryPage .attempt .attemptCards .tm{
        margin-bottom: 24px;
      }

.anniversaryPage .attempt .attemptCards header,.anniversaryPage .attempt .attemptCards .discription,.anniversaryPage .attempt .attemptCards .moreBtn{
        max-width: 338px;
        width: 100%;
        margin-inline: auto;
      }

.anniversaryPage .attempt .attemptCards .status{
        width: 60px;
        height: 25px;
        border-radius: 4px;
        display: grid;
        place-content: center;
        font-size: 1.4rem;
        line-height: 1;
        color: #3D3D3D;
      }

.anniversaryPage .attempt .attemptCards h2{
        margin-top: 12px;
        font-weight: 400;
        line-height: 1.6;
        font-size: 1.8rem;
      }

.anniversaryPage .attempt .attemptCards .time{
        margin-top: 8px;
        font-size: 1.4rem;
        color: #AD3626;
        display: flex;
        align-items: center;
        gap: 8px;
      }

.anniversaryPage .attempt .attemptCards .time::before{
          content: '';
          width: 16px;
          height: 16px;
          background: url('../../img/calendar_icon.svg') no-repeat center center / contain;
          flex-shrink: 0;
        }

.anniversaryPage .attempt .attemptCards .discription{
        margin-top: 8px;
        font-size: 1.4rem;
        line-height: 1.8;
      }

.anniversaryPage .attempt .attemptCards .moreBtn{
        margin-top: 12px;
        border-radius: 2px;
        height: 49px;
        font-size: 1.8rem;
        font-weight: 500;
        color: #fff;
        display: grid;
        place-content: center;
        background-repeat: no-repeat;
        background-position: calc(100% - 20px) center;
        background-size: 15px auto;
        background-color: #1E68A2;
        background-color: var(--primary_blue);
      }

.anniversaryPage .attempt .attemptCards .openDialog{
        background-image: url('../../img/dialog_icon.svg');
      }

.anniversaryPage .attempt .attemptCards .otherTab{
        background-image: url('../../img/other_tab_icon.svg');
      }

.anniversaryPage .attempt .attemptCards .comingSoon{
        background-color: #aab3bd;
        cursor: default;
        background-image: none;
        opacity: 0.7;
      }

.anniversaryPage .attempt .attemptCards1 .status{
        background: #D6E8FF;
      }

.anniversaryPage .attempt .attemptCards2 .status{
        background: #D6FCE3;
      }

.anniversaryPage .attempt .attemptCards3 .status{
        background: #F1E4FF;
      }

.anniversaryPage .dialog {
    width: min(calc(100% - 20px),818px);
    padding: 68px 35px;
    border: none;
    background: #fff;
    outline: none;
    /* アニメーションの初期状態 */
    opacity: 0;
    transition: opacity .6s ease;
    overflow: visible;
  }

.anniversaryPage .dialog::backdrop {
    background-color: rgba(0, 0, 0, .5);
    opacity: 0;
    transition: opacity .6s ease;
  }

.anniversaryPage .dialogShow{
    opacity: 1;
  }

.anniversaryPage .dialogShow::backdrop{
    opacity: 1;
  }

.anniversaryPage .dialogHide{
    opacity: 0;
  }

.anniversaryPage .dialogHide::backdrop{
    opacity: 0;
  }

.anniversaryPage .dialogContent{
    padding: 0 68px 0 70px;
    max-height: 80svh;
    overflow-y: auto;
    overscroll-behavior-y: none;
  }

@media (min-width:767px){
      .anniversaryPage .dialogContent::-webkit-scrollbar {
        width: 2px;
      }
      .anniversaryPage .dialogContent::-webkit-scrollbar-track {
        background: #BEBEBE;
      }
      .anniversaryPage .dialogContent::-webkit-scrollbar-thumb {
        background: #1E68A2;
        background: var(--primary_blue);
        border-radius: 6px;
      }
    }

.anniversaryPage .dialogContent >header h2{
        font-weight: 400;
        line-height: 1.6;
        font-size: 2.4rem;
      }

.anniversaryPage .dialogContent >header .status{
        margin-top: 16px;
        width: 60px;
        height: 25px;
        border-radius: 4px;
        display: grid;
        place-content: center;
        font-size: 1.4rem;
        line-height: 1;
        color: #3D3D3D;
        background: #D6E8FF;
      }

.anniversaryPage .dialogContent >header .time{
        margin-top: 8px;
        font-size: 1.4rem;
        color: #AD3626;
        display: flex;
        align-items: center;
        gap: 8px;
      }

.anniversaryPage .dialogContent >header .time::before{
          content: '';
          width: 16px;
          height: 16px;
          background: url('../../img/calendar_icon.svg') no-repeat center center / contain;
          flex-shrink: 0;
        }

.anniversaryPage .dialogContent .img{
      width: 608px;
      margin-inline: auto;
      margin-top: 16px;
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 4px 4px rgba(0, 0, 0, .25);
    }

.anniversaryPage .dialogContent >section{
      margin-top: 40px;
      line-height: 1.8;
    }

.anniversaryPage .dialogContent >section .borderLeftTitle{
        margin-bottom: 12px;
      }

.anniversaryPage .dialogContent >section .borderLeftTitle small{
          font-size: 1.4rem;
        }

.anniversaryPage .dialogContent >section a{
        color: #1E68A2;
        color: var(--primary_blue);
        text-decoration: underline;
      }

.anniversaryPage .dialogContent .dateSection ul{
        display: grid;
        grid-template-columns: auto 1fr;
      }

.anniversaryPage .dialogContent .dateSection li{
        display: grid;
        grid-template-columns: subgrid;
        grid-column: span 2;
        gap: 0 1em;
      }

.anniversaryPage .dialogContent .dateSection li span{
          min-width: 4em;
        }

.anniversaryPage .dialogContent .participantSection .dotsList{
        line-height: 1.8;
      }

.anniversaryPage .dialogContent .scheduleSection .borderLeftTitle{
        margin-bottom: 20px;
      }

.anniversaryPage .dialogContent .scheduleSection .scheduleList{
        display: grid;
        grid-template-columns: 137px auto;
        gap: 8px 10px;
        line-height: 1.8;
      }

.anniversaryPage .dialogContent .scheduleSection >.scheduleBreak{
        line-height: 1.8;
        margin-left: 147px;
      }

.anniversaryPage .dialogClose{
    position: absolute;
    top: -20px;
    right: -20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    box-shadow: 2px 2px 2px rgba(0, 0, 0, .15);
    cursor: pointer;
  }

.anniversaryPage .dialogClose:hover{
      opacity: 1;
    }

.anniversaryPage .followUs{
    margin: 120px auto 0;
    width: min(calc(100% - 20px),1238px);
    width: var(--width);
    text-align: center;
    height: 419px;
    background: url('../../img/50th_sns_bk.jpg') no-repeat center center / cover;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
  }

.anniversaryPage .followUs::before{
      content: '';
      width: calc(100% - 74px);
      height: calc(100% - 74px);
      background: rgba(255, 255, 255, .75);
      position: absolute;
      top: 50%;
      left: 50%;
      translate: -50% -50%;
      z-index: -1;
    }

.anniversaryPage .followUs header{
      margin-bottom: 32px;
    }

.anniversaryPage .followUs header .fukidashi{
        width: 166px;
        height: 40px;
        margin-inline: auto;
        background: #1E68A2;
        background: var(--primary_blue);
        color: #fff;
        border-radius: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 2rem;
        font-weight: 700;
        line-height: 1.3;
        letter-spacing: .08em;
        margin-bottom: 22px;
        position: relative;
      }

.anniversaryPage .followUs header .fukidashi::after{
          content: '';
          clip-path: polygon(50% 100%, 0 0, 100% 0);
          background: #1E68A2;
          background: var(--primary_blue);
          width: 12px;
          height: 9px;
          position: absolute;
          left: 50%;
          translate: -50% 0;
          bottom: -8px;

        }

.anniversaryPage .followUs header h2{
        font-size: 1.9rem;
        font-weight: 600;
        color: #1E68A2;
        color: var(--primary_blue);
        display: flex;
        justify-content: center;
        align-items: baseline;
        gap: 12px;
      }

.anniversaryPage .followUs header h2::before,.anniversaryPage .followUs header h2::after{
          content: '';
          width: 13px;
          height: 18px;
          flex-shrink: 0;
        }

.anniversaryPage .followUs header h2::before{
          background: url('../../img/fllow_us_line1.svg') no-repeat center center / contain;
        }

.anniversaryPage .followUs header h2::after{
          background: url('../../img/fllow_us_line2.svg') no-repeat center center / contain;
        }

.anniversaryPage .followUs ul{
      margin-inline: auto;
      background: #fff;
      padding: 24px 0;
      display: flex;
      justify-content: center;
      width: -moz-fit-content;
      width: fit-content;
    }

.anniversaryPage .followUs ul li{
        width: 220px;
      }

.anniversaryPage .followUs ul li a{
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 7px;
          font-size: 1.8;
          font-weight: 500;
          color: #1E68A2;
          color: var(--primary_blue);
        }

.anniversaryPage .followUs ul li:nth-child(2){
        border-left: 1px solid #E9E9E9;
        border-right: 1px solid #E9E9E9;
      }

.page-template-page-anniversary .fixSns{
    position: fixed;
    z-index: 900;
    top: 50%;
    right: 0;
    translate: 0 -50%;
    width: 73px;
    height: 237px;
    border-radius: 8px 0 0 8px;
    background: #FFCC00;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 16px 0;
  }

.page-template-page-anniversary .fixSns h2{
      text-align: center;
      font-size: 1.4rem;
      line-height: 1.3;
    }

.page-template-page-anniversary .fixSns li + li{
      margin-top: 16px;
    }

/* ==========================================================================
   ヘッダー
========================================================================== */

.page-template-page-library_top .header .gNav,.page-template-page-library_page .header .gNav{
      grid-template-columns: 1fr 280px;
      grid-template-rows: auto;
    }

.page-template-page-library_top .header .gNav .pageLink,.page-template-page-library_page .header .gNav .pageLink{
        grid-column: 1;
        grid-row: 1;
        gap: calc(calc(42/1366) * 100cqw);
      }

.page-template-page-library_top .header .gNav .backHome,.page-template-page-library_page .header .gNav .backHome{
        grid-column: 2;
        grid-row: 1;
        align-self: center;
      }

.page-template-page-library_top .header .gNav .backHome a,.page-template-page-library_page .header .gNav .backHome a{
          width: 100%;
          height: 40px;
          display: flex;
          justify-content: center;
          align-items: center;
          background: url('../../img/home_icon2.svg') no-repeat 11px center / 18px auto;
          background-color: #1E68A2;
          background-color: var(--primary_blue);
          border-radius: 2px;
          color: #fff;
          font-size: 1.4rem;
          font-weight: 500;
          line-height: 1;
        }

/* ==========================================================================
   squareDotsTitle
========================================================================== */

.squareDotsTitle{
  font-size: 1.8rem;
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 8px;
}

.squareDotsTitle::before{
    content: '';
    width: 6px;
    height: 6px;
    background: #1E68A2;
    background: var(--primary_blue);
    flex-shrink: 0;
  }

/* ==========================================================================
   教科書図書館の所蔵資料を検索する
========================================================================== */

.searchLibraryPage .pageScrollNavi{
    margin-top: 56px;
  }

.searchLibraryPage .pageScrollNavi a{
      line-height: 1.5;
    }

.searchLibraryPage .pageScrollNavi a small{
        font-size: 1.4rem;
        display: block;
        color: #E9E9E9;
      }

.searchLibraryPage .pageScrollNavi .kome{
      margin-top: 16px;
      font-size: 1.4rem;
      color: #535353;
    }

.searchLibraryPage .searchInfoSection .otherTabBtn{
      max-width: 437px;
      font-size: 1.8rem;
      gap: 0 12px;
    }

.searchLibraryPage .searchInfoSection .otherTabBtn::before{
        content: '';
        width: 16px;
        height: 16px;
        background-color: #fff;
        -webkit-mask: url('../../img/search_icon.svg') no-repeat center center / contain;
                mask: url('../../img/search_icon.svg') no-repeat center center / contain;
        flex-shrink: 0;
      }

.searchLibraryPage .searchInfoSection .otherTabBtn::after{
        width: 18px;
        height: 18px;
      }

.searchLibraryPage .searchInfoSection .innerSec{
      margin-top: 32px;
    }

.searchLibraryPage .searchInfoSection .innerSec .squareDotsTitle{
        margin-bottom: 8px;
      }

.searchLibraryPage .searchInfoSection .innerSec p{
        line-height: 1.8;
      }

.searchLibraryPage .searchInfoSection .innerSec p small{
          display: block;
          font-size: 1.4rem;
          color: #535353;
          margin-top: 8px;
        }

.searchLibraryPage .searchInfoSection .notice{
      margin-top: 40px;
      padding-top: 32px;
      border-top: 1px solid #D4D4D4;
    }

.searchLibraryPage .searchInfoSection .notice h2{
        font-size: 1.6rem;
        font-weight: 400;
        margin-bottom: 16px;
      }

.searchLibraryPage .searchInfoSection .notice li{
        font-size: 1.4rem;
      }

.searchLibraryPage .searchInfoSection .notice li::before{
          height: 1.4em;
        }

.searchLibraryPage .searchInfoSection .notice li a{
          color: #1E68A2;
          color: var(--primary_blue);
          text-decoration: underline;
        }

.searchLibraryPage .searchInfoSection .notice li + li{
        margin-top: 6px;
      }

.searchLibraryPage .dbInfo .borderLeftTitle{
      margin-bottom: 24px;
    }

.searchLibraryPage .dbInfo .innerSec2{
      margin-top: 36px;
    }

.searchLibraryPage .dbInfo .innerSec2 .squareDotsTitle{
        margin-bottom: 16px;
      }

.searchLibraryPage .dbInfo .slideDownSection + .slideDownSection{
      margin-top: 24px;
    }

.searchLibraryPage .dbInfo .slideDownSection a{
        color: #1E68A2;
        color: var(--primary_blue);
        text-decoration: underline;
      }

.searchLibraryPage .dbInfo .slideDownSection1 p + p{
        margin-top: 12px;
      }

.searchLibraryPage .dbInfo .slideDownSection2 a{
        margin-top: 16px;
      }

.searchLibraryPage .preWarTextbooks .otherTabBtn{
      max-width: 281px;
    }

.searchLibraryPage .preWarTextbooks .otherTabLink{
      margin-right: .5em;
    }

.searchLibraryPage .foreignTextbooks .otherTabBtn{
      max-width: 281px;
    }

.searchLibraryPage .materials .otherTabBtn{
      max-width: 322px;
    }

.searchLibraryPage .endLink{
    max-width: 431px;
    margin: 64px auto 0;
    background: url('../../img/arrow_right_white.svg') no-repeat calc(100% - 24px) center / 7px auto;
    background-color: #1E68A2;
    background-color: var(--primary_blue);
  }

.searchLibraryPage .endText{
    text-align: center;
    margin-top: 24px;
    color: #535353;
  }

/* ==========================================================================
   教科書図書館 ご利用案内
========================================================================== */

.guidanceLibraryPage .main{
    display: grid;
    grid-template-columns: 1fr 233px;
    gap: 58px;
  }

.guidanceLibraryPage .pageSidelNavi{
    grid-column: 2;
    grid-row: 1;
    position: relative;
  }

.guidanceLibraryPage .pageSidelNavi .inner{
      position: sticky;
      top: 82px;
      right: 0;
      width: 233px;
      padding: 32px 30px;
      background: #fff;
    }

.guidanceLibraryPage .pageSidelNavi h2{
      font-size: 1.6rem;
      padding-left: 8px;
      min-height: 32px;
      margin-bottom: 16px;
    }

.guidanceLibraryPage .pageSidelNavi li{
      font-size: 1.4rem;
    }

.guidanceLibraryPage .pageSidelNavi li + li{
      margin-top: 8px;
    }

.guidanceLibraryPage .pageSidelNavi a{
      color: #7E7E7E;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }

.guidanceLibraryPage .pageSidelNavi a::before{
        content: '';
        width: 6px;
        height: 9px;
        background-color: #7E7E7E;
        -webkit-mask-image: url('../../img/arrow_right.svg');
                mask-image: url('../../img/arrow_right.svg');
        -webkit-mask-position: center center;
                mask-position: center center;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        flex-shrink: 0;
      }

.guidanceLibraryPage .pageSidelNavi .current{
      color: #1E68A2;
      color: var(--primary_blue);
      font-weight: 500;
    }

.guidanceLibraryPage .pageSidelNavi .current::before{
        background-color: #1E68A2;
        background-color: var(--primary_blue);
        -webkit-mask-image: url('../../img/arrow_right_bold.svg');
                mask-image: url('../../img/arrow_right_bold.svg');
      }

.guidanceLibraryPage .contentBox{
    grid-column: 1;
    grid-row: 1;
  }

.guidanceLibraryPage .arrowBlueLink{
    font-weight: 500;
    margin-top: 8px;
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    align-items: center;
    color: #1E68A2;
    color: var(--primary_blue);
    gap: 7px;
  }

.guidanceLibraryPage .arrowBlueLink::before{
      content: '';
      width: 8px;
      height: 14px;
      background-color: #1E68A2;
      background-color: var(--primary_blue);
      -webkit-mask-image: url('../../img/arrow_right.svg');
              mask-image: url('../../img/arrow_right.svg');
      -webkit-mask-position: center center;
              mask-position: center center;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      -webkit-mask-size: contain;
              mask-size: contain;
      flex-shrink: 0;
    }

.guidanceLibraryPage .guidanceSection .borderLeftTitle{
      margin-bottom: 24px;
    }

.guidanceLibraryPage .guidanceSection .squareDotsTitle{
      margin-bottom: 12px;
    }

.guidanceLibraryPage .guidanceSection .checkList >li{
        display: flex;
        flex-flow: row wrap;
      }

.guidanceLibraryPage .guidanceSection .checkList >li::before{
          content: '';
          background: url('../../img/check_mark.svg') no-repeat center center / contain;
          width: 22px;
          height: 22px;
          flex-shrink: 0;
          margin-right: 10px;
        }

.guidanceLibraryPage .guidanceSection .checkList >li + li{
        margin-top: 16px;
      }

.guidanceLibraryPage .guidanceSection .primaryBtn{
      margin-top: 24px;
      min-height: 48px;
      padding-block: 10px;
    }

.guidanceLibraryPage .openClose .innerSec li{
        display: grid;
        grid-template-columns: auto 1fr;
        text-align: left;
      }

.guidanceLibraryPage .openClose .innerSec li span:first-child{
          font-weight: 500;
        }

.guidanceLibraryPage .openClose .innerSec li + li{
        margin-top: 4px;
      }

.guidanceLibraryPage .openClose .innerSec p{
        margin-top: 8px;
      }

.guidanceLibraryPage .openClose .innerSec .calBtn{
        max-width: 201px;
      }

.guidanceLibraryPage .openClose .innerSec .calBtn::before{
          content: '';
          width: 16px;
          height: 16px;
          background-color: #fff;
          -webkit-mask-image: url('../../img/calendar_icon.svg');
                  mask-image: url('../../img/calendar_icon.svg');
          -webkit-mask-position: center center;
                  mask-position: center center;
          -webkit-mask-repeat: no-repeat;
                  mask-repeat: no-repeat;
          -webkit-mask-size: contain;
                  mask-size: contain;
          flex-shrink: 0;
        }

.guidanceLibraryPage .noticeLeftBorderBox{
    margin-top: 24px;
    display: flex;
  }

.guidanceLibraryPage .noticeLeftBorderBox h2{
      flex-shrink: 0;
      font-size: 1.6rem;
      font-weight: 500;
    }

.guidanceLibraryPage .preparation{
    margin-top: 80px;
  }

.guidanceLibraryPage .preparation .searchIconBtn{
      max-width: 236px;
    }

.guidanceLibraryPage .preparation .innerSec2{
      margin-top: 32px;
      padding-top: 32px;
      border-top: 1px solid #D4D4D4;
    }

.guidanceLibraryPage .preparation .innerSec2 .downloadBtn{
        max-width: 371px;
      }

.guidanceLibraryPage .flow{
    margin-top: 80px;
  }

.guidanceLibraryPage .flow ol{
      counter-reset: my-counter;
    }

.guidanceLibraryPage .flow ol li{
        display: flex;
        align-items: center;
        gap: 10px;
      }

.guidanceLibraryPage .flow ol li::before{
          content: counter(my-counter);
          counter-increment: my-counter;
          font-family: 'Poppins', sans-serif;
          font-size: 1.8rem;
          font-weight: 500;
          line-height: 1;
          color: #fff;
          background: #1E68A2;
          background: var(--primary_blue);
          flex-shrink: 0;
          width: 32px;
          height: 32px;
          display: grid;
          place-content: center;
        }

.guidanceLibraryPage .flow ol li + li{
        margin-top: 16px;
      }

.guidanceLibraryPage .copying{
    margin-top: 80px;
  }

.guidanceLibraryPage .copying .checkList{
      margin-top: 32px;
    }

.guidanceLibraryPage .copying .checkList span{
        font-weight: 500;
      }

.guidanceLibraryPage .copying .checkList .child{
        width: 100%;
        padding-left: 32px;
        margin-top: 6px;
      }

.guidanceLibraryPage .copying .checkList .child small{
          font-size: 1.4rem;
          color: #535353;
        }

.guidanceLibraryPage .copying .checkList .child li + li{
          margin-top: 2px;
        }

.guidanceLibraryPage .copying .notice{
      margin-top: 32px;
      padding-top: 32px;
      border-top: 1px solid #D4D4D4;
    }

.guidanceLibraryPage .copying .notice h2{
        font-size: 1.6rem;
        font-weight: 400;
        margin-bottom: 16px;
      }

.guidanceLibraryPage .copying .notice li{
        font-size: 1.4rem;
      }

.guidanceLibraryPage .copying .notice li::before{
          height: 1.4em;
        }

.guidanceLibraryPage .copying .notice li a{
          color: #1E68A2;
          color: var(--primary_blue);
          text-decoration: underline;
        }

.guidanceLibraryPage .copying .notice li + li{
        margin-top: 6px;
      }

.guidanceLibraryPage .availableMaterials{
    margin-top: 80px;
  }

.guidanceLibraryPage .availableMaterials .slideDownSection{
      margin-top: 24px;
    }

.guidanceLibraryPage .availableMaterials .blueTitleSec >h2{
        font-size: 1.6rem;
        font-weight: 500;
        color: #1E68A2;
        color: var(--primary_blue);
      }

.guidanceLibraryPage .availableMaterials .blueTitleSec + .blueTitleSec{
      margin-top: 24px;
    }

.guidanceLibraryPage .availableMaterials .blueTitleSec1 >h2{
        margin-bottom: 8px;
      }

.guidanceLibraryPage .availableMaterials .blueTitleSec1 >* + *{
        margin-top: 8px;
      }

.guidanceLibraryPage .availableMaterials .blueTitleSec1 .dotsList li + li{
          margin-top: 8px;
        }

.guidanceLibraryPage .availableMaterials .blueTitleSec2 >h2{
        margin-bottom: 12px;
      }

.guidanceLibraryPage .availableMaterials .blueTitleSec2 table{
        width: 100%;
        border-collapse: collapse;
      }

.guidanceLibraryPage .availableMaterials .blueTitleSec2 table th{
          font-weight: 400;
        }

.guidanceLibraryPage .availableMaterials .blueTitleSec2 table th,.guidanceLibraryPage .availableMaterials .blueTitleSec2 table td{
          padding: 16px 24px;
          border-top: 1px solid #D4D4D4;
        }

.guidanceLibraryPage .availableMaterials .blueTitleSec2 table td{
          font-size: 1.8rem;
          font-weight: 500;
          text-align: right;
        }

.guidanceLibraryPage .availableMaterials .blueTitleSec2 table .sum{
          background: #FFF3F3;
        }

.guidanceLibraryPage .availableMaterials .blueTitleSec2 table .sum td{
            color: #AD3626;
          }

.guidanceLibraryPage .availableMaterials .blueTitleSec2 table .other{
          padding-top: 32px;
        }

.guidanceLibraryPage .availableMaterials .blueTitleSec2 table .hasKomeTr th,.guidanceLibraryPage .availableMaterials .blueTitleSec2 table .hasKomeTr td{
            padding-bottom: 0;
          }

.guidanceLibraryPage .availableMaterials .blueTitleSec2 table .komeTd{
          padding: 0 24px 12px;
          border: none;
          text-align: left;
          font-size: 1.4rem;
          color: #535353;
        }

.guidanceLibraryPage .availableMaterials .blueTitleSec2 table thead th{
            padding: 0 0 16px 0;
            border: none;
            color: #1E68A2;
            color: var(--primary_blue);
          }

.guidanceLibraryPage .availableMaterials .blueTitleSec2 table thead th{
            font-weight: 500;
          }

.guidanceLibraryPage .availableMaterials .blueTitleSec2 table thead th:last-child{
            font-size: 1.3rem;
            text-align: right;
          }

.guidanceLibraryPage .availableMaterials .blueTitleSec2 table tfoot td{
            font-size: 1.4rem;
            color: #535353;
            font-weight: 400;
            padding-bottom: 0;
          }

.guidanceLibraryPage .availableMaterials .searchIconBtn{
      margin-top: 32px;
      max-width: 236px;
    }

.guidanceLibraryPage .availableMaterials .innerSec2{
      margin-top: 32px;
      padding-top: 32px;
      border-top: 1px solid #D4D4D4;
    }

.guidanceLibraryPage .availableMaterials .innerSec2 .blueTitleSec >h2{
          margin-bottom: 6px;
        }

.guidanceLibraryPage .availableMaterials .blueTitleSec5 .dotsList li span{
            font-weight: 500;
          }

.guidanceLibraryPage .availableMaterials .blueTitleSec5 .dotsList li + li{
          margin-top: 6px;
        }

.guidanceLibraryPage .availableMaterials .slideDownSection2 ol .numTitle{
          font-weight: 500;
        }

.guidanceLibraryPage .availableMaterials .slideDownSection2 ol >li + li{
          margin-top: 32px;
        }

.guidanceLibraryPage .availableMaterials .slideDownSection2 ol .downList{
          margin-top: 8px;
          display: flex;
          flex-flow: row wrap;
          gap: 12px 74px;
        }

.guidanceLibraryPage .availableMaterials .slideDownSection2 ol .downList a{
            display: flex;
            font-size: 1.4rem;
            color: #1E68A2;
            color: var(--primary_blue);
          }

.guidanceLibraryPage .availableMaterials .blueTitleSec6{
      margin-top: 32px;
    }

.guidanceLibraryPage .availableMaterials .blueTitleSec6 .dotsList li + li{
          margin-top: 8px;
        }

.guidanceLibraryPage .availableMaterials .blueTitleSec7 strong{
        font-weight: 500;
        display: block;
        margin-bottom: 6px;
      }

.guidanceLibraryPage .availableMaterials .blueTitleSec7 p + p{
        margin-top: 6px;
      }

.guidanceLibraryPage .rule{
    margin-top: 80px;
  }

.guidanceLibraryPage .rule .checkList li .kome{
          font-size: 1.4rem;
          color: #535353;
          margin-top: 4px;
        }

.guidanceLibraryPage .rule .checkList li + li{
        margin-top: 12px;
      }

.guidanceLibraryPage .access{
    margin-top: 80px;
  }

.guidanceLibraryPage .access .checkList li .first{
          font-weight: 500;
        }

.guidanceLibraryPage .access .checkList li .kome{
          font-size: 1.4rem;
          color: #535353;
          margin-top: 4px;
        }

.guidanceLibraryPage .access .checkList li + li{
        margin-top: 12px;
      }

.guidanceLibraryPage .donwloadSec{
    margin-top: 80px;
  }

.guidanceLibraryPage .donwloadSec ul{
      max-width: 560px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }

.guidanceLibraryPage .donwloadSec .printBtn{
      margin: 0;
      font-size: 1.6rem;
      padding-right: 0;
      justify-content: flex-start;
      align-items: flex-start;
    }

.guidanceLibraryPage .donwloadSec .printBtn::before{
        margin-top: .2em;
      }

.guidanceLibraryPage .donwloadSec .printBtn small{
        font-size: 1.4rem;
        display: flex;
        align-items: center;
        gap: 6px;
      }

.guidanceLibraryPage .donwloadSec .printBtn small::before{
          content: '';
          width: 6px;
          height: 1px;
          background: #fff;
          flex-shrink: 0;
        }

.guidanceLibraryPage .donwloadSec .kome{
      margin-top: 24px;
      color: #535353;
    }

/* ==========================================================================
   教科書図書館 TOP
========================================================================== */

.container:has(.libraryTopPage){
  background: url('../../img/library_bk.webp') no-repeat center top;
}

.libraryTopPage .pankuzu{
    width: min(calc(100% - 80px),1238px);
  }

.libraryTopPage .libraryHeader{
    margin-top: 9px;
    height: 350px;
    display: grid;
    grid-template-columns: minmax(40px,1fr) 374px 864px 1fr;
    background: #F5F5F5;
    position: relative;
  }

.libraryTopPage .libraryHeader::before{
      content: '';
      grid-column: 1;
      grid-row: 1;
      background: #fff;
    }

.libraryTopPage .libraryHeader::after{
      content: '';
      grid-column: 3 / 5;
      grid-row: 1;
      z-index: 2;
      align-self: center;
      height: 278px;
      background: url('../../img/library_top_fv.jpg') no-repeat center center / cover;
    }

@media (min-width:1370px){

.libraryTopPage .libraryHeader::after{
        background: url('../../img/library_top_fv@1.5x.jpg') no-repeat center center / cover
    }
      }

.libraryTopPage .libraryHeader .titleBox{
      grid-column: 2;
      grid-row: 1;
      height: 100%;
      background: #fff;
      display: flex;
      flex-flow: column;
      justify-content: center;
      position: relative;
      z-index: 1;
    }

.libraryTopPage .libraryHeader .titleBox::before{
        content: '';
        width: 152px;
        height: 100%;
        background: #fff;
        position: absolute;
        top: 0;
        right: -152px;
        z-index: -1;
      }

.libraryTopPage .libraryHeader .titleBox .fuzoku{
        color: #1E68A2;
        color: var(--primary_blue);
        font-size: 2.4rem;
        font-weight: 600;
      }

.libraryTopPage .libraryHeader .titleBox h1{
        color: #1E68A2;
        color: var(--primary_blue);
        font-size: 4rem;
        font-weight: 600;
      }

.libraryTopPage .libraryHeader .titleBox .data{
        margin-top: 16px;
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 4px;
        font-size: 1.4rem;
      }

.libraryTopPage .libraryHeader .titleBox .data dt{
          font-weight: 500;
        }

.libraryTopPage .libraryHeader .titleBox .data dt::after{
            content: '：';
          }

.libraryTopPage .toptext{
    width: min(calc(100% - 20px),1238px);
    width: var(--width);
    margin: 59px auto 0;
    line-height: 1.8;
  }

.libraryTopPage .librarySecTitle{
    text-align: center;
    display: flex;
    flex-flow: column;
    align-items: center;
  }

.libraryTopPage .librarySecTitle::before{
      content: attr(data-en);
      font-family: "BIZ UDPGothic", sans-serif;
      color: #1E68A2;
      color: var(--primary_blue);
      font-size: 4rem;
      line-height: 1.3;
      font-weight: 700;
      letter-spacing: .03em;
      order: 2;
    }

.libraryTopPage .librarySecTitle::after{
      content: '';
      width: 20px;
      height: 26px;
      background:url('../../img/home_sec_icon.svg') no-repeat center center / contain;
      margin-bottom: 4px;
      order: 1;
    }

.libraryTopPage .librarySecTitle h2{
      font-size: 1.6rem;
      font-weight: 500;
      order: 3;
    }

.libraryTopPage .news{
    margin: 64px auto 0;
    max-width: 1027px;
  }

.libraryTopPage .news .librarySecTitle{
      margin-bottom: 32px;
    }

.libraryTopPage .news .newsListBox{
      display: contents;
    }

.libraryTopPage .news .newsListBox a{
        display: grid;
        grid-template-columns: subgrid;
        grid-column: span 3;
        gap: 27px;
        padding: 23px 37px;
        border-top: 1px solid #D4D4D4;
      }

.libraryTopPage .news .newsListBox time{
        color: #1E68A2;
        color: var(--primary_blue);
        font-weight: 500;
      }

.libraryTopPage .news .newsListBox p.important{
        justify-self: start;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 65px;
        height: 26px;
        font-size: 1.6rem;
        font-weight: 500;
        color: #fff;
        background: #1E68A2;
        background: var(--primary_blue);
      }

.libraryTopPage .news .newsListBox h2{
        font-weight: 400;
        font-size: 1.6rem;
      }

.libraryTopPage .news .newsListBox:last-child a{
        border-bottom: 1px solid #D4D4D4;
      }

.libraryTopPage .news .goNewsPage{
      margin-top: 40px;
      text-align: center;
    }

.libraryTopPage .news .goNewsPage a{
        display: inline-flex;
        align-items: center;
        gap: 18px;
        font-weight: 500;
        text-decoration: underline;
      }

.libraryTopPage .news .goNewsPage a::after{
          content: '';
          width: 8px;
          height: 13px;
          background-color: #1E68A2;
          background-color: var(--primary_blue);
          -webkit-mask-image: url('../../img/arrow_right.svg');
                  mask-image: url('../../img/arrow_right.svg');
          -webkit-mask-position: center center;
                  mask-position: center center;
          -webkit-mask-repeat: no-repeat;
                  mask-repeat: no-repeat;
          -webkit-mask-size: contain;
                  mask-size: contain;
          flex-shrink: 0;
        }

.libraryTopPage .guide{
    margin-top: 96px;
    padding: 96px 0;
    background: url('../../img/home_guide_bk.png') no-repeat center top;
    background-color: #fff;
  }

.libraryTopPage .guide .inner{
      max-width: 1076px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0 11px;
    }

.libraryTopPage .guide .librarySecTitle{
      margin-bottom: 40px;
      grid-column: 1 / 3;
    }

.libraryTopPage .guide .guideSec h2{
        font-size: 1.8rem;
        font-weight: 500;
        color: #1E68A2;
        color: var(--primary_blue);
        margin-bottom: 8px;
      }

.libraryTopPage .guide .guideSec dl{
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 4px;
        font-size: 1.6rem;
      }

.libraryTopPage .guide .guideSec dl dt{
          font-weight: 500;
        }

.libraryTopPage .guide .guideSec dl dt::after{
            content: '：';
          }

.libraryTopPage .guide .boxList{
      grid-column: 1 / 3;
      margin-top: 32px;
      display: grid;
      grid-template-columns: repeat(4,1fr);
      gap: 0 24px;
    }

.libraryTopPage .guide .boxList a{
        border: 1px solid #6BA9B7;
        border: 1px solid var(--secondary_blue);
        height: 123px;
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-items: center;
      }

.libraryTopPage .guide .boxList a::before{
          content: '';
          width: 26px;
          height: 26px;
          background-position: center;
          background-repeat: no-repeat;
          background-size: contain;
          display: block;
          margin: 0 auto 15px;
        }

.libraryTopPage .guide .boxList span{
        display: inline-flex;
        align-items: center;
        gap: 12px;
      }

.libraryTopPage .guide .boxList span::after{
          content: '';
          width: 8px;
          height: 13px;
          background-color: #1E68A2;
          background-color: var(--primary_blue);
          -webkit-mask-image: url('../../img/arrow_right_bold.svg');
                  mask-image: url('../../img/arrow_right_bold.svg');
          -webkit-mask-position: center center;
                  mask-position: center center;
          -webkit-mask-repeat: no-repeat;
                  mask-repeat: no-repeat;
          -webkit-mask-size: contain;
                  mask-size: contain;
          flex-shrink: 0;
        }

.libraryTopPage .guide .boxList li:nth-child(1) a::before{
            background-image: url('../../img/library_guide_icon1.svg');
          }

.libraryTopPage .guide .boxList li:nth-child(2) a::before{
            background-image: url('../../img/library_guide_icon2.svg');
          }

.libraryTopPage .guide .boxList li:nth-child(3) a::before{
            background-image: url('../../img/library_guide_icon3.svg');
          }

.libraryTopPage .guide .boxList li:nth-child(4) a::before{
            background-image: url('../../img/library_guide_icon4.svg');
          }

.page-template-page-library_top .footer{
    margin-top: 0;
  }

/* sp */

@media (max-width: 767px) {
html{
  font-size: calc(100vw / 37.5);
  scroll-padding-top: calc(calc(100/375) * 100vw);
}
body {
  min-width: 0;
	width:100%;
  font-weight: 400;
  font-size: 1.4rem;
  background: #FAFAFA;
}
img{
	width: 100%;
}
.spShow{
	display: inline-block;
}
.pcShow{
	display: none;
}
.container{
  grid-template-rows: calc(calc(80/375) * 100vw) 1fr auto;
}
/* ==========================================================================
   header
========================================================================== */
.header{
  min-width: 0;
  height: calc(calc(80/375) * 100vw);
}
  .header .headerInner{
    width: 100%;
    display: grid;
    grid-template-columns: calc(calc(146/375) * 100vw) 1fr;
    padding: 0 calc(calc(16/375) * 100vw);
  }
  .header .logo{
    align-self: center;
    line-height: 1;
  }
  .header .menuBtn{
    align-self: center;
    justify-self: end;
    width: calc(calc(29/375) * 100vw);
    height: calc(calc(19/375) * 100vw);
  }
    .header .menuBtn button{
      width: 100%;
      height: 100%;
      line-height: 1;
      display: grid;
      place-content: center;
    }
    .header .menuBtn .inner{
      width: calc(calc(29/375) * 100vw);
      height: calc(calc(19/375) * 100vw);
      display: grid;
      grid-template-columns: 100%;
      gap: calc(calc(8/375) * 100vw);
    }
    .header .menuBtn .line{
      height: calc(calc(1/375) * 100vw);
      background: #1E68A2;
      background: var(--primary_blue);
      transition: rotate .2s linear;
    }
  .header .menuBtnOpen{
    gap:0;
  }
    .header .menuBtnOpen .line{
      grid-column: 1;
      align-self: center;
    }
    .header .menuBtnOpen .line1{
      grid-row: 1;
      rotate: 30deg;
    }
    .header .menuBtnOpen .line2{
      grid-row: 1;
      opacity: 0;
    }
    .header .menuBtnOpen .line3{
      grid-row: 1;
      rotate: -30deg;
    }
/* ==========================================================================
   グローバルナビ
========================================================================== */
  .header .gNav{
    display: none;
  }
/* ==========================================================================
   SPグローバルナビ
========================================================================== */
.spGnav{
  display: none;
  flex-flow: column;
  position: fixed;
  top: calc(calc(80/375) * 100vw);
  left: 0;
  z-index: 1000;
  width: 100%;
  height: calc(100dvh - calc(calc(80/375) * 100vw));
  overflow-y: auto;
  overscroll-behavior-y: none;
  background: #1E68A2;
  background: var(--primary_blue);
  color: #fff;
  padding: calc(calc(30/375) * 100vw) calc(calc(37/375) * 100vw) calc(calc(56/375) * 100vw);
}
  .spGnav a{
    color: #fff;
  }
    .spGnav .parentSec >h2{
      font-size: 2rem;
      font-weight: 500;
      margin-bottom: calc(calc(16/375) * 100vw);
    }
      .spGnav .parentSec >h2::after{
        content: '';
        margin-top: calc(calc(16/375) * 100vw);
        display: block;
        width: calc(calc(32/375) * 100vw);
        height: calc(calc(1/375) * 100vw);
        background: linear-gradient(to right, #fff 50%, #6BA9B7 50%);
      }
  .spGnav .parentSec + .parentSec{
    margin-top: calc(calc(32/375) * 100vw);
  }
  .spGnav .spGnavList{
    border-top: calc(calc(1/375) * 100vw) solid #A9A9A9;
    
  }
    .spGnav .spGnavList .parentHeader{
      display: grid;
      grid-template-columns: 1fr calc(calc(16.5/375) * 100vw);
      gap: 0 calc(calc(16/375) * 100vw);
      padding: calc(calc(16/375) * 100vw) 0;
    }
      .spGnav .spGnavList .parentHeader::after{
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        align-self: center;
        content: '';
        width: calc(calc(16.5/375) * 100vw);
        height: calc(calc(1.5/375) * 100vw);
        background: #fff;
      }
      .spGnav .spGnavList .parentHeader::before{
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        align-self: center;
        content: '';
        width: calc(calc(1.5/375) * 100vw);
        height: calc(calc(16.5/375) * 100vw);
        background: #fff;
        transition: rotate .2s linear,opacity .1s linear;
        transition-delay: 0s ,0.1s;
      }
      .spGnav .spGnavList .open::before{
        rotate: 90deg;
        opacity: 0;
      }
    .spGnav .spGnavList h2{
      font-size: 1.6rem;
      font-weight: 500;
    }
    .spGnav .spGnavList .hideBox{
      display: none;
      padding-bottom: calc(calc(16/375) * 100vw);
    }
      .spGnav .spGnavList .hideBox >ul{
        margin-top: calc(-1 * calc(calc(4/375) * 100vw));
      }
        .spGnav .spGnavList .hideBox li a{
          display: inline-flex;
          align-items: center;
          gap: 0 calc(calc(6/375) * 100vw);
        }
          .spGnav .spGnavList .hideBox li a::before{
            content: '';
            width: calc(calc(6/375) * 100vw);
            height: calc(calc(9/375) * 100vw);
            background-color: #fff;
            -webkit-mask-image: url('../../img/arrow_right.svg');
                    mask-image: url('../../img/arrow_right.svg');
            -webkit-mask-position: center center;
                    mask-position: center center;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-size: contain;
                    mask-size: contain;
            flex-shrink: 0;
          }
      .spGnav .spGnavList .hideBox li + li{
        margin-top: calc(calc(6/375) * 100vw);
      }
      .spGnav .spGnavList .hideBox li + .subSection{
        margin-top: calc(calc(16/375) * 100vw);
      }
        .spGnav .spGnavList .hideBox li + .subSection .subSectionTitle{
          font-size: 1.6rem;
          font-weight: 500;
          margin-bottom: calc(calc(6/375) * 100vw);
        }
  .spGnav .spGnavListEnd{
    border-bottom: calc(calc(1/375) * 100vw) solid #A9A9A9;
  }
  .spGnav .search{
    margin-top: calc(calc(18/375) * 100vw);
  }
    .spGnav .search input{
      width: 100%;
      height: calc(calc(48/375) * 100vw);
      line-height: calc(calc(48/375) * 100vw);
      padding: 0 calc(calc(16/375) * 100vw);
      font-size: 16px;
      background: url('../../img/search_icon.svg') no-repeat calc(calc(16/375) * 100vw) center / calc(calc(16/375) * 100vw) auto;
      background-color: #fff;
      border: calc(calc(1/375) * 100vw) solid #D4D4D4;
      border-radius: calc(calc(2/375) * 100vw);
      padding: 0 1em 0 calc(calc(40/375) * 100vw);
    }
  .spGnav .lang{
    margin-top: calc(calc(16/375) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(calc(4/375) * 100vw);
    font-size: 1.4rem;
    line-height: 1.8;
    font-weight: 500;
    color: #fff;
  }
      .spGnav .lang li:first-child::after{
        content: '/';
        margin-left: calc(calc(4/375) * 100vw);
      }
    .spGnav .lang a{
      color: #fff;
    }
    .spGnav .lang .active{
      color: #fff;
    }
  .spGnav .logo{
    width: calc(calc(148/375) * 100vw);
    margin: calc(calc(48/375) * 100vw) auto 0;
  }
  .spGnav .sns{
    margin: calc(calc(24/375) * 100vw) auto 0;
  }
    .spGnav .sns ul{
      display: flex;
      justify-content: center;
      gap: calc(calc(16/375) * 100vw);
    }
      .spGnav .sns ul li{
        width: calc(calc(32/375) * 100vw);
      }
        .spGnav .sns ul li a{
          display: block;
        }
.navOpen{
  display: flex;
  animation: menuIn .4s 1 0s linear forwards;
}
.navClose{
  animation: menuOut .4s 1 0s linear forwards;
}
/* ==========================================================================
   footer
========================================================================== */
.footer{
  margin-top: calc(calc(80/375) * 100vw);
  background: #fff;
  padding: calc(calc(62/375) * 100vw) calc(calc(15/375) * 100vw) calc(calc(24/375) * 100vw);
}
  .footer .footerInner{
    width: 100%;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto auto auto auto auto auto 1fr;
    gap: calc(calc(40/375) * 100vw) 0;
    position: relative;
  }
    .footer .footerInner::before{
      display: none;
    }
  .footer .footerTitle{
    grid-column: 1;
    grid-row: 1;
  }
  .footer .footerPageNavi{
    grid-column: 1;
    grid-row: 2;
    justify-self: center;
  }
  .footer .relatedLinks{
    grid-column: 1;
    grid-row: 3;
  }
  .footer .address{
    grid-column: 1;
    grid-row: 4;
  }
  .footer .sns{
    grid-column: 1;
    grid-row: 5;
  }
  .footer .copyrightNotice{
    grid-column: 1;
    grid-row: 6;
    text-align: center;
    font-size: 1.1rem;
    color: #535353;
    padding: 0 calc(calc(20/375) * 100vw);
    line-height: 1.8;
  }
  .footer .copyright{
    grid-column: 1;
    grid-row: 7;
    text-align: center;
    height: auto;
    font-size: 1.4rem;
    color: #535353;
    padding: calc(calc(15/375) * 100vw) 0;
  }
  .footer .footerTitle{
    width: auto;
    margin-left: 0;
    padding-bottom: calc(calc(40/375) * 100vw);
    border-bottom: calc(calc(1/375) * 100vw) solid #BEBEBE;
  }
    .footer .footerTitle .footerLogo{
      width: calc(calc(148/375) * 100vw);
      margin-inline: auto;
    }
    .footer .footerTitle .udpGothic{
      margin-top: calc(calc(12/375) * 100vw);
    }
  .footer .footerPageNavi{
    width: calc(calc(301/375) * 100vw);
  }
  .footer .pageListTitle{
    font-size: 2rem;
    margin-bottom: 0;
  }
    .footer .pageListTitle::after{
      margin-top: calc(calc(16/375) * 100vw);
      width: calc(calc(32/375) * 100vw);
      height: calc(calc(1/375) * 100vw);
    }
  .footer .footerPageList{
    display: grid;
    grid-template-columns: 100%;
    gap: calc(calc(24/375) * 100vw) 0;
  }
    .footer .footerPageList .pageListTitle{
      grid-column: 1;
    }
    .footer .footerNavColumn >h2{
      font-size: 1.6rem;
      margin-bottom: calc(calc(8/375) * 100vw);
    }
    .footer .footerNavColumn ul{
      gap: calc(calc(6/375) * 100vw) 0;
    }
    .footer .footerNavColumn a{
      gap: calc(calc(7/375) * 100vw);
    }
      .footer .footerNavColumn a::before{
        width: calc(calc(6/375) * 100vw);
      }
    .footer .footerNavColumn .subSection{
      margin-top: calc(calc(4/375) * 100vw);
    }
      .footer .footerNavColumn .subSection .subSectionTitle{
        gap: calc(calc(5/375) * 100vw);
        margin-bottom: calc(calc(8/375) * 100vw);
      }
        .footer .footerNavColumn .subSection .subSectionTitle::before{
          width: calc(calc(4/375) * 100vw);
          height: calc(calc(4/375) * 100vw);
        }
      .footer .footerNavColumn .subSection ul{
        padding-left: 0;
      }
  .footer .footerNavColumn3,.footer .footerNavColumn4{
    margin-top: 0;
  }
  .footer .footerPageList2{
    margin-top: calc(calc(40/375) * 100vw);
  }
  .footer .relatedLinks{
    margin-top: 0;
    padding: calc(calc(31/375) * 100vw) calc(calc(20/375) * 100vw);
  }
    .footer .relatedLinks >h2{
      font-size: 1.6rem;
      margin-bottom: calc(calc(8/375) * 100vw);
    }
    .footer .relatedLinks ul{
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: calc(calc(12/375) * 100vw) calc(calc(16/375) * 100vw);
      font-size: 1.4rem;
      letter-spacing: .02em;
      line-height: 1.5;
    }
      .footer .relatedLinks ul li:last-child{
        grid-column: 1 / 3;
      }
      .footer .relatedLinks ul a{
        gap: 0 calc(calc(6/375) * 100vw);
      }
        .footer .relatedLinks ul a::after{
          width: calc(calc(9/375) * 100vw);
          height: calc(calc(9/375) * 100vw);
        }
  .footer .address{
    margin-top: 0;
    padding-left: 0;
  }
    .footer .address .inner{
      width: calc(calc(324/375) * 100vw);
      margin-inline: auto;
      display: flex;
      flex-flow: row wrap;
      justify-content: center;
      gap: calc(calc(16/375) * 100vw);
    }
    .footer .address header{
      flex: 0 1 100%;
      text-align: center;
    }
    .footer .address h2{
      margin-bottom: calc(calc(4/375) * 100vw);
    }
    .footer .address figcaption{
      gap: calc(calc(4/375) * 100vw);
      margin-bottom: calc(calc(4/375) * 100vw);
    }
      .footer .address figcaption::before{
        width: calc(calc(4/375) * 100vw);
        height: calc(calc(4/375) * 100vw);
      }
    .footer .address ul{
      padding-left: calc(calc(8/375) * 100vw);
    }
    .footer .address .tel,.footer .address .fax{
      gap: calc(calc(6/375) * 100vw);
    }
      .footer .address .tel::before,.footer .address .fax::before{
        width: calc(calc(14/375) * 100vw);
        height: calc(calc(14/375) * 100vw);
      }
  .footer .sns{
    width: auto;
    margin-top: 0;
    margin-left: 0;
  }
    .footer .sns ul{
      display: flex;
      justify-content: center;
      gap: calc(calc(16/375) * 100vw);
    }
      .footer .sns ul li{
        width: calc(calc(32/375) * 100vw);
      }
        .footer .sns ul li a{
          display: block;
        }
.pagetop{
  right: calc(calc(10/375) * 100vw);
  bottom: calc(calc(10/375) * 100vw);
  width: calc(calc(60/375) * 100vw);
  height: calc(calc(60/375) * 100vw);
  gap: calc(calc(5/375) * 100vw);
  font-size: 1.1rem;
}
  .pagetop::before{
    width: calc(calc(14/375) * 100vw);
    height: calc(calc(7/375) * 100vw);
  }
/* ==========================================================================
   subPage 背景
========================================================================== */
.container:has(.subPage){
   background: url('../../img/sp_sub_page_title_bk.webp') no-repeat center top / 100% auto;
   background-attachment: fixed;
}
  .subPage .main{
    margin: calc(calc(40/375) * 100vw) auto 0;
  }
/* ==========================================================================
   SPグローバルナビ 英語
========================================================================== */
    .spGnavEn .parentSec >h2{
      font-size: 2rem;
      font-weight: 500;
      margin-bottom: calc(calc(16/375) * 100vw);
      text-align: left;
    }
      .spGnavEn .parentSec >h2::after{
        content: '';
        margin-top: calc(calc(16/375) * 100vw);
        display: block;
        width: calc(calc(32/375) * 100vw);
        height: calc(calc(1/375) * 100vw);
        background: linear-gradient(to right, #fff 50%, #6BA9B7 50%);
      }
      .spGnavEn .parentSec .pageLink li{
        border-top: calc(calc(1/375) * 100vw) solid #A9A9A9;
      }
        .spGnavEn .parentSec .pageLink li a{
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: calc(calc(20/375) * 100vw);
          padding: calc(calc(16/375) * 100vw) calc(calc(9/375) * 100vw) calc(calc(16/375) * 100vw) 0;
          font-size: 1.6rem;
          font-weight: 500;
        }
          .spGnavEn .parentSec .pageLink li a::after{
            content: '';
            width: calc(calc(9/375) * 100vw);
            height: calc(calc(15/375) * 100vw);
            background-color: #fff;
            -webkit-mask-image: url('../../img/arrow_right.svg');
                    mask-image: url('../../img/arrow_right.svg');
            -webkit-mask-position: center center;
                    mask-position: center center;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
            -webkit-mask-size: contain;
                    mask-size: contain;
            flex-shrink: 0;
          }
      .spGnavEn .parentSec .pageLink li:last-child{
        border-bottom: calc(calc(1/375) * 100vw) solid #A9A9A9;
      }
/* ==========================================================================
   footer 英語
========================================================================== */
  .footerEn .footerInner{
    grid-template-rows: auto auto auto auto auto 1fr;
  }
    .footerEn .footerInner::before{
      display: none;
    }
  .footerEn .copyright{
    grid-row: 6;
  }
    .footerEn .pageLink li{
      font-size: 1.6rem;
    }
    .footerEn .pageLink li + li{
      margin-top: calc(calc(16/375) * 100vw);
    }
/* end */
}

@media (max-width:767px){
/* ==========================================================================
   目的・事業・情報公開
========================================================================== */
    .purpose_jpPage .whiteBox p{
      font-size: 1.4rem;
    }
    .purpose_jpPage .about p + p{
      margin-top: calc(calc(16/375) * 100vw);
    }
    .purpose_jpPage .about .downloadBtn{
      margin-top: calc(calc(16/375) * 100vw);
    }
    .purpose_jpPage .about .logoDesign{
      max-width: none;
      margin: calc(calc(64/375) * 100vw) auto 0;
      display: grid;
      grid-template-columns: 100%;
      grid-template-rows: auto auto auto 1fr;
      gap: 0;
    }
      .purpose_jpPage .about .logoDesign >h2{
        grid-column: 1;
        grid-row: 1;
        font-size: 2.2rem;
        margin-bottom: calc(calc(16/375) * 100vw);
      }
      .purpose_jpPage .about .logoDesign .concept{
        grid-column: 1;
        grid-row: 2;
        font-size: 1.6rem;
        margin-bottom: calc(calc(24/375) * 100vw);
      }
      .purpose_jpPage .about .logoDesign figure{
        grid-column: 1;
        grid-row: 3;
        justify-self: center;
        width: calc(calc(149/375) * 100vw);
      }
      .purpose_jpPage .about .logoDesign .text{
        grid-column: 1;
        grid-row: 4;
        margin-top: calc(calc(24/375) * 100vw);
      }
    .purpose_jpPage .business .numberList{
      margin-top: calc(calc(16/375) * 100vw);
    }
      .purpose_jpPage .business .numberList li + li{
        margin-top: calc(calc(8/375) * 100vw);
      }
    .purpose_jpPage .informationDisclosure .row{
      margin-top: calc(calc(24/375) * 100vw);
      grid-template-columns: 100%;
      gap: calc(calc(32/375) * 100vw);
    }
    .purpose_jpPage .informationDisclosure .cardSection{
      border: calc(calc(1/375) * 100vw) solid #6BA9B7;
      border: calc(calc(1/375) * 100vw) solid var(--secondary_blue);
      padding: calc(calc(33/375) * 100vw) calc(calc(30/375) * 100vw) calc(calc(27/375) * 100vw);
    }
      .purpose_jpPage .informationDisclosure .cardSection h2{
        font-size: 1.6rem;
        margin-bottom: calc(calc(12/375) * 100vw);
      }
        .purpose_jpPage .informationDisclosure .cardSection h2::before{
          width: calc(calc(24/375) * 100vw);
          height: calc(calc(30/375) * 100vw);
          margin-bottom: calc(calc(8/375) * 100vw);
        }
        .purpose_jpPage .informationDisclosure .cardSection h2::after{
          margin-top: calc(calc(12/375) * 100vw);
          display: block;
          width: calc(calc(48/375) * 100vw);
          height: calc(calc(2/375) * 100vw);
        }
      .purpose_jpPage .informationDisclosure .cardSection li:not(:last-child){
        padding-bottom: calc(calc(12/375) * 100vw);
        border-bottom: calc(calc(1/375) * 100vw) solid #6BA9B7;
        border-bottom: calc(calc(1/375) * 100vw) solid var(--secondary_blue);
      }
      .purpose_jpPage .informationDisclosure .cardSection li:not(:first-child){
        padding-top: calc(calc(12/375) * 100vw);
      }
      .purpose_jpPage .informationDisclosure .cardSection .downloadLink{
        gap: calc(calc(8/375) * 100vw);
      }
/* ==========================================================================
   アクセス
========================================================================== */
  .access_jpPage .company{
    display: grid;
    grid-template-columns: 100%;
    border-bottom: calc(calc(1/375) * 100vw) solid #D4D4D4;
  }
    .access_jpPage .company dt,.access_jpPage .company dd{
      border-top: calc(calc(1/375) * 100vw) solid #D4D4D4;
    }
    .access_jpPage .company dt{
      font-size: 1.6rem;
      font-weight: 500;
      padding: calc(calc(16/375) * 100vw) 0 0 calc(calc(8/375) * 100vw);
    }
    .access_jpPage .company dd{
      font-size: 1.4rem;
      border: none;
      padding:calc(calc(8/375) * 100vw) calc(calc(8/375) * 100vw) calc(calc(16/375) * 100vw) calc(calc(8/375) * 100vw);
    }
    .access_jpPage .googleMap h2{
      font-size: 1.4rem;
      margin-bottom: calc(calc(4/375) * 100vw);
    }
      .access_jpPage .googleMap .map iframe{
        width: 100%;
        height: calc(calc(124/375) * 100vw);
      }
    .access_jpPage .googleMap .goMap{
      gap: calc(calc(2/375) * 100vw);
      margin-top: calc(calc(4/375) * 100vw);
      border-bottom: calc(calc(1/375) * 100vw) solid #535353;
    }
      .access_jpPage .googleMap .goMap::after{
        width: calc(calc(14/375) * 100vw);
        height: calc(calc(16/375) * 100vw);
      }
  .access_jpPage .illuMap{
    margin-top: calc(calc(16/375) * 100vw);
    display: block;
  }
    .access_jpPage .accessSec h2{
      font-size: 1.6rem;
    }
    .access_jpPage .accessSec .lineDots{
      margin-top: calc(calc(2/375) * 100vw);
    }
    .access_jpPage .accessSec li + li{
      margin-top: calc(calc(12/375) * 100vw);
    }
    .access_jpPage .accessSec .notice{
      margin-top: calc(calc(12/375) * 100vw);
    }
  .access_jpPage .accessSec + .accessSec{
    margin-top: calc(calc(24/375) * 100vw);
  }
/* ==========================================================================
   調査研究テーマについて
========================================================================== */
  .research_jpPage .subPageRead{
    margin-bottom: calc(calc(40/375) * 100vw);
  }
      .research_jpPage .purpose .innerSec h2{
        font-size: 1.6rem;
        margin-bottom: calc(calc(4/375) * 100vw);
      }
    .research_jpPage .purpose .innerSec + .innerSec{
      margin-top: calc(calc(24/375) * 100vw);
      padding-top: calc(calc(24/375) * 100vw);
      border-top: calc(calc(1/375) * 100vw) solid #E9E9E9;
    }
  .research_jpPage .pageScrollNavi{
    margin-top: calc(calc(40/375) * 100vw);
  }
  .research_jpPage .categorySection{
    margin-top: calc(calc(40/375) * 100vw);
  }
  .research_jpPage .accordionSec{
    margin-top: calc(calc(24/375) * 100vw);
    display: flex;
    flex-flow: column;
    align-items: center;
  }
    .research_jpPage .accordionSec h2{
      gap: calc(calc(16/375) * 100vw);
      padding: calc(calc(6/375) * 100vw) calc(calc(16/375) * 100vw);
      border: calc(calc(1/375) * 100vw) solid #1E68A2;
      border: calc(calc(1/375) * 100vw) solid var(--primary_blue);
      border-radius: calc(calc(4/375) * 100vw);
      text-align: center;
      font-size: 1.4rem;
    }
      .research_jpPage .accordionSec h2::after{
        width: calc(calc(10/375) * 100vw);
        height: calc(calc(7/375) * 100vw);
      }
    .research_jpPage .accordionSec .hideList{
      margin-top: calc(calc(16/375) * 100vw);
    }
  .research_jpPage .accordionSec + .accordionSec{
    margin-top: calc(calc(16/375) * 100vw);
  }
/* ==========================================================================
   研究成果・刊行物
========================================================================== */
  .outcomePage .pageScrollNavi{
    margin-top: calc(calc(40/375) * 100vw);
    
  }
  .outcomePage .publications{
    margin-top: calc(calc(40/375) * 100vw);
  }
      .outcomePage .publications .dateTitleList .bottomTextarea{
        margin-top: calc(calc(8/375) * 100vw);
      }
/* ==========================================================================
   過去に開催した研修講座
========================================================================== */
    .seminarPage .subPageRead p{
      max-width: none;
    }
  .seminarPage .pageScrollNavi{
    margin-top: calc(calc(40/375) * 100vw);
  }
/* ==========================================================================
   学習者用デジタル教科書紹介リンク集
========================================================================== */
    .digital-linkPage .subPageRead .kome{
      margin-top: calc(calc(8/375) * 100vw);
    }
  .digital-linkPage .pageScrollNavi{
    margin-top: calc(calc(48/375) * 100vw);
  }
  .digital-linkPage .digitalLinkSec{
    margin-top: calc(calc(40/375) * 100vw);
  }
    .digital-linkPage .digitalLinkSec .borderLeftTitle{
      margin-bottom: calc(calc(13/375) * 100vw);
    }
  .digital-linkPage .wrapper{
    width: calc(100% + calc(calc(20/375) * 100vw));
    overflow-x: auto;
    position: relative;
  }
    .digital-linkPage .wrapper::before{
      content: '';
      background: url('../../img/tab_mark.png') no-repeat center center / contain;
      width: calc(calc(140/375) * 100vw);
      height: calc(calc(140/375) * 100vw);
      position: absolute;
      top: calc(calc(170/375) * 100vw);
      left:50%;
      translate: -50% 0;
      z-index: 1;
    }
    .digital-linkPage .wrapper::-webkit-scrollbar {
      height: calc(calc(8/375) * 100vw);
    }
    .digital-linkPage .wrapper::-webkit-scrollbar-track {
      background: #BEBEBE;
    }
    .digital-linkPage .wrapper::-webkit-scrollbar-thumb {
      background: #1E68A2;
      background: var(--primary_blue);
      border-radius: calc(calc(16/375) * 100vw);
    }
    .digital-linkPage .touchstart::before{
      animation: menuOut .2s 1 0s ease-in-out forwards;
    }
  .digital-linkPage .linkTable{
    width: 814px;
  }
      .digital-linkPage .linkTable thead .issuerTh{
        width: 197px;
        padding-left: 14px;
      }
    .digital-linkPage .linkTable .publisher{
      padding-left: 14px;
    }
  .digital-linkPage .notice{
    margin-top: calc(calc(20/375) * 100vw);
  }
    .digital-linkPage .notice li + li{
      margin-top: calc(calc(12/375) * 100vw);
    }
/* ==========================================================================
   学習者用デジタル教科書活用事例集
========================================================================== */
    .digital-jireisyuPage .subPageRead p + p{
      margin-top: calc(calc(8/375) * 100vw);
    }
  .digital-jireisyuPage .pageScrollNavi{
    margin-top: calc(calc(40/375) * 100vw);
  }
  .digital-jireisyuPage .schoolTypePdfDwonloadSec2{
    margin-top: calc(calc(40/375) * 100vw);
  }
  .digital-jireisyuPage .noticeLeftBorderBox{
    margin-top: calc(calc(24/375) * 100vw);
  }
/* ==========================================================================
   "新しい"教科書の使い方
========================================================================== */
    .tsukaikataPage .subPageRead * + *{
      margin-top: calc(calc(12/375) * 100vw);
    }
    .tsukaikataPage .subPageRead li + li{
      margin-top: calc(calc(6/375) * 100vw);
    }
  .tsukaikataPage .pageScrollNavi{
    margin-top: calc(calc(40/375) * 100vw);
  }
  .tsukaikataPage .referenceInformation{
    margin-top: calc(calc(40/375) * 100vw);
  }
      .tsukaikataPage .referenceInformation .innerSec header{
        display: grid;
        grid-template-columns: calc(calc(32/375) * 100vw) 1fr;
        grid-template-rows: auto 1fr;
        gap: calc(calc(4/375) * 100vw) calc(calc(9/375) * 100vw);
      }
        .tsukaikataPage .referenceInformation .innerSec header::before{
          grid-row: 1;
          width: 100%;
          height: calc(calc(32/375) * 100vw);
        }
        .tsukaikataPage .referenceInformation .innerSec header h2{
          grid-column: 2;
          grid-row: 1;
          font-size: 1.6rem;
          align-self: center;
        }
        .tsukaikataPage .referenceInformation .innerSec header p{
          grid-column: 2;
          grid-row: 2;
        }
      .tsukaikataPage .referenceInformation .innerSec .tm{
        margin-top: calc(calc(16/375) * 100vw);
      }
      .tsukaikataPage .referenceInformation .innerSec .otherTabBtn{
        margin: calc(calc(16/375) * 100vw) auto 0;
      }
    .tsukaikataPage .referenceInformation .innerSec + .innerSec{
      margin-top: calc(calc(32/375) * 100vw);
      padding-top: calc(calc(32/375) * 100vw);
      border-top: calc(calc(1/375) * 100vw) solid #D4D4D4;
    }
        .tsukaikataPage .referenceInformation .innerSec1 header::before{
          background: url('../../img/movie_icon.svg') no-repeat center center / calc(calc(24/375) * 100vw) auto;
          background-color: #F5F5F5;
        }
      .tsukaikataPage .referenceInformation .innerSec1 .otherTabBtn{
        max-width: calc(calc(240/375) * 100vw);
      }
        .tsukaikataPage .referenceInformation .innerSec2 header::before{
          background: url('../../img/document_icon_bold.svg') no-repeat center center / calc(calc(24/375) * 100vw) auto;
          background-color: #F5F5F5;
        }
        .tsukaikataPage .referenceInformation .innerSec2 header h2{
          margin-top: .2em;
        }
      .tsukaikataPage .referenceInformation .innerSec2 .otherTabBtn{
        max-width: calc(calc(194/375) * 100vw);
      }
        .tsukaikataPage .referenceInformation .innerSec3 header::before{
          background: url('../../img/document_icon_bold.svg') no-repeat center center / calc(calc(24/375) * 100vw) auto;
          background-color: #F5F5F5;
        }
      .tsukaikataPage .referenceInformation .innerSec3 .otherTabBtn{
        max-width: calc(calc(222/375) * 100vw);
      }
/* ==========================================================================
   教科書作成のしおり（令和3年改訂版）
========================================================================== */
    .shioriPage .noticeLeftBorderBoxBig h2{
      font-size: 1.8rem;
      margin-bottom: calc(calc(6/375) * 100vw);
    }
    .shioriPage .noticeLeftBorderBoxBig p{
      line-height: 1.8;
    }
    .shioriPage .noticeLeftBorderBoxBig .downloadBtn{
      max-width: calc(calc(320/375) * 100vw);
      margin-top: calc(calc(16/375) * 100vw);
      justify-content: flex-start;
      gap: 0 calc(calc(12/375) * 100vw);
    }
  .shioriPage .allDownLoadSec{
    margin-top: calc(calc(40/375) * 100vw);
  }
    .shioriPage .allDownLoadSec li{
      display: grid;
      grid-template-columns: calc(calc(48/375) * 100vw) 1fr;
      grid-template-rows: auto 1fr;
      gap: calc(calc(4/375) * 100vw) calc(calc(8/375) * 100vw);
    }
      .shioriPage .allDownLoadSec li::before{
        width: calc(calc(48/375) * 100vw);
        height: calc(calc(48/375) * 100vw);
      }
      .shioriPage .allDownLoadSec li p{
        font-size: 1.6rem;
      }
      .shioriPage .allDownLoadSec li:nth-child(1)::before{
        background: url('../../img/document_icon_bold.svg') no-repeat center center / calc(calc(24/375) * 100vw) auto;
        background-color: #F5F5F5;
      }
    .shioriPage .allDownLoadSec li:nth-child(2){
      margin-top: calc(calc(24/375) * 100vw);
    }
      .shioriPage .allDownLoadSec li:nth-child(2)::before{
        background: url('../../img/book_open_icon2.svg') no-repeat center center / calc(calc(24/375) * 100vw) auto;
        background-color: #F5F5F5;
      }
  .shioriPage .numberSec{
    margin-top: calc(calc(40/375) * 100vw);
  }
    .shioriPage .numberSec li{
      text-indent: -.25em;
    }
    .shioriPage .numberSec li + li{
      margin-top: calc(calc(12/375) * 100vw);
    }
    .shioriPage .numberSec6 .otherTabBtn{
      margin-top: calc(calc(24/375) * 100vw);
      max-width: none;
      justify-content: space-between;
    }
/* ==========================================================================
   教科書作成のしおり＜資料編＞
========================================================================== */
  .shiori-shiryouPage .goShiori{
    width: min(calc(100% - 20px),1238px);
    width: var(--width);
    margin: calc(calc(40/375) * 100vw) auto 0;
  }
    .shiori-shiryouPage .goShiori a{
      border: calc(calc(1/375) * 100vw) solid #939393;
      border-radius: calc(calc(2/375) * 100vw);
      max-width: none;
      min-height: calc(calc(74/375) * 100vw);
      padding: calc(calc(10/375) * 100vw) calc(calc(18/375) * 100vw);
      gap: 0 calc(calc(12/375) * 100vw);
      justify-content: flex-start;
    };
      .shiori-shiryouPage .goShiori a::before{
        width: calc(calc(8/375) * 100vw);
        height: calc(calc(13/375) * 100vw);
      }
  .shiori-shiryouPage .main{
    margin-top: calc(calc(40/375) * 100vw);
  }
  .shiori-shiryouPage .numberSec{
    margin-top: calc(calc(40/375) * 100vw);
  }
    .shiori-shiryouPage .numberSec li{
      text-indent: -.25em;
    }
    .shiori-shiryouPage .numberSec li + li{
      margin-top: calc(calc(12/375) * 100vw);
    }
    .shiori-shiryouPage .numberSec figure{
      margin-top: calc(calc(24/375) * 100vw);
    }
      .shiori-shiryouPage .numberSec figure figcaption{
        margin-bottom: calc(calc(8/375) * 100vw);
      }
  .shiori-shiryouPage .arrowLeftBtn{
    max-width: none;
    margin: calc(calc(40/375) * 100vw) auto 0;
    min-height: calc(calc(48/375) * 100vw);
    border-radius: calc(calc(2/375) * 100vw);
    gap: 0 calc(calc(7.5/375) * 100vw);
  }
    .shiori-shiryouPage .arrowLeftBtn::before{
      width: calc(calc(7/375) * 100vw);
      height: calc(calc(12/375) * 100vw);
    }
/* ==========================================================================
   教科書作成のしおり（令和3年改訂版）
========================================================================== */
  .daigakuinPage .borderTopList{
    margin-top: calc(calc(16/375) * 100vw);
    padding-top: calc(calc(16/375) * 100vw);
    border-top: calc(calc(1/375) * 100vw) solid #E9E9E9;
  }
    .daigakuinPage .outline li{
      display: flex;
    }
      .daigakuinPage .outline li::before{
        background: url('../../img/check_mark.svg') no-repeat center center / contain;
        width: calc(calc(20/375) * 100vw);
        height: calc(calc(22/375) * 100vw);
        margin-right: calc(calc(8/375) * 100vw);
      }
      .daigakuinPage .outline li strong{
        margin-right: 0;
        display: block;
      }
    .daigakuinPage .outline li + li{
      margin-top: calc(calc(12/375) * 100vw);
    }
  .daigakuinPage .whiteBox + .whiteBox{
    margin-top: calc(calc(40/375) * 100vw);
  }
    .daigakuinPage .summary .summaryList{
      line-height: 1.8;
    }
      .daigakuinPage .summary .summaryList li{
        display: grid;
        grid-template-columns: 100%;
        grid-template-rows: auto auto 1fr;
        gap: 0;
      }
      .daigakuinPage .summary .summaryList li + li{
        margin-top: calc(calc(16/375) * 100vw);
      }
      .daigakuinPage .summary .summaryList a{
        font-size: 1.4rem;
        text-decoration: underline;;
        line-height: 1.6;
      }
        .daigakuinPage .summary .summaryList a >span{
          border-bottom: none;
          line-height: 1.6;
        }
        .daigakuinPage .summary .summaryList a .spBlock{
          display: block;
          padding: 0;
        }
      .daigakuinPage .summary .summaryList .end{
        grid-column: 1;
        grid-row: 3;
        font-size: 1.4rem;
        margin-top: calc(calc(6/375) * 100vw);
        gap: calc(calc(4/375) * 100vw);
      }
        .daigakuinPage .summary .summaryList .end::before{
          width: calc(calc(18/375) * 100vw);
          height: calc(calc(18/375) * 100vw);
        }
  .daigakuinPage .resultsEssayList{
    grid-template-columns: 100%;
    gap: calc(calc(6/375) * 100vw) 0;
  }
/* ==========================================================================
   大学院生の教科書研究論文助成金応募分
========================================================================== */
  .joseiTemplatePage .borderTop{
    margin-top: calc(calc(16/375) * 100vw);
    padding-top: calc(calc(16/375) * 100vw);
    border-top: calc(calc(1/375) * 100vw) solid #E9E9E9;
  }
    .joseiTemplatePage .downLoadList li{
      gap: calc(calc(4/375) * 100vw);
    }
    .joseiTemplatePage .downLoadList li + li{
      margin-top: calc(calc(8/375) * 100vw);
    }
    .joseiTemplatePage .downLoadList .end{
      gap: calc(calc(4/375) * 100vw);
      margin-left: calc(calc(18/375) * 100vw);
    }
      .joseiTemplatePage .downLoadList .end::before{
        width: calc(calc(18/375) * 100vw);
        height: calc(calc(18/375) * 100vw);
      }
      .joseiTemplatePage .documents .documentsInner h2{
        font-size: 1.8rem;
        font-weight: 400;
        margin-bottom: 12px;
        display: flex;
        align-items: center;
        gap: 8px;
        line-height: 1.6;
      }
        .joseiTemplatePage .documents .documentsInner h2::before{
          content: '';
          background-color: #1E68A2;
          background-color: var(--primary_blue);
          -webkit-mask-image: url('../../img/square_icon.svg');
                  mask-image: url('../../img/square_icon.svg');
          -webkit-mask-position: center center;
                  mask-position: center center;
          -webkit-mask-repeat: no-repeat;
                  mask-repeat: no-repeat;
          -webkit-mask-size: contain;
                  mask-size: contain;
          width: 6px;
          height: 6px;
          flex-shrink: 0;
        }
      .joseiTemplatePage .documents .documentsInner ul{
        padding-left: calc(calc(15/375) * 100vw);
      }
/* ==========================================================================
   若手研究者教科書研究助成
========================================================================== */
  .wakatePage .borderTop{
    margin-top: calc(calc(16/375) * 100vw);
    padding-top: calc(calc(16/375) * 100vw);
    border-top: calc(calc(1/375) * 100vw) solid #E9E9E9;
  }
      .wakatePage .about ul li + li,.wakatePage .outline ul li + li{
        margin-top: calc(calc(6/375) * 100vw);
      }
      .wakatePage .result .borderTop >li + li{
        margin-top: calc(calc(16/375) * 100vw);
      }
      .wakatePage .result .borderTop >li{
        gap: calc(calc(4/375) * 100vw) 0;
      }
      .wakatePage .result .borderTop .childText{
        padding-left: calc(calc(19/375) * 100vw);
        max-width: none;
        display: block;
      }
        .wakatePage .result .borderTop .childText li{
          display: flex;
          flex-flow: row wrap;
        }
/* ==========================================================================
   海外教科書制度
========================================================================== */
  .kaigaiPage .pageScrollNavi1{
    margin-top: calc(calc(23/375) * 100vw);
  }
    .kaigaiPage .pageScrollNavi1 ul{
      flex-flow: column;
      align-items: flex-start;;
    }
    .kaigaiPage .pageScrollNavi1 a{
      line-height: 1.4;
    }
    .kaigaiPage .textbookSystem .btnList{
      display: block;
    }
      .kaigaiPage .textbookSystem .btnList li:first-child{
        width: calc(calc(214/375) * 100vw);
      }
      .kaigaiPage .textbookSystem .btnList li:last-child{
        width: 100%;
      }
      .kaigaiPage .textbookSystem .btnList li + li{
        margin-top: calc(calc(16/375) * 100vw);
      }
    .kaigaiPage .textbookSystem .notice{
      color: #535353;
      margin-top: calc(calc(8/375) * 100vw);
    }
  .kaigaiPage .textbookSystemArea{
    margin-top: calc(calc(40/375) * 100vw);
  }
    .kaigaiPage .textbookSystemArea >h2{
      padding: 0;
      margin-bottom: calc(calc(16/375) * 100vw);
    }
  .kaigaiPage .areaScrollNavi{
    display: none;
  }
  .kaigaiPage .areaRow{
    margin-top: 0;
    display: grid;
    grid-template-columns: 100%;
    gap: calc(calc(16/375) * 100vw);
  }
  .kaigaiPage .areaCard{
    border: calc(calc(1/375) * 100vw) solid #6BA9B7;
    border: calc(calc(1/375) * 100vw) solid var(--secondary_blue);
    padding: calc(calc(13/375) * 100vw) calc(calc(20/375) * 100vw);
    border-radius: calc(calc(4/375) * 100vw);
  }
    .kaigaiPage .areaCard header{
      pointer-events: all;
      display: grid;
      grid-template-columns: 1fr calc(calc(16/375) * 100vw);
      gap: 0 calc(calc(16/375) * 100vw);
    }
      .kaigaiPage .areaCard header::after{
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        align-self: center;
        content: '';
        width: calc(calc(16/375) * 100vw);
        height: calc(calc(1/375) * 100vw);
        background: #1E68A2;
        background: var(--primary_blue);
      }
      .kaigaiPage .areaCard header::before{
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        align-self: center;
        content: '';
        width: calc(calc(1/375) * 100vw);
        height: calc(calc(16/375) * 100vw);
        background: #1E68A2;
        background: var(--primary_blue);
        transition: rotate .2s linear,opacity .1s linear;
        transition-delay: 0s ,0.1s;
      }
      .kaigaiPage .areaCard header h2{
        grid-column: 1;
        grid-row: 1;
        font-size: 1.6rem;
        margin-bottom: 0;
      }
      .kaigaiPage .areaCard .open::before{
        rotate: 90deg;
        opacity: 0;
      }
    .kaigaiPage .areaCard .hideBox{
      display: none;
    }
    .kaigaiPage .areaCard ul{
      margin-top: calc(calc(12/375) * 100vw);
      padding-top: calc(calc(12/375) * 100vw);
      border-top: calc(calc(1/375) * 100vw) solid #D4D4D4;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: calc(calc(12/375) * 100vw) calc(calc(16/375) * 100vw);
      align-items: start;
    }
      
      .kaigaiPage .areaCard ul .row{
        display: flex;
        align-items: center;
        flex-flow: row wrap;
        gap: calc(calc(5/375) * 100vw);
      }
      .kaigaiPage .areaCard ul .update{
        display: inline-block;
        padding: calc(calc(2/375) * 100vw) calc(calc(4/375) * 100vw);
        border: calc(calc(1/375) * 100vw) solid #6BA9B7;
        border: calc(calc(1/375) * 100vw) solid var(--secondary_blue);
        color: #6BA9B7;
        color: var(--secondary_blue);
        border-radius: calc(calc(2/375) * 100vw);
      }
  .kaigaiPage .schoolSystem{
    margin-top: calc(calc(40/375) * 100vw);
  }
    .kaigaiPage .schoolSystem .downloadBtn{
      max-width: calc(calc(214/375) * 100vw);
    }
    .kaigaiPage .schoolSystem .notice{
      margin-top: calc(calc(8/375) * 100vw);
    }
  .kaigaiPage .byCountry{
    margin-top: calc(calc(40/375) * 100vw);
  }
    .kaigaiPage .byCountry .downloadBtn{
      max-width: calc(calc(191/375) * 100vw);
      margin: calc(calc(24/375) * 100vw) auto 0;
    }
  .kaigaiPage .aboutTheReport{
    margin-top: calc(calc(40/375) * 100vw);
  }
    .kaigaiPage .aboutTheReport .innerBox{
      padding: calc(calc(32/375) * 100vw) calc(calc(16/375) * 100vw);
    }
    .kaigaiPage .aboutTheReport .soldOut{
      margin-top: calc(calc(12/375) * 100vw);
      width: calc(calc(140/375) * 100vw);
      height: calc(calc(33/375) * 100vw);
      border-radius: calc(calc(2/375) * 100vw);
      font-size: 1.4rem;
    }
/* ==========================================================================
   お知らせ　記事
========================================================================== */
  .newsSinglePage .share{
    flex-flow: row wrap;
    gap: calc(calc(8/375) * 100vw);
  }
    .newsSinglePage .share figcaption{
      font-size: 1.6rem;
    }
    .newsSinglePage .share ul{
      flex-flow: row wrap;
      gap: calc(calc(12/375) * 100vw);
    }
    .newsSinglePage .share .shareBtn{
      border: calc(calc(1/375) * 100vw) solid #E6E6E6;
      border-radius: calc(calc(4/375) * 100vw);
      padding: 0 calc(calc(12/375) * 100vw) 0 calc(calc(10/375) * 100vw);
      height: calc(calc(32/375) * 100vw);
      gap: 0 calc(calc(5/375) * 100vw);
    }
      .newsSinglePage .share .facebook::before{
        width: calc(calc(16/375) * 100vw);
        height: calc(calc(16/375) * 100vw);
      }
      .newsSinglePage .share .x::before{
        width: calc(calc(13/375) * 100vw);
        height: calc(calc(13/375) * 100vw);
      }
      .newsSinglePage .share .copy::before{
        width: calc(calc(15/375) * 100vw);
        height: calc(calc(15/375) * 100vw);
      }
  .newsSinglePage .newsHeader{
    width: calc(calc(343/375) * 100vw);
  }
    .newsSinglePage .newsHeader .data{
      align-items: flex-start;
      margin: calc(calc(19/375) * 100vw) 0 calc(calc(9/375) * 100vw);
      gap: 0 calc(calc(12/375) * 100vw);
    }
      .newsSinglePage .newsHeader .data .category{
        gap: calc(calc(12/375) * 100vw);
        flex-flow: row wrap;
      }
        .newsSinglePage .newsHeader .data .category a{
          padding: 0 calc(calc(12/375) * 100vw);
          font-size: 1.3rem;
          border-radius: calc(calc(24/375) * 100vw);
          border: calc(calc(1/375) * 100vw) solid #1E68A2;
          border: calc(calc(1/375) * 100vw) solid var(--primary_blue);
        }
    .newsSinglePage .newsHeader .share{
      margin-top: calc(calc(24/375) * 100vw);
    }
  .newsSinglePage .main{
    margin-top: calc(calc(20/375) * 100vw);
    width: calc(calc(343/375) * 100vw);
    padding: calc(calc(24/375) * 100vw) calc(calc(21/375) * 100vw) calc(calc(64/375) * 100vw);
  }
  .newsSinglePage .shareFooter{
    margin-top: calc(calc(64/375) * 100vw);
    padding: calc(calc(29/375) * 100vw) 0;
  }
    .newsSinglePage .shareFooter h2{
      font-size: 1.6rem;
    }
    .newsSinglePage .shareFooter ul{
      width: calc(calc(173/375) * 100vw);
      gap: calc(calc(8/375) * 100vw);
    }
  .newsSinglePage .goArchive{
    max-width: none;
    margin: calc(calc(32/375) * 100vw) auto 0;
  }
    .newsSinglePage .goArchive a{
      width: 100%;
      height: calc(calc(48/375) * 100vw);
      border: calc(calc(1/375) * 100vw) solid #939393;
      border-radius: calc(calc(2/375) * 100vw);
      background: url('../../img/arrow_left_gray.svg') no-repeat calc(calc(18/375) * 100vw) center / calc(calc(7/375) * 100vw) auto;
      background-color: #fff;
    }
/* ==========================================================================
   お知らせ　一覧
========================================================================== */
  .newsArchivePage .newsCategoryList{
    margin: calc(calc(24/375) * 100vw) auto 0;
  }
    .newsArchivePage .newsCategoryList ul{
      gap: calc(calc(12/375) * 100vw);
      flex-flow: column;
      align-items: flex-start;
    };
      .newsArchivePage .newsCategoryList ul a{
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: calc(calc(26/375) * 100vw);
        padding: calc(calc(3/375) * 100vw) calc(calc(16/375) * 100vw);
        border-radius: calc(calc(40/375) * 100vw);
      }
  .newsArchivePage .main{
    margin-top: calc(calc(24/375) * 100vw);
    padding: calc(calc(40/375) * 100vw) calc(calc(21/375) * 100vw) calc(calc(48/375) * 100vw);
  }
/* ==========================================================================
   search results 検索
========================================================================== */
body.gsc-overflow-hidden{
  overflow-y: auto !important;
}
    body.gsc-overflow-hidden .searchResultsPage .gsc-results-wrapper-overlay{
      background: transparent !important;
    }
    body.gsc-overflow-hidden .searchResultsPage .gsc-results-wrapper-overlay{
      position: static !important;
      width: 90%;
    }
    body.gsc-overflow-hidden .searchResultsPage .gsc-modal-background-image-visible{
      display: none !important;
    }
    body.gsc-overflow-hidden .searchResultsPage .gsc-wrapper{
      max-width: none !important;
    }
    body.gsc-overflow-hidden .searchResultsPage .gsc-results-close-btn{
      display: none !important;
    }
      body.gsc-overflow-hidden .searchResultsPage .gcsc-find-more-on-google svg{
        width: calc(calc(70/375) * 100vw);
        display: block;
        margin: 0 auto 2em;
      }
/* ==========================================================================
   home
========================================================================== */
  .homePage .mv{
    padding: calc(calc(30/375) * 100vw) 0 calc(calc(50/375) * 100vw);
    height: auto;
  }
    .homePage .mv::before{
      width: calc(calc(343/375) * 100vw);
      height: calc(calc(575/375) * 100vw);
      left: calc(calc(32/375) * 100vw);
      translate: 0;
      border-radius: calc(calc(16/375) * 100vw) 0 0 calc(calc(16/375) * 100vw);
    }
    .homePage .mv::after{
      width: calc(calc(327/375) * 100vw);
      height: calc(calc(392/375) * 100vw);
      background: url('../../img/sp_home_mv_kazari.png') no-repeat center center / 100% auto;
      top: calc(calc(20/375) * 100vw);
      left: calc(calc(32/375) * 100vw);
      translate: 0;
    }
    .homePage .mv .catchBox{
      width: calc(calc(343/375) * 100vw);
      padding: 0;
    }
      .homePage .mv .splideInfiniteScroll .splide__track{
        max-width: calc(calc(280/375) * 100vw);
        margin: calc(calc(20/375) * 100vw) auto 0;
      }
      .homePage .mv .splideInfiniteScroll .splide__slide{
        border-radius: calc(calc(20/375) * 100vw);
      }
    .homePage .mv .specialPage{
      max-width: calc(calc(343/375) * 100vw);
      height: calc(calc(120/375) * 100vw);
      margin: calc(calc(21/375) * 100vw) auto 0;
      border: calc(calc(1/375) * 100vw) solid #1E68A2;
      padding: 0;
    }
      .homePage .mv .specialPage a{
        gap: 0;
      }
      .homePage .mv .specialPage .logo50th{
        width: calc(calc(120/375) * 100vw);
      }
      .homePage .mv .specialPage h2{
        font-size: 1.8rem;
        line-height: 1.44;
      }
      .homePage .mv .specialPage p{
        font-size: 1.2rem;
        margin-top: calc(calc(8/375) * 100vw);
      }
      .homePage .mv .specialPage .goBtn{
        width: calc(calc(32/375) * 100vw);
        height: calc(calc(32/375) * 100vw);
        text-indent: -99999px;
        position: absolute;
        bottom: 0;
        right: 0;
        background: #1E68A2;
        color: #fff;
        font-size: 1.3rem;
        font-weight: 500;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0;
        border-radius: calc(calc(32/375) * 100vw) 0 0 0;
      }
        .homePage .mv .specialPage .goBtn::after{
          width: calc(calc(7/375) * 100vw);
          height: calc(calc(10/375) * 100vw);
          position: absolute;
          right: calc(calc(9/375) * 100vw);
          bottom: calc(calc(9/375) * 100vw);
        }
    .homePage .mv .fixLibraryBtn{
      width: calc(calc(344/375) * 100vw);
      height: calc(calc(45/375) * 100vw);
      margin: calc(calc(11/375) * 100vw) auto 0;
      position: static;
      translate: 0;
    }
      .homePage .mv .fixLibraryBtn a{
        border: calc(calc(2/375) * 100vw) solid #fff;
        box-shadow: calc(calc(5/375) * 100vw) calc(calc(10/375) * 100vw) calc(calc(20/375) * 100vw) rgba(0, 0, 0, 0.08);
        writing-mode:horizontal-tb;
        letter-spacing: 0;
        gap: calc(calc(5/375) * 100vw);
        border-radius: calc(calc(100/375) * 100vw);
      }
        .homePage .mv .fixLibraryBtn a::before{
          width: calc(calc(30/375) * 100vw);
          height: calc(calc(30/375) * 100vw);
        }
  .homePage .pickUp{
    margin-top: calc(calc(56/375) * 100vw);
  }
    .homePage .pickUp >h2{
      width: calc(calc(344/375) * 100vw);
      font-size: 1.2rem;
      font-weight: 500;
      display: block;
      margin-bottom: calc(calc(23/375) * 100vw);
    }
      .homePage .pickUp >h2::before{
        font-size: 2.8rem;
        margin-bottom: calc(calc(12/375) * 100vw);
      }
    .homePage .pickUp .pickupSlide{
      position: relative;
    }
      .homePage .pickUp .pickupSlide::before{
        content: '';
        width: calc(calc(20/375) * 100vw);
        height: 100%;
        background: #F5F5F5;
        position: absolute;
        top: 0;
        left: calc(-1 * calc(calc(1/375) * 100vw));
        z-index: 2;
      }
      .homePage .pickUp .pickupSlide .splide__track{
        width: calc(calc(336/375) * 100vw);
        margin-inline: auto;
        overflow: visible;
      }
    .homePage .pickUp .parts{
      display: none;
    }
    .homePage .pickUp .splide__progress {
      width: calc(calc(336/375) * 100vw);
      margin: calc(calc(24/375) * 100vw) auto 0;
      display: block;
      background: #BEBEBE;
      height: calc(calc(8/375) * 100vw);
      border-radius: calc(calc(8/375) * 100vw);
    }
    .homePage .pickUp .usefulProgressBar {
      background: #1E68A2;
      background: var(--primary_blue);
      border-radius: calc(calc(8/375) * 100vw);
      height: 100%;
      transition: width 400ms ease;
    }
    .homePage .pickUp .pickUpcard{
      padding: 0;
      background: none;
    }
      .homePage .pickUp .pickUpcard a{
        display: block;
      }
      .homePage .pickUp .pickUpcard .tm{
        padding: calc(calc(5/375) * 100vw);
        background: #fff;
      }
      .homePage .pickUp .pickUpcard .dataBox{
        background:none;
        position: static;
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        padding: 0;
        width: 100%;
        margin-top: calc(calc(8/375) * 100vw);
      }
        .homePage .pickUp .pickUpcard .dataBox .category{
          order: 3;
          padding: calc(calc(2/375) * 100vw) calc(calc(12/375) * 100vw);
          min-height: calc(calc(24/375) * 100vw);
          font-size: 1rem;
          font-weight: 400;
          line-height: 1.4;
          border-radius: calc(calc(50/375) * 100vw);
          border: calc(calc(1/375) * 100vw) solid #1E68A2;
          border: calc(calc(1/375) * 100vw) solid var(--primary_blue);
          margin-top: calc(calc(10/375) * 100vw);
        }
        .homePage .pickUp .pickUpcard .dataBox h2{
          order: 1;
          margin: 0;
          font-size: 1.3rem;
          line-height: 1.38;
          font-weight: 400;
          overflow: hidden;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 2;
        }
        .homePage .pickUp .pickUpcard .dataBox .date{
          order: 2;
          font-size: 1.2rem;
          line-height: 1.16;
          margin-top: calc(calc(10/375) * 100vw);
          color: #808080;
        }
  .homePage .homeSecTitle{
    text-align: center;
    display: flex;
    flex-flow: column;
    align-items: center;
  }
    .homePage .homeSecTitle::before{
      font-size: 2.4rem;
      margin-bottom: calc(calc(11/375) * 100vw);
    }
    .homePage .homeSecTitle::after{
      width: calc(calc(20/375) * 100vw);
      height: calc(calc(26/375) * 100vw);
      margin-bottom: calc(calc(4/375) * 100vw);
    }
  .homePage .news{
    margin-top: calc(calc(63/375) * 100vw);
  }
    .homePage .news .newsCategoryList{
      margin: calc(calc(32/375) * 100vw) auto 0;
    }
      .homePage .news .newsCategoryList ul{
        justify-content: center;
        flex-flow: row wrap;
      }
    .homePage .news .notice{
      max-width: calc(calc(343/375) * 100vw);
      margin: calc(calc(24/375) * 100vw) auto 0;
    }
      .homePage .news .notice a{
        border: calc(calc(2/375) * 100vw) solid #FF3B30;
      }
    .homePage .news .newsListRow{
      max-width: calc(calc(343/375) * 100vw);
      margin: calc(calc(24/375) * 100vw) auto 0;
      min-height: calc(calc(100/375) * 100vw);
    }
    .homePage .news .goNewsPage{
      margin-top: calc(calc(32/375) * 100vw);
    }
      .homePage .news .goNewsPage a{
        gap: calc(calc(8/375) * 100vw);
      }
        .homePage .news .goNewsPage a::after{
          width: calc(calc(8/375) * 100vw);
          height: calc(calc(13/375) * 100vw);
        }
  .homePage .followUs{
    margin-top: calc(calc(48/375) * 100vw);
  }
    .homePage .followUs header{
      margin-bottom: calc(calc(24/375) * 100vw);
    }
      .homePage .followUs header .fukidashi{
        width: calc(calc(138/375) * 100vw);
        height: calc(calc(32/375) * 100vw);
        border-radius: calc(calc(20/375) * 100vw);
        font-size: 1.6rem;
        margin-bottom: calc(calc(22/375) * 100vw);
      }
        .homePage .followUs header .fukidashi::after{
          width: calc(calc(12/375) * 100vw);
          height: calc(calc(9/375) * 100vw);
          bottom: calc(-1 * calc(calc(8/375) * 100vw));

        }
      .homePage .followUs header h2{
        font-size: 1.6rem;
        align-items: center;
        gap: calc(calc(12/375) * 100vw);
      }
        .homePage .followUs header h2::before,.homePage .followUs header h2::after{
          content: '';
          width: calc(calc(13/375) * 100vw);
          height: calc(calc(18/375) * 100vw);
          flex-shrink: 0;
        }
    .homePage .followUs ul{
      margin-inline: auto;
      background: #fff;
      padding: calc(calc(24/375) * 100vw) 0;
      flex-flow: column;
      justify-content: flex-start;
      align-items: center;
      width: calc(calc(225/375) * 100vw);
    }
      .homePage .followUs ul li{
        width: calc(calc(138/375) * 100vw);
      }
        .homePage .followUs ul li a{
          justify-content: flex-start;
          gap: calc(calc(7/375) * 100vw);
        }
        .homePage .followUs ul li img{
          width: calc(calc(32/375) * 100vw);
        }
      .homePage .followUs ul li:nth-child(1){
        border-bottom: calc(calc(1/375) * 100vw) solid #E9E9E9;
        padding-bottom: calc(calc(16/375) * 100vw);
        margin-bottom: calc(calc(16/375) * 100vw);
      }
      .homePage .followUs ul li:nth-child(2){
        border-right: none;
        border-left: none;
        border-bottom: calc(calc(1/375) * 100vw) solid #E9E9E9;
        padding-bottom: calc(calc(16/375) * 100vw);
        margin-bottom: calc(calc(16/375) * 100vw);
      }
  .homePage .guide{
    margin-top: calc(calc(64/375) * 100vw);
    padding: calc(calc(63/375) * 100vw) 0;
    background: url('../../img/sp_home_guide_bk.png') no-repeat center top / cover;
    background-color: #fff;
  }
    .homePage .guide .toptext{
      text-align: justify;
      margin: calc(calc(32/375) * 100vw) auto 0;
      font-size: 1.4rem;
      line-height: 1.8;
      width: calc(calc(331/375) * 100vw);
    }
    .homePage .guide .row{
      width: calc(calc(341/375) * 100vw);
      margin: calc(calc(32/375) * 100vw) auto 0;
      grid-template-columns: 100%;
      gap: calc(calc(24/375) * 100vw);
    }
    .homePage .guide .guideSec{
      border: calc(calc(1/375) * 100vw) solid #6BA9B7;
      border: calc(calc(1/375) * 100vw) solid var(--secondary_blue);
      padding: calc(calc(41/375) * 100vw) calc(calc(58/375) * 100vw);
    }
      .homePage .guide .guideSec h2{
        font-size: 1.8rem;
        margin-bottom: calc(calc(16/375) * 100vw);
      }
        .homePage .guide .guideSec h2::before{
          margin-bottom: calc(calc(8/375) * 100vw);
          width: calc(calc(56/375) * 100vw);
          height: calc(calc(43/375) * 100vw);
        }
        .homePage .guide .guideSec h2::after{
          margin-top: calc(calc(16/375) * 100vw);
          width: calc(calc(48/375) * 100vw);
          height: calc(calc(2/375) * 100vw);
        }
        .homePage .guide .guideSec ul li:not(:first-child){
          margin-top: calc(calc(16/375) * 100vw);
          padding-top: calc(calc(16/375) * 100vw);
          border-top: calc(calc(1/375) * 100vw) solid #6BA9B7;
          border-top: calc(calc(1/375) * 100vw) solid var(--secondary_blue);
        }
        .homePage .guide .guideSec ul a{
          gap: calc(calc(12/375) * 100vw);
        }
          .homePage .guide .guideSec ul a::after{
            width: calc(calc(7/375) * 100vw);
            height: calc(calc(12/375) * 100vw);
          }
        .homePage .guide .guideSec1 h2::before{
          background-image: url('../../img/sp_guide_icon1.png');
        }
        .homePage .guide .guideSec2 h2::before{
          background-image: url('../../img/sp_guide_icon2.png');
        }
        .homePage .guide .guideSec3 h2::before{
          background-image: url('../../img/sp_guide_icon3.png');
        }
  .homePage .usefulContent{
    margin-top: calc(calc(63/375) * 100vw);
  }
    .homePage .usefulContent .toptext{
      margin: calc(calc(32/375) * 100vw) auto 0;
      width: calc(calc(341/375) * 100vw);
      text-align: justify;
    }
    .homePage .usefulContent .usefulContentSlide{
      margin-top: calc(calc(40/375) * 100vw);
      position: relative;
    }
      .homePage .usefulContent .usefulContentSlide::before{
        content: '';
        width: calc(calc(17/375) * 100vw);
        height: 100%;
        background: #F5F5F5;
        position: absolute;
        top: 0;
        left: calc(-1 * calc(calc(1/375) * 100vw));
        z-index: 2;
      }
      .homePage .usefulContent .usefulContentSlide .splide__track{
        width: calc(calc(248/375) * 100vw);
        margin: 0 0 0 calc(calc(16/375) * 100vw);
      }
    .homePage .usefulContent .usefulContentLink{
      gap: calc(calc(8/375) * 100vw);
    }
      
      .homePage .usefulContent .usefulContentLink .img{
        background: #fff;
        padding: calc(calc(9/375) * 100vw) calc(calc(12/375) * 100vw);
      }
    .homePage .usefulContent .splide__pagination{
      display: none;
    }
    .homePage .usefulContent .splide__progress {
      width: calc(calc(336/375) * 100vw);
      margin: calc(calc(24/375) * 100vw) auto 0;
      display: block;
      background: #BEBEBE;
      height: calc(calc(8/375) * 100vw);
      border-radius: calc(calc(8/375) * 100vw);
    }
    .homePage .usefulContent .usefulProgressBar{
      background: #1E68A2;
      background: var(--primary_blue);
      border-radius: calc(calc(8/375) * 100vw);
      height: 100%;
      transition: width 400ms ease;
    }
/* ==========================================================================
   算数・数学の教科書の世界的潮流に関する調査研究
========================================================================== */
    .math-textbook-global-trendsPage .report .downloadBtn{
      margin-top: calc(calc(24/375) * 100vw);
      margin-inline: auto;
      max-width: calc(calc(280/375) * 100vw);
    }
/* ==========================================================================
   home 英語
========================================================================== */
  .homePageEn .mv{
    padding-top: calc(calc(62/375) * 100vw);
    height: auto;
    padding-bottom: 0;
  }
    .homePageEn .mv::before{
      height: calc(calc(412/375) * 100vw);
    }
    .homePageEn .mv::after{
      background: url('../../img/sp_home_mv_kazari_en.png') no-repeat center center / 100% auto;
    }
    .homePageEn .mv .catchBox{
      width: calc(calc(299/375) * 100vw);
      margin-left: calc(calc(48/375) * 100vw);
      padding: 0;
    }
      .homePageEn .mv .splideInfiniteScroll .splide__track{
        margin: calc(calc(59/375) * 100vw) auto 0;
      }
  .homePageEn .fixLibraryBtnEn{
    width: calc(calc(344/375) * 100vw);
    height: calc(calc(45/375) * 100vw);
    margin: calc(calc(76/375) * 100vw) auto 0;
    position: static;
    translate: 0;
    box-shadow: calc(calc(5/375) * 100vw) calc(calc(10/375) * 100vw) calc(calc(20/375) * 100vw) rgba(0, 0, 0, 0.08);
    border-radius: calc(calc(100/375) * 100vw);
  }
    .homePageEn .homeSecTitleEn::before{
      width: calc(calc(20/375) * 100vw);
      height: calc(calc(26/375) * 100vw);
      margin-bottom: calc(calc(4/375) * 100vw);
    }
    .homePageEn .homeSecTitleEn h2{
      font-size: 2.4rem;
    }
  .homePageEn .news{
    margin-top: calc(calc(76/375) * 100vw);
  }
/* end */
}

@media (max-width:767px){
/* ==========================================================================
   「わたしと教科書」作文コンクール
========================================================================== */
  .sakubunPage .pageHeader{
    margin-top: calc(calc(30/375) * 100vw);
  }
    .sakubunPage .subPageRead p{
      max-width: none;
    }
    .sakubunPage .publicationsInformation p,.sakubunPage .publicationsInformation ul{
      line-height: 1.8;
    }
    .sakubunPage .publicationsInformation ul{
      margin-top: calc(calc(16/375) * 100vw);
    }
  .sakubunPage .award{
    margin-top: calc(calc(40/375) * 100vw);
  }
    .sakubunPage .award table{
      display: block;
      border-bottom: none;
    }
      .sakubunPage .award table td,.sakubunPage .award table th{
        display: block;
        border-top: none;
        padding: 0;
      }
      .sakubunPage .award table a{
        text-decoration: underline;
        display: inline-flex;
        align-items: center;
      }
        .sakubunPage .award table a::before{
          content: '';
          width: 24px;
          height: 24px;
          background: url('../../img/akar-icons_file.svg') no-repeat center center / contain;
          flex-shrink: 0;
          margin-right: 4px;
        }
      .sakubunPage .award table .pc{
        display: none;
      }
    .sakubunPage .award tbody{
      display: flex;
      flex-flow: column;
      gap: calc(calc(24/375) * 100vw) 0;
    }
    .sakubunPage .award tr{
      display: flex;
      flex-flow: column;
      gap: calc(calc(12/375) * 100vw) 0;
      padding-bottom: calc(calc(12/375) * 100vw);
      border-bottom: calc(calc(1/375) * 100vw) solid #D4D4D4;
    }
      .sakubunPage .award tr td:nth-child(1){
        font-size: 1.8rem;
      }
/* ==========================================================================
   50周年記念
========================================================================== */
.page-template-page-anniversary{
  background: url('../../img/sp_50th_bk.jpg') no-repeat right top / calc(calc(249/375) * 100vw) auto;
  background-color: #FAFAFA;
}
    .page-template-page-anniversary .header .headerInner{
      grid-template-columns: calc(calc(221/375) * 100vw) 1fr;
    }
  .anniversaryPage .fv{
    width: 100%;
    border-radius: 0;
    padding-top: calc(calc(63/375) * 100vw);
    height: calc(calc(861/375) * 100vw);
  }
    .anniversaryPage .fv::before{
      width: calc(calc(366/375) * 100vw);
      height: calc(calc(861/375) * 100vw);
      background: url('../../img/sp_50th_fv_bk.png') no-repeat center center / cover;
      right: auto;
      left: 0;
    }
    .anniversaryPage .fv .inner{
      max-width: calc(calc(333/375) * 100vw);
      margin-inline: auto;
      display: grid;
      grid-template-columns: 100%;
      grid-template-rows: auto auto 1fr;
      gap: 0;
    }
      .anniversaryPage .fv .inner::after{
        width: calc(calc(21/375) * 100vw);
        height: calc(calc(21/375) * 100vw);
        border-left: calc(calc(1/375) * 100vw) solid #000000;
        border-left: calc(calc(1/375) * 100vw) solid var(--text-color);
        border-bottom: calc(calc(1/375) * 100vw) solid #000000;
        border-bottom: calc(calc(1/375) * 100vw) solid var(--text-color);
        bottom: calc(calc(49/375) * 100vw);
      }
    .anniversaryPage .fv .logo{
      grid-column: 1;
      grid-row: 1;
    }
    .anniversaryPage .fv .catchBox{
      grid-column: 1;
      grid-row: 2;
      margin-top: calc(calc(4/375) * 100vw);
    }
      .anniversaryPage .fv .catchBox .text1{
        width: calc(calc(269/375) * 100vw);
        margin-inline: auto;
      }
      .anniversaryPage .fv .catchBox .text2{
        font-size: 2.1rem;
        text-align: center;
        margin-top: calc(calc(24/375) * 100vw);
      }
    .anniversaryPage .fv .illu{
      grid-column: 1;
      grid-row: 3;
      width: calc(calc(332/375) * 100vw);
      margin-top: calc(-1 * calc(calc(13/375) * 100vw));
    }
  .anniversaryPage .message{
    width: calc(calc(338/375) * 100vw);
    margin: calc(calc(40/375) * 100vw) auto 0;
    display: grid;
    grid-template-columns: 100%;
    gap: 0;
  }
    .anniversaryPage .message >h2{
      grid-column: 1;
      grid-row: 1;
      font-size: 2.1rem;
    }
      .anniversaryPage .message >h2 span{
        padding-left: 0;
        display: block;
      }
    .anniversaryPage .message .ph{
      grid-column: 1;
      grid-row: 3;
      margin-top: calc(calc(24/375) * 100vw);
    }
      .anniversaryPage .message .ph img{
        width: calc(calc(222/375) * 100vw);
        margin-inline: auto;
        display: block;
      }
      .anniversaryPage .message .ph figcaption{
        margin-top: calc(calc(16/375) * 100vw);
      }
    .anniversaryPage .message .textBox{
      grid-column: 1;
      grid-row: 2;
      margin-top: calc(calc(32/375) * 100vw);
    }
      .anniversaryPage .message .textBox P{
        line-height: 1.8;
      }
      .anniversaryPage .message .textBox p + p{
        margin-top: calc(calc(16/375) * 100vw);
      }
  .anniversaryPage .historyTimeline{
    max-width: calc(calc(343/375) * 100vw);
    margin: calc(calc(80/375) * 100vw) auto 0;
  }
    .anniversaryPage .historyTimeline >h2{
      font-size: 2.1rem;
    }
      .anniversaryPage .historyTimeline >h2 span{
        padding-left: 0;
        display: block;
      }
    .anniversaryPage .historyTimeline .timelineList{
      margin-top: calc(calc(24/375) * 100vw);
      display: grid;
      grid-template-columns: 100%;
      gap: 0;
      position: relative;
      padding-left: calc(calc(24/375) * 100vw);
    }
      .anniversaryPage .historyTimeline .timelineList::before{
        width: calc(calc(1/375) * 100vw);
        height: calc(100% - calc(calc(6/375) * 100vw));
        top: calc(calc(6/375) * 100vw);
        left: calc(calc(8/375) * 100vw);
      }
      .anniversaryPage .historyTimeline .timelineList dt,.anniversaryPage .historyTimeline .timelineList h3{
        font-size: 1.8rem;
        line-height: 1.8;
      }
      .anniversaryPage .historyTimeline .timelineList dt{
        position: relative;
      }
        .anniversaryPage .historyTimeline .timelineList dt::before{
          content: '';
          width: calc(calc(12/375) * 100vw);
          height: calc(calc(12/375) * 100vw);
          background: #1E68A2;
          background: var(--primary_blue);
          border-radius: 50%;
          position: absolute;
          top: calc(calc(6/375) * 100vw);
          left: calc(-1 * calc(calc(21/375) * 100vw));
        }
      .anniversaryPage .historyTimeline .timelineList dd{
        margin-top: calc(calc(8/375) * 100vw);
      }
        .anniversaryPage .historyTimeline .timelineList dd::before{
          display: none;
        }
        .anniversaryPage .historyTimeline .timelineList dd p{
          line-height: 1.8;
          margin-top: 4px;
        }
      .anniversaryPage .historyTimeline .timelineList dd + dt{
        margin-top: 32px;
      }
  .anniversaryPage .attempt{
    margin: calc(calc(80/375) * 100vw) auto 0;
    display: grid;
    grid-template-columns: 100%;
    gap: 0;
  }
    .anniversaryPage .attempt >header{
      grid-column: 1;
    }
      .anniversaryPage .attempt >header h2{
        font-size: 2.1rem;
      }
        .anniversaryPage .attempt >header h2 span{
          padding-left: 0;
          display: block;
        }
      .anniversaryPage .attempt >header .toptext{
        margin: calc(calc(32/375) * 100vw) 0;
        text-align: justify;
      }
    .anniversaryPage .attempt .attemptCards{
      padding-bottom: calc(calc(32/375) * 100vw);
      border-radius: calc(calc(8/375) * 100vw);
      border: calc(calc(1/375) * 100vw) solid #6BA9B7;
      border: calc(calc(1/375) * 100vw) solid var(--secondary_blue);
    }
      .anniversaryPage .attempt .attemptCards .tm{
        margin-bottom: calc(calc(24/375) * 100vw);
      }
      .anniversaryPage .attempt .attemptCards header,.anniversaryPage .attempt .attemptCards .discription,.anniversaryPage .attempt .attemptCards .moreBtn{
        max-width: calc(calc(301/375) * 100vw);
      }
      .anniversaryPage .attempt .attemptCards .status{
        width: calc(calc(60/375) * 100vw);
        height: calc(calc(25/375) * 100vw);
        border-radius: calc(calc(4/375) * 100vw);
      }
      .anniversaryPage .attempt .attemptCards h2{
        margin-top: calc(calc(14/375) * 100vw);
      }
      .anniversaryPage .attempt .attemptCards .time{
        margin-top: calc(calc(8/375) * 100vw);
        gap: calc(calc(8/375) * 100vw);
      }
        .anniversaryPage .attempt .attemptCards .time::before{
          width: calc(calc(16/375) * 100vw);
          height: calc(calc(16/375) * 100vw);
        }
      .anniversaryPage .attempt .attemptCards .discription{
        margin-top: calc(calc(8/375) * 100vw);
      }
      .anniversaryPage .attempt .attemptCards .moreBtn{
        margin-top: calc(calc(14/375) * 100vw);
        border-radius: calc(calc(2/375) * 100vw);
        height: calc(calc(52/375) * 100vw);
        background-position: calc(100% - calc(calc(20/375) * 100vw)) center;
        background-size: calc(calc(15/375) * 100vw) auto;
      }
    .anniversaryPage .attempt .attemptCards2{
      margin-top: calc(calc(40/375) * 100vw);
    }
    .anniversaryPage .attempt .attemptCards3{
      margin-top: calc(calc(40/375) * 100vw);
    }
  .anniversaryPage .dialog {
    width: calc(calc(334/375) * 100vw);
    padding: 0;
  }
  .anniversaryPage .dialogContent{
    padding: calc(calc(30/375) * 100vw) calc(calc(15/375) * 100vw);
    max-height: 80svh;
    overflow-y: auto;
    overscroll-behavior-y: none;
  }
      .anniversaryPage .dialogContent >header h2{
        font-size: 1.8rem;
      }
      .anniversaryPage .dialogContent >header .status{
        margin-top: calc(calc(16/375) * 100vw);
        width: calc(calc(60/375) * 100vw);
        height: calc(calc(25/375) * 100vw);
        border-radius: calc(calc(4/375) * 100vw);
      }
      .anniversaryPage .dialogContent >header .time{
        margin-top: calc(calc(8/375) * 100vw);
        gap: calc(calc(8/375) * 100vw);
      }
        .anniversaryPage .dialogContent >header .time::before{
          width: calc(calc(16/375) * 100vw);
          height: calc(calc(16/375) * 100vw);
        }
    .anniversaryPage .dialogContent .img{
      width: 100%;
      margin-inline: auto;
      margin-top: calc(calc(16/375) * 100vw);
      border-radius: calc(calc(8/375) * 100vw);
      overflow: hidden;
      box-shadow: 0 calc(calc(4/375) * 100vw) calc(calc(4/375) * 100vw) rgba(0, 0, 0, .25);
    }
    .anniversaryPage .dialogContent >section{
      margin-top: calc(calc(40/375) * 100vw);
    }
      .anniversaryPage .dialogContent >section .borderLeftTitle{
        flex-flow: row wrap;
        margin-bottom: calc(calc(12/375) * 100vw);
      }
        .anniversaryPage .dialogContent >section .borderLeftTitle small{
          display: block;
          font-size: 1.2rem;
        }
      .anniversaryPage .dialogContent .scheduleSection .borderLeftTitle{
        margin-bottom: calc(calc(20/375) * 100vw);
      }
      .anniversaryPage .dialogContent .scheduleSection .scheduleList{
        grid-template-columns: calc(calc(105/375) * 100vw) auto;
        gap: calc(calc(8/375) * 100vw) calc(calc(10/375) * 100vw);
      }
      .anniversaryPage .dialogContent .scheduleSection >.scheduleBreak{
        margin-left: calc(calc(105/375) * 100vw);
      }
  .anniversaryPage .dialogClose{
    top: calc(-1 * calc(calc(15/375) * 100vw));
    right: calc(-1 * calc(calc(15/375) * 100vw));
    width: calc(calc(30/375) * 100vw);
    height: calc(calc(30/375) * 100vw);
  }
  .anniversaryPage .followUs{
    margin: calc(calc(80/375) * 100vw) auto 0;
    height: calc(calc(495/375) * 100vw);
    background: url('../../img/sp_50th_sns_bk.jpg') no-repeat center center / cover;
  }
    .anniversaryPage .followUs::before{
      width: calc(100% - calc(calc(22/375) * 100vw));
      height: calc(100% - calc(calc(34/375) * 100vw));
    }
    .anniversaryPage .followUs header{
      margin-bottom: calc(calc(24/375) * 100vw);
    }
      .anniversaryPage .followUs header .fukidashi{
        width: calc(calc(138/375) * 100vw);
        height: calc(calc(32/375) * 100vw);
        border-radius: calc(calc(20/375) * 100vw);
        font-size: 1.6rem;
        margin-bottom: calc(calc(22/375) * 100vw);
      }
        .anniversaryPage .followUs header .fukidashi::after{
          width: calc(calc(12/375) * 100vw);
          height: calc(calc(9/375) * 100vw);
          bottom: calc(-1 * calc(calc(8/375) * 100vw));

        }
      .anniversaryPage .followUs header h2{
        font-size: 1.6rem;
        align-items: center;
        gap: 0;
      }
        .anniversaryPage .followUs header h2::before,.anniversaryPage .followUs header h2::after{
          content: '';
          width: calc(calc(13/375) * 100vw);
          height: calc(calc(18/375) * 100vw);
          flex-shrink: 0;
        }
    .anniversaryPage .followUs ul{
      margin-inline: auto;
      background: #fff;
      padding: calc(calc(24/375) * 100vw) 0;
      flex-flow: column;
      justify-content: flex-start;
      align-items: center;
      width: calc(calc(225/375) * 100vw);
    }
      .anniversaryPage .followUs ul li{
        width: calc(calc(138/375) * 100vw);
        font-size: 1.8rem;
      }
        .anniversaryPage .followUs ul li a{
          justify-content: flex-start;
          gap: calc(calc(7/375) * 100vw);
        }
        .anniversaryPage .followUs ul li img{
          width: calc(calc(32/375) * 100vw);
        }
      .anniversaryPage .followUs ul li:nth-child(1){
        border-bottom: calc(calc(1/375) * 100vw) solid #E9E9E9;
        padding-bottom: calc(calc(16/375) * 100vw);
        margin-bottom: calc(calc(16/375) * 100vw);
      }
      .anniversaryPage .followUs ul li:nth-child(2){
        border-right: none;
        border-left: none;
        border-bottom: calc(calc(1/375) * 100vw) solid #E9E9E9;
        padding-bottom: calc(calc(16/375) * 100vw);
        margin-bottom: calc(calc(16/375) * 100vw);
      }
  .page-template-page-anniversary .fixSns{
    display: none;
  }
/* end */
}

@media (max-width:767px){
/* ==========================================================================
   gNavi
========================================================================== */
    .page-template-page-library_top .spGnav .parentSec + .parentSec,.page-template-page-library_page .spGnav .parentSec + .parentSec{
      margin-top: 0;
    }
    .page-template-page-library_top .spGnav .parentSec:nth-child(1),.page-template-page-library_page .spGnav .parentSec:nth-child(1){
      order: 2;
      margin-top: calc(calc(32/375) * 100vw);
    }
    .page-template-page-library_top .spGnav .parentSec:nth-child(2),.page-template-page-library_page .spGnav .parentSec:nth-child(2){
      order: 1;
    }
    .page-template-page-library_top .spGnav .search,.page-template-page-library_page .spGnav .search{
      order: 3;
    }
    .page-template-page-library_top .spGnav .lang,.page-template-page-library_page .spGnav .lang{
      order: 4;
    }
    .page-template-page-library_top .spGnav .logo,.page-template-page-library_page .spGnav .logo{
      order: 5;
    }
    .page-template-page-library_top .spGnav .sns,.page-template-page-library_page .spGnav .sns{
      order: 6;
    }
/* ==========================================================================
   教科書図書館の所蔵資料を検索する
========================================================================== */
  .searchLibraryPage .pageScrollNavi{
    margin-top: calc(calc(40/375) * 100vw);
  }
    .searchLibraryPage .pageScrollNavi .kome{
      margin-top: calc(calc(16/375) * 100vw);
    }
    .searchLibraryPage .searchInfoSection .otherTabBtn{
      max-width: none;
      font-size: 1.6rem;
      line-height: 1.5;
      gap: 0 calc(calc(8/375) * 100vw);
      justify-content: flex-start;
    }
      .searchLibraryPage .searchInfoSection .otherTabBtn::before{
        width: calc(calc(14/375) * 100vw);
        height: calc(calc(14/375) * 100vw);
        background-color: #fff;
        -webkit-mask: url('../../img/search_icon.svg') no-repeat center center / contain;
                mask: url('../../img/search_icon.svg') no-repeat center center / contain;
        flex-shrink: 0;
      }
      .searchLibraryPage .searchInfoSection .otherTabBtn::after{
        width: calc(calc(14/375) * 100vw);
        height: calc(calc(14/375) * 100vw);
        margin: 0 0 0 auto;
      }
    .searchLibraryPage .searchInfoSection .innerSec{
      margin-top: calc(calc(24/375) * 100vw);
    }
      .searchLibraryPage .searchInfoSection .innerSec .squareDotsTitle{
        margin-bottom: calc(calc(12/375) * 100vw);
        align-items: flex-start;
      }
        .searchLibraryPage .searchInfoSection .innerSec .squareDotsTitle::before{
          margin-top: .6em;
        }
        .searchLibraryPage .searchInfoSection .innerSec p small{
          margin-top: calc(calc(12/375) * 100vw);
        }
    .searchLibraryPage .searchInfoSection .notice{
      margin-top: calc(calc(32/375) * 100vw);
      padding-top: calc(calc(32/375) * 100vw);
      border-top: calc(calc(1/375) * 100vw) solid #D4D4D4;
    }
      .searchLibraryPage .searchInfoSection .notice h2{
        margin-bottom: calc(calc(12/375) * 100vw);
      }
      .searchLibraryPage .searchInfoSection .notice li + li{
        margin-top: calc(calc(6/375) * 100vw);
      }
    .searchLibraryPage .dbInfo .borderLeftTitle{
      margin-bottom: calc(calc(24/375) * 100vw);
    }
    .searchLibraryPage .dbInfo .innerSec2{
      margin-top: calc(calc(24/375) * 100vw);
    }
      .searchLibraryPage .dbInfo .innerSec2 .squareDotsTitle{
        margin-bottom: calc(calc(12/375) * 100vw);
      }
    .searchLibraryPage .dbInfo .slideDownSection + .slideDownSection{
      margin-top: calc(calc(16/375) * 100vw);
    }
      .searchLibraryPage .dbInfo .slideDownSection1 p + p{
        margin-top: calc(calc(12/375) * 100vw);
      }
      .searchLibraryPage .dbInfo .slideDownSection2 a{
        margin-top: calc(calc(12/375) * 100vw);
      }
    .searchLibraryPage .preWarTextbooks .otherTabBtn{
      max-width: none;
    }
    .searchLibraryPage .preWarTextbooks .otherTabLink{
      display: inline;
      margin-right: .5em;
    }
      .searchLibraryPage .preWarTextbooks .otherTabLink::after{
        display: inline-block;
      }
    .searchLibraryPage .foreignTextbooks .otherTabBtn{
      max-width: none;
    }
    .searchLibraryPage .materials .otherTabBtn{
      max-width: none;
    }
  .searchLibraryPage .endLink{
    max-width: none;
    height: calc(calc(48/375) * 100vw);
    margin: calc(calc(36/375) * 100vw) auto 0;
    background: url('../../img/arrow_right_white.svg') no-repeat calc(100% - calc(calc(20/375) * 100vw)) center / calc(calc(7/375) * 100vw) auto;
    background-color: #1E68A2;
    background-color: var(--primary_blue);
    font-size: 1.6rem;
  }
  .searchLibraryPage .endText{
    margin-top: calc(calc(16/375) * 100vw);
    line-height: 1.8;
  }
/* ==========================================================================
   教科書図書館 ご利用案内
========================================================================== */
  .guidanceLibraryPage .main{
    display: grid;
    grid-template-columns: 100%;
    gap: calc(calc(40/375) * 100vw);
  }
  .guidanceLibraryPage .pageSidelNavi{
    grid-column: 1;
    grid-row: 1;
  }
    .guidanceLibraryPage .pageSidelNavi .inner{
      position: static;
      width: 100%;
      padding: 0;
      background: none;
    }
    .guidanceLibraryPage .pageSidelNavi h2{
      padding-left: 0;
      min-height: 0;
      border: none;
      margin-bottom: calc(calc(16/375) * 100vw);
    }
    .guidanceLibraryPage .pageSidelNavi li{
      font-size: 1.6rem;
      line-height: 1.4;
    }
    .guidanceLibraryPage .pageSidelNavi li + li{
      margin-top: calc(calc(12/375) * 100vw);
    }
    .guidanceLibraryPage .pageSidelNavi a{
      min-height: calc(calc(34/375) * 100vw);
      padding: calc(calc(6/375) * 100vw) calc(calc(16/375) * 100vw);
      border-radius: calc(calc(4/375) * 100vw);
      color: #fff;
      background: #1E68A2;
      background: var(--primary_blue);
      display: inline-flex;
      align-items: center;
      gap: calc(calc(16/375) * 100vw);
    }
      .guidanceLibraryPage .pageSidelNavi a::before{
        display: none;
      }
      .guidanceLibraryPage .pageSidelNavi a::after{
        content: '';
        width: calc(calc(10/375) * 100vw);
        height: calc(calc(7/375) * 100vw);
        background-color: #fff;
        -webkit-mask-image: url('../../img/gnavi_arrow_bottom_back.svg');
                mask-image: url('../../img/gnavi_arrow_bottom_back.svg');
        -webkit-mask-position: center center;
                mask-position: center center;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        flex-shrink: 0;
      }
    .guidanceLibraryPage .pageSidelNavi .current{
      color: #fff;
      font-weight: 400;
    }
      .guidanceLibraryPage .pageSidelNavi .current::before{
        display: none;
      }
  .guidanceLibraryPage .contentBox{
    grid-column: 1;
    grid-row: 2;
  }
  .guidanceLibraryPage .arrowBlueLink{
    margin-top: calc(calc(4/375) * 100vw);
    gap: calc(calc(8/375) * 100vw);
    align-items: flex-start;
  }
    .guidanceLibraryPage .arrowBlueLink::before{
      width: calc(calc(8/375) * 100vw);
      height: 1.5em;
    }
    .guidanceLibraryPage .guidanceSection .borderLeftTitle{
      margin-bottom: calc(calc(24/375) * 100vw);
    }
    .guidanceLibraryPage .guidanceSection .squareDotsTitle{
      margin-bottom: calc(calc(12/375) * 100vw);
      font-size: 1.6rem;
    }
      .guidanceLibraryPage .guidanceSection .checkList >li{
        display: flex;
        flex-flow: row wrap;
      }
        .guidanceLibraryPage .guidanceSection .checkList >li::before{
          width: calc(calc(20/375) * 100vw);
          height: calc(calc(20/375) * 100vw);
          margin-right: calc(calc(8/375) * 100vw);
        }
      .guidanceLibraryPage .guidanceSection .checkList >li + li{
        margin-top: calc(calc(12/375) * 100vw);
      }
    .guidanceLibraryPage .guidanceSection .primaryBtn{
      margin-top: calc(calc(24/375) * 100vw);
      min-height: calc(calc(42/375) * 100vw);
      padding-block: calc(calc(10/375) * 100vw);
    }
      .guidanceLibraryPage .openClose .innerSec li{
        display: grid;
        grid-template-columns: auto 1fr;
      }
      .guidanceLibraryPage .openClose .innerSec li + li{
        margin-top: calc(calc(8/375) * 100vw);
      }
      .guidanceLibraryPage .openClose .innerSec p{
        margin-top: calc(calc(12/375) * 100vw);
      }
      .guidanceLibraryPage .openClose .innerSec .calBtn{
        max-width: calc(calc(181/375) * 100vw);
      }
        .guidanceLibraryPage .openClose .innerSec .calBtn::before{
          width: calc(calc(16/375) * 100vw);
          height: calc(calc(16/375) * 100vw);
        }
  .guidanceLibraryPage .noticeLeftBorderBox{
    margin-top: calc(calc(24/375) * 100vw);
    display: block;
  }
    .guidanceLibraryPage .noticeLeftBorderBox h2{
      font-size: 1.4rem;
      margin-bottom: calc(calc(4/375) * 100vw);
    }
  .guidanceLibraryPage .preparation{
    margin-top: calc(calc(40/375) * 100vw);
  }
    .guidanceLibraryPage .preparation .searchIconBtn{
      max-width: calc(calc(203calc(calc(14/375) * 100vw)/375) * 100vw);
    }
    .guidanceLibraryPage .preparation .innerSec2{
      margin-top: calc(calc(32/375) * 100vw);
      padding-top: calc(calc(32/375) * 100vw);
      border-top: calc(calc(1/375) * 100vw) solid #D4D4D4;
    }
      .guidanceLibraryPage .preparation .innerSec2 .downloadBtn{
        max-width: none;
        width: calc(calc(307/375) * 100vw);
        padding-inline: calc(calc(9/375) * 100vw);
      }
  .guidanceLibraryPage .flow{
    margin-top: calc(calc(40/375) * 100vw);
  }
      .guidanceLibraryPage .flow ol li{
        display: flex;
        align-items: flex-start;
        gap: calc(calc(10/375) * 100vw);
      }
        .guidanceLibraryPage .flow ol li::before{
          font-size: 1.6rem;
          width: calc(calc(24/375) * 100vw);
          height: calc(calc(24/375) * 100vw);
        }
      .guidanceLibraryPage .flow ol li + li{
        margin-top: calc(calc(8/375) * 100vw);
      }
  .guidanceLibraryPage .copying{
    margin-top: calc(calc(40/375) * 100vw);
  }
    .guidanceLibraryPage .copying .checkList{
      margin-top: calc(calc(24/375) * 100vw);
    }
      .guidanceLibraryPage .copying .checkList .child{
        width: 100%;
        padding-left: calc(calc(28/375) * 100vw);
        margin-top: calc(calc(4/375) * 100vw);
      }
        .guidanceLibraryPage .copying .checkList .child small{
          display: block;
        }
        .guidanceLibraryPage .copying .checkList .child li + li{
          margin-top: (calc(4/375) * 100vw);
        }
    .guidanceLibraryPage .copying .notice{
      margin-top: calc(calc(32/375) * 100vw);
      padding-top: calc(calc(32/375) * 100vw);
      border-top: calc(calc(1/375) * 100vw) solid #D4D4D4;
    }
      .guidanceLibraryPage .copying .notice h2{
        margin-bottom: calc(calc(12/375) * 100vw);
      }
      .guidanceLibraryPage .copying .notice li + li{
        margin-top: calc(calc(6/375) * 100vw);
      }
  .guidanceLibraryPage .availableMaterials{
    margin-top: calc(calc(40/375) * 100vw);
  }
    .guidanceLibraryPage .availableMaterials .slideDownSection{
      margin-top: calc(calc(32/375) * 100vw);
    }
      .guidanceLibraryPage .availableMaterials .blueTitleSec >h2{
        font-size: 1.4rem;
      }
    .guidanceLibraryPage .availableMaterials .blueTitleSec + .blueTitleSec{
      margin-top: calc(calc(16/375) * 100vw);
    }
      .guidanceLibraryPage .availableMaterials .blueTitleSec1 >h2{
        margin-bottom: calc(calc(8/375) * 100vw);
      }
      .guidanceLibraryPage .availableMaterials .blueTitleSec1 >* + *{
        margin-top: calc(calc(4/375) * 100vw);
      }
      .guidanceLibraryPage .availableMaterials .blueTitleSec1 p:nth-of-type(2){
        margin-top: calc(calc(16/375) * 100vw);
      }
        .guidanceLibraryPage .availableMaterials .blueTitleSec1 .dotsList li{
          line-height: 1.6;
        }
        .guidanceLibraryPage .availableMaterials .blueTitleSec1 .dotsList li + li{
          margin-top: calc(calc(6/375) * 100vw);
        }
    .guidanceLibraryPage .availableMaterials .blueTitleSec + .blueTitleSec2{
      margin-top: calc(calc(32/375) * 100vw);
    }
      .guidanceLibraryPage .availableMaterials .blueTitleSec2 >h2{
        margin-bottom: calc(calc(16/375) * 100vw);
      }
        .guidanceLibraryPage .availableMaterials .blueTitleSec2 table th:has(.kome){
          position: relative;
          padding-bottom: calc(calc(64/375) * 100vw);
        }
          .guidanceLibraryPage .availableMaterials .blueTitleSec2 table th:has(.kome) .kome{
            position: absolute;
            width: -moz-max-content;
            width: max-content;
            top: calc(calc(46/375) * 100vw);
            left: calc(calc(12/375) * 100vw);
          }
          .guidanceLibraryPage .availableMaterials .blueTitleSec2 table th:has(.kome) + td{
            align-self: flex-start;
          }
        .guidanceLibraryPage .availableMaterials .blueTitleSec2 table tr{
          display: flex;
          justify-content: space-between;
        }
          .guidanceLibraryPage .availableMaterials .blueTitleSec2 table tr td,.guidanceLibraryPage .availableMaterials .blueTitleSec2 table tr th{
            flex-grow: 2;
          }
        .guidanceLibraryPage .availableMaterials .blueTitleSec2 table th,.guidanceLibraryPage .availableMaterials .blueTitleSec2 table td{
          padding: calc(calc(16/375) * 100vw) calc(calc(12/375) * 100vw);
          border-top: calc(calc(1/375) * 100vw) solid #D4D4D4;
          display: flex;
          align-items: center;
        }
        .guidanceLibraryPage .availableMaterials .blueTitleSec2 table th{
          padding-right: 0;
        }
        .guidanceLibraryPage .availableMaterials .blueTitleSec2 table td{
          font-size: 1.6rem;
          padding-left: 0;
          justify-content: flex-end;
        }
        .guidanceLibraryPage .availableMaterials .blueTitleSec2 table .other{
          padding-top: calc(calc(24/375) * 100vw);
        }
          .guidanceLibraryPage .availableMaterials .blueTitleSec2 table .hasKomeTr th,.guidanceLibraryPage .availableMaterials .blueTitleSec2 table .hasKomeTr td{
            padding-bottom: 0;
          }
        .guidanceLibraryPage .availableMaterials .blueTitleSec2 table .komeTd{
          padding: calc(calc(4/375) * 100vw) calc(calc(12/375) * 100vw) calc(calc(16/375) * 100vw);
          border: none;
          text-align: left;
        }
          .guidanceLibraryPage .availableMaterials .blueTitleSec2 table thead th{
            padding: 0 0 calc(calc(16/375) * 100vw) 0;
          }
          .guidanceLibraryPage .availableMaterials .blueTitleSec2 table thead th{
            font-weight: 500;
          }
          .guidanceLibraryPage .availableMaterials .blueTitleSec2 table thead th:last-child{
            font-size: 1.1rem;
            flex: 0 1 auto;
          }
    .guidanceLibraryPage .availableMaterials .searchIconBtn{
      margin-top: calc(calc(32/375) * 100vw);
      max-width: calc(calc(210/375) * 100vw);
    }
    .guidanceLibraryPage .availableMaterials .innerSec2{
      margin-top: calc(calc(32/375) * 100vw);
      padding-top: calc(calc(32/375) * 100vw);
      border-top: calc(calc(1/375) * 100vw) solid #D4D4D4;
    }
      .guidanceLibraryPage .availableMaterials .innerSec2 .squareDotsTitle{
        text-align: left;
        align-items: flex-start;
      }
        .guidanceLibraryPage .availableMaterials .innerSec2 .squareDotsTitle::before{
          margin-top: .5em;
        }
        .guidanceLibraryPage .availableMaterials .innerSec2 .blueTitleSec >h2{
          margin-bottom: calc(calc(4/375) * 100vw);
        }
        .guidanceLibraryPage .availableMaterials .blueTitleSec5 .dotsList li{
          flex-flow: row wrap;
        }
          .guidanceLibraryPage .availableMaterials .blueTitleSec5 .dotsList li span{
            font-weight: 500;
          }
          .guidanceLibraryPage .availableMaterials .blueTitleSec5 .dotsList li span:last-child{
            font-weight: 400;
            padding-left: calc(calc(15/375) * 100vw);
          }
        .guidanceLibraryPage .availableMaterials .blueTitleSec5 .dotsList li + li{
          margin-top: calc(calc(8/375) * 100vw);
        }
        .guidanceLibraryPage .availableMaterials .slideDownSection2 >header h2{
          letter-spacing: 0;
          width: -moz-max-content;
          width: max-content;
        }
        .guidanceLibraryPage .availableMaterials .slideDownSection2 ol .numTitle{
          text-indent: -1.5em;
          margin-left: 1.5em;
          margin-bottom: calc(calc(8/375) * 100vw);
        }
        .guidanceLibraryPage .availableMaterials .slideDownSection2 ol >li + li{
          margin-top: calc(calc(32/375) * 100vw);
        }
          .guidanceLibraryPage .availableMaterials .slideDownSection2 ol >li + li .arrowBlueLink{
            margin-top: calc(calc(8/375) * 100vw);
          }
        .guidanceLibraryPage .availableMaterials .slideDownSection2 ol .downList{
          margin-top: calc(calc(8/375) * 100vw);
          display: flex;
          flex-flow: row wrap;
          gap: calc(calc(8/375) * 100vw) 0;
        }
    .guidanceLibraryPage .availableMaterials .blueTitleSec6{
      margin-top: calc(calc(32/375) * 100vw);
    }
        .guidanceLibraryPage .availableMaterials .blueTitleSec6 .dotsList li{
          line-height: 1.6;
        }
        .guidanceLibraryPage .availableMaterials .blueTitleSec6 .dotsList li + li{
          margin-top: calc(calc(8/375) * 100vw);
        }
      .guidanceLibraryPage .availableMaterials .blueTitleSec7 strong{
        margin-bottom: calc(calc(8/375) * 100vw);
      }
      .guidanceLibraryPage .availableMaterials .blueTitleSec7 p + p{
        margin-top: calc(calc(8/375) * 100vw);
      }
  .guidanceLibraryPage .rule{
    margin-top: calc(calc(40/375) * 100vw);
  }
      .guidanceLibraryPage .rule .checkList li{
        flex-flow: row nowrap;
      }
        .guidanceLibraryPage .rule .checkList li .kome{
          text-indent: -1em;
          margin-left: 1em;
          margin-top: calc(calc(4/375) * 100vw);
        }
      .guidanceLibraryPage .rule .checkList li + li{
        margin-top: calc(calc(12/375) * 100vw);
      }
  .guidanceLibraryPage .access{
    margin-top: calc(calc(40/375) * 100vw);
  }
      .guidanceLibraryPage .access .checkList li{
        flex-flow: row nowrap;
      }
        .guidanceLibraryPage .access .checkList li .first{
          font-weight: 500;
        }
        .guidanceLibraryPage .access .checkList li .kome{
          text-indent: -1em;
          margin-left: 1em;
          margin-top: calc(calc(4/375) * 100vw);
        }
        .guidanceLibraryPage .access .checkList li .row{
          text-box-trim: trim-both;
          text-box-edge: cap alphabetic;
          padding-top: .2em;
        }
          .guidanceLibraryPage .access .checkList li .row .first{
            margin-top: calc(calc(4/375) * 100vw);
            display: block;
          }
      .guidanceLibraryPage .access .checkList li + li{
        margin-top: calc(calc(8/375) * 100vw);
      }
  .guidanceLibraryPage .donwloadSec{
    margin-top: calc(calc(40/375) * 100vw);
  }
    .guidanceLibraryPage .donwloadSec ul{
      max-width: none;
      display: grid;
      grid-template-columns: 100%;
      gap: calc(calc(12/375) * 100vw);
    }
    .guidanceLibraryPage .donwloadSec .printBtn{
      width: 100%;
      max-width: none;
      margin: 0;
      gap: calc(calc(12/375) * 100vw);
    }
      .guidanceLibraryPage .donwloadSec .printBtn small{
        gap: calc(calc(6/375) * 100vw);
      }
        .guidanceLibraryPage .donwloadSec .printBtn small::before{
          width: calc(calc(6/375) * 100vw);
          height: calc(calc(1/375) * 100vw);
        }
    .guidanceLibraryPage .donwloadSec .kome{
      margin-top: calc(calc(24/375) * 100vw);
      text-indent: -1.3em;
      margin-left: 1.3em;
    }
/* ==========================================================================
   教科書図書館 TOP
========================================================================== */
.container:has(.libraryTopPage){
  background: url('../../img/sp_library_bk.webp') no-repeat center top / 100% auto;
}
  .libraryTopPage .pankuzu{
    width:calc(calc(343/375) * 100vw);
  }
  .libraryTopPage .libraryHeader{
    margin-top: calc(calc(9/375) * 100vw);
    height: auto;
    display: grid;
    grid-template-columns: 100%;
  }
    .libraryTopPage .libraryHeader::before{
      display: none;
    }
    .libraryTopPage .libraryHeader::after{
      grid-column: 1;
      grid-row: 2;
      z-index: 2;
      align-self: center;
      height: calc(calc(200/375) * 100vw);
      background: url('../../img/sp_library_top_fv.jpg') no-repeat center center / cover;
    }
    .libraryTopPage .libraryHeader .titleBox{
      grid-column: 1;
      grid-row: 1;
      padding: calc(calc(30/375) * 100vw) calc(calc(15/375) * 100vw) calc(calc(15/375) * 100vw);
    }
      .libraryTopPage .libraryHeader .titleBox::before{
        display: none;
      }
      .libraryTopPage .libraryHeader .titleBox .data{
        margin-top: calc(calc(16/375) * 100vw);
        gap: calc(calc(4/375) * 100vw);
      }
  .libraryTopPage .toptext{
    margin: calc(calc(49/375) * 100vw) auto 0;
  }
  .libraryTopPage .librarySecTitle{
    text-align: center;
    display: flex;
    flex-flow: column;
    align-items: center;
  }
    .libraryTopPage .librarySecTitle::before{
      font-size: 2.4rem;
      margin-bottom: calc(calc(11/375) * 100vw);
    }
    .libraryTopPage .librarySecTitle::after{
      width: calc(calc(20/375) * 100vw);
      height: calc(calc(26/375) * 100vw);
      margin-bottom: calc(calc(4/375) * 100vw);
    }
  .libraryTopPage .news{
    margin: calc(calc(64/375) * 100vw) auto 0;
    max-width: calc(calc(343/375) * 100vw);
  }
    .libraryTopPage .news .librarySecTitle{
      margin-bottom: calc(calc(32/375) * 100vw);
    }
    .libraryTopPage .news .newsListBox{
      display: block;
    }
      .libraryTopPage .news .newsListBox a{
        display: flex;
        flex-flow: row wrap;
        align-items: center;
        gap: 0 calc(calc(8/375) * 100vw);
        padding: calc(calc(16/375) * 100vw) calc(calc(21/375) * 100vw);
        border-top: calc(calc(1/375) * 100vw) solid #D4D4D4;
      }
      .libraryTopPage .news .newsListBox p.important{
        width: calc(calc(51/375) * 100vw);
        height: calc(calc(21/375) * 100vw);
        font-size: 1.3rem;
      }
      .libraryTopPage .news .newsListBox h2{
        width: 100%;
        margin-top: calc(calc(8/375) * 100vw);
      }
      .libraryTopPage .news .newsListBox:last-child a{
        border-bottom: calc(calc(1/375) * 100vw) solid #D4D4D4;
      }
    .libraryTopPage .news .goNewsPage{
      margin-top: calc(calc(32/375) * 100vw);
    }
      .libraryTopPage .news .goNewsPage a{
        gap: calc(calc(8/375) * 100vw);
      }
        .libraryTopPage .news .goNewsPage a::after{
          width: calc(calc(8/375) * 100vw);
          height: calc(calc(13/375) * 100vw);
        }
  .libraryTopPage .guide{
    margin-top: calc(calc(78/375) * 100vw);
    padding: calc(calc(64/375) * 100vw) 0;
    background: url('../../img/sp_home_guide_bk.png') no-repeat center top / cover;
    background-color: #fff;
  }
    .libraryTopPage .guide .inner{
      max-width: calc(calc(343/375) * 100vw);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 100%;
      gap: calc(calc(24/375) * 100vw) 0;
    }
    .libraryTopPage .guide .librarySecTitle{
      margin-bottom: calc(calc(8/375) * 100vw);
      grid-column: 1;
    }
      .libraryTopPage .guide .guideSec h2{
        font-size: 1.6rem;
        margin-bottom: calc(calc(8/375) * 100vw);
      }
      .libraryTopPage .guide .guideSec dl{
        gap: calc(calc(4/375) * 100vw);
        font-size: 1.4rem;
      }
    .libraryTopPage .guide .boxList{
      grid-column: 1;
      margin-top: 0;
      display: grid;
      grid-template-columns: repeat(2,1fr);
      gap: calc(calc(12/375) * 100vw);
    }
      .libraryTopPage .guide .boxList a{
        border: calc(calc(1/375) * 100vw) solid #6BA9B7;
        border: calc(calc(1/375) * 100vw) solid var(--secondary_blue);
        height: calc(calc(123/375) * 100vw);
      }
        .libraryTopPage .guide .boxList a::before{
          width: calc(calc(26/375) * 100vw);
          height: calc(calc(26/375) * 100vw);
          margin: 0 auto calc(calc(15/375) * 100vw);
        }
      .libraryTopPage .guide .boxList span{
        text-align: center;
        gap: calc(calc(8/375) * 100vw);
      }
        .libraryTopPage .guide .boxList span::after{
          width: calc(calc(8/375) * 100vw);
          height: calc(calc(13/375) * 100vw);
        }
/* end */
}