@charset "UTF-8";
/*  フォント設定 開始  */
body {
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
}
.noto-sans-jp,input, select, textarea, button {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
}
.poppins {
  font-family: "Poppins", sans-serif;
}
.regular {
  font-weight: 400;
}
.medium {
  font-weight: 500;
}
.semibold {
  font-weight: 600;
}
.bold {
  font-weight: 700;
}
.italic {
  font-style: italic;
}
/*  フォント設定 終了  */

/*  共通 開始  */
main {
  position: relative;
}
.flex {
  display: flex;
}
.flex.wrap {
  flex-wrap: wrap;
}
.inner {
	width: 88%;
	margin: 0 auto;
}


header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9;
}
.orange .c-key,
.joint .c-key {
  color: #fe5226;
}
.orange .c-key_bg, .c-key_bg_or, .joint .c-key_bg  {
  background-color: #fe5226;
}
.all.hv_c_bg input:checked + label,.all.hv_c_bg >*:hover  {
  background-color: #fe5226!important;
}

.tag .urgent, .urgent.hv_c_bg input:checked + label, .urgent.hv_c_bg >*:hover {
    background-color: #ea0b1f !important;
}
.orange .c_key_bg01,.joint .c_key_bg01 {
	background-color: #fff6f4;
}
.blue .c-key {
  color: #1f90e0;
}
.blue .c-key_bg, .c-key_bg_bl {
  background-color: #1f90e0;
}
.lt-blue .c-key {
	color: #5dbbbb;
}
.lt-blue .c-key_bg,.c-key_bg_ltbl {
	background-color: #5dbbbb;
}
.c-key_sub_y {
 color: #eef101;
}
.c-key_sub_g03 {
 color: #999999;
}
.c-key_bg_sub_y {
  background-color: #eef101;
}
.c-key_bg_sub_lg {
  background-color: #f3eeee;
}
.c-key_bg_sub_g {
  background-color: #4d4d4d;
}
.c-key_bg_sub_g02 {
  background-color: #666666;
}
.c-key_bg_sub_g03 {
  background-color: #999999;
}
.c-key_bg_sub_bk {
  background-color: #333333;
}

