@charset "UTF-8";
:root{
  --color-black:#0A0A0A;
  --color-gray:#F5F5F5;
  --color-gray2:#E5E5E5;
  --color-white:#fff;
  --color-main:#0082D7;
  --color-main-light:#EDF7FC;
  --color-main-light2:#e5f3fb;
  --color-main-deep:#0F1388;
  --color-primary:#F63B66;
  --color-text:#0A0A0A;
  --color-text-sub:#777777;
  --color-alert:#FFF951;
  --color-bg:#fff;
}
.l-container{
  margin-left:auto;
  margin-right:auto;
  max-width:calc(100% - 10.6666666667vw);
}
.l-container.--article{
  margin-top:8vw;
}

.l-col2{
  display:flex;
  flex-direction:column;
  width:100%;
}
.l-col2 > *:first-child{
  flex-grow:1;
  flex-shrink:1;
}
.l-col2 > *:last-child{
  padding:0;
  margin:0;
  width:100%;
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  border:0;
}
.text-center{
  text-align:center !important;
}
.text-right{
  text-align:right;
}

.center{
  margin-left:auto;
  margin-right:auto;
}
.mincho{
  font-family:"Noto Serif JP", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight:600;
}

.shadow{
  box-shadow:3px 3px 6px 0px rgba(0, 0, 0, 0.15);
}

