@charset "UTF-8";
/**
 * Swiper 12.1.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 28, 2026
 */

:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode{.swiper-wrapper:after{content:"";left:0;pointer-events:none;position:absolute;top:0}}.swiper-virtual.swiper-css-mode.swiper-horizontal{.swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}}.swiper-virtual.swiper-css-mode.swiper-vertical{.swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:var(--swiper-navigation-size);z-index:10;&.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}&.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled &{display:none!important}svg{height:100%;object-fit:contain;transform-origin:center;width:100%;fill:currentColor;pointer-events:none}}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto;.swiper-navigation-icon{transform:rotate(180deg)}}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev,&~.swiper-button-next,.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{.swiper-navigation-icon{transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{.swiper-navigation-icon{transform:rotate(0deg)}}}.swiper-vertical{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-button-prev,~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px);.swiper-navigation-icon{transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto;.swiper-navigation-icon{transform:rotate(90deg)}}}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10;&.swiper-pagination-hidden{opacity:0}&.swiper-pagination-disabled,.swiper-pagination-disabled>&{display:none!important}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden;.swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullet-active-next-next{transform:scale(.33)}}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));button&{appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable &{cursor:pointer}&:only-child{display:none!important}}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0);.swiper-pagination-bullet{display:block;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}&.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px;.swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets{.swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}&.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap;.swiper-pagination-bullet{transition:transform .2s,left .2s}}}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute;.swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl & .swiper-pagination-progressbar-fill{transform-origin:right top}&.swiper-pagination-horizontal,&.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>&,.swiper-vertical>&.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}&.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,&.swiper-pagination-vertical,.swiper-horizontal>&.swiper-pagination-progressbar-opposite,.swiper-vertical>&{height:100%;left:0;top:0;width:var(--swiper-pagination-progressbar-size,4px)}}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;&.swiper-scrollbar-disabled,.swiper-scrollbar-disabled>&{display:none!important}&.swiper-scrollbar-horizontal,.swiper-horizontal>&{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);position:absolute;top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);z-index:50}&.swiper-scrollbar-vertical,.swiper-vertical>&{height:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);left:var(--swiper-scrollbar-left,auto);position:absolute;right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50}}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);height:100%;left:0;position:relative;top:0;width:100%}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{align-items:center;display:flex;height:100%;justify-content:center;text-align:center;width:100%;>canvas,>img,>svg{max-height:100%;max-width:100%;object-fit:contain}}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{left:0;opacity:0;pointer-events:none;position:absolute;top:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{margin:0 auto;transition-timing-function:ease-out}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-direction:column;flex-wrap:wrap}.swiper-fade{&.swiper-free-mode{.swiper-slide{transition-timing-function:ease-out}}.swiper-slide{pointer-events:none;transition-property:opacity;.swiper-slide{pointer-events:none}}.swiper-slide-active{pointer-events:auto;& .swiper-slide-active{pointer-events:auto}}}.swiper.swiper-cube{overflow:visible}.swiper-cube{.swiper-slide{backface-visibility:hidden;height:100%;pointer-events:none;transform-origin:0 0;visibility:hidden;width:100%;z-index:1;.swiper-slide{pointer-events:none}}&.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}.swiper-slide-active,.swiper-slide-next,.swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube-shadow{bottom:0;height:100%;left:0;opacity:.6;position:absolute;width:100%;z-index:0;&:before{background:#000;bottom:0;content:"";filter:blur(50px);left:0;position:absolute;right:0;top:0}}}.swiper-cube{.swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}}.swiper-cube{.swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-slide-shadow-cube.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper.swiper-flip{overflow:visible}.swiper-flip{.swiper-slide{backface-visibility:hidden;pointer-events:none;z-index:1;.swiper-slide{pointer-events:none}}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}}.swiper-flip{.swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-slide-shadow-flip.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper-creative{.swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}}.swiper.swiper-cards{overflow:visible}.swiper-cards{.swiper-slide{backface-visibility:hidden;overflow:hidden;transform-origin:center bottom}}
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/**
 * !!! 変数の定義 !!!
 * 変数は作りすぎず、デザインコンポーネント、もしくはシンボルを元に作成する
 * またGoogle Font等の特殊なウェブフォントの場合、そのフォント名を定義してわかりやすくする
 */
/**
 * !!! ブレークポイント !!!
 */
@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

::-webkit-scrollbar {
  display: none;
  -webkit-appearance: none;
}

/**
 * !!! ページCSS基本設定 !!!
 * 基本的にこの箇所は操作しないようにする
 * ----------------ここから----------------
 */
html {
  font-size: 62.5%;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  -webkit-font-smoothing: antialiased;
}

body {
  font-size: 14px;
  font-size: 1.4rem;
  background: #fff;
  color: #000;
}

* {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a, a:link, a:visited {
  color: inherit;
  text-decoration: none;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/**
 * ----------------ここまで----------------
 */
/**
 * !!! FlexBox Rule !!!
 * 都度scssを記載するのではなく、クラスで定義し、クラスの付け外しで管理すること。
 */
.flex-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

/**
 * !!! Inner Rule !!!
 * 最初にデザインを確認し、存在するinnerパターンを作成すること
 * max-width指定のみだと、画面幅を縮小するときに余白が消えるため、paddingをつけること
 * 例) innerが1000pxであれば、
 *     max-width: 1060px;
 *     padding: 0 30px;
 */
/**
 * 固定ヘッダー下へスクロールしたとき見出しが隠れないよう余白を確保
 * （参考: MDN scroll-margin / 固定ヘッダーとアンカーリンクの相性）
 */
main section[id] {
  scroll-margin-top: 100px;
}
@media only screen and (max-width: 767px) {
  main section[id] {
    scroll-margin-top: 72px;
  }
}

.inner {
  max-width: 1440px;
  padding: 0 60px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .inner {
    padding: 0 16px;
  }
}

[data-trigger] {
  transition: opacity 1s;
  opacity: 0;
}
[data-trigger].visible {
  opacity: 1;
}

.\32 026-da-footer {
  background: #900;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 150%;
  padding: 24px 0;
  text-align: center;
}
.\32 026-da-footer__image {
  max-width: 1560px;
  margin: 0 auto;
  padding: 0 60px;
}
@media screen and (max-width: 1260px) {
  .\32 026-da-footer__image {
    padding: 0 30px;
  }
}
@media only screen and (max-width: 767px) {
  .\32 026-da-footer__image {
    padding: 0 16px;
  }
}
.\32 026-da-footer__image img {
  width: 100%;
  height: auto;
  display: block;
}
.\32 026-da-footer__content {
  margin-top: 215px;
  padding-top: 40px;
  border-top: 1px solid #D3D3D3;
  padding-bottom: 104px;
}
@media only screen and (max-width: 767px) {
  .\32 026-da-footer__content {
    padding-top: 24px;
    padding-bottom: 24px;
    margin-top: 80px;
  }
}
.\32 026-da-footer__content__image img {
  width: 100%;
  height: auto;
}
.\32 026-da-footer__content__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  max-width: 1560px;
  margin: 0 auto;
  padding: 0 60px;
  padding-bottom: 90px;
}
@media screen and (max-width: 1260px) {
  .\32 026-da-footer__content__row {
    padding: 0 30px;
  }
}
@media only screen and (max-width: 767px) {
  .\32 026-da-footer__content__row {
    padding: 0 16px;
    padding-bottom: 72px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 24px;
  }
}
.\32 026-da-footer__content__row__left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 24px;
}
@media only screen and (max-width: 767px) {
  .\32 026-da-footer__content__row__left {
    gap: 16px;
    width: 100%;
  }
}
.\32 026-da-footer__content__row__left strong {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.8;
}
.\32 026-da-footer__content__row__left p {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.8;
}
.\32 026-da-footer__content__row__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
}
@media only screen and (max-width: 767px) {
  .\32 026-da-footer__content__row__right {
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
  }
}
.\32 026-da-footer__content__row__right__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 380px;
}
@media only screen and (max-width: 767px) {
  .\32 026-da-footer__content__row__right__row {
    width: 100%;
  }
}
.\32 026-da-footer__content__row__right__row ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px 0;
  width: 220px;
}
@media only screen and (max-width: 767px) {
  .\32 026-da-footer__content__row__right__row ul {
    width: 60%;
  }
}
.\32 026-da-footer__content__row__right__row ul li {
  width: 40%;
}
.\32 026-da-footer__content__row__right__row ul li a {
  display: block;
  font-size: 14px;
  font-weight: bold;
}