.main-content .c-key_bg_sub_lg.arrow {
    position: relative;
    margin-bottom: 4em;
}
.main-content .c-key_bg_sub_lg.arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #f3eeee transparent transparent transparent;
    border-width: 4em 50vw 0px 50vw;
    position: absolute;
    bottom: calc(-4em + 1px);
}
.bg_dot {
    background-image: radial-gradient(#f5f1f1 23%, transparent 23%), radial-gradient(#f5f1f1 23%, transparent 23%);
    background-position: 0 0, 10px 10px;
    background-size: 20px 20px;
}
.img {
    position: relative;
}
.img.full .name {
    position: absolute;
    color: #fff;
    bottom: 0;
    font-size: 1.5em;
    padding: 1em;
    box-sizing: border-box;
    width: 100%;
    text-align: right;
}

.il .c-key,.il.c-key,.il nav.navigation a:before {
	/* color: #EDC200; */
	color: #e5be0e;
}
.il .c-key_bg,.il.c-key_bg,.il.hv_c_bg >*:hover,.il.hv_c_bg input:checked + label,.il table.type02 thead th:before,.about-cooperation section.works-list .results li.il dd.btn a:hover:after,
.type-list.course .swiper-slide.swiper-slide-thumb-active.il, .type-list.course .swiper-slide.il:hover {
	background-color: #EDC200!important;
}
.mg .c-key,.mg.c-key,.mg nav.navigation a:before {
	color: #E74A6F;
}
.mg .c-key_bg,.mg.c-key_bg, .mg.hv_c_bg >*:hover,.mg.hv_c_bg input:checked + label,.mg table.type02 thead th:before,.about-cooperation section.works-list .results li.mg dd.btn a:hover:after,
.type-list.course .swiper-slide.swiper-slide-thumb-active.mg, .type-list.course .swiper-slide.mg:hover {
	background-color: #E74A6F!important;
}
.ci .c-key,.ci.c-key,.ci nav.navigation a:before {
	color: #FD6C64;
}
.ci .c-key_bg,.ci.c-key_bg,.ci.hv_c_bg >*:hover,.ci.hv_c_bg input:checked + label,.ci table.type02 thead th:before,.about-cooperation section.works-list .results li.ci dd.btn a:hover:after,
.type-list.course .swiper-slide.swiper-slide-thumb-active.ci, .type-list.course .swiper-slide.ci:hover {
	background-color: #FD6C64!important;
}
.gc .c-key,.gc.c-key,.gc nav.navigation a:before {
	color: #33B381;
}
.gc .c-key_bg,.gc.c-key_bg,.gc.hv_c_bg >*:hover,.gc.hv_c_bg input:checked + label,.gc table.type02 thead th:before,.about-cooperation section.works-list .results li.gc dd.btn a:hover:after,
.type-list.course .swiper-slide.swiper-slide-thumb-active.gc, .type-list.course .swiper-slide.gc:hover {
	background-color: #33B381!important;
}
.gd .c-key,.gd.c-key,.gd nav.navigation a:before {
	color: #D82D44;
}
.gd .c-key_bg,.gd.c-key_bg,.gd.hv_c_bg >*:hover,.gd.hv_c_bg input:checked + label,.gd table.type02 thead th:before,.about-cooperation section.works-list .results li.gd dd.btn a:hover:after,
.type-list.course .swiper-slide.swiper-slide-thumb-active.gd, .type-list.course .swiper-slide.gd:hover {
	background-color: #D82D44!important;
}
.id .c-key,.id.c-key,.id nav.navigation a:before {
	color: #2D96D5;
}
.id .c-key_bg,.id.c-key_bg,.id.hv_c_bg >*:hover,.id.hv_c_bg input:checked + label,.id table.type02 thead th:before,.about-cooperation section.works-list .results li.id dd.btn a:hover:after,
.type-list.course .swiper-slide.swiper-slide-thumb-active.id, .type-list.course .swiper-slide.id:hover {
	background-color: #2D96D5!important;
}
.fg .c-key,.fg.c-key,.fg nav.navigation a:before {
	color: #39C1CB;
}
.fg .c-key_bg,.fg.c-key_bg,.fg.hv_c_bg >*:hover,.fg.hv_c_bg input:checked + label,.fg table.type02 thead th:before,.about-cooperation section.works-list .results li.fg dd.btn a:hover:after,
.type-list.course .swiper-slide.swiper-slide-thumb-active.fg, .type-list.course .swiper-slide.fg:hover {
	background-color: #39C1CB!important;
}
.an .c-key,.an.c-key,.an nav.navigation a:before {
	color: #EF9422;
}
.an .c-key_bg,.an.c-key_bg,.an.hv_c_bg >*:hover,.an.hv_c_bg input:checked + label,.an table.type02 thead th:before,.about-cooperation section.works-list .results li.an dd.btn a:hover:after,
.type-list.course .swiper-slide.swiper-slide-thumb-active.an, .type-list.course .swiper-slide.an:hover {
	background-color: #EF9422!important;
}
.fa .c-key,.fa.c-key,.fa nav.navigation a:before {
	color: #96519B;
}
.fa .c-key_bg,.fa.c-key_bg,.fa.hv_c_bg >*:hover,.fa.hv_c_bg input:checked + label,.fa table.type02 thead th:before,.about-cooperation section.works-list .results li.fa dd.btn a:hover:after,
.type-list.course .swiper-slide.swiper-slide-thumb-active.fa, .type-list.course .swiper-slide.fa:hover {
	background-color: #96519B!important;
}
.td .c-key,.td.c-key,.td nav.navigation a:before {
	color: #7DC437;
}
.td .c-key_bg,.td.c-key_bg,.td.hv_c_bg >*:hover,.td.hv_c_bg input:checked + label,.td table.type02 thead th:before,.about-cooperation section.works-list .results li.td dd.btn a:hover:after,
.type-list.course .swiper-slide.swiper-slide-thumb-active.td, .type-list.course .swiper-slide.td:hover {
	background-color: #7DC437!important;
}
.hv_c_bg >*:hover,.hv_c_bg input:checked + label {
    color: #ffF;
}
.results .il .btn a.more,.il section.cooperation p.sub.c-key:before,.course .il h3.type02.icon:before ,.interview.article .fv.il .profile .name:before {
    /* filter: invert(110%) sepia(21%) saturate(914%) hue-rotate(588deg) brightness(116%) contrast(80%); */
    filter: invert(0%) sepia(41%) saturate(885%) hue-rotate(26deg) brightness(894%) contrast(90%);
}
.results .ci .btn a.more,.ci section.cooperation p.sub.c-key:before,.course .ci h3.type02.icon:before,.interview.article .fv.ci .profile .name:before {
   filter: invert(50%) sepia(45%) saturate(600%) hue-rotate(314deg) brightness(100%) contrast(100%);
}
.results .mg .btn a.more,.mg section.cooperation p.sub.c-key:before,.course .mg h3.type02.icon:before,.interview.article .fv.mg .profile .name:before {
    filter: invert(0%) sepia(100%) saturate(1010%) hue-rotate(305deg) brightness(85%) contrast(110%);
}
.results .gc .btn a.more,.gc section.cooperation p.sub.c-key:before,.course .gc h3.type02.icon:before ,.interview.article .fv.gc .profile .name:before {
    filter: invert(60%) sepia(70%) saturate(400%) hue-rotate(85deg) brightness(110%) contrast(80%);
}
.results .gd .btn a.more, .gd section.cooperation p.sub.c-key:before, .course .gd h3.type02.icon:before,.interview.article .fv.gd .profile .name:before {
    filter: invert(0%) sepia(120%) saturate(2274%) hue-rotate(319deg) brightness(80%) contrast(100%);
}
.results .id .btn a.more,.id section.cooperation p.sub.c-key:before,.course .id h3.type02.icon:before ,.interview.article .fv.id .profile .name:before {
    filter: invert(0%) sepia(73%) saturate(670%) hue-rotate(184deg) brightness(105%) contrast(70%);
}
.results .fg .btn a.more,.fg section.cooperation p.sub.c-key:before,.course .fg  h3.type02.icon:before ,.interview.article .fv.fg .profile .name:before {
    filter: invert(00%) sepia(0%) saturate(230%) hue-rotate(174deg) brightness(163%) contrast(65%);
}
.results .an .btn a.more,.an section.cooperation p.sub.c-key:before,.course .an h3.type02.icon:before,.interview.article .fv.an .profile .name:before {
    filter: invert(00%) sepia(60%) saturate(180%) hue-rotate(21deg) brightness(110%) contrast(100%);
}
.results .fa .btn a.more,.fa section.cooperation p.sub.c-key:before,.course .fa h3.type02.icon:before ,.interview.article .fv.fa .profile .name:before {
    filter: invert(00%) sepia(32%) saturate(1012%) hue-rotate(273deg) brightness(137%) contrast(50%);
}
.results .td .btn a.more, .td section.cooperation p.sub.c-key:before, .course .td h3.type02.icon:before ,.interview.article .fv.td .profile .name:before {
    filter: invert(0%) sepia(100%) saturate(740%) hue-rotate(45deg) brightness(110%) contrast(88%);
}


.il .arrow a.modal.blank:hover {
    color: #e5be0e!important;
    transform: scale(1.2);
}
.ci .arrow a.modal.blank:hover {
    color: #FD6C64;!important;
    transform: scale(1.2);
}
.mg .arrow a.modal.blank:hover {
    color: #E74A6F!important;
    transform: scale(1.2);
}
.gc .arrow a.modal.blank:hover {
    color: #33B381!important;
    transform: scale(1.2);
}
.gd .arrow a.modal.blank:hover {
    color: #D82D44!important;
    transform: scale(1.2);
}
.id .arrow a.modal.blank:hover {
    color: #2D96D5!important;
    transform: scale(1.2);
}
.fg .arrow a.modal.blank:hover {
    color: #39C1CB!important;
    transform: scale(1.2);
}
.an .arrow a.modal.blank:hover {
    color: #EF9422!important;
    transform: scale(1.2);
}
.fa .arrow a.modal.blank:hover {
    color: #96519B!important;
    transform: scale(1.2);
}
.td .arrow a.modal.blank:hover {
    color: #7DC437!important;
    transform: scale(1.2);
}


.il .arrow a.modal.blank:after {
    filter: invert(55%) sepia(100%) saturate(740%) hue-rotate(25deg) brightness(110%) contrast(100%);
}
.ci .arrow a.modal.blank:after {
    filter: invert(50%) sepia(45%) saturate(600%) hue-rotate(314deg) brightness(100%) contrast(100%);
}
.mg .arrow a.modal.blank:after {
    filter: invert(75%) sepia(100%) saturate(790%) hue-rotate(298deg) brightness(110%) contrast(90%);
}
.gc .arrow a.modal.blank:after {
    filter: invert(65%) sepia(100%) saturate(740%) hue-rotate(73deg) brightness(110%) contrast(80%);
}
.gd .arrow a.modal.blank:after {
    filter: invert(75%) sepia(100%) saturate(760%) hue-rotate(313deg) brightness(120%) contrast(80%);
}
.id .arrow a.modal.blank:after {
    filter: invert(65%) sepia(100%) saturate(740%) hue-rotate(182deg) brightness(100%) contrast(100%);
}
.fg .arrow a.modal.blank:after {
    filter: invert(35%) sepia(100%) saturate(740%) hue-rotate(169deg) brightness(110%) contrast(50%);
}
.an .arrow a.modal.blank:after {
    filter: invert(45%) sepia(89%) saturate(740%) hue-rotate(352deg) brightness(87%) contrast(100%);
}
.fa .arrow a.modal.blank:after {
    filter: invert(15%) sepia(100%) saturate(740%) hue-rotate(218deg) brightness(40%) contrast(100%);
}
.td .arrow a.modal.blank:after {
    filter: invert(55%) sepia(100%) saturate(740%) hue-rotate(45deg) brightness(110%) contrast(100%);
}


.remodal.intro.il .title {
	filter: invert(100%) sepia(0%) saturate(914%) hue-rotate(209deg) brightness(146%) contrast(70%);
}
.remodal.intro.ci .title {
	filter: invert(0%) sepia(100%) saturate(1000%) hue-rotate(305deg) brightness(95%) contrast(100%);
}
.remodal.intro.mg .title {
	filter: invert(0%) sepia(100%) saturate(1000%) hue-rotate(305deg) brightness(95%) contrast(90%);
}
.remodal.intro.gc .title {
	filter: invert(60%) sepia(70%) saturate(400%) hue-rotate(85deg) brightness(190%) contrast(53%);
}
.remodal.intro.gd .title {
	filter: invert(0%) sepia(100%) saturate(1925%) hue-rotate(310deg) brightness(128%) contrast(82%);
}
.remodal.intro.id .title {
	filter: invert(00%) sepia(120%) saturate(740%) hue-rotate(182deg) brightness(100%) contrast(100%);
}
.remodal.intro.fg .title {
	filter: invert(00%) sepia(70%) saturate(300%) hue-rotate(177deg) brightness(127%) contrast(80%);
}
.remodal.intro.an .title {
	filter: invert(00%) sepia(30%) saturate(180%) hue-rotate(21deg) brightness(110%) contrast(100%);
}
.remodal.intro.fa .title {
	filter: invert(00%) sepia(112%) saturate(1012%) hue-rotate(273deg) brightness(137%) contrast(50%);
}
.remodal.intro.td .title {
	filter: invert(25%) sepia(100%) saturate(100%) hue-rotate(45deg) brightness(110%) contrast(100%);
}


.remodal.intro.il .thumbnail {
    filter: drop-shadow(1.5em 1.5em 0 #EDC200);
}
.remodal.intro.ci .thumbnail {
    filter: drop-shadow(1.5em 1.5em 0 #FD6C64);
}
.remodal.intro.mg .thumbnail {
    filter: drop-shadow(1.5em 1.5em 0 #E74A6F);
}
.remodal.intro.gc .thumbnail {
    filter: drop-shadow(1.5em 1.5em 0 #33B381);
}
.remodal.intro.gd .thumbnail {
    filter: drop-shadow(1.5em 1.5em 0 #D82D44);
}
.remodal.intro.id .thumbnail {
    filter: drop-shadow(1.5em 1.5em 0 #2D96D5);
}
.remodal.intro.fg .thumbnail {
    filter: drop-shadow(1.5em 1.5em 0 #39C1CB);
}
.remodal.intro.an .thumbnail {
    filter: drop-shadow(1.5em 1.5em 0 #EF9422);
}
.remodal.intro.fa .thumbnail {
    filter: drop-shadow(1.5em 1.5em 0 #96519B);
}
.remodal.intro.td .thumbnail {
    filter: drop-shadow(1.5em 1.5em 0 #7DC437);
}



.il .c_key_bg01,.course .il section.point .other.teacher .intro:before {
    background-color: #FDF9E5;
}
.ci .c_key_bg01,.course .ci section.point .other.teacher .intro:before {
    background-color: #FFF0EF;
}
.mg .c_key_bg01,.course .mg section.point .other.teacher .intro:before {
    background-color: #FDEDF1;
}
.gc .c_key_bg01,.course .gc section.point .other.teacher .intro:before {
    background-color: #EBF7F2;
}
.gd .c_key_bg01,.course .gd section.point .other.teacher .intro:before {
    background-color: #FBEAEC;
}
.id .c_key_bg01,.course .id section.point .other.teacher .intro:before {
    background-color: #EAF4FB;
}
.fg .c_key_bg01,.course .fg section.point .other.teacher .intro:before {
    background-color: #EBF9FA;
}
.an .c_key_bg01,.course .an section.point .other.teacher .intro:before {
    background-color: #FDF4E9;
}
.fa .c_key_bg01,.course .fa section.point .other.teacher .intro:before {
    background-color: #F4EEF5;
}
.td .c_key_bg01,.course .td section.point .other.teacher .intro:before {
    background-color: #F2F9EB;
}


.course .c-icon {
    position: relative;
}
.c-icon:before {
    content: '';
    display: block;
    font-size: 2.88em;
    opacity: 0.2;
    text-align: right;
    position: absolute;
    right: 0.2em;
    bottom: 0.1em;
    font-family: 'Poppins';
    line-height: 1;
    color: #fff;
}

.il .c-icon:before {
    content: 'IL';
}
.ci .c-icon:before {
    content: 'CI';
}
.mg .c-icon:before {
    content: 'MG';
}
.gc .c-icon:before {
    content: 'GC';
}
.gd .c-icon:before {
    content: 'GD';
}
.id .c-icon:before {
    content: 'ID';
}
.fg .c-icon:before {
    content: 'FG';
}
.an .c-icon:before {
    content: 'AN';
}
.fa .c-icon:before {
    content: 'FA';
}
.td .c-icon:before {
    content: 'TD';
}
label {
    outline: none;
}
a {
  text-decoration: none;
  transition: 0.2s color, 0.2s background,0.2s transform;
}
a:hover, button:hover,article.search ul.btn_type02.flex li button:hover {
    background: #eef101!important;
    color: #000!important;
}
.logo a:hover {
    background: transparent!important;
}
.arrow a:after, .arrow button:after, article.search ul.btn_type02.flex.arrow li > * p .txt:after, section.schedule ol.step li .txt a.arrow:before,.index-nav.list section.select-list .list .btn a .arrow:after {
  content: "";
  display: block;
  width: 1.65em;
  height: 1.65em;
  border-radius: 50%;
  position: absolute;
  background: no-repeat center/contain;
  background-image: url(../img/arrow_icon01.svg);
  transition: 0.2s transform,0.2s background-color,0.2s right,0.2s top;
}
section.schedule ol.step li .txt a.arrow:before {
    border: 0.1em solid;
    width: 1em;
    height: 1em;
}

/*,article.search ul.btn_type02.flex li > a:hover .txt:after 削除*/
article.search ul.btn_type02.flex li > *:hover .icon, .search ul.btn_type04.flex li a:hover .icon, .btn_type04.arrow a::after, .btn_type08.arrow a::after, .consult__menu-item--link a.blank::after,footer.type1 section.content.right .document a:hover .icon{
    filter: invert(100%) sepia(0%) saturate(100%) hue-rotate(100deg) brightness(0%) contrast(100%);
}
article.search ul.btn_type02.flex.arrow li > *:hover p .txt:after {
    background-image: url(../img/arrow_icon01.svg)!important;
    background-color: #000!important;
}

a.blank:after, a.blank p:after, article.search ul.btn_type02.flex.arrow li .blank p .txt:after, section.schedule ol.step li .txt a.blank:before, .entry-info section.guide dd ul.enty-list .txt a.blank:before {
  background-image: url(../img/blank_icon.svg) !important;
  width: 1.5em;
  height: 1.5em;
   background-color: transparent!important;
}
a.c-key_bg_or:after,
a.c-key_bg_or p .txt:after,
button.c-key_bg_or p .txt:after ,
a.c-key_bg_bl:after,
a.c-key_bg_bl p .txt:after,
button.c-key_bg_bl p .txt:after {
  background-image: url(../img/arrow_icon01_bg.svg) !important;
}
a.c-key_bg_or:after,  a.c-key_bg_bl:after {
  background-color: #fff !important;
}
button {
  cursor: pointer;
  transition: 0.2s color, 0.2s background-color;
  -webkit-tap-highlight-color: transparent;
}
.btn_type03.arrow a:after, .btn_type03.arrow button:after, .index-nav.list section.select-list .list .btn a .arrow:after {
  filter: invert(100%) sepia(0%) saturate(100%) hue-rotate(100deg) brightness(100%) contrast(100%);
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
}
.arrow a:hover:after {
    transform: translateX(0.5em);
}
.arrow button:hover:after,
.btn_type03.arrow a:hover:after,
article.search ul.btn_type02.flex.arrow li > *:hover p .txt:after {
    transform: translateY(-50%) translateX(0.5em);
}
a.blank:hover:after {
    transform: translateY(0.2em) translateX(0.2em)!important;
}
.btn_type03.arrow a.blank:hover:after,
article.search ul.btn_type02.flex.arrow li > *.blank:hover p .txt:after {
    transform: translateY(-60%) translateX(0.2em) !important;
}
article.search ul.btn_type01.flex li:nth-child(odd) a:hover:after,
article.search ul.btn_type01.flex li:nth-child(even) a:hover:after {
    background-color: #000!important;
}

.fv {
    margin-bottom: 2em;
}

.show.move {
    opacity: 1;
}
.show {
    opacity: 0;
    transition: 0.5s opacity;
}

.accbox {
    padding: 0;
    width: 88%;
    max-width: 1200px;
    margin: 3em auto;
}
.accbox label {
    display: block;
    color :#303030;
    font-weight: bold;
    cursor :pointer;
    transition: 0.2s color,0.2s background-color;
    font-size: 2.25em;
    padding: 1em;
    padding-right: 3.5em;
    position: relative;
    margin-top: 1em;
}
.accbox label:hover {
    background :#333;
    color: #fff;
}
.accbox input {
    display: none;
}
.accbox .accshow {
    height: 0;
    padding: 0 2em;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s height,0.8s opacity,0.2s padding;
    color: #595959;
}
.cssacc:checked + label + .accshow {
    height: auto;
    padding: 2em 2em 0;
    opacity: 1;
}
.accbox label:after {
    content: '';
    width: 1.66em;
    height: 1.66em;
    background: url(../img/arrow_icon03.svg) no-repeat center/contain;
    display: block;
    position: absolute;
    right: 0.8em;
    top: 20%;
    transform: rotate(180deg);
    transform-box: border-box;
    transform-origin: center;
    transition: 0.3s transform;
}
.cssacc:checked + label:after {
    transform: rotate(00deg);
}

aside.bread-list {
    width: 88%;
    margin: 0 auto 3em;
    box-sizing: border-box;
}
aside.bread-list ul li, aside.bread-list ul li a {
    color: #808080!important;
    background: transparent!important;
}
aside.bread-list ul {
    display: flex;
    font-size: 1.5em;
    width: 100%;
}
aside.bread-list ul li {
    position: relative;
    margin-bottom: 0.7em;
    min-width: max-content;
}
aside.bread-list ul li:last-child {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 48%;
    min-width: auto;
}
aside.bread-list ul li:nth-child(4) {
    max-width: 24%;
}
aside.bread-list ul li a:after {
    content: '>';
    margin: 0 0.5em;
}
.icon img, .thumbnail img,a img,.img img {
    width: 100%;
    display: block;
}

section.main-content .main-title {
    font-size: 2.5em;
    font-weight: 500;
    line-height: 1.5;
    width: 100%;
    padding: 0 1em;
    margin: 0 auto 1em;
    box-sizing: border-box;
}
section.main-content .main-title.border {
    padding-bottom: 1em;
    position: relative;
}
section.main-content .main-title .sm {
    font-size: 0.7em;
}
section.main-content .main-title.border:after {
    content: '';
    display: block;
    width: 85%;
    height: 0;
    border-bottom: 1px solid;
    position: absolute;
    left: 0;
    bottom: 0;
}

ol.step {
    counter-reset: number 0;
}
ol.step li .number {
    position: relative;
    font-family: 'Poppins';
    font-weight: 500;
}
ol.step.point li .number:before, ol.step li .number:after,ol.step li .number span {
    display: block;
    line-height: 1;
    text-align: center;
}
ol.step.swiper-wrapper li .number:after {
    display: none;
}
ol.step li .number:after,ol.step.normal li:before {
    counter-increment: number 1;
}
ol.step li .number:after {
    content: "0" counter(number);
}
ol.step.normal > li:before {
	content: "（" counter(number) "）";
	position: absolute;
	left: 0;
	top: 0;
}
main.orange ol.step.normal li:before,main.joint ol.step.normal li:before {
	color: #FE5226;
}
main.blue ol.step.normal li:before {
	color: #1F90E0;
}
ol.step.normal li {
    padding-left: 1.7em;
    position: relative;
    text-align: justify;
}
li ol.none li {
    padding-left: 1em!important;
    text-indent: -1em;
}
li ol.none {
    margin: 0;
    text-align: justify;
}

ol.step li .number:before {
    content: '';
    font-size: 0.3em;
}
ol.step li .number:before {
    content: attr(data-title);
}
ol.step.type02 li .number:after {
    content: counter(number);
    background: #EEF101;
    width: 1.5em;
    height: 1.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5em;
    box-sizing: border-box;
}
ol.step.type02 li .number {
    margin-right: 1.1em;
}
ol.step.type02 li {
    margin-bottom: 1.3em;
    align-items: baseline;
}
ol.step.type02 li .txt {
    font-size: 1.625em;
    line-height: 1.7;
}
ol.step.type02 li + li {
    border-top: 0.15em solid #808080;
    padding-top: 1em;
}
ol.step.type02 li .txt.note {
    margin: 0 0 0 auto;
    text-align: right;
	font-size: 1.5em;
}
ol.step.type02 li.border-none {
    border: none;
}


.category.course {
    margin: 2em auto;
    justify-content: center;
    max-width: 50em;
}
.category.course li {
    font-size: 1.5em;
    margin: 1.5% 1%;
}
.category.course li label,.category.course li a {
    font-size: 1em;
    box-sizing: border-box;
    border: 1px solid #d8d6d7;
    padding: 0.7em 0.6em;
    border-radius: 2em;
    display: block;
    font-feature-settings: "palt";
    transition: 0.2s color , 0.2s background-color;
    background: #fff;
    font-weight: 400;
    margin: 0;
}
.category.course li label:after {
    display: none;
}
nav.course-list.link .title {
    font-size: 1.625em;
    color: #666;
    text-align: center;
    margin: 3em auto 1em;
}
.category.course li a {
    color: #000;
}

.sitemap {
    padding: 1.5em 5% 3em;
    box-sizing: border-box;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    transition: 0.2s width,0.2s padding;
    pointer-events: all;
}
footer.type2.search_active .sitemap {
    padding: 1.5em 0 3em;
}
.sitemap > dl {
    width: calc(100%/4);
    margin: 0;
    padding: 0 0.8em;
    box-sizing: border-box;
    max-width: 600px;
}
.sitemap dd dt,.sitemap dd dd {
    font-size: 1em;
    margin: 0;
}
.sitemap dt {
    font-size: 0.875em;
    margin: 2em 0;
    font-weight: 400;
}
.sitemap dd.space {
    margin-bottom: 2.5em;
}
.sitemap dd {
    font-size: 0.75em;
    position: relative;
    padding-left: 2em;
    margin-bottom: 0.5em;
}
.sitemap dd.down {
    padding-left: 3em;
}
.sitemap dd.down:before {
    content: '∟';
    display: block;
    position: absolute;
    left: 1.5em;
    top: 0;
}
.sitemap,.sitemap a {
    color: #303030;
}
sitemap a {
    padding: 0.5em;
    display: block;
}
.sitemap a,.sitemap p {
    padding: 0.1em 0.5em;
    border-radius: 0.5em;
}
.sitemap dd.btn {
    font-size: 0.875em;
    margin-bottom: 1.3em;
}
.sitemap dd.btn a {
    padding: 0.6em;
    background: #ccc;
    display: inline-block;
    text-align: center;
    border-radius: 0;
    width: 13.5em;
    max-width: 100%;
    margin: 0 auto;
}


section.overview .txt {
    font-size: 1.625em;
    line-height: 2;
    position: relative;
    z-index: 1;
}
section.overview .txt dt {
    font-size: 1.08em;
    margin-bottom: 0.5em;
    font-weight: 600;
}
section.overview .flex .img {
    margin: 3.5em 0;
}

.bg_stripe {
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 0.625em, rgba(243, 245, 77, 1) 0.625em, rgba(243, 245, 77, 1) 1.25em );
}
.bg_stripe .swiper {
    padding: 1.875em 0;
    border-top: 0.25em solid;
    border-bottom: 0.25em solid;
    margin: 3em auto;
}
.bg_stripe .swiper .swiper-slide {
    /* width: 34.25em!important; */
}
.txt.center {
    text-align: center;
}

nav.navigation {
    position: sticky;
    top: 6.875em;
    width: 100%;
    background: #fff;
    z-index: 2;
}

nav.navigation ul {
    border-top: 0.25em solid;
    border-bottom: 0.25em solid;
}
nav.navigation li {
    width: calc(100%/4);
    display: flex;
    align-items: center;
    border-right: 0.25em solid;
    position: relative;
}
nav.navigation li:last-child {
    border-right: 0;
}
nav.navigation a:before {
    content: '';
    display: block;
    width: 0.6em;
    height: 0.6em;
    border-right: 0.15em solid;
    border-bottom: 0.15em solid;
    position: absolute;
    right: 0.9em;
    top: 40%;
    transform: rotate(45deg) translateY(-50%);
    transition: 0.2s top;
}
nav.navigation.column03 li {
    width: calc(100% / 3);
}
nav.navigation.column03 li a:before {
    right: 1.3em;
}
main.orange nav.navigation a:before {
    border-color: #fe5226;
}
main.blue nav.navigation a:before {
    border-color: #1F90E0;
}
main.lt-blue nav.navigation a:before {
    border-color:#5dbbbb;
}
nav.navigation a {
    font-size: 1.5em;
    text-align: center;
    color: #000;
    width: 100%;
    padding: 0.7em 0.5em;
    padding-right: 2em;
    box-sizing: border-box;
    background: transparent!important;
    line-height: 1.4;
}
nav.navigation a:hover:before {
    top: 50%;
}
section.nav-item {
    padding-top: 18.5em;
    margin-bottom: -2.7em;
}
.course section.nav-item > .c-key_bg_sub_lg > h2.type02 {
    margin-top: -3.5em;
}
section#cooperation {
    padding-top: 20em;
    margin-top: -10em;
}

.teacher-comment dt {
    font-size: 1.75em;
    line-height: 1.5;
    position: relative;
    border-bottom: 0.1em solid;
    padding-bottom: 0.7em;
    width: 50%;
    z-index: 1;
}
.teacher-comment dt .sm {
    font-size: 0.85em;
    margin-right: 0.5em;
}
.teacher-comment dt .sm.campus {
    display: block;
    margin-bottom: 0.3em;
}
.teacher-comment dd.img {
    width: 24.125em;
    height: 24.125em;
    background: #DEDEDEDE;
    margin: 0 auto 0 -9%;
}
.teacher-comment dl {
    display: flex;
    flex-wrap: wrap;
    width: 88%;
    margin: 3em 0 3em auto;
    align-items: center;
}
.teacher-comment {
    margin: 5.5em auto 3.5em;
}
.teacher-comment .txt {
    text-align: justify!important;
    width: 88%;
    margin: 1em auto;
}
.teacher-comment dt:before {
    content: attr(data-name);
    display: block;
    color: #dedede;
    font-size: 2.4em;
    line-height: 1;
    margin-bottom: 0.8em;
    font-family: 'poppins';
}

.pointer-none {
    pointer-events: none;
}

@media (max-width: 750px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block;
  }
  html > body {
    font-size: 2.133vw;
    overflow: scroll;
  }
    .sitemap {
        display: none;
    }
	.category .hv_c_bg >*:hover {
    background-color: transparent!important;
    color: #000;
}
	.hv_c_bg input:checked + label {
    color: #fff!important;
}
}
@media (min-width: 751px) {
  .pc {
    display: block;
  }
  .sp {
    display: none !important;
  }
  html > body {
    font-size: 1.333vw;
  }
aside.bread-list ul {
    font-size: 0.75em;
}
aside.bread-list {
    margin-bottom: 1em;
}
section.main-content .main-title {
    font-size: 1.875em;
    margin-bottom: 2em;
    padding-left: 6%;
}
.accbox label {
    font-size: 1.375em;
}
.accbox label:hover {
    background :#333;
    color: #fff;
}
.category.course li {
    font-size: 0.875em;
    margin: 0.5em 0.2em;
}
.category.course li label,.category.course li a {
    padding: 0.7em 1.2em;
}
.category.course li a:hover {
    color: #fff!important;
}
ol.step.type02 li .txt {
    font-size: 1em;
}
ol.step.type02 li .number:after {
    font-size: 0.937em;
}
ol.step.type02 li + li {
    border-width: 0.1em;
}
ol.step.type02 li .txt.note {
    font-size: 0.75em;
}
.img.full .name {
    font-size: 1.125em;
}
	nav.course-list.link .title {
    font-size: 1.125em;
    margin: 3em auto 0;
}


.teacher-comment dt {
    font-size: 1.5em;
    width: 40%;
    margin: 0 0 0 auto;
}
.teacher-comment dt sm {
    font-size: 0.75em;
}
.teacher-comment dt .sm {
    font-size: 0.75em;
}
.teacher-comment dd.img {
    width: 18.75em;
    height: 18.75em;
    margin: 0 auto 0 -1%;
}
	
.teacher-comment .txt {
    width: fit-content;
}
.teacher-comment dl {
    margin: 6em auto;
    max-width: 1050px;
}

section.overview .txt dt {
    font-size: 1.25em;
}
section.overview .flex .img {
    margin: -11em auto 5em 0;
    width: 21em;
}
section.overview .txt {
    width: calc(82%);
    text-align: justify;
    font-size: 1em;
    margin: 0 6%;
}

section.overview .flex .txt {
    width: calc(82% - 21em);
}
header.search_active + main .main-content .c-key_bg_sub_lg.arrow:after {
    border-width: 4em calc(50vw - 15em) 0px calc(50vw - 15em);
}

nav.navigation {
    margin: 0 auto;
    top: 0;
    padding: 1.5em 0;
    background: rgba(255,255,255,0.5);
}
nav.navigation ul {
    border-top: 2px solid;
    border-bottom: 2px solid;
    max-width: 1500px;
    margin: 0 auto;
    background: #fff;
    width: 50%;
    transform: translateX(2em);
}
nav.navigation li {
    border-right: 2px solid;
}
nav.navigation a {
    font-size: 1.125em;
}
	
}
@media (min-width: 1200px) {
  html > body {
    font-size: 1em;
  }
}
/*  共通 終了  */

/*  ヘッダー・フッター type1 開始  */
header.type1 {
  margin: 1.875em 2em;
}
header.type1 .logo a {
  width: 3.5em;
  display: block;
}
header.type1 .logo img {
  width: 100%;
  display: block;
}
header.type1 .menu {
    width: 4.375em;
    height: 4.375em;
    border-radius: 0 0 0 50%;
    overflow: hidden;
    position: fixed;
    top: 0;
    right: 0;
    pointer-events: all;
}
header.type1 .menu button.search_btn {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    box-sizing: border-box;
    background: transparent!important;
}
header.type1 .menu button.search_btn span {
    height: 2px;
    display: block;
    background: #fff;
    width: 44%;
    border-radius: 1em;
    transform: translate(-50%, -50%);
    transition: 0.2s all;
    position: absolute;
    top: 62%;
    left: 54%;
}
header.type1 .menu button.search_btn span:nth-child(1) {
    top: 27%;
}
header.type1 .menu button.search_btn span:nth-child(2) {
    top: 45%;
}
header.type1 .menu button.search_btn.active{
    background:  #eef101!important
}
header.type1 .menu button.search_btn.active span {
    background: #666;
    width: 44%;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    top: 50%!important;
}
header.type1 .menu button.search_btn.active span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(-45deg);
}
header.type1 .menu button.search_btn.active span:nth-child(2) {
    left: 120%;
    transform: translate(-50%,-50%);
    opacity: 0;
}
footer ul.icon.flex li {
  width: 5.625em;
  height: 5.625em;
  margin: 0 4em;
  filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.6));
  position: relative;
}
footer ul.icon.flex > li > * {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 1em;
  background-color: transparent!important;
  transition: 0.2s;
  border: 0.125em solid #fff;
  border-radius: 50%;
}
footer ul.icon.flex > li > p.home_pic {
    position: absolute;
    left: 50%;
    top: -6.6em;
    transform: translateX(-50%);
    z-index: 1;
    height: auto;
    padding: 1.8em 1.1em;
    width: 10em;
    filter: none!important;
    border-radius: 0;
    border: 0;
    pointer-events: none;
    display: none;
    font-size: 1em;
    line-height: 1.3;
    background: url(../img/home_pic_bg_sp.webp) no-repeat center bottom/contain;
    /* visibility: visible!important; */
    /* opacity: 1!important; */
}
footer ul.icon.flex > li > p.home_pic span {
    background: #eef101;
    display: flex;
    padding: 0.3em 0.5em;
    align-items: center;
    line-height: 1.2;
}
footer ul.icon.flex > li > p.home_pic span:before {
    content: '';
    display: block;
    width: 1.2em;
    height: 2.2em;
    background: url(../img/excl_icon.svg) no-repeat center/contain;
    margin: 0 0.5em 0 0.2em;
}
.home footer ul.icon.flex > li > p.home_pic {
    display: block;
    animation: fadeOut 1s ease forwards;
    animation-delay: 10s;
}
/* アニメーション定義 */
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
.search_active p.home_pic {
    opacity: 0!important;
}

footer ul.icon.flex li img {
  width: 100%;
  height: 5.625em;
}
footer ul.icon.flex {
  align-items: center;
  justify-content: center;
}
footer.search_active {
  background: #fff;
}
footer.search_active .app-menu,
.search-word footer.type1 nav.app-menu,
.search-results footer.type1 nav.app-menu {
  background-color: #808080;
  padding: 4.2em 2.5em 4.3em;
  box-sizing: border-box;
  bottom: 0!important;
}
footer.search_active nav.app-menu {
  background-color: #808080;
}
footer.search_active section, footer.type1.search_active .key,footer.search_active  article.search > dl {
  display: block!important;
}
footer.type1 section, footer article.search section, footer .app-menu, footer.type1 .key,footer article.search > dl {
  display: none;
}
footer.type1 > section {
  padding-bottom: 16.5em;
}
footer.type1,footer.search_active {
  position: fixed;
  top: 0;
  z-index: 7;
  height: 100svh;
  pointer-events: none;
  width: 100vw;
  padding-bottom: 15em;
}
footer.type1 section.content.right .document {
    width: 85%;
    margin: 0 auto auto;
}
footer.type1 section.content.right .document ul {
    gap: 0.5em;
    width: 100%;
}
footer.type1 section.content.right .document ul li {
    width: calc((100% - 0.5em)/2);
}
footer.type1 section.content.right .document a {
    font-size: 0.4375em;
    color: #fff;
    display: block;
    padding: 2em;
    text-align: center;
    border-radius: 1em;
    background: #005038;
    font-weight: 500;
    letter-spacing: 0.2em;
}
footer.type1 section.content.right .document a.doc {
    color: #005038;
    background: #fff;
}
footer.type1 section.content.right .document a .icon {
    width: 2em;
    height: 2em;
    display: block;
}
footer.type1 section.content.right .document a p {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1em;
    flex-direction: row-reverse;
}

footer .app-menu, footer.search_active .app-menu {
  left: 0;
  bottom: 4.3em;
  top: auto;
  z-index: 9;
  position: fixed;
  width: 100%;
  pointer-events: all;
  display: block;
}
footer section.content .home-course-list {
    display: none;
}
footer section.content .sns {
    margin: 2.5em 2em 3.5em;
    box-sizing: border-box;
}
footer section.content .sns li {
    border: 1px solid;
    border-right: none;
    width: calc(100%/4);
    font-size: 1.375em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}
footer section.content .sns li img {
    width: 3em;
}
footer section.content .sns li:last-child, footer.type2 section.content .sns li:last-child {
    border-right: 1px solid!important;
}
footer section.content .sns li a {
    display: flex;
    padding: 1em 0;
    width: 100%;
    justify-content: center;
}
footer section.content .contact li {
    width: calc(100%/3);
    box-sizing: border-box;
    border-right: 2px solid  #fff;
    font-size: 1.375em;
}
footer section.content .contact li:last-child {
    border-right: 0;
}
footer section.content .contact li a {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    align-items: center;
    padding: 2em 1em;
    box-sizing: border-box;
    background-color: transparent!important;
    transition: 0.2s filter;
}
footer section.content .contact li a:hover {
    filter: invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0%) contrast(100%);
}
footer section.content .contact li a .icon {
    width: 3em;
    display: block;
}
footer section.content .contact li a .txt {
    display: block;
    width: 100%;
    text-align: center;
    color: #666666;
    font-size: 1.27em;
    margin-top: 0em;
}
footer section.content .logo {
    width: 36.875em;
    margin: 3em auto 0em;
}
footer section.content .txt {
    font-size: 1.5em;
    text-align: center;
    line-height: 2;
}
footer section.content .txt .tel,
footer section.content .txt .fax {
    font-weight: 500;
    margin: 0 0.5em;
}
a.policy {
    color: #999999;
    margin: 1em auto;
    padding-bottom: 0.3em;
    border-bottom: 2px solid;
    background: transparent;
}
footer section.content .txt p {
    margin-bottom: 2em;
}
.copy {
    color: #999999;
    text-align: center;
    margin: 3em auto 1.5em;
    font-size: 1.5em;
}
footer .float {
    display: none;
}
footer.type2 .float {
	display: block;
	position: fixed;
	bottom: 1em;
	width: 4.375em;
	height: 4.375em;
	right: 1.8em;
	z-index: 9;
}
footer.type2 .float button#backToTop {
    display: block;
    width: 100%;
    background: transparent!important;
}
footer.search_active .app-menu .key .icon {
    width: 3.45em;
    display: inline-block;
    filter: invert(55%) sepia(0%) saturate(1060%) hue-rotate(264deg) brightness(92%) contrast(78%);
}
footer.search_active .app-menu .key {
    position: absolute;
    top: -1.7em;
    font-size: 1.375em;
    display: flex!important;
    flex-wrap: wrap;
    align-items: center;
    padding-right: 2em;
    box-sizing: border-box;
    color: #000;
}
.search-word footer.search_active .app-menu .key {
    display: none!important;
}

@media (max-width: 750px) {
footer.type1 section.content, footer.search_active section.content {
    padding-bottom: 17em;
}
div#content footer .app-menu {
    z-index: 999;
    position: absolute;
    display: none;
}
div#content footer.search_active .app-menu {
    position: fixed;
    display: block;
}
#content footer.type1 {
    left: 0;
    box-sizing: border-box;
}
	footer.type1 section.content.right {
    padding: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 999;
    width: 100%;
    display: block;
    pointer-events: all;
}
footer.type1.search_active section.content.right {
    display: none!important;
}
footer.type1 section.content.right .document {
    margin: 2em auto;
    width: 93%;
}
footer.type1 section.content.right .document a {
    font-size: 0.975em;
    padding: 0.8em;
}
}
@media (min-width: 751px) {
header.type1 .logo a {
    width: 17.5em;
    transition: 0s!important;
}
header.type1 {
    margin: 1em;
    transition: 0.2s with;
}
header.type1 .logo img {
    transition: 0s!important;
    min-height: 4em;
}

footer section {
    width: 29%;
    padding: 0!important;
    height: calc(100vh);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    pointer-events: all;
    transition: 0.2s width;
}
    section.first-layered, section.second-layered {
    margin-top: 0!important;
}
 footer.type1 section.content {
    position: fixed;
    top: 0;
    left: 0;
    display: flex!important;
}
footer.type1 section.content.right {
    left: auto;
    right: 0;
    justify-content: center;
    align-items: center;
}
.home footer section.content .home-course-list {
    display: block;
}


footer section.content .sns li img {
    width: 2.5em;
}
footer section.content .sns li {
    font-size: 1em;
}
footer section.content .contact li {
    width: calc(100% / 2 - 2em);
    border: none;
    font-size: 1em;
    margin: 1em;
}
footer section.content .contact li a .txt {
    font-size: 0.625em;
    margin-top: 0.1em;
    font-weight: 500;
    word-break: break-all;
}
footer section.content .contact li a .icon {
    width: 2.5em;
}
footer section.content .contact li:first-child {
    order: 1;
    width: 100%;
}
footer section.content .contact li:first-child .icon {
    display: none;
}
footer section.content .contact {
    width: 55%;
    margin: 0 auto;
}
footer section.content .contact li a {
    padding: 0;
}
footer section.content .contact li:first-child .txt .pc {
    display: inline;
}
footer section.content .contact li:first-child .txt {
    font-size: 1em;
}
footer section.content .sns,footer section.content .home-course-list {
    width: 85%;
    margin: 0 auto 1em;
}
footer section.content .home-course-list .btn_type03 {
    justify-content: space-between;
    margin-bottom: 2em;
}
footer section.content .home-course-list .btn_type03 li {
    border: none;
    border-bottom: 0.15em solid #333;
    padding: 0.4em 0;
    width: calc(100% / 2 - 0.5%);
    margin-bottom: 0;
    font-size: 0.45em;
    min-height: 6em;
}
footer section.content .home-course-list .btn_type03 li a {
    padding: 0 1.5em 0 0.8em;
}
footer section.content .home-course-list .btn_type03 li a::after {
    right: 0em;
}
footer.type1 section.content .sns {
    width: 3.5em;
    gap: 2rem 0;
    margin: 0 auto 5em;
}
footer.type1 section.content .sns li {
    border: 0!important;
    background: #fff;
    border-radius: 50%;
    aspect-ratio: 1/1;
    width: 100%;
    overflow: hidden;
}
footer.type1 section.content .sns li a {
    padding: 0.5em;
}
footer.type1 .copy {
    font-size: 0.625em;
    margin: auto auto 3em;
    width: 100%;
    padding: 0 3em;
    box-sizing: border-box;
}
.home footer.type1 section.content .links {
    margin-top: 25vh;
}
footer.type1 section.content.right .links {
    margin-top: auto;
}
footer.type1 section.content .links {
    margin-top: 35vh;
}

footer ul.icon.flex {
    height: 100%;
    flex-wrap: wrap;
    width: 3.75em;
    margin: 0 auto;
}
footer ul.icon.flex li {
    width: 3.75em;
    height: 3.75em;
    margin: 40% auto;
    transition: 0.2s filter;
    filter: none;
}
footer ul.icon.flex > li > * {
    filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) contrast(50%);
    border-width: 1px;
}
footer ul.icon.flex > li > p.home_pic {
    left: -274%;
    top: 47%;
    transform: translateY(-50%);
    height: auto;
    width: 11em;
    font-size: 0.725em;
}
footer ul.icon.flex > li > p.home_pic span {
   padding: 0.6em 0.5em 0.3em;
}
footer ul.icon.flex > li > p.home_pic span:before {
   margin: 0 0.6em;
}
footer ul.icon.flex > li > p.home_pic {
    background: url(../img/home_pic_bg.webp) no-repeat center bottom / contain;
    padding: 0.8em 1.6em;
}
footer ul.icon.flex li:hover > * {
    filter: invert(50%) sepia(56%) saturate(3548%) hue-rotate(338deg);
}
footer ul.icon.flex li img {
    height: auto;
    transition: 0s!important;
}
footer .app-menu {
    top: 50%;
    transform: translateY(-50%);
    bottom: auto;
    right: 0;
    left: auto;
    width: 29%;
    display: none;
}