.video{
  position:relative;
  padding-bottom:56.25%;
  height:0;
  overflow:hidden;
  background-color:var(--main-light);
}
.video iframe{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

.thm-header{
  color:#0A0A0A;
  font-family:"Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", "メイリオ", "Meiryo", sans-serif;
  font-weight:400;
  line-height:1.9;
  letter-spacing:0em;
  font-feature-settings:initial;
  -webkit-text-size-adjust:100%;
  background-color:#fff;
  font-size:4.2666666667vw;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:100;
  background-color:rgba(10, 10, 10, 0.96);
  box-shadow:3px 3px 6px 0px rgba(0, 0, 0, 0.15);
}
.thm-header *{
  -webkit-font-smoothing:initial;
}
.thm-header strong{
  font-weight:bold;
}
.thm-header img,
.thm-header picture{
  width:100%;
  height:auto;
  vertical-align:bottom;
}
.thm-header picture{
  display:block;
}
.thm-header h1,
.thm-header h2,
.thm-header h3,
.thm-header h4,
.thm-header h5,
.thm-header h6{
  font-weight:700;
  line-height:1.5;
  letter-spacing:0.03em;
}
.thm-header *[lang=en]{
  font-family:"Arial", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
}
.thm-header em{
  font-style:normal;
}
.thm-header small{
  font-size:100%;
}
.thm-header a:hover{
  color:inherit;
}
.thm-header + *{
  position:relative;
  z-index:0;
}
.thm-header__inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  height:13.3333333333vw;
  padding-left:5.3333333333vw;
  padding-right:13.3333333333vw;
}
.thm-header__nav{
  position:relative;
  display:flex;
}
.thm-header__nav-list{
  display:flex;
}
.thm-header__nav-list .menu-item{
  white-space:nowrap;
  font-weight:700;
  color:#fff;
}
.thm-header__logo{
  display:flex;
  align-items:center;
  flex-grow:0;
  flex-shrink:0;
}
.thm-header__logo a{
  display:block;
}
.thm-header__logo img{
  display:block;
  width:43.2vw;
}
.thm-header__btn-list{
  display:flex;
  align-items:center;
}
.thm-header-btn{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  flex-direction:column;
}
.thm-header-btn__icon{
  display:block;
  transform:rotate(9deg);
}
.thm-header-btn.--phone{
  font-family:"Oswald", sans-serif;
  background:var(--color-primary);
}
.thm-header-btn.--phone:hover{
  color:#fff;
}
.thm-header-btn.--contact{
  font-weight:700;
  background:var(--color-alert);
  color:var(--color-text);
}
.thm-header-btn.--phone .thm-header-btn__icon{
  width:4.2666666667vw;
  margin-bottom:4vw;
  height:auto;
}
.thm-header-btn.--contact .thm-header-btn__icon{
  width:4.8vw;
  margin-bottom:3.2vw;
  height:auto;
}
.thm-header-hamburger{
  color:#0A0A0A;
  font-family:"Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", "メイリオ", "Meiryo", sans-serif;
  font-weight:400;
  line-height:1.9;
  letter-spacing:0em;
  font-feature-settings:initial;
  -webkit-text-size-adjust:100%;
  background-color:#fff;
  font-size:4.2666666667vw;
  position:absolute;
  right:0;
  top:0;
  display:flex;
  aspect-ratio:1/1;
  gap:1.3333333333vw;
  width:13.3333333333vw;
}
.thm-header-hamburger *{
  -webkit-font-smoothing:initial;
}
.thm-header-hamburger strong{
  font-weight:bold;
}
.thm-header-hamburger img,
.thm-header-hamburger picture{
  width:100%;
  height:auto;
  vertical-align:bottom;
}
.thm-header-hamburger picture{
  display:block;
}
.thm-header-hamburger h1,
.thm-header-hamburger h2,
.thm-header-hamburger h3,
.thm-header-hamburger h4,
.thm-header-hamburger h5,
.thm-header-hamburger h6{
  font-weight:700;
  line-height:1.5;
  letter-spacing:0.03em;
}
.thm-header-hamburger *[lang=en]{
  font-family:"Arial", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
}
.thm-header-hamburger em{
  font-style:normal;
}
.thm-header-hamburger small{
  font-size:100%;
}
.thm-header-hamburger a:hover{
  color:inherit;
}
.thm-header-hamburger span, .thm-header-hamburger::before, .thm-header-hamburger::after{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  width:6.4vw;
  height:max(0.8vw, 3px);
  background-color:var(--color-main);
  border-radius:10px;
  transition:transform 0.5s ease;
}
.thm-header-hamburger::before, .thm-header-hamburger::after{
  content:"";
  display:block;
}
.thm-header-hamburger::before{
  transform:translateX(-50%) translateY(calc(-50% - 1.8666666667vw));
}
.thm-header-hamburger::after{
  transform:translateX(-50%) translateY(calc(-50% + 1.8666666667vw));
}
.thm-header-hamburger.is-open::before{
  transform:translateX(-50%) translateY(-50%) rotate(45deg);
}
.thm-header-hamburger.is-open::after{
  transform:translateX(-50%) translateY(-50%) rotate(-45deg);
}
.thm-header-hamburger.is-open span{
  opacity:0;
}
.thm-header-drawer-menu{
  color:#0A0A0A;
  font-family:"Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", "メイリオ", "Meiryo", sans-serif;
  font-weight:400;
  line-height:1.9;
  letter-spacing:0em;
  font-feature-settings:initial;
  -webkit-text-size-adjust:100%;
  background-color:#fff;
  font-size:4.2666666667vw;
  position:fixed;
  top:0;
  left:0;
  z-index:99;
  width:100%;
  height:100%;
  background-color:rgba(255, 255, 255, 0.96);
  visibility:hidden;
  opacity:0;
  transition:opacity 0.5s ease, visibility 0.5s ease;
}
.thm-header-drawer-menu *{
  -webkit-font-smoothing:initial;
}
.thm-header-drawer-menu strong{
  font-weight:bold;
}
.thm-header-drawer-menu img,
.thm-header-drawer-menu picture{
  width:100%;
  height:auto;
  vertical-align:bottom;
}
.thm-header-drawer-menu picture{
  display:block;
}
.thm-header-drawer-menu h1,
.thm-header-drawer-menu h2,
.thm-header-drawer-menu h3,
.thm-header-drawer-menu h4,
.thm-header-drawer-menu h5,
.thm-header-drawer-menu h6{
  font-weight:700;
  line-height:1.5;
  letter-spacing:0.03em;
}
.thm-header-drawer-menu *[lang=en]{
  font-family:"Arial", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
}
.thm-header-drawer-menu em{
  font-style:normal;
}
.thm-header-drawer-menu small{
  font-size:100%;
}
.thm-header-drawer-menu a:hover{
  color:inherit;
}
.thm-header-drawer-menu.is-open{
  visibility:visible;
  opacity:1;
}
.thm-header-drawer-menu-scroll{
  overflow:auto;
  height:100%;
  padding:13.3333333333vw 0 10.6666666667vw;
  -ms-overflow-style:none;
  scrollbar-width:none;
}
.thm-header-drawer-menu-scroll::-webkit-scrollbar{
  display:none;
}
.thm-header-drawer-menu-nav + .thm-header-drawer-menu-nav{
  margin-top:5.3333333333vw;
}
.thm-header-drawer-menu-nav + .thm-header-drawer-menu-nav.--mr-lg{
  margin-top:10.6666666667vw;
}
.thm-header-drawer-menu-nav__ttl{
  color:var(--color-black);
  font-size:4.8vw;
  font-weight:900;
  text-align:center;
  border-bottom:solid 2px var(--color-black);
  padding:4vw 0;
}
.thm-header-drawer-menu-nav-list .menu-item a{
  position:relative;
  display:block;
  text-align:center;
  font-size:3.7333333333vw;
  font-weight:700;
  padding:4vw 0;
  border-bottom:solid 1px var(--color-black);
}
.thm-header-drawer-menu-nav-list .menu-item a:after{
  position:absolute;
  display:block;
  content:"";
  position:absolute;
  display:block;
  content:"";
  width:1.8666666667vw;
  height:1.8666666667vw;
  border-top:solid 1px var(--color-black);
  border-right:solid 1px var(--color-black);
  border-top-width:max(2px, 0.5333333333vw);
  border-right-width:max(2px, 0.5333333333vw);
  top:50%;
  right:2.6666666667vw;
  transform:translateY(-50%) rotate(45deg);
}
.thm-header-drawer-menu-nav-banner img{
  display:block;
  width:100%;
  height:auto;
}