.\32 026-da-header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 100;
  padding: 15px 40px;
  padding-right: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .\32 026-da-header {
    padding: 10px 10px;
  }
}
.\32 026-da-header__brand {
  width: 210px;
}
.\32 026-da-header__brand a {
  display: block;
  width: 121px;
}
@media only screen and (max-width: 767px) {
  .\32 026-da-header__brand a {
    width: 80px;
  }
}
.\32 026-da-header__row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}
@media screen and (max-width: 960px) {
  .\32 026-da-header__row {
    justify-content: flex-end;
  }
}
.\32 026-da-header__nav {
  flex: 1;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  padding: 17px 10px;
  transition: opacity 0.3s, visibility 0.3s;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 960px) {
  .\32 026-da-header__nav {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .\32 026-da-header__nav {
    display: block;
  }
}
.\32 026-da-header__nav.hide {
  opacity: 0;
  visibility: hidden;
}
.\32 026-da-header__nav-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 36px;
}
@media screen and (max-width: 1040px) {
  .\32 026-da-header__nav-list {
    gap: 24px;
  }
}
.\32 026-da-header__nav-list a {
  display: block;
}
.\32 026-da-header__nav-list a span {
  display: block;
  font-size: 14px;
  font-weight: 600;
}
.\32 026-da-header__cv {
  position: relative;
}
.\32 026-da-header__cv a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 48px;
  background: #000;
  border-radius: 3px;
  padding: 0 14px;
  color: #fff;
  /* class 名が数字始まりのため属性セレクタで指定（~ で他 class 併用可） */
}
.\32 026-da-header__cv a span[class~="2026-da-header__cv-label"] {
  font-size: 14px;
  display: block;
  font-weight: 500;
  color: #fff;
}
.\32 026-da-header__cv a img,
.\32 026-da-header__cv a span[class~="2026-da-header__cv-icon"] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.\32 026-da-header__cv a img svg,
.\32 026-da-header__cv a span[class~="2026-da-header__cv-icon"] svg {
  display: block;
  width: 100%;
  height: 100%;
}
.\32 026-da-header .hamburger {
  width: 52px;
  height: 48px;
  border-radius: 3px;
  background: #900;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.3s;
}
.\32 026-da-header .hamburger.is-active {
  background: #fff;
}
.\32 026-da-header .hamburger.is-active .hamburger__inner span {
  background: #900;
}
.\32 026-da-header .hamburger.is-active .hamburger__inner span:nth-child(1) {
  top: 6px;
  transform: rotate(155deg);
}
.\32 026-da-header .hamburger.is-active .hamburger__inner span:nth-child(2) {
  opacity: 0;
}
.\32 026-da-header .hamburger.is-active .hamburger__inner span:nth-child(3) {
  bottom: 6px;
  transform: rotate(-155deg);
}
.\32 026-da-header .hamburger__inner {
  width: 22px;
  height: 13px;
  position: relative;
}
.\32 026-da-header .hamburger span {
  position: absolute;
  width: 100%;
  height: 1px;
  background: #fff;
  left: 0;
  transition: background-color 0.3s, transform 0.3s, top 0.3s, bottom 0.3s, opacity 0.3s;
}
.\32 026-da-header .hamburger span:nth-child(1) {
  top: 0;
}
.\32 026-da-header .hamburger span:nth-child(2) {
  top: 6px;
}
.\32 026-da-header .hamburger span:nth-child(3) {
  bottom: 0;
}

.overlay {
  width: 100vw;
  height: 100vh;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.2);
  transition: opacity 0.3s, visibility 0.3s;
  opacity: 0;
  visibility: hidden;
}
.overlay.is-active {
  opacity: 1;
  visibility: visible;
}

.gnav {
  width: 100%;
  max-width: 852px;
  height: 100vh;
  position: fixed;
  top: 0;
  bottom: 0;
  overflow-y: scroll;
  background: rgb(153, 0, 0);
  color: #fff;
  padding: 98px 60px 64px 66px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: opacity 0.3s, visibility 0.3s, right 0.3s;
  opacity: 0;
  visibility: hidden;
  right: -100px;
}
@media only screen and (max-width: 767px) {
  .gnav {
    padding: 98px 20px 30px;
  }
}
.gnav.is-active {
  opacity: 1;
  visibility: visible;
  right: 0;
}
.gnav__list {
  display: flex;
  justify-content: space-between;
}
.gnav__list > ul {
  width: 45.45454545%;
}
@media only screen and (max-width: 767px) {
  .gnav__list > ul {
    width: 48%;
  }
}
.gnav__list > ul > li {
  margin-bottom: 24px;
}
.gnav__list > ul > li > a {
  padding: 16px 0;
  display: block;
  font-size: 17px;
  line-height: 1;
  font-weight: 700;
  border-bottom: 1px solid rgba(211, 211, 211, 0.4);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .gnav__list > ul > li > a {
    padding: 14px 0;
    font-size: 15px;
  }
}
.gnav__list > ul > li > a:after {
  content: "";
  width: 6px;
  height: 8px;
  display: inline-block;
  background: url(/da/2026_images/icon/arrow_right.png) center center/cover no-repeat;
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translate(0%, -50%);
}
.gnav__list > ul > li ul {
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  .gnav__list > ul > li ul {
    margin-top: 12px;
  }
}
.gnav__list > ul > li ul li {
  font-size: 14px;
  line-height: 2;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .gnav__list > ul > li ul li {
    font-size: 12px;
  }
}
.gnav__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media only screen and (max-width: 767px) {
  .gnav__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
}
.gnav__catch {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.gnav__catch strong {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  .gnav__catch strong {
    font-size: 12px;
  }
}
.gnav__catch .c-caution-box {
  color: #fff;
}
.gnav .sns-list {
  display: flex;
  align-items: center;
  gap: 16px;
}
.gnav .sns-list li:nth-child(1) a svg {
  width: 18px;
}
.gnav .sns-list li:nth-child(2) a svg {
  width: 20px;
}
.gnav .sns-list li:nth-child(3) a svg {
  width: 22px;
}
.gnav .sns-list li a {
  display: flex;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid #fff;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 768px) {
  .gnav .sns-list li a {
    opacity: 1;
    transition: opacity 0.3s;
  }
  .gnav .sns-list li a:hover {
    opacity: 0.8;
  }
}
.c-border-top {
  position: relative;
}
.c-border-top:before {
  content: "";
  width: calc(100% - 120px);
  max-width: 1320px;
  height: 1px;
  display: block;
  background: rgb(0, 0, 0);
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, 0%);
}
@media only screen and (max-width: 767px) {
  .c-border-top:before {
    width: calc(100% - 30px);
  }
}