footer.type1.search_active {
    background: none;
    pointer-events: none;
    width: 100%;
}
footer.search_active nav.app-menu {
    width: 3.65em;
    padding: 0;/*0 0 5em!important;*/
    height: fit-content;
    border-radius: 1em 0 0 1em;
    overflow: hidden;
    pointer-events: all;
    background-color: #808080!important;
    left: auto;
    top: 50%;
}
footer.search_active nav.app-menu ul.icon.flex {
    margin: 1em auto;
    height: auto;
}
.search-word footer.search_active .app-menu,
    .search-results footer.search_active .app-menu {
    background-color: #808080;
}
.search-word footer.search_active .app-menu {
    padding: 0!important;
}
footer.search_active nav.app-menu ul.icon.flex li {
    margin: 1em auto;
    font-size: 0.675em;
}
footer.search_active nav.app-menu ul.icon.flex li > * {
    filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.6));
}
footer.search_active .app-menu .key {
    padding: 0.5em;
    text-align: center;
    font-size: 0.625em;
    justify-content: center;
    top: auto;
    bottom: 0;
    font-weight: 700;
    line-height: 1.2;
    padding-bottom: 1.5em;
}
footer.search_active section.content {
    height: 100%;
    width: 22%;
}
  
}
/*  ヘッダー・フッター  type1 終了  */


/*  ヘッダー・フッター type2 開始  */
header.type2 {
    width: 100%;
    transition: 0s all!important;
    pointer-events: none;
}
header.type2 .logo {
    background: #fff;
    width: 100%;
    pointer-events: all;
}
header.type2 .logo a {
    width: 33.125em;
    display: block;
}
header.type2 .menu {
    width: 4.375em;
    height: 4.375em;
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    right: 1.8em;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: all;
}
header.type2 .menu button.search_btn {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    box-sizing: border-box;
    background: #666;
}
header.type2 .menu button.search_btn:hover {
    background: #666!important;
}
header.type2 .menu button.search_btn span {
    height: 0.25em;
    display: block;
    background: #fff;
    width: 44%;
    border-radius: 1em;
    transform: translate(-50%, -50%);
    transition: 0.2s all;
    position: absolute;
    top: 67%;
    left: 52%;
}
header.type2 .menu button.search_btn span:nth-child(1) {
    width: 22%;
    top: 33%;
    left: 43%;
}
header.type2 .menu button.search_btn span:nth-child(2) {
    width: 33%;
    top: 50%;
    left: 47%;
    background: #fff!important;
}
header.type2 .menu button.search_btn.active{
    background:  #eef101!important
}
header.type2 .menu button.search_btn.active span {
    background: #666;
    width: 44%;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    top: 50%!important;
}
header.type2 .menu button.search_btn.active span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(-45deg);
}
header.type2 .menu button.search_btn.active span:nth-child(2) {
    left: 120%;
    transform: translate(-50%,-50%);
    opacity: 0;
}
footer.type2 section.content.right {
    display: none!important;
}
header.type2 + * {
    margin-top: 6.875em;
    display: block;
    width: 100%;
    transition: 0.2s width;
}
footer.type2 .app-menu {
    display: none;
}
footer.type2.search_active .app-menu {
    display: block;
}

@media (max-width: 750px) {
header.type2.search_active {
    min-height: 6.825em;
    max-height: 100%;
    padding: 0;
}
header.type2 .menu {
    top: 1.2em;
    transform: translateY(0);
}
}
@media (min-width: 751px) {
header.type2 .logo {
    width: fit-content;
    max-width: 320px;
    border-radius: 0 0 3em 0;
}
header.type2 .logo a {
    width: 17.5em;
    padding: 0.5em 1.5em 0.5em 1em;
}
header.type2 + * {
    margin-top: 0;
}
    
header.type2 .menu {
    width: 2.5em;
    height: 2.5em;
    right: 1.8em;
    top: 1.8em;
    transform: translateY(0);
}
header.type2 .menu button.search_btn {
    background: #333;
}
header.type2 .menu button.search_btn span {
    height: 3px;
    top: 67%;
}
header.type2 .menu button.search_btn span:nth-child(1) {
    top: 33%;
}
    
header.type2.search_active {
    max-width: 600px;
}
header.type2.search_active + *,
footer.type2.search_active section.content,
footer.type2.search_active .sitemap {
    width: calc(100% - 600px);
    margin: 0;
    }
    
header.type2.search_active + * .fv.poppins {
    font-size: 0.9vw;
}

footer.type2.search_active {
    height: auto;
    padding-bottom: 0;
}
footer.type2 article.search {
    position: fixed;
    max-width: 600px;
}
footer.type2 {
    position: relative;
}
footer.type2 section.content {
    height: auto;
    padding: 2em!important;
    justify-content: space-between;
    width: 90%;
    margin: 0 auto;
    max-width: 2400px;
    display: flex!important;
    box-sizing: border-box;
}
footer.type2 .copy {
    width: 100%;
    order: 3;
    font-size: 0.625em;
    margin-bottom: 0;
}
footer.type2 .float {
    width: 2.5em;
    height: 2.5em;
}
footer.type2 section.content .links {
    order: 2;
    display: flex;
    flex-wrap: wrap;
    width: 50%;
    max-width: 500px;
}
footer.type2 section.content .sp {
    display: block!important;
    width: 50%;
}
footer.type2 section.content .sp .txt {
    text-align: left;
    font-size: 0.8125em;
    margin-left: 1em;
}

footer section.content .logo {
    margin: 0 0 1em;
    width: 24.375em;
}

footer section.content .txt p {
    margin-bottom: 1em;
}
footer section.content .txt .tel, footer section.content .txt .fax {
    margin-left: 0;
}
footer.type2 section.content .sns {
    order: 2;
    width: 100%;
    justify-content: center;
}
footer.type2 section.content .contact {
    background: transparent;
    margin-bottom: 1em;
}
footer.type2 section.content .contact li:first-child {
    display: none;
}
footer.type2 section.content .sns li {
    width: calc(100% / 4);
    border: 1px solid!important;
    border-right: none!important;
    max-width: 4.625em;
}
}

@media screen and (min-width:751px) and (max-width:1666px) {
header.type2.search_active + *,
footer.type2.search_active section.content,
footer.type2.search_active .sitemap {
    width: 64%;
}
 }
/*  ヘッダー・フッター type2 終了  */



/* 検索ページ 開始  */
header.search_active .logo a,.search-results header.type1 .logo a {
  width: 33.125em;
  transition: 0s 0.1s width;
}
header.search_active {
  margin: 0 0;
  padding: 0.5em;
  transition: 0s 0.1s all;
  max-height: 6.125em;
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  z-index: 8!important;
}
header.search_active + main {
    overflow-x: hidden;
}
article.search {
  width: 100vw;
  position: relative;
  right: -100%;
  transition: 0.2s right;
  z-index: 8;
  top: 0;
}
article.search.active {
  right: 0%;
}
main article.search.active {
    margin-top: 2em;
    margin-bottom: -4em;
}
article.search {
  margin-top: 6.125em;
}
footer article.search section {
    width: 100%;
    height: auto;
}
section.first-layered,section.second-layered {
    padding-top: 6.125em;
    margin-top: -6.125em;
}
article.search ul.btn_type01.flex li, article.search ul.btn_type02.flex li,.search ul.btn_type04.flex li {
    filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.3));
    will-change: filter;
}
article.search ul.btn_type01.flex li {
  font-size: 1.3em;
  width: calc(100%/3 - 2%);
  margin-bottom: 4%;
  text-align: center;
}
article.search ul.btn_type01.flex {
  justify-content: space-between;
  padding: 2.5em 2em 1.5em;
}
article.search ul.btn_type01.flex li .lrg {
  font-size: 1.33em;
  line-height: 1.3em;
}
article.search.active a {
  position: relative;
}
article.search ul.btn_type01.flex li a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  min-height: 7.2em;
  padding: 0.8em 0.3em 2.7em;
  box-sizing: border-box;
  background: #fff;
  border-radius: 0.3em;
  overflow: hidden;
  font-weight: 700;
}
article.search ul.btn_type01.flex li:nth-child(odd) a {
  color: #2390E1;
}
article.search ul.btn_type01.flex li:nth-child(even) a {
  color: #fe633c;
}
article.search ul.btn_type01.flex li:nth-child(odd) a:after {
  background-color: #1f90e0 !important;
}
article.search ul.btn_type01.flex li:nth-child(even) a:after {
  background-color: #fe633c !important;
}
article.search ul.btn_type01.flex li a:after {
  bottom: 0.9em;
}
article.search ul.btn_type02.flex, article.search ul.btn_type03.flex {
  padding: 2.5em 2em 0;
  justify-content: space-between;
}

article.search ul.btn_type03.flex + ul.pikc-up02 {
    padding-top: 0;
}
article.search ul.btn_type03.flex {
    padding-bottom: 2.5em;
}
article.search ul.btn_type02.flex li, ul.btn_type03.flex li {
  width: calc(100% / 2 - 3%);
  font-size: 1.5em;
}
article.search ul.btn_type02.flex li {
  text-align: center;
}
article.search ul.btn_type02.flex li:nth-child(even) > * {
  font-size: 1em;
}
article.search ul.btn_type02.flex li > * {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 1em 1em 1em 0.5em;
  box-sizing: border-box;
  line-height: 1.5;
  border-radius: 0.727em;
  overflow: hidden;
}
article.search ul.btn_type02.flex li > * .icon {
  width: 3em;
  display: block;
  margin: 0 auto 0.5em;
  transform: translateX(0.5em);
  transition: 0.2s filter;
}
article.search ul.btn_type02.flex li > *:after {
  display: none;
}
article.search ul.btn_type02.flex li > * p .txt:after {
  right: -1.7em;
  top: 50%;
  transform: translateY(-50%);
  width: 1.18em !important;
  height: 1.18em !important;
}
article.search ul.btn_type02.flex li > * p .txt {
  position: relative;
}
article.search ul.btn_type02.flex li > * .txt {
  min-height: 2.5em;
  display: flex;
  align-items: center;
}
ul.btn_type03.flex li button {
  font-size: 1em;
}
ul.btn_type03.flex li a, article.search ul.btn_type03.flex button {
  padding: 0.7em 2.5em 0.7em 1.5em;
  box-sizing: border-box;
  width: 100%;
  text-align: left;
  display: flex;
  height: 100%;
  align-items: center;
  color: #000;
  position: relative;
  line-height: 1.5;
}
ul.btn_type03.flex li {
  margin-bottom: 2%;
  min-height: 4.3em;
  border: 0.15em solid #333;
}
ul.btn_type03.flex li.full {
    width: 100%;
}
.menu_wrap ul.btn_type03.flex li.full.course {
    text-align: center;
    margin: 0.5em auto;
}
.menu_wrap ul.btn_type03.flex li.full.course a {
    justify-content: center;
    letter-spacing: 0.7em;
    font-weight: 600;
}
.menu_wrap ul.btn_type03.flex li.full.course a p {
    font-size: 1.4em;
    margin-left: 1.4em;
    margin-bottom: -0.2em;
}
.menu_wrap ul.btn_type03.flex li.full.course a p:after {
    content: '';
    width: 2em;
    height: 2em;
    display: inline-block;
    vertical-align: middle;
    background: url(../img/search_icon2.svg) no-repeat center/contain;
    margin-left: 0.2em;
    margin-right: -2.2em;
    margin-top: -0.3em;
}
.link_type02 ul.btn_type03.flex {
    justify-content: space-between;
}

.menu_wrap {
  height: auto;
  position: relative;
}
.view_off {
  opacity: 0;
  height: 0;
  /* transition: opacity 0.5s ease, visibility 0.5s ease; */
  overflow: hidden;
}
.second-layered .menu_wrap.view_off .slide {
  right: -100%;
}
.second-layered .menu_wrap .slide {
  right: 0;
  position: relative;
  top: 0;
  transition: 0.2s right;
  background: #fff;
  width: 100%;
}
.second-layered .menu_wrap .slide button.back {
  padding-left: 1em;
  margin: 1.5em 2em -0.9em;
  font-size: 1.5em;
  display: block;
  position: relative;
  background-color: transparent!important;
  color: #000;
}
.second-layered .menu_wrap .slide button.back:before {
  content: '';
  display: block;
  width: 0.6em;
  height: 0.6em;
  border-top: 0.2em solid;
  border-left: 0.2em solid;
  border-color: #333;
  position: absolute;
  left: 0;
  top: 50%;
  transform: rotate(-45deg) translateY(-50%);
  transition: 0.2s left;
}
.second-layered .menu_wrap .slide button.back:hover:before {
    left: -0.2em;
}

main .search.sp {
    margin: 5em 0;
}
.search ul.btn_type04.flex li {
  width: 50%;
  text-align: center;
}
.search ul.btn_type04.flex li a {
  display: block;
  color: #fff;
  width: 100%;
  padding: 1.5em 1em;
  text-align: left;
}
.search ul.btn_type04.flex li {
  display: flex;
  box-sizing: border-box;
  font-size: 1.5em;
  line-height: 1.5;
}
.search ul.btn_type04.flex li:first-child {
  border-right: 2px solid #fff;
}
article.search ul.btn_type04.flex {
  padding: 2em 0 1.5em;
}
.search ul.btn_type04.flex li a p {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.search ul.btn_type04.flex li .icon {
  width: 3em;
  margin-right: 1.5em;
  margin-left: -3em;
}
article.search dl.topics,article.search dl.news-list {
    padding: 2.5em 2em;
    pointer-events: all;
}
article.search dl.topics > dt, article.search dl.news-list > dt {
    font-size: 1.625em;
    margin-bottom: 1em;
    padding-top: 1.5em;
    position: relative;
    z-index: 1;
}
article.search dl.topics > dt:before, article.search dl.news-list > dt:before {
    content: attr(data-title);
    font-size: 2.9em;
    font-weight: 500;
    color: #F9F6F6;
    position: absolute;
    right: 0;
    line-height: 1;
    bottom: -0.2em;
    font-family: "poppins";
    z-index: -1;
}
article.search dl.news-list > dt a {
    padding: 0.3em 0.5em;
    background: #000;
    font-size: 0.92em;
    color: #fff;
    display: inline-block;
    margin: 0 0.6em;
}
article.search dl.topics .flex a,article.search dl.topics .flex img {
    display: block;
    width: 100%;
}
article.search dl.topics .flex li {
    margin-bottom: 4%;
}
article.search dl.topics .flex.col1 li {
    width: 100%;
}
article.search dl.topics .flex.col2 li {
    width: calc(100%/2 - 2%);
    margin-right: 4%;
}
article.search dl.topics .flex.col3 li {
    width: calc(100% / 3 - 2.7%);
    margin-right: 4%;
}
article.search dl.topics .flex.col3 li:nth-child(3n),article.search dl.topics .flex.col2 li:nth-child(2n) {
    margin-right: 0;
}
article.search dl.news-list .swiper {
    padding-top: 4em;
    margin-top: -2.2em;
}
/* 前へ次への矢印カスタマイズ */
.slide .swiper-button-prev::after,
.slide .swiper-button-next::after {
  content: "";
  position: absolute;
  width: 1.5em;
  height: 1.5em;
  background: no-repeat center / contain;
  background-image: url(../img/arrow_icon01.svg);
  font-size: 1.8em;
  filter: invert(100%) sepia(0%) saturate(100%) hue-rotate(100deg) brightness(100%) contrast(100%);
  border: 1px solid #fff;
  border-radius: 50%;
  right: 0;
  top: 0;
  cursor: pointer;
  transition: 0.2s filter;
}
/* 次への矢印カスタマイズ */
.slide .swiper-button-prev::after {transform: scale(-1,1);right: 2.8em;}
.news-list .slide .thumbnail {
    height: 9.75em;
    background: #ededed;
}


.news-list .slide .thumbnail img {
    height: 100%;
    object-fit: cover;
}
.news-list .slide .swiper-slide > * {
    text-align: left;
    width: 100%;
}
.news-list .slide .days {
    color: #666;
    margin: 0.5em 0;
}
.news-list .slide .days,.news-list .slide .title {
    font-size: 1.5em;
    line-height: 1.2;
}
.news-list .slide .title {
    font-weight: 700;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.news-list .slide .swiper-slide > a {
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}
.news-list .slide .swiper-slide {
    position: relative;
    transition: 0.2s color;
}
.news-list .slide .swiper-slide:hover {
    color: #fe5226;
}
.slide .swiper-button-prev:hover::after, .slide .swiper-button-next:hover::after {
	filter: invert(70%) sepia(49%) saturate(2987%) hue-rotate(346deg) brightness(100%) contrast(100%);
}



.search-word main, .search-results main {
    background: #fff;
}
.search-word main {
    z-index: 6;
    position: relative;
}
.search-word main dl.category {
    padding: 2em;
}
.search-word main dl.category dt {
    font-size: 1.375em;
    width: 100%;
    margin: 1em auto;
}
.search-word main dl.category dd {
    font-size: 1.5em;
    margin: 0 2% 2% 0;
}
.search-word main dl.category dd,.search-word main dl.category dd a,.search-word main dl.category dd button {
    color: #333;
}
.search-word main dl.category dd a,.search-word main dl.category dd button {
    padding: 0.5em 0.5em;
    border: 1px solid #d8d6d7;
    display: block;
    width: fit-content;
    line-height: unset;
    font-size: 1em;
}
.search_btn_wrap button.backpage {
    position: absolute;
    left: 1em;
    top: 1.8em;
    font-weight: 500;
    font-size: 1.7em;
    z-index: 1;
    background: transparent!important;
}

.search-results header.type1 {
    padding: 0.5em 2em;
    box-sizing: border-box;
    background: #fff;
    margin: 0 auto;
    width: 100%;
}
.search-results main {
    min-height: 100svh;
}
.search-results .results {
    padding: 0em 2em 2em;
    margin-top: 5.8em;
}

@media (max-width: 750px) {
.search-word footer.type1 section.content,
.search-results footer.type1 section.content {
    display: block;
    position: relative;
}
.search-word footer.type1 section.content {
    padding-bottom: 15em;
}
.search-word footer.type1, .search-results footer.type1 {
    position: relative;
    pointer-events: all;
    background: #fff;
    overflow: auto;
    box-sizing: border-box;
    height: auto;
    padding-bottom: 0;
}
.search-word footer.type1.search_active, .search-results footer.type1.search_active {
    position: fixed;
    height: 100svh;
}
.search-word header.type1 {
    z-index: 6;
}
    footer.search_active {
    pointer-events: all;
    overflow-y: scroll;
}
}

@media (min-width: 751px) {
  
header.search_active {
    width: 36%;
    right: 0;
    left: auto;
    font-size: 1em;
    margin: 0;
    padding: 1.1em 0.5em;
    max-width: calc(600px);/*calc(600px + 4.4%)*/
}
header.search_active .logo a {
    width: 20em;
    padding: 0;
}
header.type1 .menu button.search_btn {
    background: #fff!important;
}
header.type1 .menu button.search_btn span {
    background: #000;
}
header.type1 .menu button.search_btn:hover {
    background: #666!important;
}
article.search {
    pointer-events: all;
    position: absolute;
    box-sizing: border-box;
    width: 36%;
    max-width: calc(600px);
    overflow: scroll;
    filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.1));
    background: #fff;
    height: 100vh;
}

article.search ul.btn_type01.flex li,
article.search ul.btn_type02.flex li,
ul.btn_type03.flex li {
    font-size: 0.75em;
    line-height: 1.2;
}
article.search ul.btn_type01.flex {
    padding: 1.5em 1.5em 0.7em;
    padding-right: 20%;
}
article.search ul.btn_type02.flex,
article.search ul.btn_type03.flex {
    padding: 1.4em 1.4em 0px;
    padding-right: 20%;
}
article.search ul.btn_type02.flex {
    /* padding-top: 0; */
}
  .search ul.btn_type04.flex li {
    font-size: 0.75em;
}
article.search ul.btn_type04.flex {
    padding: 2em 1.5em 1.5em;
    padding-right: 20%;flex-wrap: wrap;
}
.search ul.btn_type04.flex li {
    width: 100%;
    border: none!important;
    margin: 0 auto 1.3em;
}
.second-layered .menu_wrap .slide button.back {
    font-size: 0.875em;
}
footer article.search section.document {
    padding-bottom: 7em!important;
}
.search-word footer.type1 nav.app-menu,
.search-results footer.type1 nav.app-menu {
    background: transparent;
}
.search-word main {
    height: 100svh;
    overflow: scroll;
}
.search-btn_wtap {
    position:relative
}
.search_btn_wrap button.backpage {
    font-size: 1em;
    left: 3em;
}
.search-word main dl.category dt {
    font-size: 0.875em;
}
.search-word main dl.category dd {
    font-size: 0.875em;
    margin: 0 1% 1% 0;
}

.search-results header.type1 .logo a {
    width: 18.125em;
}
.search-results header.type1 {
    width: 42%;
    margin: 0 auto;
    right: 0;
    left: 0!important;
    max-width: 100%;
    transition: 0.2s  all;
}
.search-results .results {
    margin-top: 5em;
}
.search-results article.search > *:first-child {
    margin: 0;
}
.search-results  article.search ul.btn_type01.flex {
    padding-top: 6.125em;
}
.search-results article.search {
    margin-top: 0;
}
article.search ul.btn_type03.flex {
    padding-bottom: 1.4em;
}
.menu_wrap ul.btn_type03.flex li.full.course {
    margin: 1em auto;
}
article.search dl.topics, article.search dl.news-list {
    padding: 1.4em 1.4em;
    padding-right: 20%;
}
article.search dl.topics > dt:before, article.search dl.news-list > dt:before {
    font-size: 1.9em;
    bottom: -0.3em;
}
article.search dl.topics > dt, article.search dl.news-list > dt {
    padding-top: 0.8em;
}
article.search dl.news-list > dt a {
    font-size: 0.52em;
    display: block;
    margin: 0.8em 0 0;
    width: fit-content;
}
.news-list .slide .thumbnail {
    height: 7em;
}
.news-list .slide .days, .news-list .slide .title {
    font-size: 0.875em;
}
article.search dl.news-list .swiper {
    padding-top: 2.8em;
    margin-top: -2.1em;
}

.slide .swiper-button-prev::after, .slide .swiper-button-next::after {
	width: 0.875em;
	height: 0.875em;
	}

main ul.btn_type03.flex {
    max-width: 30.625em;
    margin: 0 auto;
}
main ul.btn_type03.flex li {
    font-size: 1em;
}
.main-content > .link_type02.inner {
    margin: 5em auto;
}
}