.is-itschool-mode .thm-header{
  background-color:rgba(255, 255, 255, 0.96);
}
.is-itschool-mode .thm-header__logo img{
  display:block;
  width:37.3333333333vw;
}
.is-itschool-mode .thm-header__nav-list .menu-item{
  color:#fff;
}
.is-itschool-mode .thm-header-drawer-menu-nav__ttl{
  color:var(--color-main);
  border-bottom:solid 2px var(--color-main);
}
.is-itschool-mode .thm-header-drawer-menu-nav-list .menu-item a{
  border-bottom:solid 1px var(--color-main);
}

.thm-subheader{
  background-color:var(--color-gray);
}
.front-page .thm-subheader{
  display:none;
}
.thm-subheader__inner{
  display:flex;
  align-items:center;
  height:42px;
}
.thm-subheader-nav-list{
  display:flex;
  align-items:center;
  gap:min(40px, 3.3222591362vw);
}
.thm-subheader-nav .menu-item{
  white-space:nowrap;
  font-weight:700;
  line-height:1.2;
}
.thm-subheader-nav .menu-item a{
  display:block;
  transition:color 0.5s ease;
  font-size:max(10px, min(14px, 1.1627906977vw));
}

.is-itschool-mode .thm-subheader{
  background-color:var(--color-main-light);
}