.c-border-bottom {
  position: relative;
}
.c-border-bottom:after {
  content: "";
  width: calc(100% - 120px);
  max-width: 1320px;
  height: 1px;
  display: block;
  background: rgb(0, 0, 0);
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 0%);
}
@media only screen and (max-width: 767px) {
  .c-border-bottom:after {
    width: calc(100% - 30px);
  }
}

.c-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.c-breadcrumb li {
  position: relative;
  margin-left: 0px;
  font-size: 14px;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .c-breadcrumb li {
    font-size: 12px;
  }
}
.c-breadcrumb li:first-of-type:before {
  content: none;
}
.c-breadcrumb li:last-of-type {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-breadcrumb li:before {
  content: "/";
  font-size: 14px;
  line-height: 1;
  color: rgb(211, 211, 211);
  margin: 0 10px 0 14px;
  position: relative;
  top: 1px;
}
@media only screen and (max-width: 767px) {
  .c-breadcrumb li:before {
    font-size: 12px;
  }
}
.c-breadcrumb li a {
  -webkit-text-decoration: underline rgb(153, 0, 0);
          text-decoration: underline rgb(153, 0, 0);
  text-underline-offset: 2px;
}

.c-button {
  width: -moz-max-content;
  width: max-content;
  position: relative;
  top: 2px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 16px;
  border: 1px solid #000;
  padding-right: 10px;
  background: #000;
  border-radius: 100px;
  transition: background 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .c-button:hover {
    background: #fff;
  }
  .c-button:hover span {
    color: #000;
  }
}
.c-button span {
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  transition: color 0.3s ease;
}
.c-button em {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-button em svg {
  position: relative;
  top: 1px;
  left: 1px;
}

@media only screen and (max-width: 767px) {
  .c-category-select {
    margin: 0 -16px;
    overflow: scroll;
    padding: 0 16px;
  }
}
.c-category-select ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media only screen and (max-width: 767px) {
  .c-category-select ul {
    flex-wrap: nowrap;
    width: -moz-max-content;
    width: max-content;
  }
}
.c-category-select li.current a {
  border-color: rgb(211, 211, 211);
}
.c-category-select li:hover a {
  border-color: rgb(211, 211, 211);
}
.c-category-select li a {
  padding: 16px 24px;
  border-radius: 46px;
  font-size: 14px;
  display: inline-block;
  border: 1px solid rgba(211, 211, 211, 0);
  transition: color 0.3s, background-color 0.3s, border 0.3s;
}
@media only screen and (max-width: 767px) {
  .c-category-select li a {
    font-size: 12px;
    padding: 14px 20px;
  }
}

.c-caution-box {
  line-height: 1.5;
  font-size: 12px;
  font-weight: 700;
  color: #000;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media only screen and (max-width: 767px) {
  .c-caution-box {
    font-size: 12px;
  }
}
.c-caution-box--border-box {
  background: #fff;
  border: 1px solid #000;
  border-radius: 3px;
  padding: 11px 14px;
  line-height: 1.5;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  max-width: 330px;
}
@media only screen and (max-width: 767px) {
  .c-caution-box--border-box {
    font-size: 12px;
    padding: 6px 12px;
  }
}

.c-col {
  padding: 48px 0;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .c-col {
    flex-direction: column;
    padding: 40px 0 80px;
  }
}
.c-col--faculty {
  padding-bottom: 120px;
}
@media only screen and (max-width: 767px) {
  .c-col--faculty {
    padding-bottom: 48px;
  }
}
.c-col--faculty-detail--border {
  border-top: 1px solid #D3D3D3;
  padding-top: 32px;
  margin-top: 56px;
}
@media only screen and (max-width: 767px) {
  .c-col--faculty-detail--border {
    padding-top: 24px;
  }
}
.c-col--faculty-detail .c-col__side {
  width: 30.30303%;
}
@media only screen and (max-width: 767px) {
  .c-col--faculty-detail .c-col__side {
    width: 100%;
    margin-bottom: 32px;
  }
}
.c-col--faculty-detail .c-col__cont {
  width: 60%;
}
@media only screen and (max-width: 767px) {
  .c-col--faculty-detail .c-col__cont {
    width: 100%;
  }
}
.c-col__side {
  width: 40%;
}
@media only screen and (max-width: 767px) {
  .c-col__side {
    width: 100%;
    margin-bottom: 40px;
  }
}
.c-col__cont {
  width: 55%;
}
@media only screen and (max-width: 767px) {
  .c-col__cont {
    width: 100%;
  }
}

.c-figure {
  width: 100%;
  max-width: 396px;
  margin-left: auto;
}
.c-figure figcaption {
  margin-top: 24px;
  font-size: 14px;
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  .c-figure figcaption {
    font-size: 12px;
  }
}
.c-figure figcaption strong {
  display: block;
  font-size: 17px;
  line-height: 1.7;
  font-weight: 700;
  margin-bottom: 8px;
}

.c-head {
  padding: 242px 0 88px;
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .c-head {
    padding: 94px 0 56px;
    margin-bottom: 0;
  }
}
.c-head:after {
  content: none !important;
}
.c-head .inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .c-head .inner {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .c-head .inner .c-breadcrumb {
    margin-left: auto;
  }
}
.c-head .inner .c-title01 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
}
@media only screen and (max-width: 767px) {
  .c-head .inner .c-title01 {
    gap: 32px;
    order: 2;
    margin-top: 80px;
  }
}
.c-head .inner .c-title01 ul {
  font-size: 14px;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .c-head .inner .c-title01 ul {
    font-size: 12px;
  }
}
.c-head .inner .c-title01 ul li {
  padding: 3px 0 3px 26px;
  position: relative;
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  .c-head .inner .c-title01 ul li {
    margin-top: 8px;
  }
}
.c-head .inner .c-title01 ul li:first-of-type {
  margin-top: 0;
}
.c-head .inner .c-title01 ul li:before {
  content: "ー";
  font-weight: 400;
  position: absolute;
  top: 3px;
  left: 0;
}
.c-head .inner .c-title01 ul li a {
  opacity: 1;
}
@media only screen and (min-width: 768px) {
  .c-head .inner .c-title01 ul li a {
    transition: opacity 0.3s;
  }
  .c-head .inner .c-title01 ul li a:hover {
    opacity: 0.85;
  }
}

.c-main-visual {
  width: 100%;
  height: 720px;
  position: relative;
  color: #fff;
  padding: 48px 0;
}
@media only screen and (max-width: 767px) {
  .c-main-visual {
    height: 480px;
    padding: 32px 0;
  }
}
.c-main-visual__image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.c-main-visual__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.c-main-visual .inner {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.c-main-visual__text ul {
  font-size: 14px;
  font-weight: 500;
  margin-top: 38px;
}
@media only screen and (max-width: 767px) {
  .c-main-visual__text ul {
    font-size: 12px;
    margin-top: 36px;
  }
}
.c-main-visual__text ul li {
  padding: 3px 0 3px 26px;
  position: relative;
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  .c-main-visual__text ul li {
    margin-top: 8px;
  }
}
.c-main-visual__text ul li:first-of-type {
  margin-top: 0;
}
.c-main-visual__text ul li:before {
  content: "ー";
  font-weight: 400;
  position: absolute;
  top: 3px;
  left: 0;
}
.c-main-visual__text ul li a {
  opacity: 1;
}
@media only screen and (min-width: 768px) {
  .c-main-visual__text ul li a {
    transition: opacity 0.3s;
  }
  .c-main-visual__text ul li a:hover {
    opacity: 0.85;
  }
}

.c-news-list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #D3D3D3;
}
.c-news-list__item {
  padding: 24px 0;
  border-bottom: 1px solid #D3D3D3;
}
@media only screen and (max-width: 767px) {
  .c-news-list__item {
    padding: 40px 0;
  }
}
.c-news-list__item figure {
  display: flex;
  align-items: center;
  gap: 66px;
}
@media only screen and (max-width: 767px) {
  .c-news-list__item figure {
    gap: 34px;
    align-items: flex-start;
  }
}
.c-news-list__item__image {
  width: 132px;
  height: 88px;
  overflow: hidden;
  order: 2;
}
@media only screen and (max-width: 767px) {
  .c-news-list__item__image {
    width: 90px;
    height: 60px;
    flex-shrink: 0;
  }
}
.c-news-list__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.c-news-list__item figcaption {
  width: calc(100% - 132px - 66px);
  display: flex;
  flex-direction: column;
  gap: 16px;
  order: 1;
}
@media only screen and (max-width: 767px) {
  .c-news-list__item figcaption {
    width: 100%;
  }
}
.c-news-list__item figcaption strong {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
  text-decoration-line: underline;
  text-decoration-color: #900;
}
.c-news-list__item figcaption ul {
  display: flex;
}
.c-news-list__item figcaption ul li {
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  color: #787878;
}
@media only screen and (max-width: 767px) {
  .c-news-list__item figcaption ul li {
    font-size: 12px;
  }
}
.c-news-list__item figcaption ul li:nth-child(1) {
  width: 120px;
}
@media only screen and (max-width: 767px) {
  .c-news-list__item figcaption ul li:nth-child(1) {
    width: 104px;
  }
}

.c-pagenav {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media only screen and (max-width: 767px) {
  .c-pagenav {
    gap: 6px;
  }
}
.c-pagenav a, .c-pagenav span {
  width: 56px;
  height: 46px;
  border-radius: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.3s, background-color 0.3s, border 0.3s;
  border: 1px solid rgba(211, 211, 211, 0);
}
@media only screen and (max-width: 767px) {
  .c-pagenav a, .c-pagenav span {
    width: 47px;
    height: 40px;
  }
}
.c-pagenav a.current, .c-pagenav span.current {
  border-color: rgb(211, 211, 211);
}
.c-pagenav a:hover, .c-pagenav span:hover {
  border-color: rgb(211, 211, 211);
}
.c-pagenav .first, .c-pagenav .prev, .c-pagenav .next, .c-pagenav .last {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border-color: rgb(211, 211, 211);
}
@media only screen and (max-width: 767px) {
  .c-pagenav .first, .c-pagenav .prev, .c-pagenav .next, .c-pagenav .last {
    width: 40px;
    height: 40px;
  }
}

.c-policy dl {
  border-bottom: 1px solid rgb(211, 211, 211);
}
.c-policy dl:first-of-type {
  margin-top: -20px;
}
.c-policy dl:last-of-type {
  border: none;
}
.c-policy dl dt {
  padding: 32px 82px 32px 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  position: relative;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .c-policy dl dt {
    padding: 32px 40px 32px 0;
  }
}
.c-policy dl dt.active i:after {
  opacity: 0;
}
.c-policy dl dt strong {
  font-size: 28px;
  line-height: 1.5;
  font-weight: 700;
  margin-right: 4px;
}
@media only screen and (max-width: 767px) {
  .c-policy dl dt strong {
    font-size: 22px;
    margin: 0 0 4px;
  }
}
.c-policy dl dt small {
  font-size: 17px;
  line-height: 1.5;
  font-weight: 700;
}
.c-policy dl dt i {
  width: 32px;
  height: 32px;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translate(0%, -50%);
}
@media only screen and (max-width: 767px) {
  .c-policy dl dt i {
    right: 8px;
  }
}
.c-policy dl dt i:before {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: #000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s;
}
.c-policy dl dt i:after {
  content: "";
  width: 1px;
  height: 100%;
  display: block;
  background: #000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s;
}
.c-policy dl dd {
  padding-bottom: 48px;
  display: none;
}
.c-policy__items {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.c-policy__items > div {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.c-policy__items > div ul li {
  padding-left: 1.4em;
  position: relative;
  font-size: 17px;
  line-height: 2;
  font-weight: 400;
}
@media only screen and (max-width: 767px) {
  .c-policy__items > div ul li {
    font-size: 14px;
  }
}
.c-policy__items > div ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0.2em;
  font-weight: 700;
}

.c-select {
  width: 100%;
  max-width: 264px;
  height: 58px;
  position: relative;
  border-radius: 6px;
  border: 1px solid rgb(211, 211, 211);
}
@media only screen and (max-width: 767px) {
  .c-select {
    max-width: 204px;
    height: 49px;
  }
}
.c-select select {
  width: 100%;
  height: 100%;
  padding: 16px 20px;
  font-size: 17px;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .c-select select {
    padding: 14px 20px;
    font-size: 14px;
  }
}
.c-select svg {
  pointer-events: none;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0%, -50%);
}

.c-text-image {
  padding: 72px 0;
  border-bottom: 1px solid rgb(211, 211, 211);
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .c-text-image {
    flex-direction: column;
    padding: 40px 0;
  }
}
.c-text-image .text {
  width: 55%;
}
@media only screen and (max-width: 767px) {
  .c-text-image .text {
    width: 100%;
    order: 2;
  }
}
.c-text-image .text .c-title02 {
  margin-bottom: 48px;
}
@media only screen and (max-width: 767px) {
  .c-text-image .text .c-title02 {
    margin-bottom: 32px;
  }
}
.c-text-image .image {
  width: 35%;
}
@media only screen and (max-width: 767px) {
  .c-text-image .image {
    width: 100%;
    margin-bottom: 32px;
  }
}
.c-text-image.wide {
  flex-direction: column;
  border-bottom: none;
  padding-top: 56px;
}
@media only screen and (max-width: 767px) {
  .c-text-image.wide {
    padding-top: 8px;
  }
}
.c-text-image.wide .text {
  width: 100%;
  order: 2;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .c-text-image.wide .text {
    display: block;
  }
}
.c-text-image.wide .text .c-title02 {
  width: 40%;
}
@media only screen and (max-width: 767px) {
  .c-text-image.wide .text .c-title02 {
    width: 100%;
  }
}
.c-text-image.wide .text .c-text01 {
  width: 55%;
}
@media only screen and (max-width: 767px) {
  .c-text-image.wide .text .c-text01 {
    width: 100%;
  }
}
.c-text-image.wide .image {
  width: 100%;
  margin-bottom: 64px;
}
@media only screen and (max-width: 767px) {
  .c-text-image.wide .image {
    margin-bottom: 32px;
  }
}

.c-text-link {
  display: flex;
  align-items: center;
  gap: 16px;
}
.c-text-link a {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media only screen and (min-width: 768px) {
  .c-text-link a {
    transition: opacity 0.3s ease;
  }
  .c-text-link a:hover {
    opacity: 0.8;
  }
}
.c-text-link a svg {
  width: 24px;
  height: 24px;
}
@media only screen and (max-width: 767px) {
  .c-text-link a svg {
    width: 20px;
    height: 20px;
  }
}
.c-text-link a span {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  color: #990000;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 2px;
}
@media only screen and (max-width: 767px) {
  .c-text-link a span {
    font-size: 17px;
  }
}

.c-text01 {
  font-size: 17px;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .c-text01 {
    font-size: 14px;
  }
}

.c-title {
  padding-bottom: 40px;
  display: flex;
  align-items: center;
  gap: 32px;
}
@media only screen and (max-width: 767px) {
  .c-title {
    flex-direction: column;
    align-items: flex-start;
    gap: 36px;
    padding-bottom: 32px;
  }
}
.c-title h2 span {
  font-size: 32px;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .c-title h2 span {
    font-size: 28px;
  }
}
.c-title01 {
  font-size: 45px;
  line-height: 1;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .c-title01 {
    font-size: 32px;
  }
}

.c-title02 {
  font-size: 32px;
  line-height: 1.7;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .c-title02 {
    font-size: 22px;
  }
}

.c-title03 {
  font-size: 22px;
  line-height: 1.5;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .c-title03 {
    font-size: 17px;
    line-height: 1.7;
  }
}

.c-title04 {
  font-size: 17px;
  line-height: 1.5;
  font-weight: 600;
}
@media only screen and (max-width: 767px) {
  .c-title04 {
    font-size: 14px;
  }
}

.hc-img-switch {
  display: block;
  width: 100%;
  line-height: 0;
}
.hc-img-switch img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
.hc-img-switch__pc {
  display: none;
}
.hc-img-switch__sp {
  display: block;
}
@media (min-width: 768px) {
  .hc-img-switch__pc {
    display: block;
  }
  .hc-img-switch__sp {
    display: none;
  }
}

main.about {
  padding-bottom: 160px;
}
main.about .breadcrumb {
  padding: 32px 0 80px;
}
@media only screen and (max-width: 767px) {
  main.about .breadcrumb {
    padding: 24px 0 72px;
  }
}
main.about .intro {
  margin-bottom: 72px;
}
@media only screen and (max-width: 767px) {
  main.about .intro {
    margin-bottom: 0;
  }
}
main.about .greeting {
  padding: 48px 0 72px;
}
@media only screen and (max-width: 767px) {
  main.about .greeting {
    padding: 40px 0 64px;
  }
}
main.about .greeting .c-title02 {
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  main.about .greeting .c-title02 {
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 767px) {
  main.about .greeting .c-col {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  main.about .greeting .c-col__cont {
    order: 2;
  }
}
main.about .rebuild {
  background: rgb(153, 0, 0);
  color: #fff;
  padding: 120px 0;
}
@media only screen and (max-width: 767px) {
  main.about .rebuild {
    padding: 64px 0 278px;
  }
}
@media only screen and (max-width: 767px) {
  main.about .rebuild .c-title02 {
    margin-bottom: 40px;
  }
}
main.about .rebuild .inner {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.about .rebuild .inner {
    flex-direction: column;
  }
}
main.about .rebuild__image {
  width: 56.66666667%;
}
@media only screen and (max-width: 767px) {
  main.about .rebuild__image {
    width: 100%;
    margin-bottom: 40px;
  }
}
main.about .rebuild__text {
  width: 35%;
}
@media only screen and (max-width: 767px) {
  main.about .rebuild__text {
    width: 100%;
  }
}
main.about .rebuild__text .c-title02 {
  margin-bottom: 80px;
}
main.about .feature {
  margin-top: 120px;
  padding: 24px 0 88px;
}
@media only screen and (max-width: 767px) {
  main.about .feature {
    margin-top: 80px;
    padding-bottom: 32px;
  }
}
main.about .feature .c-text-image:first-of-type {
  margin-top: -8px;
}
main.about .feature .c-text-image:nth-of-type(3) {
  border-bottom: none;
}
main.about .course {
  padding: 40px 0 160px;
}
@media only screen and (max-width: 767px) {
  main.about .course {
    padding: 24px 0 80px;
  }
}
main.about .course .c-title02 {
  margin-bottom: 56px;
}
@media only screen and (max-width: 767px) {
  main.about .course .c-title02 {
    margin-bottom: 32px;
  }
}
main.about .course .c-text01 ul li {
  padding-left: 1.4em;
  position: relative;
}
main.about .course .c-text01 ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0.2em;
  font-weight: 700;
}
main.about .course__list {
  margin-top: 80px;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.about .course__list {
    margin-top: 32px;
    display: block;
  }
}
main.about .course__list__box {
  width: 47.5%;
}
@media only screen and (max-width: 767px) {
  main.about .course__list__box {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  main.about .course__list__box:last-of-type dl:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
  }
}
main.about .course__list__box dl {
  padding: 32px 0;
  border-bottom: 1px solid rgb(211, 211, 211);
}
main.about .course__list__box dl:first-of-type {
  border-top: 1px solid rgb(211, 211, 211);
}
main.about .course__list__box dl dt {
  font-size: 17px;
  line-height: 1.7;
  font-weight: 700;
  margin-bottom: 8px;
}
@media only screen and (max-width: 767px) {
  main.about .course__list__box dl dt {
    font-size: 14px;
  }
}
main.about .policy .c-title03 {
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  main.about .policy .c-title03 {
    font-size: 22px;
  }
}
@media only screen and (max-width: 767px) {
  main.about .policy .c-col {
    padding-bottom: 24px;
  }
}

main.contact .cont {
  padding: 0 0 160px;
}
main.contact .cont .c-title02 {
  margin-bottom: 38px;
}
@media only screen and (max-width: 767px) {
  main.contact .cont .c-title02 {
    margin-bottom: 40px;
    margin-top: 16px;
  }
}
main.contact .cont p {
  font-size: 22px;
  line-height: 1;
  margin-bottom: 32px;
}
@media only screen and (max-width: 767px) {
  main.contact .cont p {
    font-size: 17px;
    line-height: 1.7;
    margin-bottom: 24px;
  }
}
main.contact .cont blockquote {
  margin-bottom: 56px;
  border: 1px solid rgb(195, 195, 195);
  padding: 32px 28px;
  font-size: 17px;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  main.contact .cont blockquote {
    padding: 32px 16px;
    font-size: 14px;
    margin-bottom: 40px;
  }
}
main.contact .cont blockquote a {
  -webkit-text-decoration: underline rgb(153, 0, 0);
          text-decoration: underline rgb(153, 0, 0);
  text-underline-offset: 2px;
}

main.curriculum .breadcrumb {
  padding: 32px 0 80px;
}
@media only screen and (max-width: 767px) {
  main.curriculum .breadcrumb {
    padding: 24px 0 72px;
  }
}
main.curriculum .intro {
  margin-bottom: 104px;
}
@media only screen and (max-width: 767px) {
  main.curriculum .intro {
    margin-bottom: 80px;
  }
}
@media only screen and (max-width: 767px) {
  main.curriculum .intro .c-col {
    padding: 40px 0 0;
  }
}
main.curriculum .intro .image {
  margin-top: 56px;
}
main.curriculum .study {
  padding-bottom: 120px;
  padding-top: 120px;
}
@media only screen and (max-width: 767px) {
  main.curriculum .study {
    padding-bottom: 80px;
    padding-top: 80px;
  }
}
main.curriculum .study .c-title02 {
  padding-top: 48px;
  margin-bottom: 40px;
  border-top: 1px solid #000;
}
@media only screen and (max-width: 767px) {
  main.curriculum .study .c-title02 {
    padding-top: 32px;
    margin-bottom: 24px;
    border-top: 1px solid #D3D3D3;
  }
}
main.curriculum .study__box {
  border-top: 1px solid #D3D3D3;
  padding: 24px 0 0;
  margin-bottom: 80px;
}
main.curriculum .study__box:nth-child(2) {
  border-top: none;
}
@media only screen and (max-width: 767px) {
  main.curriculum .study__box {
    margin-bottom: 48px;
  }
}
main.curriculum .study__box:last-of-type {
  margin-bottom: 0;
}
main.curriculum .study__box .c-title03 {
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 3px;
  text-decoration-color: #000;
}
@media only screen and (max-width: 767px) {
  main.curriculum .study__box .c-title03 {
    text-underline-offset: 2px;
    text-decoration-thickness: 2px;
  }
}
@media only screen and (max-width: 767px) {
  main.curriculum .study__box .c-col {
    padding: 32px 0 0;
  }
}
main.curriculum .study__box .c-col__side {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.7;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  main.curriculum .study__box .c-col__side {
    font-size: 22px;
    font-size: 2.2rem;
    margin-bottom: 32px;
  }
}
main.curriculum .subject {
  padding-bottom: 140px;
  /**
   * SP: 科目表画像を高さ536px固定・横スクロール
   * 左はビューポート基準で15pxの余白、右は画像が画面外へはみ出す（overflow-x）
   * フルブリード: .inner のパディングを打ち消し（参考: https://ryanmulligan.dev/blog/layout-break-out/ ）
   */
}
@media only screen and (max-width: 767px) {
  main.curriculum .subject {
    padding-bottom: 80px;
  }
}
main.curriculum .subject .c-title02 {
  padding-top: 48px;
  border-top: 1px solid #D3D3D3;
}
@media only screen and (max-width: 767px) {
  main.curriculum .subject .c-title02 {
    padding-top: 32px;
  }
}
main.curriculum .subject .inner > small {
  display: block;
  margin-top: 24px;
  font-size: 12px;
  line-height: 1.5;
}
main.curriculum .subject .c-text-link {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  main.curriculum .subject .c-text-link {
    margin-top: 32px;
  }
}
main.curriculum .subject__table {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  main.curriculum .subject__table {
    margin-left: calc(50% - 50vw);
    width: 100vw;
    max-width: none;
    padding-left: 15px;
    box-sizing: border-box;
    height: 536px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding-right: 15px;
  }
  main.curriculum .subject__table > div {
    display: inline-block;
    vertical-align: top;
    height: 100%;
  }
  main.curriculum .subject__table picture,
  main.curriculum .subject__table .hc-img-switch {
    display: block;
    height: 100%;
  }
  main.curriculum .subject__table img {
    display: block;
    max-width: none;
    width: auto;
    height: 536px;
  }
}
main.curriculum .area {
  background: #990000;
  padding: 80px 0 160px;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  main.curriculum .area {
    padding: 64px 0 88px;
  }
}
main.curriculum .area__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 66px;
}
@media only screen and (max-width: 767px) {
  main.curriculum .area__row {
    display: block;
  }
}
main.curriculum .area__row__image {
  width: 60%;
}
@media only screen and (max-width: 767px) {
  main.curriculum .area__row__image {
    display: none;
  }
}
main.curriculum .area__row__text {
  width: 35%;
  padding-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 80px;
}
@media only screen and (max-width: 767px) {
  main.curriculum .area__row__text {
    width: 100%;
    padding-top: 0;
    gap: 40px;
  }
}
main.curriculum .area__row__text .c-title02 {
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  main.curriculum .area__row__text > div:nth-child(2) {
    padding-top: 16px;
    padding-bottom: 44px;
    margin-left: -16px;
    width: calc(100% + 32px);
  }
}
main.curriculum .area__row__text__list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
}
main.curriculum .area__row__text__list div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}
main.curriculum .area__row__text__list div h4 {
  font-size: 17px;
  font-weight: 700;
  line-height: 2;
  padding-bottom: 8px;
  border-bottom: 1px solid #fff;
  width: 100%;
}
main.curriculum .area__row__text__list div p {
  font-size: 14px;
  line-height: 2;
  width: 100%;
}

main.faculty {
  padding-bottom: 160px;
}
main.faculty .breadcrumb {
  padding: 32px 0 80px;
}
@media only screen and (max-width: 767px) {
  main.faculty .breadcrumb {
    padding: 24px 0 72px;
  }
}
@media only screen and (max-width: 767px) {
  main.faculty .cont .c-col {
    padding-bottom: 8px;
  }
}
main.faculty .faculty-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 72px;
}
@media only screen and (max-width: 767px) {
  main.faculty .faculty-list {
    display: block;
    margin-top: 48px;
  }
}
main.faculty .faculty-list li {
  margin-top: 40px;
  width: 47.5%;
  border-top: 1px solid #c3c3c3;
}
@media only screen and (max-width: 767px) {
  main.faculty .faculty-list li {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  main.faculty .faculty-list li:nth-of-type(-n + 2) {
    margin-top: 0;
  }
}
main.faculty .faculty-list li a {
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  transition: opacity 0.3s;
}
main.faculty .faculty-list li a:hover {
  opacity: 0.7;
}
main.faculty .faculty-list li a.disabled-faclty-link {
  opacity: 1;
  pointer-events: none;
}
main.faculty .faculty-list li a.disabled-faclty-link .text dl dd strong {
  text-decoration: none;
  text-underline-offset: 0;
  text-decoration-thickness: 0;
}
main.faculty .faculty-list li a .image {
  width: 31.57894737%;
}
@media only screen and (max-width: 767px) {
  main.faculty .faculty-list li a .image {
    width: 34.7826087%;
  }
}
main.faculty .faculty-list li a .text {
  width: 57.89473684%;
  padding-top: 24px;
}
@media only screen and (max-width: 767px) {
  main.faculty .faculty-list li a .text {
    width: 60.57971014%;
    padding-top: 0;
  }
}
main.faculty .faculty-list li a .text dl {
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  main.faculty .faculty-list li a .text dl {
    margin-bottom: 16px;
  }
}
main.faculty .faculty-list li a .text dl:last-of-type {
  margin-bottom: 0;
}
main.faculty .faculty-list li a .text dl dt {
  font-size: 14px;
  color: #787878;
  margin-bottom: 12px;
}
@media only screen and (max-width: 767px) {
  main.faculty .faculty-list li a .text dl dt {
    font-size: 12px;
    margin-bottom: 6px;
  }
}
main.faculty .faculty-list li a .text dl dd {
  font-size: 17px;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  main.faculty .faculty-list li a .text dl dd {
    font-size: 14px;
  }
}
main.faculty .faculty-list li a .text dl dd strong {
  font-weight: 700;
  -webkit-text-decoration: underline #990000;
          text-decoration: underline #990000;
  text-underline-offset: 3px;
}
main.faculty .c-col--faculty-detail .c-col__side figure {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}
main.faculty .c-col--faculty-detail .c-col__side figure img {
  max-width: 340px;
}
@media only screen and (max-width: 767px) {
  main.faculty .c-col--faculty-detail .c-col__side figure img {
    max-width: 100%;
    width: 100%;
  }
}
main.faculty .c-col--faculty-detail .c-col__side h2 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  main.faculty .c-col--faculty-detail .c-col__side h2 {
    font-size: 22px;
  }
}
main.faculty .c-col--faculty-detail .c-col__cont .c-profile-detail__basic h2 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.7;
}
main.faculty .c-col--faculty-detail .c-col__cont .c-profile-detail__basic small {
  font-size: 17px;
  line-height: 2;
  color: #787878;
  display: block;
  margin-top: 8px;
}
@media only screen and (max-width: 767px) {
  main.faculty .c-col--faculty-detail .c-col__cont .c-profile-detail__basic small {
    font-size: 14px;
  }
}
main.faculty .c-col--faculty-detail .c-col__cont .c-profile-detail__basic p {
  margin-top: 24px;
}
main.faculty .c-col--faculty-detail .c-col__cont .c-profile-detail__basic .c-button {
  margin-top: 40px;
}
main.faculty .c-col--faculty-detail .c-col__cont .c-profile-detail__history {
  padding-top: 24px;
  margin-top: 32px;
  border-top: 1px solid #D3D3D3;
}
@media only screen and (max-width: 767px) {
  main.faculty .c-col--faculty-detail .c-col__cont .c-profile-detail__history {
    margin-top: 48px;
  }
}
main.faculty .c-col--faculty-detail .c-col__cont .c-profile-detail__history p {
  margin-top: 24px;
}
main.faculty .c-col--faculty-detail .c-col__cont .c-profile-detail__history p:first-of-type {
  margin-top: 0;
}
@media only screen and (max-width: 767px) {
  main.faculty .c-col--faculty-detail .c-col__cont .c-profile-detail__history p {
    font-size: 12px;
    line-height: 2;
  }
}