@media screen and (min-width:751px) and (max-width:1000px) {
footer.search_active section.content .contact {
    width: 80%;
}
article.search ul.btn_type01.flex li,
article.search ul.btn_type02.flex li,
ul.btn_type03.flex li {
    width: 100%;
    margin: 0.5em;
}
article.search ul.btn_type01.flex li {
    width: calc(100%/2 - 1em);
}
footer section.content .sns li {
    width: calc(100%/2);
}
footer section.content .sns li:first-child,
footer section.content .sns li:nth-child(2) {
    border-bottom: none;
}
footer section.content .sns li:nth-child(2) {
    border-right: 1px solid;
}
footer section.content .home-course-list .btn_type03 li {
    width: 100%;
    font-size: 0.75em;
    min-height: 2em;
}
 .home footer.type1 section.content .links {
        margin-top: auto;
 }
footer.type1 section.content.right .document ul li {
    width: 100%;
}
}
/* 検索ページ 終了  */

/* swiper 共通 開始  */
.swiper-container {
  padding-bottom: 20px;
}
.swiper-slide:first-child.swiper-slide-thumb-active ~ .Tabs__presentation-slider {
  transform: translateX(0) scaleX(calc(100%/3));
}
.swiper-slide:nth-child(2).swiper-slide-thumb-active ~ .Tabs__presentation-slider {
  transform: translateX(calc(100%/3)) scaleX(calc(100%/3));
}
.swiper-slide:nth-child(3).swiper-slide-thumb-active ~ .Tabs__presentation-slider {
  transform: translateX(calc(100%/1.5)) scaleX(calc(100%/3));
}
nav.view-type li.Tabs__presentation-slider {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50%;
  height: 100%;
  transform-origin: 0 0;
  transition: transform 0.25s;
  background: #4d4d4d;
  z-index: 0;
  border-radius: 2em;
}
.auto-view .swiper-wrapper{
    transition-timing-function: linear;
}
.swiper-wrapper {
    height: 100%!important;
}
.swiper-slide {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  transition-property: transform, opacity;
}
.swiper-slide img {
  height: auto;
  width: 100%;
}
.swiper.full {
  height: 100svh;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.swiper.full img,.swiper.full video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.swiper.full video {
	position: relative;
	z-index: -1;
}
span.swiper-pagination-bullet {
  width: 0.5em;
  height: 0.5em;
  display: flex;
  background: #fff;
  border-radius: 2em;
  margin: 0.6em 0;
  transition: 0.2s height;
}
.swiper-pagination {
  width: fit-content;
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
  margin: auto 1em;
  right: 0;
  filter: drop-shadow(0 0.1em 0.4em rgba(0, 0, 0, 0.2));
}
span.swiper-pagination-bullet.swiper-pagination-bullet-active {
  height: 2em;
}
nav.view-type {
    width: 88%;
    margin: 1em auto;
    background: #ededed;
    border-radius: 2em;
    overflow: hidden;
    max-width: 50em;
}
nav.view-type li {
    z-index: 1;
    font-size: 1.5em;
    padding: 0.5em;
    box-sizing: border-box;
    color: #7a7a7a;
    transition: 0.2s color;
    cursor: pointer;
}
nav.view-type li.swiper-slide-thumb-active {
    color: #fff;
}

.column02 .swiper-slide:nth-child(1).swiper-slide-thumb-active ~ .Tabs__presentation-slider {
    transform: translateX(0) scaleX(calc(100%));
}
.column02 .swiper-slide:nth-child(2).swiper-slide-thumb-active ~ .Tabs__presentation-slider {
    transform: translateX(calc(100%)) scaleX(calc(100%));
}
.view-content {
  position: relative;
}
.view-content .swiper-slide,.view-content .swiper-slide .tab-type .swiper-slide {
    pointer-events: none;
}
.view-content .swiper-slide.swiper-slide-active, .view-content .swiper-slide.swiper-slide-active .tab-type .swiper-slide {
    pointer-events: all;
}
.tab-type .swiper-slide {
    pointer-events: all;
}
.fade-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white; /* ホワイトオーバーレイの背景色 */
  opacity: 0;
  transition: opacity 0.2s; /* フェードのトランジション時間 */
  pointer-events: none; /* クリックを無視 */
  z-index: 1; /* コンテンツよりも上に */
}


nav.tab-type {
    width: 88%;
    margin: 0 auto -0.2em;
}
nav.tab-type li {
    font-size: 2.125em;
    line-height: 1.5;
    padding: 0.6em;
    box-sizing: border-box;
    background: #999;
    color: #fff;
}
nav.tab-type li.swiper-slide-thumb-active {
    background: #fff;
    border: 0.1em solid;
    border-bottom: 0;
    color: #000;
}
.tab-content {
    border-top: 0.2em solid;
    padding: 6% 0;
}
.tab-content > .swiper-wrapper > .swiper-slide {
    pointer-events: none;
    height: 0;
    overflow: hidden;
}
.tab-content > .swiper-wrapper > .swiper-slide-active {
    pointer-events: all;
    height: auto;
}


.type-list {
		width: 95%;
		margin: 0 auto;
}
.type-list  .swiper-slide {
  width: auto;
  font-size: 1.5em;
  padding: 0.4em 1.2em;
  border: 0.1em solid #D8D6D7;
  box-sizing: border-box;
  border-radius: 3em;
  line-height: 1.5;
  cursor: pointer;
  transition: 0.2s background;
  margin: 0.5em;
}
nav.type-list.column03.course {
    width: 100%;
    max-width: 50em;
}
nav.type-list.column03.course  .swiper-slide {
    margin: 0.5em 0.2em;
}
nav.type-list.column04  .swiper-slide {
    width: calc(100%/4 - 1%);
    margin: 1% 0.5%;
    padding: 0.4em 0.5em;
    text-align: center;
}
.type-list .swiper-wrapper {
    flex-wrap: wrap;
    justify-content: center;
}
nav.type-list.column02 .swiper-wrapper {
    justify-content: flex-start;
}
.type-list .swiper-slide.swiper-slide-thumb-active,.type-list .swiper-slide:hover {
    background: #EEF101;
}
.type-content .swiper-slide {
    display: block;
    margin-top: 3.5em;
    height: 0;
}
.type-content .swiper-slide.swiper-slide-active {
    height: auto;
}
.type-content {
    width: 100%;
    overflow: hidden;
}
.type-list.course .swiper-slide.swiper-slide-thumb-active, .type-list.course .swiper-slide:hover {
	color: #fff;
}
nav.type-list.column02 .swiper-slide {
    width: calc(100%/2 - 1em );
    margin: 0.5em;
    padding: 0.4em;
    max-width: 20em;
}
nav.type-list.column02 {
    width: 100%;
}

@media (min-width: 751px) {
nav.view-type {
    margin: 5em auto 2em;
}
nav.view-type li {
    font-size: 1em;
}
.view-content {
    margin-bottom: 5em;
}
nav.tab-type li {
    font-size: 1.5em;
}
nav.tab-type {
    max-width: 28.75em;
}
.tab-content {
    padding: 1% 0;
}

.type-list .swiper-slide {
    font-size: 0.875em;
}
}
/*  swiper 共通 終了  */

/*  ローディング画面 開始  */
#loadingScreen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100svh;
  background-color: rgba(255, 255, 255, 1);
  z-index: 1000;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
#loadingScreen.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
#content {
  opacity: 0;
  transition: opacity 0.5s ease;
  min-height: 100svh;
}
#content.visible {
  opacity: 1;
  background: #f3eeee;
}
#loadingScreen .txt {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
  background: rgba(255, 255, 255, 1);
  padding: 1em;
  height: 6vh;
  min-height: 9.4em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-weight: 600;
  justify-content: flex-end;
  box-sizing: border-box;
}
#loadingScreen .txt .title {
  color: #a3a3a3;
  font-size: 6em;
  line-height: 1;
  /* transform: translateX(1.5%); */
  text-align: center;
}
#loadingScreen .txt .title .name {
  color: #1a1a1a;
  font-size: 0.3em;
  text-align: right;
  display: block;
  transform: translateX(-1.8%);
}
#loadingScreen .logo span {
  width: 30.25em;
  margin: 1% 0 0 auto;
  display: block;
}
#loadingScreen > img {
  height: 100%;
  object-fit: cover;
  object-position: 50% 0%;
  animation: moveRight 5s infinite cubic-bezier(0.25, 0.1, 0.1, 0.98);
  min-width: 1000px;
}
@keyframes scaleUp {
  0% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
 @keyframes scaleUp_pc {
  0% {
    transform: scale(1.05) translateX(-50%);
  }
  100% {
    transform: scale(1.1) translateX(-50%);
  }
}
@keyframes scaleDown {
  0% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes scaleDown_pc {
  0% {
    transform: scale(1.05) translateX(-50%);
  }
  100% {
    transform: scale(1) translateX(-50%);
  }
}
@keyframes moveRight {
  0% {
    transform: translateX(0%);
  }
  50% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(-50%);
  }
}


@media (min-width: 751px) {
  #loadingScreen > img {
    animation: scaleUp_pc 5s infinite cubic-bezier(0.25, 0.1, 0.1, 0.98);
    position: relative;
    transform-origin: 2% center;
    height: 100%;
    width: 100%;
    left: 50vw;
    top: 2%;
  }
  #loadingScreen .txt .title {
    font-size: 4.125em;
    text-align: right;
    max-width: 90%;
    margin-right: 4%;
  }
  #loadingScreen {
    overflow: hidden;
  }
  #loadingScreen .txt {
    min-height: 4.5em;
    height: 6vh;
    padding: 0.6em 0;
    flex-wrap: wrap;
  }
  #loadingScreen .txt .title .name {
    transform: translateX(-0.7%);
  }
  #loadingScreen .logo span {
    width: 14.375em;
    margin: 0 3% 0 auto;
  }
  #loadingScreen .logo {
    max-width: 100%;
    margin: 0 auto;
    width: 100%;
  }
}
/*  ローディング画面 終了  */

/*  TOP 開始  */
.home .curriculum-type {
  position: absolute;
  z-index: 2;
  width: 100%;
  top: 6em;
}
.home .curriculum-type ul {
  width: 100%;
  justify-content: space-evenly;
}
.home nav.curriculum-type .swiper-wrapper li.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
}
.home nav.curriculum-type .swiper-wrapper li.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2.6em;
  cursor: pointer;
  position: relative;
  z-index: 1;
  color: #fff;
  width: calc(100%/3 - 5%) !important;
  filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 1));
  font-size: 1.5em;
}
.home nav.curriculum-type .swiper-wrapper li.swiper-slide:after {
    content: '';
    display: block;
    width: 0;
    border-bottom: solid 1px #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    transition: 0.2s width;
}
.home nav.curriculum-type .swiper-wrapper li.swiper-slide:nth-child(4) {
  border: none;
}
.home nav.curriculum-type .swiper-wrapper li.swiper-slide.swiper-slide-thumb-active:after {
  width: 4rem;
}
.curriculum-content {
    position: relative;
}

.curriculum-content .swiper-wrapper.list .swiper-slide > *.shadow:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background: rgb(26,26,26);
    background: linear-gradient(180deg, rgba(26,26,26,1) 0%, rgba(128,128,128,0) 20%, rgba(128,128,128,0) 80%, rgba(26,26,26,1) 100%);
    opacity: 0.3;
    pointer-events: none;
}

.home .slider-top .swiper-slide {
  position: relative;
  background: #ededed;
}
.home .slider-top .swiper-slide a {
    display: block;
    width: 100%;
    height: 100%;
    background: transparent!important;
    position: relative;
}

.home .slider-top .swiper-slide a.dot:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    pointer-events: none;
    /*background-color: rgba(0,0,0,0.2);*/
    background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
    background-size: 0.25em 0.25em;
    background-position: 0 0, 0.125em 0.125em;
    z-index: 1;
}
.home .slider-top .swiper-slide .title {
  position: absolute;
  bottom: 10em;
  right: 3.125em;
  color: #fff;
  filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, 1));
  z-index: 7;
}
.home .slider-top .swiper-slide .title.black {
    filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(326deg) brightness(97%) contrast(104%) drop-shadow(2px 2px 2px rgba(255, 255, 255, 1));
}
.home .slider-top .swiper-slide .title h2 {
  font-size: 3.0875em;/*2.1875em*/
  text-align: right;
  line-height: 1.3;
}
.home .slider-top .swiper-slide .title .check {
  font-size: 1.875em;
  display: block;
  width: fit-content;
  margin: 0.7em 0 0 auto;
  font-family: "poppins";
  position: relative;
}
.home .slider-top .swiper-slide .title .check:after {
  content: '';
  width: 0.75em;
  height: 0.75em;
  border: 0.075em solid #fff;
  margin-left: 0.5em;
  display: inline-block;
  vertical-align: middle;
  border-radius: 50%;
  background: url(../img/arrow_icon01.svg) no-repeat center/contain;
}
.swiper.full .kv img {
    transform: scale(1.1);
    transform-origin: top center;
}
@media (min-width: 751px) {
.home main, .search-word main, .search-results main {
    width: 42%;
    overflow: hidden;
    margin: 0 auto;
    transition: 0.2s transform;
}
.home header.search_active + main, .search-word header.search_active + main, .search-results header.search_active + main,.search-results header.type1.search_active {
    transform: translateX(-16.8%);
}
.home nav.curriculum-type .swiper-wrapper li.swiper-slide {
    font-size: 0.875em;
    width: calc(100% / 3 - 8%) !important;
}
.home .curriculum-type {
    top: 2em;
    width: 65%;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.home .slider-top .swiper-slide .title {
    bottom: 2.375em;
    right: 2.375em;
}
.home .slider-top .swiper-slide .title h2 {
    font-size: 2.25em;
    letter-spacing: 0.1em;
    line-height: 1.5;
}
.home .slider-top .swiper-slide .title .check {
    font-size: 2em;
    margin: 0.5em 0 0 auto;
}
  }



/*  FV デザイン開始  */
.fv.type02 .title {
    padding: 3.5em 9em;
    padding-right: 1em;
    border-radius: 7em 0 0;
    height: 32em;
    box-sizing: border-box;
    width: 88%;
    margin: 0 0 0 auto;
}
.fv.type02 h1 {
    font-size: 3em;
    line-height: 1.6;
    font-weight: 500;
    color: #fff;
    position: relative;
}
.fv.type02 .title.c-key_bg_sub_y h1 {
    color: #666;
}
.fv.type02 h1:after {
    content: attr(data-title);
    display: block;
    font-size: 0.5em;
}
.fv.type02 .sub {
    width: 80%;
    height: 25.72em;
    background: #ededed no-repeat center/cover;
    border-radius: 0 25em 25em 0;
    margin-top: -19em;
}
.fv.type02 h1 .sm {
    font-size: 0.54em;
    display: block;
}
.fv.type02 .sub.c-key_bg_sub_y {
    background: none;
    background-image: none!important;
    background-color: #eef101;
    width: fit-content;
    height: auto;
    padding: 3em 4em;
    box-sizing: border-box;
    margin: -12em 0 0 auto;
}
.fv.type02 .sub.c-key_bg_sub_y p {
    font-size: 3.875em;
    line-height: 1.1;
}
.fv.type02 .sub.c-key_bg_sub_y p .sm {
    font-size: 0.42em;
    display: block;
}
.fv.type02 .sub + .sub {
    border-radius: 25em 0  0 25em;
}


.fv.type03 {
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(0deg, transparent, transparent 0.3em, rgba(238, 241, 1, 1) 0.3em, rgba(238, 241, 1, 1) 0.5em);
    position: relative;
}
.fv.type03 h1 {
    font-size: 1.875em;
    line-height: 1.5;
    width: 45%;
    border-radius: 0 10em 10em 0;
    display: flex;
    flex-wrap: wrap;
    height: 12.6em;
    align-items: center;
    box-sizing: border-box;
    padding: 2em;
    position: relative;
    z-index: 1;
}
.fv.type03 h1:before {
    content: attr(data-title);
    color: #CAC701;
    font-size: 0.8em;
    width: 90%;
}
.fv.type03 h1 .title {
    margin: 0em 0 auto;
    display: block;
}
.fv.type03 .sub {
    width: 64%;
    height: 100%;
    background: #ededed no-repeat center 10%/cover;
    position: absolute;
    right: 0;
    top: 0;
    border-radius: 20em 0 0 20em;
}


.fv.type04 {
    height: calc(100svh - 6.875em);
    overflow: hidden;
    position: relative;
    min-height: 60em;
    max-height: 1000px;
    background: no-repeat center top / cover;
}
.fv.type04 h1 {
    font-size: 3em;
    line-height: 1.8;
    position: absolute;
    color: #333;
    left: 1.25em;
    top: 1.875em;
    z-index: 1;
    height: calc(100svh - 13.475em);
    min-height: 9em;
    max-height: calc(1000px - 11.075em);
}
.fv.type04 h1:after {
    content: attr(data-title);
    font-size: 1.2em;
    font-weight: 500;
    color: #666;
    position: absolute;
    left: 0;
    bottom: 0;
}
.fv.type04 div.sub {
    position: absolute;
    width: 94%;
    height: 25.5em;
    bottom: 9em;
    right: 0;
    border-radius: 15em 0 0 15em;
    overflow: hidden;
    background: no-repeat center/cover;
}
.fv.type04:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #eef101;
    mix-blend-mode: hard-light;
    opacity: 0.85;
}



.fv.type05 {
    position: relative;
    margin-bottom: 5em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    height: 21em;
}
.fv.type05:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: no-repeat center/100%;
    position: absolute;
    left: 0;
    top: 0;
}
.fv.type05:after {
    content: '';
    display: block;
    width: 94%;
    height: 2.625em;
    position: absolute;
    right: 0;
    bottom: -2.625em;
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(0deg, transparent, transparent 0.3em, rgba(238, 241, 1, 1) 0.3em, rgba(238, 241, 1, 1) 0.5em );
}
.fv.type05 h1 {
    font-size: 2.5em;
    text-align: center;
    line-height: 1.5;
    color: #4d4d4d;
    padding: 1em;
    width: 100%;
    margin-bottom: 1em;
}


.fv.type06 {
    width: 96%;
    display: flex;
    height: 18.75em;
    align-items: center;
    box-sizing: border-box;
    padding: 3em;
    position: relative;
    margin-bottom: 4em;
}
.fv.type06:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 2em;
    top: 2em;
    background-size: auto auto;
    background-color: rgba(77, 77, 77, 1);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.35em, rgba(51, 51, 51, 1) 0.35em, rgba(51, 51, 51, 1) 0.7em );
    z-index: -1;
}
.fv.type06 h1,.fv.type06 > p.title {
    font-size: 3.125em;
    color: #808080;
    line-height: 1.5;
    font-weight: 500;
    border-bottom: 0.05em solid;
    padding-bottom: 0.1em;
    width: 88%;
    position: relative;
}
.fv.type06.c-key_bg h1 {
    color: #fff;
}
.fv.type06 h1:before,.fv.type06 > p.title:before {
    content: attr(data-title);
    display: block;
    font-size: 0.5em;
    color: #808080;
    padding-left: 1.5em;
    margin-bottom: 0.5em;
}
.fv.type06 h1 .sm {
    display: block;
    font-size: 0.5em;
    padding-left: 1.5em;
    margin-bottom: 0.5em;
    margin-top: -0.5em;
}
.fv.type06 h1:after,.fv.type06 > p.title:after {
    content: '';
    display: block;
    width: 0.2em;
    font-size: 0.5em;
    height: 1.4em;
    border-left: 0.3em solid;
    border-right: 0.3em solid;
    transform: skewX(-28deg);
    position: absolute;
    left: 0.1em;
    top: 0;
}
.fv.type06.c-key_bg_or h1, .fv.type06.c-key_bg_or h1:before,.fv.type06.c-key_bg_or > p, .fv.type06.c-key_bg_or > p:before {
    color: #fff;
}