.thm-footer{
  color:#0A0A0A;
  font-family:"Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", "メイリオ", "Meiryo", sans-serif;
  font-weight:400;
  line-height:1.9;
  letter-spacing:0em;
  font-feature-settings:initial;
  -webkit-text-size-adjust:100%;
  background-color:#fff;
  font-size:4.2666666667vw;
  background-color:var(--color-gray);
  margin-top:16vw;
}
.thm-footer *{
  -webkit-font-smoothing:initial;
}
.thm-footer strong{
  font-weight:bold;
}
.thm-footer img,
.thm-footer picture{
  width:100%;
  height:auto;
  vertical-align:bottom;
}
.thm-footer picture{
  display:block;
}
.thm-footer h1,
.thm-footer h2,
.thm-footer h3,
.thm-footer h4,
.thm-footer h5,
.thm-footer h6{
  font-weight:700;
  line-height:1.5;
  letter-spacing:0.03em;
}
.thm-footer *[lang=en]{
  font-family:"Arial", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
}
.thm-footer em{
  font-style:normal;
}
.thm-footer small{
  font-size:100%;
}
.thm-footer a:hover{
  color:inherit;
}
.thm-footer__inner{
  display:flex;
  flex-direction:column;
  width:100%;
  gap:10.6666666667vw;
  padding:16vw 0;
}
.thm-footer__menu{
  display:flex;
  flex-direction:column;
  gap:10.6666666667vw;
}
.thm-footer-about{
  display:flex;
  flex-direction:column;
  gap:4vw;
}
.thm-footer-about-logo{
  margin-bottom:5.3333333333vw;
}
.thm-footer-about-logo a{
  display:block;
  transition:opacity 0.5s ease;
}
.thm-footer-about-logo img{
  display:block;
  height:auto;
  width:65.0666666667vw;
}
.thm-footer-about-content{
  display:flex;
  flex-direction:column;
  gap:4vw;
}
.thm-footer-about-data__ttl{
  line-height:1.5;
  font-weight:700;
  text-align:left;
  font-size:4.2666666667vw;
  margin-bottom:2.6666666667vw;
}
.thm-footer-about-data__content{
  line-height:1.4;
  font-weight:500;
  white-space:nowrap;
  font-size:3.2vw;
}
.thm-footer-nav{
  white-space:nowrap;
}
.thm-footer-nav__ttl{
  line-height:1.5;
  color:var(--color-black);
  font-weight:700;
  text-align:left;
  font-size:4.8vw;
  padding-bottom:2.1333333333vw;
  margin-bottom:4vw;
  border-bottom:solid 2px var(--color-black);
}
.thm-footer-nav__list{
  display:flex;
  flex-direction:column;
  gap:2.6666666667vw;
}
.thm-footer-nav__list .menu-item{
  font-weight:500;
  line-height:1.4;
  font-size:3.7333333333vw;
}
.thm-footer-nav__list .menu-item a{
  transition:color 0.5s ease;
}
.thm-footer-nav .sub-menu{
  display:flex;
  flex-direction:column;
  margin-top:2.6666666667vw;
  gap:2.6666666667vw;
}
.thm-footer-nav .sub-menu > .menu-item{
  margin-left:1em;
}
.thm-footer-nav .sub-menu > .menu-item:before{
  display:inline;
  content:"- ";
}
.thm-footer-copyright{
  background-color:var(--color-black);
  color:#fff;
  line-height:1.2;
  text-align:center;
  font-weight:700;
  padding:2.6666666667vw 5.3333333333vw;
  font-size:2.6666666667vw;
}