main.graduate {
  padding-bottom: 160px;
}
main.graduate .breadcrumb {
  padding: 32px 0 80px;
}
@media only screen and (max-width: 767px) {
  main.graduate .breadcrumb {
    padding: 24px 0 72px;
  }
}
main.graduate .intro {
  margin-bottom: 64px;
}
@media only screen and (max-width: 767px) {
  main.graduate .intro {
    margin-bottom: 64px;
  }
}
@media only screen and (max-width: 767px) {
  main.graduate .intro .c-col {
    padding: 40px 0 0;
  }
}
main.graduate .intro .c-col__side {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media only screen and (max-width: 767px) {
  main.graduate .intro .c-col__side {
    gap: 24px;
  }
}
main.graduate .intro .c-col .attention {
  font-size: 14px;
  line-height: 2;
  margin-top: 64px;
}
@media only screen and (max-width: 767px) {
  main.graduate .intro .c-col .attention {
    font-size: 12px;
    margin-top: 48px;
  }
}
main.graduate .intro .c-col .attention--caution {
  margin-top: 40px;
  color: #990000;
}
@media only screen and (max-width: 767px) {
  main.graduate .intro .c-col .attention--caution {
    margin-top: 32px;
  }
}
main.graduate .intro .c-col .attention small {
  display: block;
  font-size: 12px;
  margin-top: 6px;
}
main.graduate .intro .block {
  border: 1px solid #787878;
  min-height: 180px;
  margin-top: 32px;
}
main.graduate .masters {
  padding: 48px 0 88px;
  /**
   * SP: カリキュラム表画像を高さ370px固定・横スクロール（カリキュラムページ subject__table と同様）
   * 参考: https://ryanmulligan.dev/blog/layout-break-out/
   */
}
@media only screen and (max-width: 767px) {
  main.graduate .masters {
    padding: 40px 0 80px;
  }
}
main.graduate .masters .c-title02 {
  margin-bottom: 32px;
}
@media only screen and (max-width: 767px) {
  main.graduate .masters .c-title02 {
    margin-bottom: 24px;
  }
}
main.graduate .masters .col {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.graduate .masters .col {
    display: block;
  }
}
main.graduate .masters .inner > small {
  display: block;
  margin-top: 24px;
  font-size: 12px;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  main.graduate .masters .inner > small {
    margin-top: 16px;
    font-size: 10px;
  }
}
main.graduate .masters__table {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media only screen and (max-width: 767px) {
  main.graduate .masters__table {
    margin-top: 40px;
  }
}
main.graduate .masters__table .c-title03 {
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 3px;
  text-decoration-color: #000;
}
@media only screen and (max-width: 767px) {
  main.graduate .masters__table .c-title03 {
    text-underline-offset: 2px;
    text-decoration-thickness: 2px;
  }
}
@media only screen and (max-width: 767px) {
  main.graduate .masters__table > div {
    align-self: flex-start;
    margin-left: calc(50% - 50vw);
    width: 100vw;
    max-width: none;
    padding-left: 15px;
    box-sizing: border-box;
    height: 370px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding-right: 15px;
  }
}
@media only screen and (max-width: 767px) {
  main.graduate .masters__table > div picture,
  main.graduate .masters__table > div .hc-img-switch {
    display: block;
    width: -moz-max-content;
    width: max-content;
    max-width: none;
    height: 100%;
  }
}
@media only screen and (max-width: 767px) {
  main.graduate .masters__table > div img {
    display: block;
    max-width: none;
    width: auto;
    height: 370px;
  }
}
main.graduate .new-area h2 {
  font-size: 28px;
  line-height: 1.5;
  font-weight: 700;
  padding-bottom: 24px;
  border-bottom: 1px solid #C3C3C3;
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  main.graduate .new-area h2 {
    font-size: 22px;
    line-height: 1.7;
    margin-bottom: 32px;
  }
}
main.graduate .new-area__box {
  margin-bottom: 104px;
}
@media only screen and (max-width: 767px) {
  main.graduate .new-area__box {
    margin-bottom: 64px;
  }
}
main.graduate .new-area__box dl {
  margin-bottom: 48px;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.graduate .new-area__box dl {
    display: block;
    margin-bottom: 40px;
  }
}
main.graduate .new-area__box dl:last-of-type {
  margin-bottom: 0;
}
main.graduate .new-area__box dl dt {
  width: 35%;
  padding-right: 40px;
}
@media only screen and (max-width: 767px) {
  main.graduate .new-area__box dl dt {
    width: 100%;
    padding: 0;
    margin-bottom: 32px;
  }
}
main.graduate .new-area__box dl dd {
  width: 65%;
}
@media only screen and (max-width: 767px) {
  main.graduate .new-area__box dl dd {
    width: 100%;
  }
}
main.graduate .policy {
  margin-top: 120px;
}
@media only screen and (max-width: 767px) {
  main.graduate .policy {
    margin-top: 80px;
  }
}
@media only screen and (max-width: 767px) {
  main.graduate .policy .c-col {
    padding-bottom: 24px;
    border-bottom: 1px solid #000;
  }
}
@media only screen and (max-width: 767px) {
  main.graduate .policy .c-col__nav {
    margin-bottom: 32px;
  }
}
@media only screen and (max-width: 767px) {
  main.graduate .policy .c-col__nav .c-title03 {
    font-size: 22px;
  }
}

main.news .cont {
  padding: 0 0 160px;
}
main.news .cont .c-select {
  margin-bottom: 27px;
}
@media only screen and (max-width: 767px) {
  main.news .cont .c-select {
    margin-bottom: 20px;
  }
}
main.news .cont .c-category-select {
  margin-bottom: 40px;
}
main.news .cont .c-pagenav {
  margin-top: 72px;
}
@media only screen and (max-width: 767px) {
  main.news .cont .c-pagenav {
    margin-top: 40px;
  }
}
main.news .news-single .news-single__inner {
  max-width: 910px;
  padding: 0 30px;
  margin: 0 auto;
  padding-top: 112px;
  padding-bottom: 120px;
}
@media only screen and (max-width: 767px) {
  main.news .news-single .news-single__inner {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
main.news .news-single .news-single__inner__title {
  display: flex;
  flex-direction: column;
  gap: 48px;
  padding-bottom: 40px;
  border-bottom: 1px solid #D3D3D3;
}
@media only screen and (max-width: 767px) {
  main.news .news-single .news-single__inner__title {
    gap: 24px;
    padding-bottom: 24px;
  }
}
main.news .news-single .news-single__inner__title span {
  font-size: 32px;
  line-height: 1.7;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  main.news .news-single .news-single__inner__title span {
    font-size: 22px;
  }
}
main.news .news-single .news-single__inner__title ul {
  display: flex;
  align-items: center;
  gap: 32px;
  font-size: 14px;
  color: #787878;
}
@media only screen and (max-width: 767px) {
  main.news .news-single .news-single__inner__title ul {
    gap: 24px;
    font-size: 12px;
  }
}
main.news .news-single .news-single__inner__content {
  padding-top: 48px;
}
@media only screen and (max-width: 767px) {
  main.news .news-single .news-single__inner__content {
    padding-top: 32px;
  }
}
main.news .news-single .news-single__inner__content h2 {
  font-size: 22px;
  line-height: 2;
  font-weight: 700;
  padding-top: 32px;
}
@media only screen and (max-width: 767px) {
  main.news .news-single .news-single__inner__content h2 {
    font-size: 17px;
    padding-top: 24px;
  }
}
main.news .news-single .news-single__inner__content p {
  font-size: 17px;
  line-height: 2;
  font-weight: 400;
  margin-top: 24px;
}
@media only screen and (max-width: 767px) {
  main.news .news-single .news-single__inner__content p {
    font-size: 14px;
    margin-top: 16px;
  }
}
main.news .news-single .news-single__inner__content strong {
  font-weight: 700;
}
main.news .news-single .news-single__inner__content img {
  display: block;
  margin: 56px 0;
}
@media only screen and (max-width: 767px) {
  main.news .news-single .news-single__inner__content img {
    margin: 40px 0;
  }
}
main.news .news-single .news-single__inner__content a {
  color: #990000;
  text-decoration: underline;
}

main.top .inner {
  max-width: 1560px;
  padding: 0 60px;
  margin: 0 auto;
}
@media screen and (max-width: 1260px) {
  main.top .inner {
    padding: 0 30px;
  }
}
@media only screen and (max-width: 767px) {
  main.top .inner {
    padding: 0 16px;
  }
}
main.top .main-visual {
  height: 100svh;
  position: relative;
  max-height: 840px;
}
main.top .main-visual__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
main.top .main-visual__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
main.top .main-visual__catch {
  position: absolute;
  left: 60px;
  bottom: 48px;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__catch {
    left: 15px;
    bottom: 56px;
  }
}
main.top .main-visual__catch > p {
  color: #000;
  font-size: 17px;
  line-height: 1.8;
  font-weight: 700;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__catch > p {
    font-size: 14px;
    margin-bottom: 18px;
  }
}
main.top .main-visual__catch .c-caution-box {
  background: transparent;
  border-color: #000;
  margin-bottom: 16px;
}
main.top .main-visual__catch .c-caution-box p {
  color: #000;
}
main.top .main-visual__catch h1 {
  color: #000;
  font-size: 64px;
  font-weight: 700;
  line-height: 150%;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__catch h1 {
    font-size: 42px;
  }
}
main.top .main-visual__catch h1 span {
  display: block;
}
main.top .top-event-info {
  padding-top: 96px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  main.top .top-event-info {
    padding-top: 80px;
  }
}
main.top .top-event-info__slider-whole {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}
main.top .top-event-info__slider-whole .swiper {
  width: 100%;
  overflow: hidden;
}
main.top .top-event-info__slider .swiper-slide {
  width: 330px;
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  main.top .top-event-info__slider .swiper-slide {
    width: 238px;
  }
}
main.top .top-event-info__item {
  display: flex;
  flex-direction: column;
  padding: 32px 0;
  border-top: 1px solid #D3D3D3;
  border-bottom: 1px solid #D3D3D3;
}
@media only screen and (max-width: 767px) {
  main.top .top-event-info__item {
    padding: 24px 0;
  }
}
main.top .top-event-info__item__image {
  width: 100%;
  height: 220px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  main.top .top-event-info__item__image {
    height: 158px;
  }
}
main.top .top-event-info__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
main.top .top-event-info__item figcaption {
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
main.top .top-event-info__item figcaption strong {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
  text-decoration-line: underline;
  text-decoration-color: #900;
}
main.top .top-event-info__item figcaption span {
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  color: #787878;
}
@media only screen and (max-width: 767px) {
  main.top .top-event-info__item figcaption span {
    font-size: 12px;
  }
}
main.top .top-event-info__slider-button {
  display: flex;
  align-items: center;
  border: 1px solid #D3D3D3;
  width: 108px;
  margin-top: 24px;
  position: relative;
}
main.top .top-event-info__slider-button:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1px;
  height: 18px;
  background: #D3D3D3;
}
main.top .top-event-info__slider-button a {
  display: flex;
  width: 54px;
  height: 55px;
  align-items: center;
  justify-content: center;
}
main.top .top-event-info__slider-button a.disabled {
  opacity: 0.5;
}
main.top .news-info {
  padding-top: 104px;
}
@media only screen and (max-width: 767px) {
  main.top .news-info {
    padding-top: 92px;
  }
}
main.top .vision {
  padding-top: 327px;
  padding-bottom: 347px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.top .vision {
    padding-top: 155px;
    padding-bottom: 80px;
  }
}
main.top .vision__loop-text {
  position: absolute;
  left: 50%;
  top: 140px;
  transform: translateX(-50%);
  width: 100vw;
  overflow: hidden;
  white-space: nowrap;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  main.top .vision__loop-text {
    top: 104px;
  }
}
main.top .vision__loop-text ul li {
  color: #900;
  font-size: 75px;
  font-weight: 400;
  line-height: 110%;
  font-family: "Inter", sans-serif;
}
main.top .vision__loop-text__track {
  display: inline-flex;
  animation: vision-loop-text 60s linear infinite;
}
main.top .vision__loop-text__track li {
  flex-shrink: 0;
  padding-right: 0.5em;
}
main.top .vision__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.top .vision__row {
    flex-direction: column;
    align-items: flex-start;
  }
}
main.top .vision__catch {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 40px;
  max-width: 352px;
}
@media only screen and (max-width: 767px) {
  main.top .vision__catch {
    order: 2;
    gap: 32px;
    max-width: 100%;
  }
}
main.top .vision__catch h3 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  main.top .vision__catch h3 {
    font-size: 28px;
  }
}
main.top .vision__catch h3 span {
  display: block;
}
main.top .vision__text {
  width: 396px;
}
@media only screen and (max-width: 767px) {
  main.top .vision__text {
    order: 3;
    width: 100%;
    margin-top: 48px;
  }
}
main.top .vision__text p {
  font-size: 17px;
  font-weight: 400;
  line-height: 2;
}
main.top .vision__image {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 396px;
}
@media only screen and (max-width: 767px) {
  main.top .vision__image {
    position: static;
    transform: translate(0%, 0%);
    order: 1;
    max-width: 334px;
    margin: 0 auto 48px;
  }
}
main.top .vision__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
main.top .journal {
  padding-bottom: 160px;
}
@media only screen and (max-width: 767px) {
  main.top .journal {
    padding-bottom: 80px;
  }
}
main.top .journal__list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #D3D3D3;
}
main.top .journal__item {
  padding: 24px 0;
  border-bottom: 1px solid #D3D3D3;
}
main.top .journal__item figure {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.top .journal__item figure {
    flex-direction: column;
  }
}
main.top .journal__item figure > div {
  order: 2;
  width: 330px;
  height: 220px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  main.top .journal__item figure > div {
    width: 100%;
  }
}
main.top .journal__item figure > div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
main.top .journal__item figure figcaption {
  width: calc(100% - 330px);
  max-width: 792px;
  order: 1;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media only screen and (max-width: 767px) {
  main.top .journal__item figure figcaption {
    width: 100%;
  }
}
main.top .journal__item figure figcaption > div {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
main.top .journal__item figure figcaption > div strong {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.7;
  text-decoration-line: underline;
  text-decoration-color: #900;
}
@media only screen and (max-width: 767px) {
  main.top .journal__item figure figcaption > div strong {
    font-size: 17px;
  }
}
main.top .journal__item figure figcaption > div div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
main.top .journal__item figure figcaption > div div span {
  font-size: 17px;
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  main.top .journal__item figure figcaption > div div span {
    font-size: 14px;
  }
}
main.top .journal__item figure figcaption > div div small {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  main.top .journal__item figure figcaption > div div small {
    font-size: 12px;
  }
}
main.top .journal__item figure figcaption > small {
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  color: #787878;
}
@media only screen and (max-width: 767px) {
  main.top .journal__item figure figcaption > small {
    font-size: 12px;
  }
}

@keyframes vision-loop-text {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