@media (min-width: 751px) {
.fv.type02 {
    margin-top: 6.875em;
}
.fv.type02 h1 {
    font-size: 2.75em;
}
.fv.type02 h1:after {
    font-size: 0.45em;
}
.fv.type02 .sub {
    width: 66%;
    height: 22.5em;
    max-width: 1400px;
}
.fv.type02 .title {
    width: 70%;
}
.fv.type02 .sub.c-key_bg_sub_y {
    padding: 2.5em 3em;
    padding-right: 30%;
    margin: -9.3em 0 0 auto;
}
.fv.type02 .sub.c-key_bg_sub_y p {
    font-size: 2.75em;
}
.fv.type02 .sub.c-key_bg_sub_y p .sm {
    font-size: 0.4em;
}

.fv.type03 h1 {
    font-size: 2.5em;
    width: 47.5%;
    padding-left: 6%;
    height: 11.2em;
}
.fv.type03 h1:before {
    font-size: 0.5em;
}
.fv.type03 {
    margin-top: 6.35em;
}
.fv.type03 .sub {
    width: 60%;
}
	
.fv.type04 h1 {
    font-size: 2.75em;
    width: calc(100% - 1.25em);
    height: auto;
    left: 1.25em;
}
.fv.type04 {
    height: 34.375em;
    min-height: 100%;
    max-height: 100%;
    overflow: visible;
    background-image: url(../img/interview/iv_fv.webp);
}
.fv.type04 div.sub {
    max-width: 35.375em;
    width: 62%;
    height: 24em;
    bottom: -3.125em;
    background-image: url(../img/interview/iv_fv_sub.webp);
}
.fv.type04 h1:after {
    right: 6.9em;
    left: auto;
    font-size: 1.06em;
    bottom: 3.6em;
}
	
.fv.type05:before {
    background-size: 46.875em;
}	
	
header.type2.search_active + main h1:after {
    right: 4.8em;
}

.fv.type06 {
    margin-top: 6.875em;
    width: 90%;
    padding-left: 6%;
}
.fv.type06 h1,.fv.type06 > p.title {
    font-size: 2.75em;
}

}
@media (min-width:1350px) {
header.type2.search_active + main h1:after {
    right: 6.9em;
}
}


.fv.type07 {
    height: 19.5em;
    overflow: hidden;
    position: relative;
    background: no-repeat center top / cover;
}
.fv.type07:before,.fv.type07:after {
    content: '';
    display: block;
    width: 100%;
    position: absolute;
    left: 0;
    opacity: 1;
}
.fv.type07:before {
    height: 100%;
    top: 0;
    background: #675298;
    mix-blend-mode: hard-light;
}
.fv.type07:after {
    height: 50%;
    bottom: 0;
    background: #436ADC;
    mix-blend-mode: color;
}
.fv.type07 h1,.fv.type07 p {
    font-size: 2.5em;
    letter-spacing: 0.3em;
    line-height: 1.8;
    position: absolute;
    color: #fff;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%,-50%);
    font-weight: 600;
}


@media (min-width: 751px) {
.fv.type07 {
    height: 34.375em;
}
.fv.type07 h1,.fv.type07 p {
    letter-spacing: 0;
    font-size: 2.625em;
}
}

.fv.type08 {
    height: 58.75em;
    background: no-repeat center top/cover;
}
.fv.type08 h1 {
    font-size: 2.275em;
    line-height: 1.6;
    font-weight: 500;
    margin: 1em 1.1em;
    position: relative;
}
.fv.type08 h1 .name {
    /* border-bottom: 0.05em solid #ccc; */
    padding: 0.1em 0;
}
.fv.type08 h1 .name span.dec {
    font-weight: 900;
    color: #fff;
    text-shadow: 0.02em  0.02em 0 #000,
      -0.02em  0.02em 0 #000,
       0.02em -0.02em 0 #000,
      -0.02em -0.02em 0 #000,
       0.02em  0 0 #000,
       0  0.02em 0 #000,
      -0.02em  0 0 #000,
       0 -0.02em 0 #000;
    position: relative;
    margin: 0 0.1em;
    font-size: 1.2em;
    padding: 0 0.02em;
}
.fv.type08 h1 .name span.dec.en {
    font-size: 1.33em;
}
.fv.type08 h1 .name span.dec:after {
    content: attr(data-text);
    display: block;
    text-shadow: none;
    color: #eef101;
    position: absolute;
    z-index: 1;
    width: 100%;
    left: 0;
    top: 0;
    mix-blend-mode: multiply;
    padding: 0 0.06em;
    text-align: center;
}

@media (min-width: 751px) {
.fv.type08 {
    height: 39.375em;
    overflow: hidden;
    font-size: 1.33vw;
}
.fv.type08 h1 {
    font-size: 1.5em;
    margin-left: 5.4em;
    margin-top: 4.4em;
}
}
/*  FV デザイン 終了  */


/*  タイトル デザイン 開始  */

/* 学科産学連携 タイトル */	
h2.type01 {
    font-size: 3.25em;
    line-height: 1.5;
    font-weight: 500;
    padding: 2em 0 1em;
    margin-top: -2.7em;
    margin-bottom: 1em;
}
h2.type01 .sm {
    font-size: 0.67em;
    background: #fff;
    padding: 0.1em 0.5em;
    display: block;
    width: fit-content;
    position: relative;
    margin-left: 1.6em;
}
h2.type01 .c-key_bg {
    color: #fff;
    padding: 3em 0.1em 1em 1em;
    background: #000;
}

/* 学科 右角丸 タイトル */	
h2.type02, .course section.point h2.type02 {
    font-size: 2.5em;
    color: #fff;
    line-height: 1.5;
    padding: 0.5em 1.2em;
    display: flex;
    min-height: 5em;
    margin: -1.7em 0 1em;
    width: 85%;
    border-radius: 0 5em 5em 0;
    box-sizing: border-box;
    font-weight: 700;
    flex-wrap: wrap;
    align-items: center;
}
h2.type02 .sm {
    display: block;
    width: 100%;
    font-size: 0.75em;
    margin-bottom: 0.4em;
}

/* タイトル下線 線幅固定  */
h2.type03,h3.type02-2 {
    font-size: 2.125em;
    text-align: center;
    padding-bottom: 1em;
    margin: 2em auto;
    position: relative;
    width: 100%;
    line-height: 1.5;
}
h2.type03:after,h3.type02-2:after {
    content: '';
    display: block;
    width: 4em;
    height: 0;
    border-bottom: 0.15em solid;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    position: absolute;
}
h2.type03.data:before {
    content: attr(data-title);
    display: block;
}
h2.type03.data:before,h2.type03 .sm {
    font-size: 0.76em;
}

/* タイトル線 中央揃え　白  */
h2.type04 {
    text-align: center;
    border: 0.05em solid;
    padding: 0.5em;
    font-size: 2.375em;
    margin: 0.8em auto 1em;
    line-height: 1.5;
    letter-spacing: 0.03em;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
h2.type04 .sm {
    font-size: 0.73em;
    margin-right: 0.3em;
}

/* タイトル 下線 右に装飾文字あり  */
h2.type05 {
    font-size: 2.1875em;
    padding-bottom: 1em;
    border-bottom: 0.28em solid #D6D7DA;
    margin-bottom: 1em;
    position: relative;
    line-height: 1.5;
}
h2.type05:after {
    content: attr(data-title);
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    color: #D6D7DA;
}

/* 上記のタイトル 下線オレンジ 右に装飾文字無し  */
h2.type05-2 {
    text-align: center;
    width: fit-content;
    margin: 1em auto 2.5em;
    border-color: #FE5226;
    padding-bottom: 1em;
}
main.blue h2.type05-2 {
    border-color: #5DBBBB;
}

/* タイトル 背景 左右に▼  */
h2.type06 {
    text-align: center;
    width: 100%;
    font-size: 1.875em;
    line-height: 1.5;
    color: #fff;
    padding: 1.5em;
    margin-top: 1.5em;
}
h2.type06 .sm {
    display: block;
    font-size: 0.8em;
    font-weight: 400;
    margin-top: 0.5em;
}
h2.type06 .arrow {
    position: relative;
    padding: 0 1.4em;
}
h2.type06 .arrow:before,h2.type06 .arrow:after,h3.type04.arrow:before,h3.type04.arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
    border-width: 0.7em 0.5em 0px 0.5em;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
h2.type06 .arrow:before,h3.type04.arrow:before {
    left: 0;
}
h2.type06 .arrow:after,h3.type04.arrow:after {
    right: 0;
}

/* タイトル 背景左右別に角丸 */

h2.type07 {
    width: 100%;
    font-size: 2.25em;
    display: flex;
    flex-wrap: wrap;
    margin: 3em auto 0;
    position: relative;
    font-weight: 600;
    z-index: 1;
}
h2.type07 > span {
    padding: 0.8em 1.6em;
    display: block;
    width: 52%;
    box-sizing: border-box;
    line-height: 1.2;
}
h2.type07 > span.left {
    position: relative;
    z-index: 1;
    margin-right: -4%;
    text-align: right;
    border-radius: 0 2em 2em 0;
    padding-left: 1em;
}
h2.type07 > span.right {
    color: #fff;
    border-radius: 2em 0 0 2em;
    padding-right: 1em;
}
h2.type07:after {
    content: '';
    display: block;
    width: 100%;
    height: 1.5em;
    background-size: auto auto;
    background-image: repeating-linear-gradient(0deg, transparent, transparent 0.15em, rgba(238, 241, 1, 1) 0.15em, rgba(238, 241, 1, 1) 0.3em);
    margin-top: -0.5em;
    z-index: -1;
}


h3.type01 {
    font-size: 2.5em;
    line-height: 1.5;
    padding: 1.2em 1em;
    padding-left: 5em;
    width: 78%;
    box-sizing: border-box;
    position: relative;
    margin-top: 3em;
}
h3.type01.c-key_bg_sub_g {
    color: #fff;
}

h3.type01:before {
    content: '';
    display: block;
    width: 2.5em;
    height: 2.5em;
    background: no-repeat center/contain;
    position: absolute;
    top: 50%;
    left: 1.25em;
    transform: translateY(-50%);
}

/* タイトル下線 線幅 文字基準  */
h3.type02 {
    font-size: 2.125em;
    text-align: center;
    padding: 0.7em 0.5em;
    width: fit-content;
    margin: 0 auto 1em;
    border-bottom: 0.1em solid;
    letter-spacing: 0.2em;
    position: relative;
    line-height: 1.3;
}
h3.type02:before {
   content: attr(data-title);
   display: block;
   font-size: 2.7em;
   letter-spacing: 0;
   position: absolute;
   top: -1.1em;
   left: -2.8em;
   font-family: 'Poppins';
   font-weight: 500;
   color: #F5F1F1;
   mix-blend-mode: multiply;
   line-height: 1;
}
h3.type02-2.arrow:after {
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #4A4A4A transparent transparent transparent;
    border-width: 1.2em 0.5em 0px 0.5em;
}
h3.type02-2.arrow {
    padding-bottom: 1.9em;
    margin-bottom: 1em;
}

/* 学科　POINTタイトル等 背景  */
h3.type03 {
    font-size: 2.1875em;
    line-height: 1.6;
    font-weight: 500;
    text-align: justify;
    margin: 1.8em auto;
    margin-left: 1em;
}

/* リンクボタン上 タイトル 左線  */
h3.type04 {
    font-size: 1.875em;
    line-height: 1.8;
    padding-left: 0.5em;
    border-left: 0.2em solid;
    margin-bottom: 1em;
    font-weight: 500;
}
/* リンクボタン上 タイトル 左右▼  */
h3.type04.arrow {
    border: none;
    text-align: center;
    width: fit-content;
    margin: 0 auto;
    padding: 0 1.4em;
    position: relative;
}

h3.type05 {
    font-size: 1.75em;
    text-align: center;
    line-height: 1.5;
    padding: 0.6em;
    margin: 1.5em auto 1em;
    font-weight: 500;
}



/* 学科 vision タイトル */
h4.type01 {
    font-size: 1.75em;
    line-height: 1.5;
    padding-bottom: 1.6em;
    margin: 1em 0;
    text-align: center;
    border-bottom: 0.25em solid;
    width: 100%;
    position: relative;
    box-sizing: border-box;
}
h4.type01 span,h5.type01.c-key span {
    color: #000;
}
h4.type01:before {
    content: attr(data-title);
    display: block;
    font-size: 1.035em;
    margin-bottom: 0.8em;
}
h4.type01:after {
    content: '';
    display: block;
    width: 50%;
    height: 0.25em;
    position: absolute;
    left: 0;
    bottom: -0.25em;
    background: #5F5F5F;
}

/* 学科 カリキュラム表上 */	
h5.type01 {
    font-size: 1.5em;
    border-left: 0.15em solid;
    padding: 0.5em 0.8em;
    margin: 1em auto 0.6em;
}

@media (min-width: 751px) {

/* 学科産学連携 タイトル */	
h2.type01 .sm {
    font-size: 0.53em;
}
h2.type01 {
    width: 88%;
    margin: -4.8em auto 1em;
}
/* 学科 右角丸 タイトル */	
h2.type02, .course section.point h2.type02 {
    font-size: 1.875em;
    width: 50%;
    padding-left: 6%;
}
	
h2.type03 {
    font-size: 1.5em;
    padding-bottom: 1em;
}
h2.type03:after {
    border-bottom: 0.12em solid;
}
	
h2.type04 {
    font-size: 1.5em;
    width: fit-content;
    padding: 0.5em 2.4em;
}
	
h2.type05 {
    font-size: 1.5em;
}
	
h2.type06 {
    font-size: 1.3125em;
}

h2.type07 {
    font-size: 1.5em;
}
h2.type07 > span.left {
    margin-right: -2%;
}
h2.type07 > span {
    width: 51%;
    padding: 0.8em 3%;
}
h2.type07:after {
    margin-bottom: -0.2em;
}
	
	
h3.type01 {
    width: 43%;
    min-width: 14.875em;
}
h3.type02-2 {
    font-size: 1.25em;
}
h3.type03 {
    font-size: 1.375em;
    margin: -2em 0  0;
    padding-right: 26%;
}
h3.type02 {
    font-size: 1.75em;
}
h3.type04 {
    font-size: 1.25em;
    border-left-width: 0.15em;
    max-width: 400px;
    margin: 0 auto 1em;
    box-sizing: border-box;
    width: 20em;
}
section.link .item.full .flex  h3.type04 {
    width: 100%;
    /* max-width: 100%; */
    max-width: 850px;
}
	
h3.type05 {
    font-size: 1.125em;
}




h4.type01 {
    font-size: 1.25em;
}

h5.type01 {
    font-size: 1.125em;
}
}
/*  タイトル デザイン 終了  */


/*  ボタン デザイン 開始  */
.btn a {
    margin: 2em auto;
    display: block;
}
.btn a:hover {
    background: transparent!important;
    transform: scale(1.03);
}
.btn a p.sub.bubble {
    font-size: 1.75em;
    color: #000;
    line-height: 1.2em;
    padding: 0.7em;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
    margin-bottom: 0.6em;
    position: relative;
    font-weight: 600;
}
.btn a p.sub.bubble:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #eef101 transparent transparent transparent;
    border-width: 0.7em 0.5em 0px 0.5em;
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    bottom: -0.6em;
}

a.download:after {
    width: 1.9em!important;
    height: 1.9em!important;
    background-image: url(../img/download_icon.svg)!important;
}
a.download:hover:after {
    top: 58%!important;
}


.btn.flex.arrow a,.btn.flex a.more, .btn_type07 a .icon {
    font-size: 1.5em;
    width: 7.5em;
    background: url(../img/arrow_icon02.svg) no-repeat center  left  / 6.5em!important;
    display: block;
    color: #fe5226!important;
    transition: 0.2s background, 0.2s filter;
    padding-bottom: 1.7em;
    margin: 0 0 0 auto;
}
.btn.flex a.more:hover,.btn_type07 a:hover .icon {
    background-position-x: right!important;
    transform: scale(1);
}


/* 罫線影有り 矢印ボタン */
.btn_type04.arrow a,.btn_type08.arrow a {
    text-align: center;
    color: #000;
    font-size: 1.625em;
    font-weight: 700;
    display: block;
    border: 0.15em solid;
    background-color: #f3f54d!important;
    padding: 1em 3em;
    border-radius: 10em;
    filter: drop-shadow(0.2em 0.2em 0 #000);
    line-height: 1.4;
	position: relative;
	will-change: filter;
}
.btn_type04.arrow a::after,.btn_type08.arrow a::after {
    top: 50%;
    transform: translateY(-50%);
    right: 1em;
    width: 1.4em;
    height: 1.4em;
    background-image: url(../img/arrow_icon01_bg.svg);
}
.btn_type04.arrow a:hover::after,.btn_type08.arrow a:hover::after {
    right: 0.6em;
}
.btn_type04.arrow a.blank:hover::after {
    transform: translateY(-0.8em)!important;
}
.course .btn_type04.none.arrow a {
    background-color: transparent!important;
    filter: none;
    border: none;
    font-size: 1.5em;
    margin: 0.5em auto;
    width: fit-content;
}
.btn_type04.scroll.arrow a::after {
    transform: rotate(90deg) translateX(-50%);
}
.btn_type04.arrow.none a,.btn_type08.arrow.none a {
    filter: none;
}
.btn_type04.arrow a.bottom:after {
    transform: translateY(-50%) rotate(90deg);
    right: 1em;
}
.btn_type04.arrow a.bottom:hover::after {
    top: 60%;
}
.btn_type04.arrow a.c-key_bg_or {
    background-color: #fe5226!important;
    color:  #fff!important;
    border: none;
    filter: drop-shadow(0.3em 0.3em 0 #000);
}
.btn_type04.arrow a.c-key_bg_or:after {
    filter: none;
    background-color: transparent!important;
}

/* 背景画像 矢印ボタン */
.btn_type05.arrow a {
    width: 100%;
    height: 27.125em;
    display: flex;
    flex-wrap: wrap;
    background: no-repeat center/cover!important;
    margin: 0 auto;
    color: #fff!important;
    box-sizing: border-box;
    padding: 4.9em 2em 2em;
    position: relative;
}
.btn_type05.arrow a .main-txt {
    font-size: 7.875em;
    line-height: 1;
    font-weight: 500;
    width: 100%;
    display: block;
    opacity: 0.8;
    margin: 0 0 auto;
    word-break: break-all;
}
.btn_type05.arrow a .sm {
    font-size: 1.625em;
    text-align: right;
    width: 100%;
    padding-right: 3.4em;
    line-height: 1.2;
    height: 2em;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: auto 0 0 0;
}
.btn_type05.arrow a:after {
    width: 3.125em;
    height: 3.125em;
    border: 0.25em solid;
    right: 3.6em;
    bottom: 2.1em;
    box-sizing: border-box;
}
.btn_type05.arrow a.blank:after {
    border: none;
    background-size: 79%;
}
.btn_type05.arrow a.blank:hover:after {
    transform: translateY(-0.2em) translateX(0.2em) !important;
}
.btn_type05.arrow a:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0,0,0,.2);
    opacity: 0;
    transition: 0.2s opacity;
    z-index: 1;
    pointer-events: none;
}
.btn_type05.arrow a:hover:before {
    opacity: 1;
}

.btn_type05.arrow a.facility {
    background-image: url(../img/link/fac_btn.webp)!important;
}
.btn_type05.arrow a.interview {
    background-image: url(../img/link/int_btn.webp)!important;
}
.btn_type05.arrow a.ao-entry {
    background-image: url(../img/link/ao_btn.webp)!important;
}
.btn_type05.arrow a.debut-support {
    background-image: url(../img/link/db_spt_btn.webp)!important;
}
.btn_type05.arrow a.campus-life {
    background-image: url(../img/link/cl_btn.webp)!important;
}
.btn_type05.arrow.check > .sub {
    display: block;
    width: 100%;
}


/* 影有り 矢印ボタン */
.btn_type06.arrow {
    margin: 3.5em auto 0;
    width: 100%;
}
.btn_type06.arrow a {
    text-align: center;
    color: #000;
    font-size: 1.625em;
    font-weight: 500;
    display: block;
    background-color: #F3EEEE!important;
    padding: 1em 3em;
    border-radius: 10em;
    filter: drop-shadow(0.2em 0.2em 0 #808080);
    line-height: 1.4;
    position: relative;
    will-change: filter;
}
.btn_type06.arrow a::after {
    top: 50%;
    transform: translateY(-50%)!important;
    right: 1em;
    width: 1.9em;
    height: 1.15em;
    background-image: url(../img/arrow_icon04.svg);
}

.btn_type06.arrow a:hover::after {
    right: 0.6em;
}
.btn_type06.scroll.arrow a::after {
    transform: rotate(90deg) translateX(-50%);
}
.btn_type06.arrow a.download {
    background-color: #eef101!important;
}
.btn_type06.arrow a.download:hover:after {
    right: 1em;
}
.btn_type06.arrow a.blank::after {
    filter: invert(100%) sepia(0%) saturate(100%) hue-rotate(100deg) brightness(100%) contrast(100%);
}
.btn_type06.arrow a.blank:hover:after,.btn_type08.arrow a.blank:hover::after {
    transform: translateY(-70%) translateX(0.2em)!important;
    right: 1em;
}



/* 斜め背景 矢印ボタン */
.btn_type07 {
	margin: 3em auto;
}
.btn_type07 a:hover {
    transform: scale(1.03);
}
.btn_type07 a .txt {
    font-size: 2em;
    color: #000;
    line-height: 1.5;
    font-weight: 500;
}
.btn_type07 a .txt .sm {
    font-size: 0.8125em;
    display: block;
    margin-top: 0.4em;
    font-weight: 400;
}
.btn_type07 a {
    display: block;
    aspect-ratio: 1/0.45;
    box-sizing: border-box;
    padding: 2em;
    position: relative;
    overflow: hidden;
    z-index: 1;
}
.btn_type07 a:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent #989ba2 transparent;
    border-width: 0px 0px 13em 41.5em;
    border-radius: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    transform: translateX(0em)!important;
}
.btn_type07 a .icon {
    position: absolute;
    right: 1em;
    bottom: 1em;
    filter: invert(0%) sepia(0%) saturate(0%) hue-rotate(219deg) brightness(250%) contrast(100%);
}
.btn_type07 a.more.ao-link {
    background: #F1F327;
}
.btn_type07 a.more.ao-pre-link {
    background: #60E5D1!important;
}
.btn_type07 a:before {
    content: '';
    display: block;
    width: 5.625em;
    aspect-ratio: 1/1;
    background:  no-repeat center/contain;
    position: absolute;
    right: 20%;
    top: 2em;
}
.btn_type07 a.more.ao-link:before {
    background-image: url(../img/admission-entry/ao-link_icon.webp);
}
.btn_type07 a.more.ao-pre-link:before {
    background-image: url(../img/admission-entry/ao-pre-link_icon.webp);
}
.btn_type07 > p.sub {
    text-align: center;
    font-size: 1.625em;
    margin: 1em auto;
    position: relative;
    width: fit-content;
    padding: 0 0.6em;
}
.btn_type07 > p.sub:before,.btn_type07 > p.sub:after {
    content: '';
    display: block;
    width: 0;
    height: 1.4em;
    border-left: 0.1em solid;
    position: absolute;
    top: 50%;
    transform: rotate(-40deg) translateY(-50%);
}
.btn_type07 > p.sub:before {
    left: 0;
}
.btn_type07 > p.sub:after {
    right: 0;
    transform: rotate(40deg) translateY(-50%);
}


.intro .txt .btn.arrow {
    font-size: 1.625em;
    width: fit-content;
    margin: 1.5em 1em 0.5em auto;
}
.arrow a.modal.blank {
    padding-right: 2em;
    position: relative;
    margin: 0 auto;
    min-width: fit-content;
}
.arrow a.modal.blank:after {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%)!important;
}