.is-itschool-mode .thm-footer{
  background-color:var(--color-main-light);
}
.is-itschool-mode .thm-footer-about-logo img{
  display:block;
  height:auto;
  width:56.5333333333vw;
}
.is-itschool-mode .thm-footer-nav__ttl{
  color:var(--color-main);
  border-bottom:solid 2px var(--color-main);
}
.is-itschool-mode .thm-footer-copyright{
  background-color:var(--color-main);
}
@media screen and (min-width: 751px){
  .l-container{
    max-width:1204px;
    padding-left:40px;
    padding-right:40px;
  }
  .l-container.--sm{
    max-width:1040px;
  }
  .l-container.--xs{
    max-width:445px;
  }
  .l-container.--article{
    margin-top:min(50px, 4.1528239203vw);
  }
  .l-inner{
    margin-left:auto;
    margin-right:auto;
    max-width:900px;
  }
  .l-col2{
    flex-direction:row;
    gap:min(60px, 4.9833887043vw);
  }
  .l-col2 > *:last-child{
    flex-grow:0;
    flex-shrink:0;
    width:max(260px, min(320px, 26.5780730897vw));
  }
  .sp-l-only{
    display:none !important;
  }
  .sp-only{
    display:none !important;
  }
  .thm-header{
    font-size:16px;
  }
  .thm-header a,
  .thm-header button,
  .thm-header input[type=submit]{
    transition:opacity 0.5s, color 0.5s, background-color 0.5s;
  }
  .thm-header a[href^="tel:"]{
    pointer-events:none;
    cursor:default;
  }
  .thm-header__inner{
    height:70px;
    padding-left:40px;
    padding-right:40px;
  }
  .thm-header__nav{
    gap:min(50px, 4.1528239203vw);
  }
  .thm-header__nav-list .menu-item{
    font-size:max(10px, min(14px, 1.1627906977vw));
  }
  .thm-header__nav-list .menu-item a{
    transition:color 0.5s ease;
  }
  .thm-header__nav-list .menu-item a:hover{
    color:var(--color-main);
  }
  .thm-header__logo a{
    transition:opacity 0.5s ease;
  }
  .thm-header__logo a:hover{
    opacity:0.8;
  }
  .thm-header__logo img{
    width:min(244px, 20.2657807309vw);
    height:auto;
  }
  .thm-header__btn-list{
    gap:min(10px, 0.8305647841vw);
  }
  .thm-header-btn{
    flex-direction:row;
    border-radius:10em;
    height:50px;
    padding:0.4em 2em;
    box-shadow:3px 3px 5px 1px rgba(20, 20, 20, 0.15);
  }
  .thm-header-btn__label{
    margin-right:0.2em;
  }
  .thm-header-btn.--phone:hover{
    opacity:0.8;
    color:#fff;
  }
  .thm-header-btn.--phone{
    font-size:min(20px, 1.6611295681vw);
  }
  .thm-header-btn.--contact:hover{
    opacity:0.8;
    color:var(--color-text);
  }
  .thm-header-btn.--contact{
    font-size:min(16px, 1.3289036545vw);
  }
  .thm-header-hamburger{
    font-size:16px;
  }
  .thm-header-hamburger a,
  .thm-header-hamburger button,
  .thm-header-hamburger input[type=submit]{
    transition:opacity 0.5s, color 0.5s, background-color 0.5s;
  }
  .thm-header-hamburger a[href^="tel:"]{
    pointer-events:none;
    cursor:default;
  }
  .thm-header-drawer-menu{
    font-size:16px;
  }
  .thm-header-drawer-menu a,
  .thm-header-drawer-menu button,
  .thm-header-drawer-menu input[type=submit]{
    transition:opacity 0.5s, color 0.5s, background-color 0.5s;
  }
  .thm-header-drawer-menu a[href^="tel:"]{
    pointer-events:none;
    cursor:default;
  }
  .thm-header-drawer-menu-nav-list .menu-item a:after{
    width:7px;
    height:7px;
    border-top:solid 1px var(--color-black);
    border-right:solid 1px var(--color-black);
  }
  .is-itschool-mode .thm-header__logo img{
    width:min(212px, 17.6079734219vw);
  }
  .thm-subheader-nav .menu-item a:hover{
    color:var(--color-main);
  }
  .thm-footer{
    font-size:16px;
  }
  .thm-footer a,
  .thm-footer button,
  .thm-footer input[type=submit]{
    transition:opacity 0.5s, color 0.5s, background-color 0.5s;
  }
  .thm-footer a[href^="tel:"]{
    pointer-events:none;
    cursor:default;
  }
  .thm-footer{
    margin-top:min(80px, 6.6445182724vw);
  }
  .thm-footer__menu{
    flex-direction:row;
    gap:min(50px, 4.1528239203vw);
  }
  .thm-footer__menu > *{
    flex:1;
  }
  .thm-footer-about{
    gap:20px;
  }
  .thm-footer-about-logo{
    margin-bottom:10px;
  }
  .thm-footer-about-logo a:hover{
    opacity:0.8;
  }
  .thm-footer-about-logo img{
    width:244px;
    height:auto;
  }
  .thm-footer-about-content{
    gap:20px;
  }
  .thm-footer-about-data__ttl{
    margin-bottom:5px;
    font-size:14px;
  }
  .thm-footer-about-data__content{
    font-size:12px;
  }
  .thm-footer-nav__ttl{
    font-size:14px;
    padding-bottom:8px;
    margin-bottom:10px;
  }
  .thm-footer-nav__list{
    gap:10px;
  }
  .thm-footer-nav__list .menu-item{
    font-size:14px;
  }
  .thm-footer-nav__list .menu-item a:hover{
    color:var(--color-main);
  }
  .thm-footer-nav .sub-menu{
    margin-top:10px;
    gap:10px;
  }
  .thm-footer-copyright{
    padding:15px 40px;
    font-size:12px;
  }
  .is-itschool-mode .thm-footer-about-logo img{
    width:212px;
    height:auto;
  }
}
@media screen and (min-width: 751px) and (max-width: 1203px){
  .thm-header__inner{
    gap:min(30px, 2.4916943522vw);
    padding-left:40px;
    padding-right:40px;
  }
  .thm-header__nav{
    gap:min(30px, 2.4916943522vw);
  }
  .thm-header__nav-list{
    gap:min(20px, 1.6611295681vw);
  }
  .thm-subheader__inner{
    padding-left:40px;
    padding-right:40px;
  }
  .thm-footer__inner{
    flex-direction:column;
    gap:60px;
    padding:80px 0;
  }
  .thm-footer-about-content{
    flex-direction:row;
    gap:50px;
  }
}
@media screen and (min-width: 1204px){
  .l-container.--lg{
    max-width:1260px;
  }
  .l-col2 > *:first-child{
    width:calc(100% - min(320px, 26.5780730897vw) - min(60px, 4.9833887043vw));
  }
  .mb-only{
    display:none !important;
  }
  .tb-only{
    display:none !important;
  }
  .text-pc-center{
    text-align:center !important;
  }
  .thm-header__inner{
    gap:min(50px, 4.1528239203vw);
    padding-left:40px;
    padding-right:40px;
  }
  .thm-header__nav-list{
    gap:min(30px, 2.4916943522vw);
  }
  .thm-subheader__inner{
    padding-left:40px;
    padding-right:40px;
  }
  .thm-footer__inner{
    flex-direction:row;
    justify-content:space-between;
    gap:min(100px, 8.3056478405vw);
    padding:min(80px, 6.6445182724vw) 0;
  }
  .thm-footer__about{
    flex-grow:0;
    flex-shrink:0;
    width:min(280px, 23.2558139535vw);
  }
  .thm-footer__menu{
    width:min(726px, 60.2990033223vw);
  }
}
@media screen and (max-width: 1203px){
  .pc-only{
    display:none !important;
  }
  .text-mb-center{
    text-align:center !important;
  }
}
@media screen and (max-width: 750px){
  .l-col2 > *:last-child{
    margin-top:10.6666666667vw;
  }
  .tb-only{
    display:none !important;
  }
  .wide-only{
    display:none !important;
  }
  .thm-header-btn{
    aspect-ratio:1/1;
    width:13.3333333333vw;
  }
  .thm-header-btn__label{
    position:absolute;
    bottom:1.3333333333vw;
    left:50%;
    transform:translateX(-50%);
    font-size:2.1333333333vw;
    margin-top:0.5333333333vw;
    font-weight:900;
  }
}
@media screen and (max-width: 561px){
  .sp-l-only{
    display:none !important;
  }
  .sp-l-and-wide-only{
    display:none !important;
  }
}