@media (min-width: 751px) {
.btn a {
    max-width: 500px;
    box-sizing: border-box;
    width: 50%;
    margin: 3em auto;
}
.btn_type04.arrow a,.btn_type08.arrow a {
    font-size: 1.25em;
}

.btn_type05.arrow a .main-txt {
    font-size: 5em;
    line-height: 1;
}
.btn_type05.arrow a .sm {
    font-size: 1.25em;
}
.btn_type05.arrow a:after {
    width: 2.5em;
    height: 2.5em;
    border-width: 2px;
    right: 3.2em;
    bottom: 1.9em;
}
.btn_type05.arrow a {
    height: 18.4375em;
    padding: 2.8em 2em 2em;
}

.btn_type06.arrow {
    max-width: 26.25em;
    margin: 2em auto;
}

.btn_type06.arrow a {
    font-size: 1.25em;
}

.btn_type07 > p.sub {
    font-size: 1em;
}
.btn_type07 a .icon {
    font-size: 1em;
    bottom: 0.5em;
}
.btn_type07 a:before {
    width: 4.6em;
    top: 1.5em;
}

.arrow a.modal.blank {
    padding-right: 2.8em;
}
.arrow a.modal.blank:after {
    width: 2em;
    height: 2em;
    top: 40%;
}
.intro .txt .btn.arrow {
    font-size: 1em;
}

}


section.link .item {
    width: 100%;
    padding: 5.5em;
    box-sizing: border-box;
}
section.link .item h2.type03 {
    margin: 0 auto 1.1em;
    text-align: center;
    display: block;
    width: fit-content;
    font-size: 2.125em;
    line-height: 1.7;
    position: relative;
    padding: 0 3.3em;
    padding-right: 2em;
}
section.link .item h2.type03:after {
    display: none;
}
section.link .item h2.type03 .dot {
    display: block;
    position: relative;
}
section.link .item h2.type03.icon .dot:before {
    width: 0.5em;
    height: 0.5em;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}
section.link .item h3.type04 +p.sub {
    font-size: 1.5em;
    line-height: 1.5em;
    margin: 1em 0;
}
section.link .item.c-key_bg_sub_g02 h3.type04 +p.sub {
    color: #fff;
}
section.link .item h2.type03.icon:before, section.link .item h2.type03.icon .dot:after,section.link .item h2.type03.icon .dot:before {
    content: '';
    display: block;
}
section.link .item h2.type03.icon:before {
    width: 2.9em;
    height: 2.9em;
    background: url(../img/more-link-list_icon.webp) no-repeat center/contain;
    position: absolute;
    left: 0;
    top: 0;
}
section.link .item h2.type03.icon .dot:after {
    width: 0.5em;
    height: 2.1em;
    margin: 0.4em auto 0;
    box-sizing: border-box;
    position: relative;
    background-image: radial-gradient(#ffffff 28%, transparent 28%);
    background-position: 0.5em 0.5em;
    background-size: 0.5em 0.5em;
}
section.link .item.c-key_bg_sub_bk {
    color: #fff;
    padding: 5.5em 0;
    width: 100%;
}
section.link .item.c-key_bg_sub_bk.other {
    padding: 5.5em;
}
section.link .item.c-key_bg_sub_bk.other .flex > * {
    width: 100%;
    margin: 1.5em auto 0;
}
section.link .item.list li .txt {
    font-size: 1.625em;
    line-height: 1.8;
}
section.link .item.list li.btn {
    position: relative;
    margin-bottom: 2em;
    align-items: flex-end;
}
section.link .item.list li.btn:before {
    content: '';
    width: 25em;
    height: 15.625em;
    display: block;
    background: #ededed no-repeat center/cover;
    margin-right: 2em;
}
section.link .item.list li .txt a.more {
    font-size: 1em;
    filter: invert(0%) sepia(90%) saturate(300%) hue-rotate(33deg) brightness(200%) contrast(100%);
    margin-bottom: -1.5em;
    margin-top: 1em;
}
section.link .item.list li.btn.facility:before {
    background-image: url(../img/link/fac_btn02.webp?set2);
}
section.link .item.list li.btn.interview:before {
    background-image: url(../img/link/int_btn02.webp?set2);
}
section.link .item.list li.btn.admission-detail:before {
    background-image: url(../img/link/adm_btn02.webp?set2);
}
section.link .item.list li.btn.debut-results:before {
    background-image: url(../img/link/db_btn02.webp?set2);
}

section.link .item .btn_type05.arrow a .main-txt {
    font-size: 4.375em;
    line-height: 1.16;
}
section.link .item .btn_type05.arrow a {
    height: 20.625em;
    padding: 3.5em 1.3em 2em;
}
section.link .item .btn_type05.arrow a .main-txt.poppins {
    font-size: 5.625em;
    line-height: 1;
}
section.link .item .btn_type05.arrow a:after {
    right: 2.5em;
    bottom: 1.7em;
}
section.link .item .btn_type05.arrow a .sm {
    font-size: 1.5em;
}
section.link .item .btn_type05.arrow a.open-campus.type02 span, section.link .item .btn_type05.arrow a.document span {
    color: #000!important;
}
section.link .item .btn_type05.arrow a.open-campus.type02 .sm {
    padding-right: 57%;
    justify-content: left;
    padding-left: 0;
}
section.link .item .btn_type05.arrow a.open-campus.type02:after {
    right: 16.5em;
    bottom: 1.9em;
}
section.link .item .btn_type05.arrow a.open-campus.type02:after, section.link .item .btn_type05.arrow a.document:after {
    filter: invert(100%) sepia(0%) saturate(100%) hue-rotate(100deg) brightness(100%) contrast(100%);
}
section.link .item .btn_type05.arrow a.document .main-txt {
    text-align: right;
    padding-right: 0.2em;
}
section.link .item .btn_type05.arrow a.open-campus.type02 {
    background-image: url(../img/link/oc_btn02.webp)!important;
}
section.link .item .btn_type05.arrow a.document {
    background-image: url(../img/link/dc_btn.webp?set3)!important;
    height: 18.25em;
    padding: 1.7em 2em 1.8em;
}
section.link .item .btn_type04.arrow a:hover,.btn_type08.arrow a:hover {
    transform: scale(1);
    background-color: #f3f54d!important;
}
section.link .item.c-key_bg_sub_g03 h3.type04 {
    color: #fff;
}
section.link .item .btn_type04.arrow a, .btn_type08.arrow a {
    background: #fff!important;
    margin-bottom: 0;
    width: 100%;
    max-width: 20em;
    margin-top: 1.1em;
    box-sizing: border-box;
    padding: 1em 2.7em;
}
section.link .item .btn_type04.arrow.icon_type a, .btn_type08.arrow a {
    min-height: 4.3em;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.9em;
    position: relative;
    padding: 1em 4em;
    padding-left: 5em;
    height: 100%;
    margin: 0 auto;
}
section.link .item .btn_type04.arrow.icon_type a:before,.btn_type08.arrow.icon_type a:before {
    content: '';
    display: block;
    width: 3.4em;
    aspect-ratio: 1/1;
    position: absolute;
    left: 1.5em;
    top: 50%;
    transform: translateY(-50%);
    background: no-repeat center/contain;
}

.btn_type08.arrow a.scroll:after,.btn_type04.arrow a.scroll:after,section.select-course .list dd a.scroll:after {
    transform: rotate(90deg) translateX(-50%);
    right: 1em;
}
.btn_type08.arrow a.scroll:hover:after, .btn_type04.arrow a.scroll:hover:after   {
    top: 60%;
}
section.link .item .btn_type04.arrow.icon_type a.reco:before,section.link .item .btn_type08.arrow.icon_type a.reco:before {
    background-image: url(../img/admission-entry/reco_icon.webp);
}
section.link .item .btn_type04.arrow.icon_type a.gene:before ,section.link .item .btn_type08.arrow.icon_type a.gene:before {
    background-image: url(../img/admission-entry/gene_icon.webp);
}
section.link .item .btn_type04.arrow.icon_type a.ao:before,section.link .item .btn_type08.arrow.icon_type a.ao:before {
    background-image: url(../img/admission-entry/ao_icon02.webp);
}
section.link .item .btn_type04.arrow.icon_type a.scholar:before,section.link .item .btn_type08.arrow.icon_type a.scholar:before {
    background-image: url(../img/visitors/scholar_icon.webp);
}
section.link .item .btn_type04.arrow.icon_type a.ao-scholar:before,section.link .item .btn_type08.arrow.icon_type a.ao-scholar:before {
    background-image: url(../img/visitors/ao-scholar_icon.webp);
}

.btn_type08.arrow a.download::after {
    filter: none;
    width: 2.5em!important;
    height: 2.5em!important;
    right: 0.5em!important;
}
.btn_type08.arrow.icon_type a.download:before {
    width: auto;
    aspect-ratio: auto;
    content: attr(data-type);
    background: #000;
    display: block;
    position: relative;
    color: #fff;
    order: 2;
    left: 0;
    top: 0;
    transform: translateY(0);
    padding: 0.1em 0.5em;
    border-radius: 0.3em;
    margin-left: 0.5em;
    font-size: 0.92em;
}
.btn_type08.arrow a.download {
    padding: 1em;
    padding-right: 3em;
}
.btn_type08.arrow.icon_type a.download.pdf:before {
    background: #FF0000;
}
.btn_type08.arrow.icon_type a.download.excel:before {
    background: #39b44a;
}


section.link .item .btn_type05.arrow a.consul {
    padding: 0;
    height: auto;
    margin: 3em auto;
}
section.link .item .btn_type05.arrow a.consul::after {
    right: 1.7em;
    bottom: 5.9em;
    border: 0.25em solid;
}
section.question.ao2-5 {
    padding-bottom: 0;
}
section.link .item.more.c-key_bg_bl {
    color: #fff;
    padding: 5.5em 6%;
}
section.link .item.more.c-key_bg_bl h3.type04 {
    text-align: center;
    border: 0;
    font-size: 2.1875em;
    padding: 0;
}
section.link .item.more.c-key_bg_bl h3.type04 .sm {
    font-size: 0.75em;
    display:  block;
}
section.link .item.more .flex > * {
    width: calc(100%/3 - 2%);
    margin: 2% 0;
    margin-right: 3%;
    text-align: center;
    overflow: hidden;
    border-radius: 0.5em;
    filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.3));
    will-change: filter;
    background: #fff;
}
section.link .item.more .flex > *:nth-child(3n) {
    margin-right: 0;
}
section.link .item.more .flex > * a {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    height: 100%;
    width: 100%;
    padding: 1em 0.2em  2.9em;
    box-sizing: border-box;
    font-size: 1.625em;
    line-height: 1.5;
    color: #1F90E0;
    aspect-ratio: 1/1;
    font-weight: 500;
}
section.link .item.more .flex > * a::after {
    background-color: #1F90E0;
    bottom: 1.3em;
    width: 1.3em;
    height: 1.3em;
}
section.link .item.more .flex > * a.blank:hover::after {
    transform: translateY(-0.2em) translateX(0.3em) !important;
    filter: invert(100%) sepia(0%) saturate(100%) hue-rotate(100deg) brightness(100%) contrast(100%)!important;
}
section.link .item.more .flex > * a:hover {
    transform: scale(1);
    background: #eef101!important;
}
section.link .item.more .flex > * a:hover:after {
    background-color: #000;
}

section.link.bg_stripe.c-key_bg_sub_lg h3.type04.arrow:before,section.link.bg_stripe.c-key_bg_sub_lg h3.type04.arrow:after {
    border-color: #000 transparent transparent transparent;
}
section.link.bg_stripe .item {
    padding-top: 2em;
    padding-bottom: 2em;
}
section.link.bg_stripe .item .btn_type04, .btn_type08 {
    width: 100%;
    margin: 1em auto;
}
.link.inner .flex .btn_type04 {
    width: 100%;
}
.link.inner .flex .btn_type04 a {
    margin: 0.7em 0;
}

@media (min-width: 751px) {
section.link .item h2.type03 {
    font-size: 1.25em;
}
section.link .item.list ul.inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1200px;
    margin: 3.5em auto;
}
section.link .item.list li.btn {
    width: calc(100%/2 - 3%);
    flex-wrap: wrap;
    align-items: baseline;
}
section.link .item.list li.btn:before {
    width: 100%;
    margin-right: 0;
    height: 18.725em;
}
section.link .item.list li .txt {
    font-size: 1.12em;
    width: 100%;
    padding: 1.4em 11.5em 1.4em 0;
}
section.link .item.list li .txt a.more {
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0 auto;
}
section.link .item {
    width: 50%;
    box-sizing: border-box;
    padding: 5.5em 6%;
}
section.link .item.full {
    width: 100%;
}
section.link .item h3.type04 +p.sub {
    font-size: 1em;
    margin: 1em auto;
    max-width: 400px;
}
section.link .item.bg_dot > *,section.link .item.bg_dot > * a {
    margin-right: 0!important;
}
section.link .item.c-key_bg_sub_g02 > *,section.link .item.c-key_bg_sub_g02 > * a {
    margin-left: 0!important;
}


section.link .item .btn_type05.arrow a .sm {
    font-size: 1em;
}
section.link .item .btn_type05.arrow a .main-txt.poppins {
    font-size: 4em;
}
section.link .item .btn_type05.arrow a .main-txt {
    font-size: 3.125em;
}
section.link .item .btn_type05.arrow a {
    width: 25em;
    height: 14.375em;
    padding: 2.6em 0.6em 1.2em;
    max-width: 100%;
}
section.link .item .btn_type05.arrow a.open-campus.type02 .sm {
    padding-left: 0.5em;
}
section.link .item .btn_type05.arrow a.document {
    height: 12.75em;
    padding: 1em 1.1em 1em;
}
section.link .item .btn_type05.arrow a.open-campus.type02:after {
    left: 10.5em;
    bottom: 0.9em;
}
section.link .item .btn_type05.arrow a:after {
    right: 1.1em;
    bottom: 0.8em;
}
section.link .item.c-key_bg_sub_bk.other .flex > * {
    width: calc(100%/ 2 - 1%);
    margin: 2em auto;
}
section.link .item.c-key_bg_sub_bk.other .flex {
    max-width: 880px;
    margin: 0 auto;
}

section.link .item.more.c-key_bg_bl h3.type04 {
    font-size: 1.5em;
}
section.link .item.full.more .flex {
    max-width: 800px;
}
section.link .item.full.more.column03 .flex {
    max-width: 36.875em;
}

section.link .item.more .flex > * a {
    font-size: 1.125em;
}
section.link .item.more .flex > * {
    width: calc(100% / 4 - 2%);
    margin-right: 2%;
}
	section.link .item.more.column03 .flex > * {
    min-width: 11.5em;
}
section.link .item.more .flex > *:nth-child(3n),section.link .item.full.more.column03 .flex > *:nth-child(4n)  {
    margin-right: 2%;
}
section.link .item.more .flex > *:nth-child(4n),section.link .item.full.more.column03 .flex > *:nth-child(3n) {
    margin-right: 0;
}

section.link .item .btn_type05.arrow a.consul::after {
    right: 0.9em;
    bottom: 4.2em;
    border-width: 2px;
}
section.link .item.full .flex .btn_type05.arrow {
    margin: 0 2% 5%;
}
section.link .item.full .flex {
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto;
}
	section.link .item.more.full .flex {
    justify-content: flex-start;
}
section.link  .item.c-key_bg_sub_lg.full {
    margin-bottom: 5em;
}
section.link .item .btn_type05.arrow a.consul {
	margin: 0 auto;
}
section.link.bg_stripe .item .btn_type04,section.link.bg_stripe .item .btn_type08 {
    width: calc(100%/2 - 4%);
    margin: 1em 0.7em;
}
section.link.bg_stripe .item {
    width: 88%;
    box-sizing: border-box;
    max-width: 1200px;
}

section.link .item.left > *, section.link .item.left > * a,section.link .item.left .btn_type05.arrow a.consul {
    margin-right: 0;
}
section.link .item.right > *, section.link .item.right > * a,section.link .item.right .btn_type05.arrow a.consul {
    margin-left: 0;
}

}

@media (min-width: 1980px) {
section.link .item .btn_type05.arrow a {
    /* font-size: 0.637vw; */
}
}
/*  ボタン デザイン 終了  */

/*  テーブル デザイン 開始  */
table + .txt.note {
    width: 95%;
    font-size: 1.5em;
    box-sizing: border-box;
    margin: 0 auto 1em;
}
.inner table + .txt.note {
    width: 100%;
    max-width: 100%;
}
table + .txt.note p {
    padding-left: 1em;
    text-indent: -1em;
}

table.type01 {
    width: 100%;
    margin: 2em auto;
    font-size: 1.5em;
    line-height: 1.5;
}
table.type01,table.type01 td,table.type01 th {
    border-collapse: collapse;
    border: 0.15em solid;
    vertical-align: middle;
    }
table.type01 td, table.type01 th {
    padding: 1em;
}
table.type01 td, table.type01 th {
    width: 50%;
}
table.type02 {
    width: 100%;
    font-size: 1.5em;
    line-height: 1.5;
}
table.type02 th:first-child {
    width: 1.7em!important;
    text-align: center;
    border-left: 0;
    padding: 0.4em;
}
table.type02 th, table.type02 td {
    vertical-align: middle;
    border-collapse: collapse;
    border: 0.1em solid;
    text-align: center;
    position: relative;
    padding: 1.1em 0.2em;
    font-weight: 700;
    width: 20%;
}
table.type02 thead th {
    box-sizing: border-box;
    border-radius: 1.1em;
    line-height: 1.1;
    color: #fff;
    z-index: 1;
}
table.type02 tbody td:last-child {
    border-right: 0;
}
table.type02 tbody th:first-child {
    background: #D6D7DA;
}
table.type02 tbody tr:first-child > * {
    border-top: 0;
}
table.type02 th:before,table.type02 td:before {
    content: '';
    display: block;
    width: calc(100% - 0.8em);
    height: calc(100% - 0.8em);
    background: #F3EEEE;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    border-radius: 0.5em;
    z-index: -1;
}
table.type02 thead th:before {
    width: calc(100% - 0.2em);
    height: calc(100% - 0.4em);
    opacity: 0.8;
}
table.type02 td.none:before {
    background: transparent;
}
table.type02 td p {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: center;
    justify-content: center;
    min-height: 3.1em;
}table.type02 td p .course {
    font-weight: 500;
    padding: 0 0.5em;
    line-height: 1.2;
    margin-top: 0.2em;
}
table.type02 thead th p {
    position: relative;
}
table.type02 thead th:after {
    content: attr(data-number);
    display: block;
    font-size: 1em;
    position: absolute;
    left: 1em;
    top: 0.7em;
}
table.type02 thead th p {
    padding-top: 2.1em;
    position: relative;
}
table.type02 thead th p:before {
    content: '';
    display: block;
    width: 1.5em;
    height: 0.15em;
    background: #fff;
    position: absolute;
    top: 0.9em;
    left: 0.8em;
    transform: rotate(-45deg);
}



table.column02 th, table.column02 td,table.type03.total th, table.type03.total td {
    width: 50%;
}

table.type03 {
    margin: 2em auto;
    width: 100%;
}
table.type03 th, table.type03 td {
    vertical-align: middle;
    border-collapse: collapse;
    border: 1px solid #808080;
    position: relative;
    line-height: 1.5;
}
table.type03.border-type01 th, table.type03.border-type01 td {
    border-right: 0;
    border-left: 0;
}
table.type03.border-type01 thead th {
    /* border-right: 1px solid #fff; */
}
table.type03.border-type01 thead th:last-child {
    /* border-right: 0; */
}
table.type03 thead {
    background: #E6E6E6;
}
table.type03 th {
    font-weight: 500;
    font-size: 1.625em;
    background: #FCFCCC;
}
table.type03 thead th {
    font-size: 1.5em;
}
table.type03 thead th, table.type03 th.bg_none {
    background: transparent;
}
table.type03 th p, table.type03 td p {
    padding: 1em;
    box-sizing: border-box;
}
table.type03 td p + p {
    /* padding-top: 0; */
}
table.type03 thead th p {
    text-align: center;
    padding: 0.4em 0;
}
table.type03 th p span {
    display: block;
    padding: 0.5em;
    font-size: 0.9em;
    line-height: 1.3;
    margin-top: 0.5em;
}
table.type03 td {
    font-size: 1.5em;
}
table.type03 td span {
    display: block;
}
table.type03 td p.line-top {
    border-top: 0.1em solid #80807B;
}
table.type03 .center {
    text-align: center;
}
table.type03 .center.lrg {
    font-size: 1.25em;
    line-height: 1.2;
    padding: 0;
}
td p.right,table.type03.total td p {
    text-align: right;
}
table.type03.rank th {
    min-width: 6em;
}
table.type03.textbook th {
    min-width: 8.5em;
}
table.type03.textbook th p {
    padding: 0.7em;
}
table.type03.textbook th p .sm {
    color: #808080;
    padding-left: 1em;
    text-indent: -0.6em;
    margin-top: 0;
    padding-top: 0.4em;
}
table.type03.textbook thead th {
    min-width: 7em;
}
table.type03.textbook thead th p {
    padding: 0.5em 0;
}
table.type03.textbook td:last-child p {
    padding-left: 2em;
    text-indent: -1em;
}





@media (min-width: 751px) {

table.type01 {
    font-size: 0.875em;
    max-width: 1200px;
}

table.type02 {
    font-size: 1em;
}
table.type02 th, table.type02 td {
    width: 18.7%;
}
table.type02 td p .course {
    display: block;
    width: 100%;
    font-weight: 400;
    font-size: 0.75em;
}
table.type02 thead th p {
    padding-top: 0.2em;
}
table.type02 thead th p:before {
    height: 1px;
    width: 2.6em;
    top: 0.7em;
    left: 0.4em;
}
	
table.type03 {
    max-width: 66%;
    margin: 2em auto 1em;
}
table.type03 thead th {
    font-size: 1em;
}
table.type03 th {
    font-size: 1em;
}
table.type03.textbook tbody th {
    width: 19em;
}
table.type03 th p span {
    font-size: 0.9375em;
    width: fit-content;
}
table.type03 td {
    font-size: 0.875em;
    width: 26em;
}
table.type03 .center.lrg {
    font-size: 1em;
}
table + .txt.note {
    font-size: 0.75em;
    max-width: 66%;
}

table.type03.border-type01 th, table.type03.border-type01 td {
    padding: 0.5% 3%;
    box-sizing: border-box;
}
table.type03.border-type01 th {
    max-width: 7em;
    width: 50%;
}
}
/*  テーブル デザイン 終了  */




/*  スケジュール デザイン 開始  */
section.schedule {
    margin: 0 auto;
    max-width: 1200px;
}
section.schedule ol.step {
    position: relative;
    margin: 0 auto;
}
section.schedule ol.step:before {
    content: '';
    display: block;
    width: 1.425em;
    height: calc(100% - 2.5em);
    position: absolute;
    top: 2.5em;
    left: calc((9.125em/2) -  (1.825em/2));
    background: rgb(129,129,129);
    background: linear-gradient(180deg, rgba(129,129,129,1) 0%, rgba(255,255,255,1) 100%);
    z-index: -1;
}
section.schedule ol.step li .number,section.schedule ol.step li .step {
    font-size: 4.375em;
    color: #4D4D4D;
    width: 2em;
    aspect-ratio: 1/1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
section.schedule.type02 h2.type05 {
    text-align: center;
    border-color: #5dbbbb;
}
section.schedule.type02 {
    margin: 5.5em auto;
}
section.schedule.type02 li .step {
    color: #fff!important;
    font-size: 1.625em!important;
    width: 5.6em!important;
    position: relative;
    line-height: 1.5;
    font-weight: 600;
}
section.schedule ol.step li .number span.circle,section.schedule ol.step li .step span.circle {
    border-radius: 50%;
    display: block;
    border: 0.05em solid;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background: #fff;
    z-index: -1;
}
section.schedule ol.step li .step span.circle {
    background: #5DBBBB;
    border: 0;
}
section.schedule ol.step li .number:before {
    width: 100%;
    margin-top: auto;
}
section.schedule ol.step li .txt {
    width: calc(100% - (9.125em + 1.5em));
    line-height: 1.5;
    box-sizing: border-box;
    padding-left: 1.5em;
    margin-right: 0;
    margin-left: auto;
    position: relative;
}
section.schedule ol.step li .number:after {
    margin-bottom: auto;
}
section.schedule ol.step li {
    padding: 1em 0 1.5em;
    margin: 1em auto;
    border-bottom: 0.3em dotted;
    align-items: flex-start;
    width: 100%;
}
section.schedule ol.step li:last-child {
    border-bottom: 0;
    align-items: center;
}
section.schedule ol.step li .txt dt {
    font-size: 1.875em;
    position: relative;
    font-weight: 500;
}
section.schedule ol.step li .txt dt:before {
    content: '';
    display: block;
    width: 0.5em;
    height: 0.5em;
    background: #ededed;
    border-radius: 50%;
    position: absolute;
    left: -1em;
    top: 0.6em;
}
section.schedule.type02 ol.step li .txt dt:before {
    display: none;
}
main.orange section.schedule ol.step li .txt dt:before {
    background: #fe5226;
}
main.orange section.schedule ol.step li {
    border-color: #fe5226;
}
main.blue section.schedule ol.step li .txt dt:before {
    background: #1F90E0;
}
main.blue section.schedule ol.step li {
    border-color: #1F90E0;
}
section.schedule ol.step li .txt dd {
    font-size: 1.5em;
}
section.schedule ol.step li .txt dd .thumbnail {
    margin: 1em 0;
    border-radius: 1em;
    overflow: hidden;
    height: 9em;
}
section.schedule ol.step li .txt dd .thumbnail img {
    height: 100%;
    object-fit: cover;
}
section.schedule ol.step li .txt dd p.semibold {
    margin: 0.5em 0;
}
section.schedule ol.step li .txt dd p.c-key {
    margin: 0.4em auto;
}
section.schedule.type02 ol.step li .txt dd p.c-key {
    color: #5DBBBB;
    font-weight: 600;
}
section.schedule ol.step li .txt dd p.note {
    padding-left: 1em;
    text-indent: -1em;
}
section.schedule ol.step li .txt a {
    color: #000;
    position: relative;
    padding-right: 1.4em;
    background: transparent!important;
    display: block;
    width: fit-content;
}
section.schedule ol.step li .txt a:before, .entry-info section.guide dd ul.enty-list .txt a.blank:before {
    content: '';
    display: block;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    width: 1.2em;
    height: 1.2em;
    filter: invert(50%) sepia(56%) saturate(3548%) hue-rotate(338deg) brightness(101%) contrast(85%);
}
main.blue section.schedule ol.step li .txt a.blank:before,main.blue section.schedule ol.step li .txt a.arrow:before, .entry-info main.blue section.guide dd ul.enty-list .txt a.blank:before, section.link .item.more .flex > * a.blank::after {
    filter: invert(50%) sepia(56%) saturate(3548%) hue-rotate(205deg) brightness(101%) contrast(85%);
}
section.schedule ol.step li .txt dd a {
    border-bottom: 0.1em solid;
    padding-bottom: 0.4em;
}
section.schedule ol.step li .txt dd a:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #000 transparent transparent transparent;
    border-width: 0.5em 0.5em 0px 0.5em;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
section.schedule ol.step li .txt a:hover,.entry-info section.guide dd ul.enty-list .txt a:hover {
    transform: scale(1.03);
}
section.schedule.type02 ol.step li .txt dt {
    font-size: 1.6825em;
}
section.schedule.type02 ol.step li .txt dt .note {
    font-size: 0.88em;
    display: block;
    padding-left: 1em;
    text-indent: -1em;
}
section.schedule.type02 ol.step li .txt dd a {
    color: #5DBBBB;
    border: 0.1em solid;
    border-radius: 3em;
    padding: 0.1em 1em;
    margin: 0.5em 2%;
}
section.schedule.type02 ol.step li .txt dd a:after {
    display: none;
}


@media (min-width: 751px) {
section.schedule ol.step li .number {
    font-size: 3em;
    width: 2.125em;
    margin: 0 auto;
}
section.schedule.type02 li .step {
    font-size: 1.125em!important;
    margin: 0 auto;
}
section.schedule.type02 ol.step li .txt dt {
    font-size: 1.125em;
    width: 40%;
}
section.schedule.type02 ol.step li .txt dd {
    width: 60%;
    box-sizing: border-box;
    padding-left: 3em;
}
section.schedule.type02 ol.step li .txt {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
section.schedule.type02 ol.step li .txt dd a {
    margin: 0.6em 2%;
    margin-left: 0;
}
section.schedule.type02 ol.step li .txt dd .flex {
    /* position: absolute; */
    /* width: 58%; */
    /* right: 0; */
    /* top: 50%; */
    /* transform: translateY(-50%); */
}
section.schedule.type02 ol.step li {
    align-items: center;
}
section.schedule.type02 ol.step li .txt dd p.c-key {
    font-weight: 500;
    font-size: 1em;
}
section.schedule.type02 ol.step li .txt {
    padding-left: 0;
    width: calc(100% - 9.125em );
}
section.schedule.type02 ol.step:before {
    left: calc((10.425em/2) -  (3.125em/2));
}
section.schedule ol.step li .txt dt {
    font-size: 1.375em;
}
section.schedule ol.step li .txt dd {
    font-size: 1em;
}
section.schedule ol.step li .txt dd p.c-key {
    font-size: 1.125em;
}
.about-cooperation section.schedule ol.step li .txt {
    width: calc(100% -  (9.125em + 1.5em));
}
section.schedule ol.step:before {
    width: 1em;
    left: calc((11.425em/2) -  (3.125em/2));
}
section.schedule ol.step.flex {
    justify-content: space-between;
}
section.schedule ol.step.flex li .txt dd .thumbnail {
    height: 12vw;
    max-height: 20em;
}
	}
/*  スケジュール デザイン 終了  */


/* 背景画像テキスト デザイン 開始 高校生の方へ等  */
section.bg_img {
    padding: 5.5em 0;
    background: #ededed no-repeat center/cover;
    position: relative;
    z-index: 1;
}
section.bg_img h2 {
    font-size: 2.1875em;
    margin: 0 0 1.5em;
    line-height: 1.8;
    font-weight: 600;
}
section.bg_img .txt {
    font-size: 1.5em;
    line-height: 2;
    width: 100%;
    margin:  auto;
}
section.bg_img:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0.8;
}
section.bg_img.blue:before {
    background: #36A0A7;
}
section.bg_img.orange:before {
    background: #FE5226;
}
section.bg_img .note.bg_w {
    background: #fff;
    padding: 1em;
    font-size: 1.5em;
    line-height: 1.5;
    width: 100%;
    margin: 4em 0 -4em;
    box-sizing: border-box;
}
section.bg_img .note.bg_w p {
    padding-left: 1em;
    text-indent: -1em;
}
@media (min-width: 751px) {
section.bg_img .inner {
    max-width: 1056px;
}
section.bg_img h2 {
    font-size: 1.5em;
}
section.bg_img .txt {
    font-size: 1em;
}
section.bg_img .note.bg_w {
    font-size: 0.875em;
    margin: 6.3em 0 -6.3em;
}
section.bg_img .note.bg_w p {
    max-width: 1060px;
    margin: 0 auto;
    width: 88%;
}
section.bg_img.txt-right .inner {
    width: fit-content;
    margin: 0 auto;
    transform: translateX(50%);
}
}
/* 背景画像テキスト デザイン 終了  */


/* クエスチョン デザイン 開始 高校生の方へ等  */
section.question {
    position: relative;
    padding: 3.5em 0;
    z-index: 1;
}
section.question:before {
    content: 'Q';
    font-size: 6.625em;
    border-bottom: 0.1em solid;
    text-align: center;
    margin: 0 auto;
    display: block;
    width: fit-content;
    line-height: 1.1em;
    color: #1F90E0;
    font-family: "Manrope", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    margin-top: -1em;
}
section.question h3 {
    text-align: center;
    font-size: 2em;
    line-height: 1.5;
    padding: 0.3em 0.5em;
    margin: 1em auto;
    background: #F3EEEE;
    box-sizing: border-box;
}
section.question.c-key_bg_sub_y::before {
    color: #5DBBBB;
}
section.question.c-key_bg_sub_y h3 {
    background: #fff;
}
section.question .txt {
    font-size: 1.5em;
    line-height: 1.5;
    text-align: justify;
    margin: 0 auto;
}
section.question.ao2-5 .txt {
    text-align: center;
}
section.question .txt .pick {
    text-align: center;
    margin: 1em 0 0;
}
section.question .txt .pick span {
    color: #5DBBBB;
    padding: 0em 0.3em;
    line-height: 2;
    background: linear-gradient(transparent 0%, #fff 0%);
    font-weight: 600;
}
section.question .img {
    margin: 3em auto 0;
}
.link.bg_border {
    background: #fff;
    border: 0.25em solid;
    border-radius: 1.4em;
    box-sizing: border-box;
    padding: 1.9em;
    text-align: center;
    width: 76%;
}
.link.bg_border.inner.full {
    width: 88%;
    margin: 4em auto 0;
}
section.question .c-key_bg_sub_lg {
    padding-bottom: 5em;
}
.link.bg_border h4 {
    font-size: 1.875em;
    margin: 0.5em auto;
}
.link.bg_border .flex .btn_type04.arrow {
    width: 100%;
    margin: 1.5em auto 1em;
}
.link.bg_border .btn_type04.arrow a {
	width: 100%;
	box-sizing: border-box;
	margin: 0;
}

section.ao2-5 .person {
    border: 0.2em solid #b3b3b3;
    padding: 2em;
    border-radius: 1.5em;
    box-sizing: border-box;
    line-height: 1.5;
    margin: 6em auto;
}
section.ao2-5 .person h3 {
    background: #303030;
    color: #fff;
    font-size: 1.875em;
    text-align: center;
    padding: 0.5em;
    box-sizing: border-box;
    border-radius: 2em;
    width: 90%;
    margin: -2.5em auto 1em;
}
section.ao2-5 .person ul.check {
    width: 90%;
    margin: 0 auto;
}
section.ao2-5 .person ul.check li {
    font-size: 1.75em;
    padding: 1em;
    padding-left: 3.5em;
    font-weight: 600;
    border-bottom: 0.15em dotted;
    position: relative;
}
section.ao2-5 .person ul.check li:before {
    content: '';
    display: block;
    color: #1f90e0;
    width: 1.5em;
    height: 1.5em;
    border: 0.15em solid;
    border-radius: 50%;
    position: absolute;
    left: 0.8em;
    top: 50%;
    transform: translateY(-50%);
    background: url(../img/check_icon.svg) no-repeat center/contain;
}
section.ao2-5 .person .point {
    width: 90%;
    margin: 2em auto;
}
section.ao2-5 .person .point p {
    font-size: 1.75em;
    font-weight: 600;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}
section.ao2-5 .person .point p span {
    padding: 0.5em 2em;
    border: 2px solid;
    letter-spacing: 0.1em;
}

@media (min-width: 751px) {
section.question.now:before {
    margin-top: 0;
    transform: translateX(-550%);
}
section.question.now .inner {
    padding-right: 36em;
    box-sizing: border-box;
    position: relative;
    max-width: 990px;
    padding-bottom: 3em;
}
section.question.now .inner .img {
    position: absolute;
    right: 6%;
    top: -10em;
    width: 23em;
}
section.question h3 {
    font-size: 1.3125em;
}
section.question .txt {
    font-size: 1em;
}
section.ao2-5 .img img {
    max-width: 55em;
    margin: 0 auto;
}
section.ao2-5 .img {
    padding: 2.5em 0;
}
section.question:before {
    font-size: 4.4375em;
    margin-top: -0.5em;
}
section.question.ao2-5 h3 {
    width: fit-content;
    padding: 0.3em 5.9em;
}
section.question.ao2-5 .txt {
    width: fit-content;
    text-align: center;
}
.link.bg_border {
    border-width: 0.2em;
    max-width: 800px;
}
.link.bg_border h4 {
    font-size: 1.25em;
}
.link.bg_border .flex .btn_type04.arrow {
    width: calc(100%/2 - 10%);
    
    margin: 1em;
}
.link.bg_border .btn_type04.arrow a {
    font-size: 0.975em;
    border: 0.25em solid;
}
.link.bg_border .flex,section.link.bg_stripe .item {
    justify-content: center;
}
	
.link.bg_border.full .flex .btn_type04.arrow {
    width: calc(100% / 3 - 1%);
    margin: 0.5em auto;
}
.link.bg_border.full .flex .btn_type04.arrow a {
    padding: 1em 2.6em;
    padding-left: 1.2em;
}
section.ao2-5 .person h3 {
    font-size: 1.25em;
    max-width: 20em;
    margin: -3em auto 2em;
}
section.ao2-5 .person ul.check li {
    font-size: 1.125em;
    width: calc(100%/3 - 4%);
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-top: 0.15em dotted;
}
section.ao2-5 .person ul.check {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
section.ao2-5 .person .point {
    width: fit-content;
}
section.ao2-5 .person .point p {
    font-size: 1.375em;
}
section.ao2-5 .person .point p span {
    margin: 0 0.5em;
}
section.ao2-5 .person {
    max-width: 1000px;
}
}
/* 背景画像テキスト デザイン 終了  */


/* 学科ボタンデザイン 開始  */
section.bg_stripe.c-key_bg_sub_lg {
    background-color: rgba(243, 243, 243, 1);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.5em, rgba(238, 238, 238, 1) 0.5em, rgba(243, 238, 238, 1) 1em);
    padding: 4.5em 0;
}
section.bg_stripe.c-key_bg_sub_y {
    background-color: rgba(238, 241, 1, 1);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.5em, rgba(243, 245, 77, 1) 0.5em, rgba(243, 245, 77, 1) 1em);
    padding: 3.5em 0;
}
section.link.bg_stripe.c-key_bg_sub_y + section.bg_stripe.c-key_bg_sub_lg {
    background-image: none;
}
section.bg_stripe.c-key_bg_sub_y .inner.border {
    border: 0.25em solid;
    box-sizing: border-box;
    text-align: center;
    line-height: 1.5;
}
section.bg_stripe.c-key_bg_sub_y .inner.border h3.type04 {
    border: 0;
    font-size: 3.75em;
    padding: 0.8em 0em 1.1em;
    line-height: 1.4;
    background: url(../img/visitors/scholar_bg_sp.webp) no-repeat center bottom/cover;
    margin-bottom: 0.6em;
}
section.bg_stripe.c-key_bg_sub_y .inner.border h3.type04 .sm {
    font-size: 0.5em;
    display: block;
    line-height: 1.5;
    color: #fff;
}
section.bg_stripe.c-key_bg_sub_y .inner.border p {
    font-size: 1.875em;
}
section.bg_stripe.c-key_bg_sub_y .inner.border h4 {
    font-size: 1.875em;
    margin: 1.5em auto 0;
    width: fit-content;
    padding: 0 1.6em;
    position: relative;
}

section.bg_stripe.c-key_bg_sub_y .inner.border h4.arrow:before,section.bg_stripe.c-key_bg_sub_y .inner.border h4.arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #000 transparent transparent transparent;
    border-width: 0.8em 0.5em 0 0.5em;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
}
section.bg_stripe.c-key_bg_sub_y .inner.border .item {
    padding-left: 0;
    padding-right: 0;
}
section.bg_stripe.c-key_bg_sub_y .inner.border h4.arrow:before {
    left: 0;
}


section.question.ao2-5 + section.bg_stripe.c-key_bg_sub_lg {
    filter: drop-shadow(0 -0.4em 0.3em rgba(0,0,0,0.2));
    position: relative;
    z-index: 1;
}
section.select-course dl.list dt {
    width: 100%;
    text-align: center;
    font-size: 1.75em;
    line-height: 1.5;
    margin: 1em auto;
}
section.select-course dl.list dt span {
    position: relative;
    padding: 0 1.5em;
    display: block;
    width: fit-content;
    box-sizing: border-box;
    margin: 0 auto;
}
section.select-course dl.list dt span:before,section.select-course dl.list dt span:after {
    content: '';
    display: block;
    width: 0.1em;
    height: 2.6em;
    background: #000;
    position: absolute;
    top: 50%;
    transform: rotate(40deg) translateY(-50%);
    right: 0;
}
section.select-course dl.list dt span:before {
    left: 0;
    transform: scale(-1,1) rotate(40deg) translateY(-50%);
}
section.select-course .list dd {
    width: calc(100% / 2 - 3%);
    margin: 1.5%;
    filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.3));
    will-change: filter;
    line-height: 1.2;
}
section.select-course .list dd a span.poppins {
    font-size: 1.66em;
    font-weight: 600;
}
section.select-course .list dd a{
    position: relative;
    transition: 0.2s background;
    height: 7.22em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin: 0;
    text-align: center;
	font-size: 1.875em;
    font-weight: 700;
    width: 100%;
    padding: 1em 0;
    box-sizing: border-box;
    border-radius: 0.5em;
    overflow: hidden;
    cursor :pointer;
}

section.select-course .list dd a .txt {
    display: block;
    width: 100%;
    box-sizing: border-box;
    line-height: 1.5;
    margin-bottom: 1.4em;
}
section.select-course .list dd a:hover {
    color: #fff!important;
    transform: scale(1);
    background: #4D4D50!important;
}
section.select-course .list dd a:after {
    border: 0.1em solid;
    bottom: 1.3em;
    width: 1em;
    height: 1em;
    left: 0;
    right: 0;
    margin: 0 auto;
}
section.select-course .list dd a.scroll:after {
    bottom: 0.8em;
    transition: 0.2s bottom;
    left: 1em;
}
section.select-course .list dd a.scroll:hover:after {
    bottom: 0.4em;
}

@media (min-width: 751px) {
section.select-course .list dd {
    width: calc(100% / 4 - 1%);
    margin: 1% 0.5%;
}
section.select-course dl.list dt {
    font-size: 1.25em;
}
section.select-course .list dd a {
    font-size: 1.125em;
}
section.select-course.bg_stripe dl.list {
    max-width: 1200px;
    margin: 0 auto;
}
section.bg_stripe.c-key_bg_sub_y .inner.border {
    max-width: 800px;
    border-width: 0.2em;
}
section.bg_stripe.c-key_bg_sub_y .inner.border h3.type04 {
    width: 100%;
    background-image: url(../img/visitors/scholar_bg.webp);
    font-size: 2.375em;
    max-width: 100%;
    padding: 0.6em 0em 0.7em;
}
section.bg_stripe.c-key_bg_sub_y .inner.border p {
    font-size: 1.2em;
}
section.bg_stripe.c-key_bg_sub_y .inner.border h4 {
    font-size: 1.35em;
}
section.bg_stripe.c-key_bg_sub_y .inner.border .item {
    width: 100%;
    padding-top: 0.5em;
}
section.bg_stripe.c-key_bg_sub_y .inner.border .item .btn_type04,section.bg_stripe.c-key_bg_sub_y .inner.border .item .btn_type08 {
    width: calc(100%/3 - 4%);
    margin: 1%;
}
section.bg_stripe.c-key_bg_sub_y .inner.border .item .btn_type04 a,section.bg_stripe.c-key_bg_sub_y .inner.border .item .btn_type08 a {
    padding: 1em 2.5em;
    padding-left: 3.2em;
}
section.bg_stripe.c-key_bg_sub_y .inner.border .item .btn_type04 a:before,section.bg_stripe.c-key_bg_sub_y .inner.border .item .btn_type08 a:before {
    left: 0.31em;
    width: 2.9em;
}
section.bg_stripe.c-key_bg_sub_y .inner.border .item .btn_type04 a:after {
    right: 0.7em;
}
}
/* 学科ボタン デザイン 終了  */



/* インタビューボタン デザイン 終了  */

section.interview-item .intro {
    margin: 4em auto;
    width: 88%;
    background: #EFF8F8;
    padding: 2em 3em 4em;
    box-sizing: border-box;
}
section.interview-item .intro .pick-up {
    width: 100%;
    font-size: 2.1875em;
    line-height: 1.4;
    color: #5DBBBB;
    font-weight: 500;
    margin-bottom: 0.7em;
}
section.interview-item .intro .thumbnail {
    width: 15.5em;
    filter: drop-shadow(0.7em 0.8em 0 #5DBBBB);
}
section.interview-item .intro .txt .name {
    font-size: 2.1875em;
    margin: 2em 0;
}
section.interview-item .intro .txt {
    width: calc(100% - 18em);
    margin: 0 0 0 auto;
    line-height: 1.4;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
}
section.interview-item .intro .txt .name .sm {
    font-size: 0.68em;
    margin-left: 0.5em;
}
section.interview-item .intro .txt .name .sm.sm.course-type {
    margin-left: 0;
    display: block;
}
section.interview-item .intro .txt > p {
    font-size: 1.75em;
}
section.interview-item .intro .btn.arrow a {
    color: #5DBBBB!important;
}
section.interview-item .intro .btn.arrow a:after {
    filter: invert(82%) sepia(30%) saturate(337%) hue-rotate(141deg) brightness(323%) contrast(100%);
}


@media (min-width: 751px) {
section.interview-item .intro .pick-up {
    font-size: 1.5em;
    width: 30%;
    margin: 6.8% 0;
}
section.interview-item .intro .thumbnail {
    width: 9.375em;
}
section.interview-item .intro .txt {
    width: calc(70% - 12.375em);
    display: block;
    line-height: 1.7;
}
section.interview-item .intro {
    max-width: 800px;
    padding-bottom: 2em;
}
section.interview-item .intro .txt .name {
    font-size: 1.5em;
    margin: 1.5em 0;
}
section.interview-item .intro .txt > p {
    font-size: 1.125em;
}
}
/* インタビューボタン デザイン 終了  */



/* POINT デザイン 開始  */
section.point h2.type02 {
    position: relative;
    font-size: 2.1875em;
    color: #000;
    width: 100%;
    display: block;
    min-height: 0;
    margin: 0 1em 1em;
    padding: 0;
    font-weight: 500;
}
section.point .inner {
    padding: 3.5em 0;
    margin: 7.5em auto 5.5em;
}
section.point h2.type02:before {
    content: attr(data-title);
    display: block;
    font-family: 'Poppins';
    font-size: 2.714em;
    padding-left: 0.5em;
    line-height: 1.2;
    margin: -1.2em 0 0.3em;
}
section.point h2.type02:after {
    content: '';
    display: block;
    width: 1px;
    height: 2.1em;
    border: 0.2em solid;
    box-sizing: border-box;
    transform: skew(-30deg, 0deg);
    position: absolute;
    left: -0.1em;
    top: 0.6em;
}
main.orange section.point h2.type02:before,
main.orange section.point h2.type02:after {
	color: #fe5226;
}
main.blue section.point h2.type02:before,
main.blue section.point h2.type02:after {
	color: #1f90e0;
}
section.point ol.step .number {
    font-size: 5.875em;
    text-align: center;
}
section.point .step li.bg_w {
    background: #fff;
    width: 95%;
    margin: 5%;
    margin-right: 0;
}
section.point .step li.bg_w h3.type03 {
    margin: 1em 1em;
}
section.point .step li.bg_w .number {
    transform: translateX(-0.3em);
    margin-top: 0.2em;
}
section.point .step li.bg_w .thumbnail {
    width: 90%;
    margin: 0 0 0 auto;
    border-radius: 3em 0 0 3em;
    overflow: hidden;
}
section.point .step li.bg_w  .txt {
    font-size: 1.5em;
    line-height: 1.8;
    margin: 2em;
    text-align: justify;
}

section.point h2.type02 + .txt {
    font-size: 1.5em;
    line-height: 1.8;
    width: 88%;
    margin: 0 auto;
    text-align: justify;
}
section.point .item .swiper ol.step .number {
    margin: 0 auto -0.5em 0.3em;
}
section.point .item .swiper ol.step h3.type03 {
    margin: 1em 0;
    font-size: 1.875em;
}
section.point .item .swiper ol.step .txt {
    font-size: 1.5em;
    line-height: 1.7;
    text-align: justify;
}
section.point .item .swiper ol.step .thumbnail {
    border-radius: 1em;
    overflow: hidden;
    height: 25em;
    width: 100%;
}
section.point .item .swiper ol.step .thumbnail img {
    height: 100%;
    object-fit: cover;
}
section.point .swiper {
    padding: 0 6%;
}
section.point .swiper .step {
    width: 88%;
}
section.point .inner + .item {
    margin-top: -7em;
    padding: 0 0 5em;
}
section.point .item {
     position: relative;
}
section.point .item .swiper-button-prev,section.point .item .swiper-button-next {
  width: 2.5em;
  height: 2.5em;
  background: #000 no-repeat center/contain;
  position: absolute;
  top: 17em;
  z-index: 1;
  border-radius: 50%;
  background-image: url(../img/arrow_icon01.svg);
  transition: 0.2s transform;
}
section.point .item .swiper-button-prev {
  left: 1.5em;
  transform: scale(-1,1);
}
section.point .item .swiper-button-next {
  right: 1.5em;
}
section.point .item .swiper-button-prev:hover {
    transform: scale(-1.2,1.2);
}
section.point .item .swiper-button-next:hover {
    transform: scale(1.2);
}

@media (min-width: 751px) {
section.point h2.type02 {
    font-size: 1.5em;
}
section.point h2.type02:before {
    margin-top: -1.4em;
}
section.point .step li.bg_w {
    width: calc(100%/3 - 5%);
    margin: 2em 2.5%;
}
section.point ol.step .number {
    font-size: 3.4175em;
    margin-top: -0.1em;
}
section.point .step li.bg_w h3.type03 {
    font-size: 1.125em;
    padding-right: 0;
}
section.point .step li.bg_w .txt {
    font-size: 1em;
}
section.point .step li.bg_w .thumbnail {
    border-radius: 1.5em 0 0 1.5em;
    max-height: 11.875em;
    height: 13vw;
}
section.point .step li.bg_w .thumbnail img {
    height: 100%;
    object-fit: cover;
}
section.point .swiper li.swiper-slide {
    width: calc(100%/3 - 3%);
    margin: 0 auto;
}
section.point .swiper .step {
    width: 100%;
    flex-wrap: wrap;
}
section.point .item .swiper ol.step .thumbnail {
    height: 15.5vw;
    max-height: 17em;
    border-radius: 0.7em;
}
section.point .item .swiper ol.step h3.type03 {
    font-size: 1em;
    padding-right: 0;
}
section.point .item .swiper ol.step .txt {
    font-size: 0.875em;
}
section.point .item .swiper-button-next,section.point .item .swiper-button-prev {
    display: none;
}


section.point h2.type02 + .txt {
    font-size: 1em;
    width: 95%;
    margin-left: 1.5em;
}
}
/* POINT デザイン 終了  */








/* 81 デザイン 開始  */
/*  c-content 開始  */
.c-content {
	max-width: 920px;
	padding: 0 20px;
	margin: 0 auto;
	box-sizing: border-box;
}
@media (max-width: 750px) {
	.c-content {
		max-width: inherit;
		padding: 0 2.8em;
	}
}
/*  c-content 終了  */

/*  c-headline01 開始  */
.c-headline01 {
	margin-bottom: 2.3em;
	padding-bottom: 1.2em;
	position: relative;
	text-align: center;
	color: #4d4d4d;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.5;
}
.c-headline01::before {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 52.3%;
	height: 0.22em;
	background-color: #5dbbbb;
	transform: translateX(-50%);
	content: "";
}
@media (max-width: 750px) {
	.c-headline01 {
		margin-bottom: 1.4em;
		padding-bottom: 1.4em;
		font-size: 2.2em;
	}
	.c-headline01::before {
		width: 70.3%;
	}
}
/*  c-headline01 終了  */

/*  c-headline02 開始  */
.c-headline02 {
	margin-bottom: 3.16em;
	padding-bottom: 0.64em;
	color: #000;
	font-size: 1.5em;
	font-weight: 700;
	border-bottom: 0.22em solid #d8d6d7;
}
@media (max-width: 750px) {
	.c-headline02 {
		margin-bottom: 0.9em;
		padding-bottom: 0.85em;
		font-size: 2.19em;
		border-bottom-width: 0.3em;
	}
}
/*  c-headline02 終了  */

/*  c-headline03 開始  */
.c-headline03 {
	padding: 0.3em 0 0.4em;
	margin-bottom: 1.43em;
	text-align: center;
	color: #fff;
	font-weight: 700;
	font-size: 1.25em;
	background-color: #5dbbbb;
}
@media (max-width: 750px) {
	.c-headline03 {
		padding: 0.5em 0 0.6em;
		margin-bottom: 1.6em;
		font-size: 1.85em;
	}
}
/*  c-headline03 終了  */

/*  c-headline04 開始  */
.c-headline04 {
	margin-bottom: 2.15em;
	text-align: center;
	font-size: 1.5em;
	font-weight: 700;
	color: #000;
	line-height: 1.6;
}
.c-headline04 span {
	background: -webkit-linear-gradient(#fcfccc,#fcfccc) repeat-x center bottom / 100% 30%;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
@media (max-width: 750px) {
	.c-headline04 {
		margin-bottom: 0.4em;
		font-size: 1.63em;
		line-height: 1.48;
	}
}
/*  c-headline04 終了  */

/*  c-headline05 開始  */
.c-headline05 {
	margin: 0 2.5em 4.4em 0;
	height: 11.05em;
	padding: 0 2.7em 0.3em;
	display: flex;
	align-items: center;
	position: relative;
	box-sizing: border-box;
	background-color: #5dbbbb;
	border-radius: 0 6em 6em 0;
}
.c-headline05::before {
	position: absolute;
	right: calc(100% - 1px);
	top: 0;
	bottom: 0;
	background-color: #5dbbbb;
	width: 10000em;
	content: "";
}
.c-headline05 .jp {
	width: fit-content;
	position: relative;
	color: #fff;
	font-weight: 700;
	font-size: 1.66em;
}
.c-headline05 .jp img {
	position: absolute;
	right: -3em;
	top: 0;
	width: 2.16em;
}
.c-headline05 .jp .sml {
	margin-bottom: 0.45em;
	display: block;
	font-size: 0.9em;
}
.c-headline05 .en {
	position: absolute;
	right: 4.1em;
	top: 50%;
	color: #bee4e4;
	font-weight: 500;
	font-size: 1.08em;
	letter-spacing: 0.2em;
	transform: translateY(-45%);
	font-family: "Poppins", sans-serif;
}
@media (max-width: 750px) {
	.c-headline05 {
		margin: 0 2em 2.6em 0;
		height: 16.6em;
		padding: 6.1em 2.5em 0.3em;
		display: block;
		border-radius: 0 10em 10em 0;
	}
	.c-headline05 .jp {
		margin-bottom: 1.1em;
		display: block;
		font-size: 2.5em;
	}
	.c-headline05 .jp img {
		top: -0.1em;
	}
	.c-headline05 .jp .sml {
		margin-bottom: 0.8em;
	}
	.c-headline05 .en {
		display: block;
		position: static;
		font-size: 1.63em;
		transform: none;
	}
}
/*  c-headline05 終了  */

/*  c-headline06 開始  */
.c-headline06 {
	margin-bottom: 1.8em;
	position: relative;
	padding-left: 10.6em;
	font-weight: 500;
}
.c-headline06 .big {
	margin-top: 0.4em;
	padding-bottom: 0.25em;
	width: fit-content;
	display: block;
	font-size: 1.33em;
	border-bottom: 0.18em solid #5dbbbb;
}
.c-headline06 .num {
	position: absolute;
	left: 0.3em;
	top: 0.3em;
	color: #5dbbbb;
	font-size: 4.54em;
	font-family: "Poppins", sans-serif;
}
.c-headline06 .num .en {
	font-size: 0.26em;
	position: absolute;
	left: -2.05em;
	top: 0;
	transform: rotate(-90deg);
}
@media (max-width: 750px) {
	.c-headline06 {
		margin: 0 0.3em 1.8em;
		padding-left: 0;
		font-size: 1.5em;
		line-height: 1;
	}
	.c-headline06 .big {
		margin-top: 0.7em;
		padding-bottom: 0.35em;
	}
	.c-headline06 .num {
		margin: 0 0 0.25em 0.25em;
		position: relative;
		left: auto;
		top: auto;
		font-size: 4.54em;
		display: block;
	}
	.c-headline06 .num .en {
		font-size: 0.26em;
		left: -2.05em;
		top: 1.4em;
	}
}
/*  c-headline06 終了  */

/*  c-headline07 開始  */
.c-headline07 {
	margin-bottom: 2.3em;
	padding: 1.25em 2.15em 1.45em;
	font-weight: 500;
	font-size: 1.16em;
	background-color: #f3eeee;
}
.c-headline07 span {
	position: relative;
	display: inline-block;
}
.c-headline07 span::before {
	position: absolute;
	left: -0.4em;
	top: 0.3em;
	bottom: 0.2em;
	width: 0.16em;
	background-color: #5DBBBB;
	content: "";
}
@media (max-width: 750px) {
	.c-headline07 {
		margin: 0 -1.6em 1.5em;
		padding: 1.4em 2.15em 1.65em;
		font-size: 1.75em;
	}
	.c-headline07 span::before {
		top: 0.1em;
		bottom: -0.1em;
	}
}
/*  c-headline07 終了  */

/*  c-headline08 開始  */
.c-headline08 {
	margin-bottom: 3.64em;
	position: relative;
	text-align: center;
	color: #f779b5;
	font-weight: 700;
	font-size: 1.375em;
}
.c-headline08::before {
	position: absolute;
	left: 50%;
	bottom: -1.7em;
	width: 4.2em;
	height: 0.69em;
	background: url(../img/about-smile-bus/line01.svg) no-repeat;
	background-size: 100% 100%;
	transform: translateX(-50%);
	content: "";
}
@media (max-width: 750px) {
	.c-headline08 {
		margin-bottom: 2.35em;
		line-height: 1.57;
		font-size: 2.38em;
	}
	.c-headline08::before {
		bottom: -1.05em;
		width: 3.6em;
		height: 0.4em;
	}
}
/*  c-headline08 終了  */

/*  c-headline09 開始  */
.c-headline09 {
	margin: 0 2.5em 3.65em 0;
	padding: 1em 0;
	padding-left: 2.5em;
	position: relative;
	font-size: 1.44em;
	color: #fff;
	font-weight: 700;
	background-color: #f779b5;
}
.c-headline09::before {
	position: absolute;
	left: 4.5em;
	top: 1.7em;
	right: -2.5em;
	bottom: -1.5em;
	content: "";
	z-index: -1;
	background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.25em, rgba(253, 228, 240, 1) 0.25em, rgba(253, 228, 240, 1)  0.5em);
}
.c-headline09 span {
	max-width: 920px;
	padding: 0 20px;
	margin: 0 auto;
	display: block;
	box-sizing: border-box;
	position: relative;
}
.c-headline09 span:before {
    content: '';
    margin: -0.05em 1.25em 0 0;
    width: 2.75em;
    display: inline-block;
    vertical-align: middle;
    height: 1.7em;
    background: url(../img/about-smile-bus/icon01.svg) no-repeat center/contain;
}
@media (max-width: 750px) {
	.c-headline09 {
		margin: 0 1.55em 2.8em 0;
		padding: 1em 0 1.15em 2.5em;
		font-size: 2.38em;
		line-height: 1.57;
	}
	.c-headline09::before {
		left: 2.7em;
		top: 1.9em;
		right: -1.55em;
		background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.15em, rgba(253, 228, 240, 1) 0.15em, rgba(253, 228, 240, 1) 0.3em);
	}
	.c-headline09 span {
		max-width: inherit;
		padding: 0 1em 0 4.6em;
		position: relative;
	}
.c-headline09 span:before {
    width: 3.65em;
    height: 2.1em;
    left: -0.6em;
    top: 0.7em;
}
	.c-headline09 span:before {
    display: block;
    margin: 0;
    width: 3.65em;
    height: 2.1em;
    position: absolute;
    left: -0.6em;
    top: 50%;
    transform: translateY(-50%);
}
}

/*  c-headline09 終了  */

/*  c-headline10 開始  */
.c-headline10 {
	width: 22.4em;
	margin: 0 auto 1.4em;
	padding: 0.7em 0 0.8em;
	text-align: center;
	color: #fff;
	font-weight: 500;
	font-size: 1.13em;
	background-color: #f779b5;
	border-radius: 5em;
}
@media (max-width: 750px) {
	.c-headline10 {
		width: auto;
		margin: 0 auto 1.1em;
		padding: 0.8em 0 1em;
		font-size: 2em;
	}
}
/*  c-headline10 終了  */

/*  c-table__box 開始  */
.c-table__box table {
	width: 100%;
	border-collapse: collapse;
}
.c-table__box th,
.c-table__box td {
	height: 5em;
	padding: 1em 0 1.5em 1em;
	vertical-align: middle;
	text-align: left;
	color: #000;
	font-weight: 500;
	line-height: 2.14;
	box-sizing: border-box;
	border: 1px solid #808080;
}
.c-table__box th {
	width: 20.7%;
	padding-left: 0;
	text-align: center;
	font-weight: 700;
	background-color: #fcfccc;
}
.c-table__box .wid01 {
	width: 36.4%;
}
.c-table__box .wid02 {
	width: 21.3%;
	padding-left: 0.6em;
}
@media (max-width: 750px) {
	.c-table__box th,
	.c-table__box td {
		height: 2.1em;
		padding: 0.5em 0 0.5em 0.5em;
		font-size: 1.5em;
		line-height: 1.43;
	}
	.c-table__box th {
		width: 19.7%;
		padding-left: 0;
	}
	.c-table__box .wid01 {
		width: 43%;
	}
	.c-table__box .wid02 {
		width: 20.5%;
		padding-left: 0.5em;
	}
}
/*  c-table__box 終了  */

/*  c-table__box01 開始  */
.c-table__box01 th,
.c-table__box01 td {
	height: 4.2em;
	padding: 0;
	font-weight: 700;
	text-align: center;
}
.c-table__box01 th {
	padding-left: 1.5em;
	width: 17.9%;
	text-align: left;
}
.c-table__box01 thead th {
	border: none;
	background-color: transparent;
}
.c-table__box01 thead td {
	background-color: #fcfccc;
}
.c-table__box01 td:last-child,
.c-table__box01 td:last-child {
	width: 53%;
	padding-left: 5.5em;
	text-align: left;
}
.c-table__box01 tbody td:last-child {
	font-weight: 500;
}
@media (max-width: 750px) {
	.c-table__box01 th,
	.c-table__box01 td {
		line-height: 1.46;
	}
	.c-table__box01 th {
		padding-left: 0.6em;
		width: 22.1%;
	}
	.c-table__box01 td:last-child,
	.c-table__box01 td:last-child {
		width: 46.7%;
		padding-left: 2em;
	}
}
/*  c-table__box01 終了  */

/*  c-dllist 開始  */
.c-dllist {
	border: 1px solid #808080;
	border-bottom: none;
}
.c-dllist dt {
	padding: 0.25em 0.75em;
	font-weight: 700;
	border-bottom: 1px solid #808080;
	background-color: #fcfccc;
}
.c-dllist dd {
	padding: 1.1em 0.6em 1.2em;
	font-weight: 500;
	line-height: 1.5;
	border-bottom: 1px solid #808080;
}
.c-dllist dd a {
	color: #000;
}

.c-dllist.c-dllist--special dt {
	min-height: 2em;
	box-sizing: border-box;
}
.c-dllist.c-dllist--special dd {
	padding: 1.7em 0.6em 2.1em;
	text-align: center;
	line-height: 1.625;
}
@media (max-width: 750px) {
	.c-dllist {
		font-size: 1.5em;
	}
	.c-dllist dt {
		padding: 0.6em 0.75em;
	}
	.c-dllist dd {
		padding: 0.6em 0.4em;
		line-height: 1.5;
		text-align: justify;
		word-break: break-all;
	}
	.c-dllist .c-dllist__dd {
		min-height: 3.8em;
	}
	.c-dllist.c-dllist--special dt {
		min-height: 2em;
	}
	.c-dllist.c-dllist--special dd {
		min-height: 6.13em;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0.3em 0.6em;
		line-height: 1.5;
		box-sizing: border-box;
	}
}
/*  c-dllist 終了  */

/*  c-qa-list 開始  */
.c-qa-list {
	max-width: 740px;
	margin: 0 auto;
}
.c-qa-list dt {
	padding: 1.33em 2em 1.37em 6.9em;
	position: relative;
	font-weight: 700;
	line-height: 1.64;
	color: #5dbbbb;
	font-size: 1.16em;
	background-color: #fff;
}
.c-qa-list dt::before {
	position: absolute;
	left: 0.35em;
	top: 50%;
	line-height: 1;
	color: #989ba2;
	font-weight: 500;
	font-size: 2.5em;
	transform: translateY(-50%);
	content:attr(data-title);
	font-family: "Poppins", sans-serif;
}
.c-qa-list dd {
	padding: 1em 0 2.8em;
}
.c-qa-list dd p {
	margin-bottom: 1.5em;
	text-align: justify;
	line-height: 1.75;
}
.c-qa-list dd p a {
	color: #000;
}
.c-qa-list dd p:last-of-type {
	margin-bottom: 0;
}
.c-qa-list dd .bold {
	font-weight: 700;
}
.c-qa-list dd span.bold {
	margin-bottom: 0.75em;
	display: block;
}
@media (max-width: 750px) {
	.c-qa-list {
		max-width: inherit;
	}
	.c-qa-list dt {
		padding: 1.4em 1.4em 1.3em;
		font-size: 1.75em;
	}
	.c-qa-list dt::before {
		left: 0.25em;
		top: -0.55em;
		transform: none;
	}
	.c-qa-list dd {
		padding: 1.5em 0 6.3em;
	}
	.c-qa-list dd p {
		font-size: 1.5em;
	}
}
/*  c-qa-list 終了  */
/* 81 デザイン 終了  */


/*  インデックスページ  */
.index-nav.list section.select-list{
    padding: 4.5em 0;
}
.index-nav.list section.select-list .list {
    gap: 4em 1.5em;
    max-width: 1200px;
    margin: 0 auto;
}
.index-nav.list section.select-list .list li {
    width: calc(100%/3 - (1.5em/1.5));
}
.index-nav.list section.select-list .list li a {
    margin: 0;
    width: 100%;
    position: relative;
}
.index-nav.list section.select-list .list img {
    aspect-ratio: 256/194;
    border-radius: 0.625em;
    filter: drop-shadow(3px 3px 3px rgb(0,0,0,0.3));
    margin-bottom: 1.6em;
    height: 100%;
    object-fit: cover;
}
.index-nav.list section.select-list .list li a .txt {
    font-weight: 700;
    display: block;
    padding-right: 2em;
    box-sizing: border-box;
    position: relative;
    line-height: 1.5;
    color: #000;
}
.index-nav.list section.select-list .list .btn a .arrow:after{
    top: -0.2em;
    transform: translateY(0);
    border: 1.5px solid #fff;
    border-radius: 50%;
    right: 0;
}
.index-nav.list section.select-list .list.col1 li {
    width: calc(100% / 1);
}
.index-nav.list section.select-list .list.col1 li + li {
    border-top: 1px solid #e6e6e6;
    padding-top: 4em;
}
.index-nav.list section.select-list .list.col1 li a {
    max-width: 100%;
    display: flex;
    align-items: center;
    gap: 3em;
}
.index-nav.list section.select-list .list.col1 li a img {
    max-width: 500px;
    width: 50%;
}
.index-nav.list section.select-list .list.col1 li a span {
    padding-right: 4em;
}
.index-nav.list section.select-list .list.col1 .btn a .arrow:after {
    top: 50%;
    transform: translateY(-50%);
}

@media (max-width: 750px) {
.index-nav.list section.select-list .list li {
    width: calc(100% / 2 - (1.5em / 2));
}
.index-nav.list section.select-list .list {
    gap: 2em 1.5em;
}
.index-nav.list section.select-list .list li a .txt {
    font-size: 1.5em;
    padding-right: 1.3em;
}
.index-nav.list section.select-list .list .btn a .arrow:after {
    font-size: calc(1em/1.5);
    top: 0.2em;
}
.index-nav.list section.select-list .list.col1 li a {
    gap: 2em;
}
.index-nav.list section.select-list .list.col1 li a span {
    width: 50%;
    padding-right: 2em;
}
}


/*　トップポップアップ260401　*/
/*モーダル１枚*/
.overlay {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100dvh;
    background: rgba(0,0,0,0.6);
    z-index: 99999 !important;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}

.close-btn {
    position: relative;
    width: 100%;
    max-width: 700px;
}

.close-btn img {
    width: 100%;
    height: auto;
    display: block;
    max-height: 80dvh;
    object-fit: contain;
}

.close-btn button {
    position: absolute;
    right: -10px;
    top: -10px;
    width: 1.5em;
    height: 1.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 2px solid #000;
    border-radius: 50%;
    font-size: 2rem;
    cursor: pointer;
}
.close-btn button:hover {
background: #777
}
.ttl img{
width: 100%;
}
@media only screen and (max-width: 600px){
    .overlay {
        padding: 16px;
    }
    .close-btn {
        width: 100%;
    }
    .close-btn button {
        right: 0;
        top: -25px;
        font-size: 2rem;
    }
}
/*モーダル2枚*/
.close-btn .ttl {
display: flex;
}