@charset "UTF-8"; @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;700;900&display=swap');
/**********************************************************************************************

　全体

**********************************************************************************************/
html, body.divVisual {width:100%; height:100%;}
#allWrapper01 {overflow:hidden;}
img {display:block; width:100%; max-width:100%; height:auto;}
.txtIb {display:inline-block;}
input[type="text"], input[type="tel"], input[type="email"], input[type="number"], input[type="email"], textarea {background:#f9f9f9; border:1px solid #cccccc; padding:10px; width:100%;}
@media (min-width:641px) {
  #allWrapper01 {overflow:hidden; min-width:1100px;}
}

/**********************************************************************************************

　間隔

**********************************************************************************************/
@media (max-width:640px) {
  .mbsp15 {margin-bottom:15px;}
}

/**********************************************************************************************

　header

**********************************************************************************************/
header a {text-decoration:none; color:#444;}
header a:hover {color:#A674B0; text-decoration:none;}
header {padding-top:85px;}
header .headerNaviWrapper01 {position:fixed; top:0; left:0; z-index:9999; width:100%; display:flex; justify-content:flex-start; align-items:center; padding-left:20px; margin-bottom:20px; background:rgba(255, 255, 255, 1); transition:background 0.5s;}
.scrollMode header .headerNaviWrapper01 {background:rgba(255, 255, 255, 1); -webkit-box-shadow:0 12px 10px -10px rgba(0, 0, 0, 0.15); -moz-box-shadow:0 12px 10px -10px rgba(0, 0, 0, 0.15); box-shadow:0 12px 10px -10px rgba(0, 0, 0, 0.15);}


header .headerNaviWrapper01 .msHover:hover {opacity:.5;}
@media (min-width:641px) {
  header .headerNaviWrapper01 {min-height:85px; height:auto;}
}
@media (max-width:640px) {
  header {padding-top:55px;}
}
@media (max-width:640px) {
  header .headerNaviWrapper01 {height:55px; padding-left:15px;}
}

/*ロゴ
---------------------------------------------------*/
header .headerNaviWrapper01 .headerLogo01 {position:relative; max-width:680px; width:36%; margin-right:20px; z-index:5;}
@media (max-width:640px) {
  header .headerNaviWrapper01 .headerLogo01 {width:calc( 100% - 55px - 55px - 55px - 20px); max-width:250px; margin-right:10px;}
}

/*グローバルメニュー
---------------------------------------------------*/
header .headerNaviWrapper01 .headerBtnArea {position:relative;}
header .headerNaviWrapper01 :is(.headerBtnArea > a, .headerBtnArea > .txtArea) {position:absolute; top:50%; transform:translateY(-50%); border-top:7px solid #FFF; width:45%; left:0; right:0; margin:0 auto;}
header .headerNaviWrapper01 .headerBtnArea::before, 
header .headerNaviWrapper01 .headerBtnArea::after {content:''; width:45%; border-top:7px solid #FFF; left:0; right:0; margin:0 auto; position:absolute; transition:.4s;}
header .headerNaviWrapper01 .headerBtnArea::before {top:27%;}
header .headerNaviWrapper01 .headerBtnArea.hnavMenuActive::before {width:100%; transform:rotate(-315deg); top:50%; border-width:2px;}
header .headerNaviWrapper01 .headerBtnArea::after {top:65%;}
header .headerNaviWrapper01 .headerBtnArea.hnavMenuActive::after {width:100%; top:50%; transform:rotate(315deg); border-width:2px;}
header .headerNaviWrapper01 :is(.headerSns01, .headerTopics01, .headerMenu01) {position:relative; width:85px; height:85px; text-align:center; font-size:.786em; cursor:pointer; z-index:5;}
header .headerNaviWrapper01 :is(.headerSns01, .headerTopics01) {background:#FFF; border:1px solid #444; color:#444;}
header .headerNaviWrapper01 .headerTopics01 {border-left:none; border-right:none;}
header .headerNaviWrapper01 .headerTopics01 a:hover {color:#444;}
header .headerNaviWrapper01 .headerMenu01 {background:#000000; color:#FFF;}
@media (min-width:641px) {
  header .headerNaviWrapper01 .headerBtnArea.headerSns01 {opacity:0;}
}
@media (max-width:640px) {
  header .headerNaviWrapper01 :is(.headerSns01, .headerTopics01, .headerMenu01) {width:55px; height:55px;}
  header .headerNaviWrapper01 :is(.headerBtnArea > a, .headerBtnArea > .txtArea) {border-top:4px solid #FFF;}
  header .headerNaviWrapper01 .headerBtnArea::before, 
  header .headerNaviWrapper01 .headerBtnArea::after {border-top:4px solid #FFF;}
}

/*SNSボタン、Menuボタン　×アイコン
----------------------------x-----------------------*/
header .headerSns01 .iconArea, header .headerMenu01 .iconArea {display:none; position:absolute; z-index:10; width:100%; height:100%; top:0; left:0;}
header .headerSns01 .iconArea::before, 
header .headerSns01 .iconArea::after, 
header .headerMenu01 .iconArea::before, 
header .headerMenu01 .iconArea::after {display:block; content:""; position:absolute; top:50%; left:50%; width:1px; height:22px; margin-top:-11px;}
header .headerSns01 .iconArea::before, 
header .headerSns01 .iconArea::after {background:#444;}
header .headerMenu01 .iconArea::before, 
header .headerMenu01 .iconArea::after {background:#FFF;}
header .headerSns01 .iconArea::before, 
header .headerMenu01 .iconArea::before {transform:rotate(-45deg);}
header .headerSns01 .iconArea::after, 
header .headerMenu01 .iconArea::after {transform:rotate(45deg);}

/*スマホ時のみ　学科紹介などへのプラスアイコン
---------------------------------------------------*/
@media (max-width:640px) {
  header .hnavMenuArea a.hnavPlus {position:relative;}
  header .hnavMenuArea a.hnavPlus::before, 
  header .hnavMenuArea a.hnavPlus::after {display:block; content:""; position:absolute; top:21px; right:16px; width:2px; height:13px; background:#A674B0; transition-duration:.5s;}
  header .hnavMenuArea a.hnavPlus::before {transform:rotate(0deg);}
  header .hnavMenuArea a.hnavPlus::after {transform:rotate(90deg);}
  header .hnavMenuArea a.hnavPlus.hnavPlusActive::before {transform:rotate(90deg);}
  header .hnavMenuArea a.hnavPlus.hnavPlusActive::after {transform:rotate(90deg);}
}

/**********************************************************************************************

　header - hnavMenuArea

**********************************************************************************************/
header .hnavMenuArea {width:100%; z-index:999; display:none; background:#000000cc; -webkit-box-shadow:0 10px 10px 0px rgba(0, 0, 0, 0.15); -moz-box-shadow:0 10px 10px 0px rgba(0, 0, 0, 0.15); box-shadow:0 10px 10px 0px rgba(0, 0, 0, 0.15); height:100%; overflow-y:scroll; position:fixed; top:0; left:0; padding-top:85px; margin-left:auto;}
header .hnavMenuArea .innerWrapper {max-width:720px; width:90%; margin:0 auto;}
header .hnavMenuArea a:hover {color:#A674B0;}

@media (max-width:640px) {
  header .hnavMenuArea {padding-top:55px;}
}

/*hnavTarget01
---------------------------------------------------*/
header .hnavMenuArea .hnavTarget01 {padding:30px 10px 20px;}
header .hnavMenuArea .hnavTarget01 > ul {display:flex;}
header .hnavMenuArea .hnavTarget01 > ul > li {position:relative; line-height:100%; font-size:.857em;}
header .hnavMenuArea .hnavTarget01 > ul > li:not(:first-of-type) {padding-left:15px;}
header .hnavMenuArea .hnavTarget01 > ul > li:not(:last-of-type) {padding-right:15px;}
header .hnavMenuArea .hnavTarget01 > ul > li:not(:last-of-type)::after {content:""; position:absolute; top:0; right:0; display:block; height:100%; width:1px; background:#CCCCCC;}

@media (min-width:1026px) {
  header .hnavMenuArea .hnavTarget01 > ul > li {display:none;}
}
@media (max-width:640px) {
  header .hnavMenuArea .hnavTarget01 {padding:13px 10px;}
  header .hnavMenuArea .hnavTarget01 > ul {display:block; line-height:100%;}
  header .hnavMenuArea .hnavTarget01 > ul > li {display:inline-block; padding-left:0; margin-right:15px; margin-top:7px; margin-bottom:7px;}
  header .hnavMenuArea .hnavTarget01 > ul > li:not(:first-of-type) {padding-left:0;}
}

/*hnavMain01
---------------------------------------------------*/
header .hnavMenuArea .hnavMain01 ul {border-bottom:1px solid #CCCCCC; display:flex; flex-wrap:wrap; justify-content:space-between;}
header .hnavMenuArea .hnavMain01 > ul > li {width:230px; margin-bottom:15px;}
header .hnavMenuArea .hnavMain01 > ul > li a {transition:.3s;}
header .hnavMenuArea .hnavMain01 > ul > li a:hover {opacity:.5; transition:.3s;}

@media (min-width:641px) {
  header .hnavMenuArea .hnavMain01 > ul > li.hnavFullsize {width:100%; margin-bottom:20px;}
}
@media (max-width:640px) {
  header .hnavMenuArea .hnavMain01 ul {border-bottom:none;}
  header .hnavMenuArea .hnavMain01 > ul > li {width:48.5%; margin-bottom:3%;}
  header .hnavMenuArea .hnavMain01 > ul > li:last-child {margin-bottom:5%;}
}

/*hnavThreeArea
---------------------------------------------------*/
header .hnavMenuArea .hnavThreeArea {display:flex; padding-top:20px; padding-bottom:30px; border-bottom:solid 1px #ccc;}
header .hnavMenuArea .hnavThreeArea .hnavThreeInner {width:200px;}
header .hnavMenuArea .hnavThreeArea .hnavThreeInner.hnavThreeLeftArea, 
header .hnavMenuArea .hnavThreeArea .hnavThreeInner.hnavThreeCenterArea {margin-right:60px;}

@media (max-width:640px) {
  header .hnavMenuArea .hnavThreeArea {display:block; margin-bottom:13px; padding-top:0; padding-bottom:0; letter-spacing:-.40em;}
  header .hnavMenuArea .hnavThreeArea .hnavThreeInner {letter-spacing:normal; width:100%;}
  header .hnavMenuArea .hnavThreeArea .hnavThreeInner.hnavThreeLeftArea, 
  header .hnavMenuArea .hnavThreeArea .hnavThreeInner.hnavThreeCenterArea {display:block; margin-right:0;}
}

/*hnavThreeArea - hnavSchool01, hnavEntrance01, hnavCourse01, hnavEmployment01
---------------------------------------------------*/
header .hnavMenuArea .hnavThreeArea .hnavThreeInner :is(.hnavSchool01, .hnavEntrance01, .hnavCourse01, .hnavEmployment01) {padding-left:10px;}
header .hnavMenuArea .hnavThreeArea .hnavThreeInner :is(.hnavSchool01, .hnavEntrance01, .hnavCourse01, .hnavEmployment01) > a {font-size:1.143em; display:block;}
header .hnavMenuArea .hnavThreeArea .hnavThreeInner :is(.hnavSchool01, .hnavEntrance01, .hnavCourse01, .hnavEmployment01) > ul > li {padding-left:16px;}
header .hnavMenuArea .hnavThreeArea .hnavThreeInner :is(.hnavSchool01, .hnavEntrance01, .hnavCourse01, .hnavEmployment01) > ul > li:not(:first-child) {padding-top:15px;}
header .hnavMenuArea .hnavThreeArea .hnavThreeInner .hnavCourse01 {margin-bottom:20px; padding-bottom:20px; border-bottom:solid 1px #ccc;}

@media (max-width:640px) {
  header .hnavMenuArea a.hnavPlus {border-top:1px solid #CCCCCC;}
  header .hnavMenuArea .hnavThreeArea .hnavThreeInner :is(.hnavSchool01, .hnavEntrance01, .hnavCourse01, .hnavEmployment01) {padding-left:0;}
  header .hnavMenuArea .hnavThreeArea .hnavThreeInner :is(.hnavSchool01, .hnavEntrance01, .hnavCourse01, .hnavEmployment01) > a {padding:15px 10px; font-size:1em;}
  header .hnavMenuArea .hnavThreeArea .hnavThreeInner :is(.hnavSchool01, .hnavEntrance01, .hnavCourse01, .hnavEmployment01) > ul {border-top:none;}
  header .hnavMenuArea .hnavThreeArea .hnavThreeInner :is(.hnavSchool01, .hnavEntrance01, .hnavCourse01, .hnavEmployment01) > ul > li {padding-left:24px; font-size:.857em;}
  header .hnavMenuArea .hnavThreeArea .hnavThreeInner :is(.hnavSchool01, .hnavEntrance01, .hnavCourse01, .hnavEmployment01) > ul > li:last-child {padding-bottom:15px;}
  header .hnavMenuArea .hnavThreeArea .hnavThreeInner .hnavCourse01 {margin-bottom:0; padding-bottom:0; border-bottom:none;}
}

/*hnavCourse01
---------------------------------------------------*/
@media (min-width:641px) {
  header .hnavMenuArea .hnavThreeArea .hnavThreeInner .hnavCourse01 .subMenuArea {display:flex; flex-wrap:wrap; width:100%;}
  header .hnavMenuArea .hnavThreeArea .hnavThreeInner .hnavCourse01 .subMenuArea p {font-size:.857em; padding-left:14px;}
}
@media (max-width:640px) {
  header .hnavMenuArea .hnavThreeArea .hnavThreeInner .hnavCourse01 .subMenuArea p a {padding-top:20px; padding-left:12px;}
}

/*hnavOption01
---------------------------------------------------*/
header .hnavMenuArea .hnavOption01 {padding:30px 10px 80px;}
header .hnavMenuArea .hnavOption01 > ul {display:flex;}
header .hnavMenuArea .hnavOption01 > ul > li {position:relative; line-height:100%; font-size:.857em;}
header .hnavMenuArea .hnavOption01 > ul > li:not(:first-of-type) {padding-left:15px;}
header .hnavMenuArea .hnavOption01 > ul > li:not(:last-of-type) {padding-right:15px;}
header .hnavMenuArea .hnavOption01 > ul > li:not(:last-of-type)::after {content:""; position:absolute; top:0; right:0; display:block; height:100%; width:1px; background:#CCCCCC;}
@media (max-width:640px) {
  header .hnavMenuArea .hnavOption01 {padding:0 0 80px 10px;}
  header .hnavMenuArea .hnavOption01 > ul {display:block; letter-spacing:-.40em; line-height:100%;}
  header .hnavMenuArea .hnavOption01 > ul > li:not(:first-of-type) {padding-left:0;}
  header .hnavMenuArea .hnavOption01 > ul > li {display:inline-block; letter-spacing:normal; margin-right:15px; padding-right:15px; margin-top:7px; margin-bottom:7px;}
}

/**********************************************************************************************

　header - hnavSnsArea

**********************************************************************************************/
header .hnav_sns_list {display:flex; align-items:center; justify-content:flex-end;}
header .hnav_sns_list > li {margin-right:20px; max-width:35px;}

@media (min-width:641px) {
  header .hnavSnsArea {display:block !important;}
  header .hnavSnsArea a {transition:opacity .5s;}
  header .hnavSnsArea a:hover {opacity:.5;}
  header .hnav_sns_list {margin:15px 0;}
}
@media (max-width:640px) {
  header .hnav_sns_list {margin-left:auto;}
  header .hnav_sns_list > li {margin:0 10px; width:auto;}
  header .hnav_sns_list > li + li {margin-left:0;}
}


/**********************************************************************************************

　header - PCのみターゲットメニュー表示

**********************************************************************************************/
header .hnavListWrapper {margin-left:auto;}
header .hnavListWrapper .hnav_target_list {line-height:1.2em; text-align:right;}
header .hnavListWrapper .hnav_target_list li {margin-right:1em; font-size:.714em; font-weight:bold; line-height:1em; display:inline-block;}
header .hnavListWrapper .hnav_target_list li:last-child {margin-right:20px;}

@media (max-width:1025px) {
  header .hnavListWrapper .hnav_target_list {display:none;}
}

/**********************************************************************************************

　header - パンくずリスト

**********************************************************************************************/
header .breadcrumbsArea {background:#f6f6f6; padding:10px 0;}
header .breadcrumbsArea ul {letter-spacing:-.40em; max-width:1000px; margin:0 auto;}
header .breadcrumbsArea ul li {display:inline-block; letter-spacing:normal; margin-right:10px; font-size:.857em;}
header .breadcrumbsArea ul li:not(:last-child)::after {content:">"; margin-left:10px;}

@media (max-width:640px) {
  header .breadcrumbsArea {padding:0 20px;}
}

/**********************************************************************************************

　main - 全体

**********************************************************************************************/
main .innerWrapper {max-width:1000px; margin:0 auto; width:100%;}

@media (max-width:640px) {
  main .innerWrapper {width:90%;}
}

/**********************************************************************************************

　main - 全体 　色

**********************************************************************************************/
.txtColorCommon {color:#A674B0;}
.typeCourse.typeCourseAirline .txtColorGakka {color:#E85298;}

/**********************************************************************************************

　main - タイトルエリア

**********************************************************************************************/
main .titleArea {text-align:center; padding:55px 0; max-width:1000px; margin:0 auto; border-bottom:1px solid #CCCCCC;}
.typeCourse main .titleArea {border-bottom:none;}
main .titleArea h1 span {display:block; line-height:100%;}
main .titleArea h1 .largeTxt01 {font-size:3.286em; margin-bottom:20px; font-weight:bold;}
main .titleArea h1 .smallTxt01 {font-size:1.143em; letter-spacing:.1em; line-height:140%;}

@media (max-width:640px) {
  main .titleArea {text-align:left; padding:50px 0; width:90%; margin:0 auto;}
  main .titleArea h1 .largeTxt01 {font-size:2.857em;}
}

/**********************************************************************************************

　main - 全体 見出し

**********************************************************************************************/
main .midashiBox01 {font-size:2.429em; font-weight:bold; line-height:140%; margin-bottom:40px;}

@media (max-width:640px) {
  main .midashiBox01 {font-size:1.714em;}
}

/**********************************************************************************************

　main - ページ内リンクエリア

**********************************************************************************************/
main .pagelinkArea {background:#f6f6f6; padding:25px 0; margin-bottom:105px;}
main .pagelinkArea ul {max-width:800px; margin:0 auto; display:flex; flex-wrap:wrap;}
main .pagelinkArea ul li {width:25%; padding:15px 0; text-align:left;}
main .pagelinkArea ul li a {display:block; position:relative; padding-left:14px; font-size:.929em; color:#444; text-decoration:none;}
main .pagelinkArea ul li a:hover {color:#A674B0;}
main .pagelinkArea ul li a::before {content:""; display:block; width:4px; height:4px; position:absolute; top:0; margin-top:8px; left:0; border-bottom:1px solid #000; border-right:1px solid #000; transform:rotate(45deg);}

@media (max-width:640px) {
  main .pagelinkArea {padding:5px 0; margin-bottom:60px;}
  main .pagelinkArea ul {width:70%; line-height:140%;}
  main .pagelinkArea ul li {width:50%; padding:10px 0 10px 10px;}
}

/**********************************************************************************************

　main - テーブルエリア

**********************************************************************************************/
main .tableArea {margin-bottom:105px;}
main .tableArea .midashiBox01 {margin-bottom:40px;}
main .tableArea table {border-top:1px solid #cccccc; border-bottom:1px solid #cccccc; width:100%;}
main .tableArea .tableWrapper {position:relative; width:100%; overflow:auto;}
main .tableArea .tableWrapper .iconTable {display:none; position:absolute; width:85px; height:85px; top:30%; left:50%; margin-left:-42px;}
main .tableArea table tr th, 
main .tableArea table tr td {vertical-align:middle;}
main .tableArea table tr th p {padding:10px 30px; text-align:center;}
main .tableArea table tr td p {padding:20px 30px;}
main .tableArea table tr td p:not(:first-of-type) {padding-top:0;}
main .tableArea table tr .tableInner {padding:20px 30px;}
main .tableArea table tr .tableInner p {padding:0;}
main .tableArea table tr .tableInner .attentionList {margin-top:0;}

@media (max-width:640px) {
  main .tableArea table tr .tableInner {padding:15px;}
}

/*テーブル内下線追加
---------------------------------------------------*/
main .tableArea .borderBottomThin {border-bottom:1px solid #E9E9E9;}
main .tableArea .borderBottomDark {border-bottom:1px solid #CCCCCC;}

/*テーブル内リンク
---------------------------------------------------*/
main .tableArea table tr a:not([href^="tel:"]) {display:block; color:#A674B0; position:relative; padding-left:15px;}
main .tableArea table tr a:not([href^="tel:"])::before {position:absolute; content:""; top:50%; left:0; width:5px; height:5px; margin-top:-2.5px; border-top:1px solid #A674B0; border-right:1px solid #A674B0; -webkit-transform:rotate(45deg); transform:rotate(45deg);}

@media (max-width:640px) {
  main .tableArea {margin-bottom:60px;}
  main .tableArea .midashiBox01 {margin-bottom:25px;}
  main .tableArea table tr td p {padding:15px 15px;}
  /*スマホ時　横スクロールアイコン
  ---------------------------------------------------*/ 
  main .tableArea .tableWrapper .iconTable {display:block;}
}

/*テーブル下　注意書き
---------------------------------------------------*/
main .tableArea .attentionList {margin-top:15px;}
main .tableArea .attentionList li {font-size:.857em; padding-left:1em; text-indent:-1em;}

/*テーブル上　注意書き　スマホ時のみ
---------------------------------------------------*/
@media (max-width:640px) {
  main .tableArea .attentionTxtSp {text-align:right; font-size:.714em; margin-bottom:10px;}
}

/**********************************************************************************************

　main - テーブルエリア - Type01

**********************************************************************************************/

/* テーブル装飾
---------------------------------------------------*/
main .tableArea.tableType01 .tableWrapper table tr th {border-bottom:1px solid #cccccc;}
main .tableArea.tableType01 .tableWrapper table tr th:not(:first-of-type) {border-left:1px solid #cccccc;}
main .tableArea.tableType01 .tableWrapper table tr td:not(:first-of-type) {border-left:1px solid #e9e9e9;}
main .tableArea.tableType01 .tableWrapper table tr th {background:#F3EEF4;}
main .tableArea.tableType01 .tableWrapper table tr:nth-child(2n-1) td {background:#f9f9f9;}
main .tableArea.tableType01 .tableWrapper table tr td p:not(:first-of-type) {position:relative;}

/**********************************************************************************************

　main - テーブルエリア - Type02

**********************************************************************************************/

/* テーブル装飾
---------------------------------------------------*/
main .tableArea.tableType02 .tableWrapper table tr th {border-bottom:1px solid #cccccc;}
main .tableArea.tableType02 .tableWrapper table tr th:not(:first-of-type) {border-left:1px solid #cccccc;}
main .tableArea.tableType02 .tableWrapper table tr:not(:last-of-type) td {border-bottom:1px solid #E9E9E9;}
main .tableArea.tableType02 .tableWrapper table tr td:not(:first-of-type) {border-left:1px solid #e9e9e9;}
main .tableArea.tableType02 .tableWrapper table tr th {background:#F3EEF4;}
main .tableArea.tableType02 .tableWrapper table tr:nth-child(2n-1) td {background:#f9f9f9;}
main .tableArea.tableType02 .tableWrapper table tr td p:not(:first-of-type) {position:relative;}

/**********************************************************************************************

　　main - ボタンエリア　リスト　PDF

**********************************************************************************************/
main .btnTxtArea a {display:inline-block; margin:0 auto; line-height:140%; color:#A674B0; text-align:left; font-size:1em; position:relative; transition:opacity 0.5s; padding-left:20px;}
main .btnTxtArea a::before {position:absolute; content:""; top:0; left:0; transform-origin:center; background:url("../img/common/icon_pdf.svg") no-repeat; background-size:contain; transform:translateY(3px); width:11px; height:14px;}
main .btnTxtArea a:hover, main .btnTxtArea a:hover::before {opacity:.5;}
main .btnTxtArea > ul > li:not(:first-of-type) {margin-top:5px;}
main .btnTxtArea > ul > li.listStart {margin-top:20px;}

/**********************************************************************************************

　　main - ボタンエリア　四角枠あり

**********************************************************************************************/
main .btnSquareArea > ul {display:flex; justify-content:center; flex-wrap:wrap;}
main .btnSquareArea > ul > li {max-width:280px; width:100%; margin-bottom:20px;}
main .btnSquareArea > ul > li:nth-child(2n) {margin-left:20px;}
main .btnSquareArea a {display:block; margin:0 auto; padding:20px; line-height:100%; color:#A674B0; text-align:center; font-size:1.143em; border:1px solid #A674B0; position:relative; transition:background 0.5s, color 0.5s;}
main .btnSquareArea a::before {position:absolute; content:""; top:50%; right:0; width:7px; height:7px; margin-top:-3.5px; margin-right:15px; border-top:1px solid #A674B0; border-right:1px solid #A674B0; -webkit-transform:rotate(45deg); transform:rotate(45deg); transition:border 0.5s;}
main .btnSquareArea a:hover {background:#A674B0; color:#FFF;}
main .btnSquareArea a:hover::before {border-color:#FFF;}
@media (max-width:640px) {main .btnSquareArea > ul {flex-wrap:wrap;}
  main .btnSquareArea > ul > li {max-width:280px; width:90%; margin-bottom:0;}
  main .btnSquareArea > ul > li:not(:first-of-type) {margin-left:0; margin-top:10px;}
  main .btnSquareArea a {width:100%; max-width:none; cursor:pointer;}
}

/**********************************************************************************************

　　main - ボタンエリア　矢印だけ

**********************************************************************************************/
main .btnArrowOnlyArea {text-align:center;}
main .btnArrowOnlyArea a {display:inline-block; color:#A674B0; position:relative; padding-left:15px;}
main .btnArrowOnlyArea a::before {position:absolute; content:""; top:50%; left:0; width:5px; height:5px; margin-top:-2.5px; border-top:1px solid #A674B0; border-right:1px solid #A674B0; -webkit-transform:rotate(45deg); transform:rotate(45deg);}

/**********************************************************************************************

　　main - ボタンエリア　別ページ　PDF

**********************************************************************************************/
main a[href$=".pdf"].linkBtn.linkBtn-blank::before {width:11px; height:14px; border:0; transform-origin:center; background:url("../img/common/icon_pdf.svg") no-repeat; background-size:contain; transform:translateY(-50%); top:50%; margin-top:0; transition:all 0.5s;}
main a[href$=".pdf"].linkBtn.linkBtn-blank:hover::before {background:url("../img/common/icon_pdf_white.svg") no-repeat; background-size:contain;}

/**********************************************************************************************

　main - 下層ページトップ

**********************************************************************************************/
.typeUnderlayerIndex main .titleArea {margin-bottom:60px;}
.typeUnderlayerIndex main .introArea .innerWrapper {display:flex;}
.typeUnderlayerIndex main .introArea .innerWrapper .txtArea {max-width:640px; width:100%;}
.typeUnderlayerIndex main .introArea .innerWrapper .txtArea .txtBox {font-size:1.429em; font-weight:bold; margin-bottom:25px;}
.typeUnderlayerIndex main .introArea .innerWrapper .txtArea .btnSquareArea > ul {justify-content:flex-start;}
.typeUnderlayerIndex main .introArea .innerWrapper .txtArea .btnSquareArea > ul > li > a {border-color:#c8c8c8;}
.typeUnderlayerIndex main .introArea .innerWrapper .txtArea .btnSquareArea > ul > li > a:hover {border-color:#A674B0;}
.typeUnderlayerIndex main .introArea .innerWrapper .imgArea {max-width:300px; width:100%; margin-left:auto;}

@media (max-width:640px) {
  .typeUnderlayerIndex main .introArea .innerWrapper {flex-wrap:wrap;}
  .typeUnderlayerIndex main .introArea .innerWrapper .txtArea {max-width:none; margin-bottom:40px;}
  .typeUnderlayerIndex main .introArea .innerWrapper .txtArea .txtBox {font-size:1.143em;}
  .typeUnderlayerIndex main .introArea .innerWrapper .txtArea .btnSquareArea > ul {justify-content:center;}
  .typeUnderlayerIndex main .introArea .innerWrapper .txtArea .btnSquareArea > ul > li, 
  .typeUnderlayerIndex main .introArea .innerWrapper .txtArea .btnSquareArea > ul > li > a {max-width:none; width:100%;}
  .typeUnderlayerIndex main .introArea .innerWrapper .txtArea .btnSquareArea > ul > li > a {text-align:left; padding-top:30px; padding-bottom:30px;}
  .typeUnderlayerIndex main .introArea .innerWrapper .imgArea {max-width:none; margin-right:auto;}
}

/**********************************************************************************************

　main - リンク　別窓

**********************************************************************************************/
main .btnSquareArea > ul > li a[target="_blank"]::before {width:12px; height:10px; border:none; transform-origin:center; background:url("../img/common/icon_target.svg") no-repeat; background-size:auto; background-size:contain; transform:translateY(-50%); top:50%; right:0; margin-top:0; transition:all 0.5s;}
main .btnSquareArea > ul > li a[target="_blank"]:hover::before {background:url("../img/common/icon_target_white.svg") no-repeat;}

/**********************************************************************************************

　main - リンク　PDF

**********************************************************************************************/
main .btnSquareArea > ul > li a[href$=".pdf"]::before {width:11px; height:14px; border:none; transform-origin:center; background:url("../img/common/icon_pdf.svg") no-repeat; background-size:auto; background-size:contain; transform:translateY(-50%); top:50%; right:0; margin-top:0; transition:all 0.5s;}

/*各学科色　英語本科*/
main .btnSquareArea > ul > li.pdf-Abroad a[href$=".pdf"]::before {background:url("../img/common/icon_pdf_abroad.svg") no-repeat;}
main .btnSquareArea > ul > li.pdf-Abroad a[href$=".pdf"] {color:#0099d9; border-color:#0099d9;}
main .btnSquareArea > ul > li.pdf-Abroad a[href$=".pdf"]:hover {background:#0099d9;}

/*各学科色　英語科*/
main .btnSquareArea > ul > li.pdf-English a[href$=".pdf"]::before {background:url("../img/common/icon_pdf_english.svg") no-repeat;}
main .btnSquareArea > ul > li.pdf-English a[href$=".pdf"] {color:#00a784; border-color:#00a784;}
main .btnSquareArea > ul > li.pdf-English a[href$=".pdf"]:hover {background:#00a784;}

/*各学科色　国際エアライン科*/
main .btnSquareArea > ul > li.pdf-Airline a[href$=".pdf"]::before {background:url("../img/common/icon_pdf_airline.svg") no-repeat;}
main .btnSquareArea > ul > li.pdf-Airline a[href$=".pdf"] {color:#e85298; border-color:#e85298;}
main .btnSquareArea > ul > li.pdf-Airline a[href$=".pdf"]:hover {background:#e85298;}

/*各学科色　ブライダル科*/
main .btnSquareArea > ul > li.pdf-Bridal a[href$=".pdf"]::before {background:url("../img/common/icon_pdf_bridal.svg") no-repeat;}
main .btnSquareArea > ul > li.pdf-Bridal a[href$=".pdf"] {color:#e95383; border-color:#e95383;}
main .btnSquareArea > ul > li.pdf-Bridal a[href$=".pdf"]:hover {background:#e95383;}

/*各学科色　国際ホテル科*/
main .btnSquareArea > ul > li.pdf-Hotel a[href$=".pdf"]::before {background:url("../img/common/icon_pdf_hotel.svg") no-repeat;}
main .btnSquareArea > ul > li.pdf-Hotel a[href$=".pdf"] {color:#ed6c00; border-color:#ed6c00;}
main .btnSquareArea > ul > li.pdf-Hotel a[href$=".pdf"]:hover {background:#ed6c00;}

/*マウスオーバー時　色変え*/
main .btnSquareArea > ul > li a[href$=".pdf"]:hover {color:#FFF;}
main .btnSquareArea > ul > li a[href$=".pdf"]:hover::before {background:url("../img/common/icon_pdf_white.svg") no-repeat;}

/**********************************************************************************************

　main - 下層ページトップ　キービジュアルあり

**********************************************************************************************/
.typeUnderlayerIndexLarge main .kvArea {position:relative; height:700px;}
.typeUnderlayerIndexLarge main .kvArea .titleArea {border:none; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); padding:100px 50px; max-width:722px; background:rgba(255, 255, 255, 0.8); width:100%;}
.typeUnderlayerIndexLarge main .kvArea .titleArea::before, .typeUnderlayerIndexLarge main .kvArea .titleArea::after, .typeUnderlayerIndexLarge main .kvArea .titleArea h1::before, .typeUnderlayerIndexLarge main .kvArea .titleArea h1::after {content:''; width:17px; height:17px; position:absolute;}
.typeUnderlayerIndexLarge main .kvArea .titleArea::before {border-left:solid 2px #a674b0; border-top:solid 2px #a674b0; top:0; left:0;}
main .kvArea .titleArea h1::before {border-left:solid 2px #a674b0; border-bottom:solid 2px #a674b0; bottom:0; left:0;}
.typeUnderlayerIndexLarge main .kvArea .titleArea::after {border-right:solid 2px #a674b0; border-bottom:solid 2px #a674b0; bottom:0; right:0;}
.typeUnderlayerIndexLarge main .kvArea .titleArea h1::after {border-right:solid 2px #a674b0; border-top:solid 2px #a674b0; top:0; right:0;}

/*ページスクロールアイコン*/
.typeUnderlayerIndexLarge main .kvArea .kvPageDown a {position:absolute; display:block; border:1px solid #444; border-radius:50%; width:54px; height:54px; padding:0; bottom:25px; left:50%; transform:translateX(-50%); margin-right:46px; transition:border 1s; background-color:rgba(255, 255, 255, 0.7); z-index:60;}
.typeUnderlayerIndexLarge main .kvArea .kvPageDown a::before {content:""; position:absolute; top:50%; left:50%; width:14px; height:14px; margin:-10px 0 0 -7px; border-top:1px solid #444; border-left:1px solid #444; transform:rotate(225deg); transition:1s;}

/*マウスオーバー時*/
.typeUnderlayerIndexLarge main .kvArea .kvPageDown a:hover {border-color:#A674B0;}
.typeUnderlayerIndexLarge main .kvArea .kvPageDown a:hover::before {top:65%;}
@media (max-width:640px) {.typeUnderlayerIndexLarge main .kvArea .titleArea {padding:70px 0; max-width:82.6%; text-align:center;}
  .typeUnderlayerIndexLarge main .kvArea .kvPageDown a {width:44px; height:44px;}
  .typeUnderlayerIndexLarge main .kvArea .titleArea h1 .largeTxt01 {font-size:2.429em;}
  .typeUnderlayerIndexLarge main .kvArea .pagelinkArea ul {width:90%; line-height:140%;}
}

/*　フッターバナー再利用　*/
main .txtBox + .footerBnr {margin-top:40px;}
main .footerBnr {max-width:305px;}
main .footerBnr a {transition:opacity 0.5s;}
main .footerBnr a:hover {opacity:.5;}
main .border-purple {border:1px solid #A674B0;}
main .border-gray {border:1px solid #E9E9E9;}

/**********************************************************************************************

　footer

**********************************************************************************************/
footer {color:#FFF; text-align:center; font-size:.857em; margin-top:200px;}
@media (max-width:640px) {footer {margin-top:100px;}
}
footer a {text-decoration:none; color:#444;}

/**********************************************************************************************

　footer - バナーエリア

**********************************************************************************************/

/*フッタースライドエリア
---------------------------------------------------*/
footer .footerWrapper01 .footerSlideArea {padding:40px; background:#E9E9E9;}
footer .footerWrapper01 .footerSlideArea .footerSlider {max-width:935px; margin:0 auto;}
footer .footerWrapper01 .footerSlideArea .footerSlider .slick-slide {margin:0 5px;}
@media (max-width:640px) {footer .footerWrapper01 .footerSlideArea {padding:40px 5%;}
  footer .footerWrapper01 .footerSlideArea .footerSlider .slick-slide {margin:0px;}
}
footer .footerWrapper01 .footerSlideArea .footerSlider a {display:block; transition:opacity 0.5s; background:#FFF;}
footer .footerWrapper01 .footerSlideArea .footerSlider a:hover {opacity:.5;}
footer .footerWrapper01 .footerSlideArea .footerSlider .slick-prev, footer .footerWrapper01 .footerSlideArea .footerSlider .slick-next {width:30px; height:30px; z-index:5; top:50%; margin-top:-15px;}
footer .footerWrapper01 .footerSlideArea .footerSlider .slick-prev {left:0; margin-left:-10px;}
footer .footerWrapper01 .footerSlideArea .footerSlider .slick-next {right:0; margin-right:-10px;}
footer .footerWrapper01 .footerSlideArea .footerSlider .slick-prev::before, footer .footerWrapper01 .footerSlideArea .footerSlider .slick-next::before {content:""; display:block; width:30px; height:30px;}
footer .footerWrapper01 .footerSlideArea .footerSlider .slick-prev::before {background:url(../js/slick/img/arrow_left.png) top left no-repeat; background-size:100% auto;}
footer .footerWrapper01 .footerSlideArea .footerSlider .slick-next::before {background:url(../js/slick/img/arrow_right.png) top left no-repeat; background-size:100% auto;}

/*フッタースライドエリア ドットインジケーター
---------------------------------------------------*/
footer .footerWrapper01 .footerSlideArea .footerSlider .slider-dots {text-align:center; line-height:100%; margin-top:20px;}
footer .footerWrapper01 .footerSlideArea .footerSlider .slider-dots li {display:inline-block; margin:0 1px;}
footer .footerWrapper01 .footerSlideArea .footerSlider .slider-dots li button {width:30px; background:#B7B7B7; border:none; overflow:hidden; text-indent:-9999px; height:4px;}
footer .footerWrapper01 .footerSlideArea .footerSlider .slider-dots li.slick-active button {background:#444;}

/**********************************************************************************************

　footer - 学校情報

**********************************************************************************************/
footer .footerWrapper01 .footerInfoArea {padding:35px 0; background:#F6F6F6;}
footer .footerWrapper01 .footerInfoArea .innerWrapper {display:flex; max-width:935px; margin:0 auto;}
footer .footerWrapper01 .footerInfoArea p, footer .footerWrapper01 .footerInfoArea ul li {color:#444;}
footer .footerWrapper01 .footerInfoArea .footerInfoAreaLeft {width:285px; margin-right:35px;}
footer .footerWrapper01 .footerInfoArea .footerInfoAreaLeft p {max-width:190px; margin-left:auto;}
footer .footerWrapper01 .footerInfoArea .footerInfoAreaRight {width:615px; text-align:left;}
footer .footerWrapper01 .footerInfoArea .footerInfoAreaRight .titBox01 {margin-bottom:10px; line-height:175%;}
footer .footerWrapper01 .footerInfoArea .footerInfoAreaRight .titBox01 span {font-weight:bold;}
footer .footerWrapper01 .footerInfoArea .footerInfoAreaRight .titBox01 span:not(.txtIb) {display:block;}
footer .footerWrapper01 .footerInfoArea .footerInfoAreaRight .titBox01 span b {font-size:1.667em;}
footer .footerWrapper01 .footerInfoArea .footerInfoAreaRight .txtBox01 {display:inline-block; border:1px solid #444; line-height:100%; padding:5px; margin-bottom:10px;}
footer .footerWrapper01 .footerInfoArea .footerInfoAreaRight .listBox01 {display:flex; margin-bottom:10px;}
footer .footerWrapper01 .footerInfoArea .footerInfoAreaRight .listBox01 .adrBox01 {margin-right:2em;}
footer .footerWrapper01 .footerInfoArea .footerInfoAreaRight .listBox01 .telBox01::after {content:"／"; margin:0 1em;}
footer .footerWrapper01 .footerInfoArea .footerInfoAreaRight .copyBox01 {font-size:.833em;}

@media (max-width:640px) {
  footer .footerWrapper01 .footerInfoArea {padding:30px 0 120px;}
  footer .footerWrapper01 .footerInfoArea .innerWrapper {display:block; width:90%;}
  footer .footerWrapper01 .footerInfoArea .footerInfoAreaLeft {width:60%; margin-right:0; margin-bottom:30px;}
  footer .footerWrapper01 .footerInfoArea .footerInfoAreaLeft p {max-width:100%; margin-left:auto;}
  footer .footerWrapper01 .footerInfoArea .footerInfoAreaRight {width:100%; text-align:left;}
  footer .footerWrapper01 .footerInfoArea .footerInfoAreaRight .txtBox01 {margin-bottom:20px;}
  footer .footerWrapper01 .footerInfoArea .footerInfoAreaRight .listBox01 {display:block; margin-bottom:20px;}
  footer .footerWrapper01 .footerInfoArea .footerInfoAreaRight .listBox01 .telBox01, footer .footerWrapper01 .footerInfoArea .footerInfoAreaRight .listBox01 .faxBox01 {display:inline-block;}
}

/**********************************************************************************************

　footer - hnavMenuArea

**********************************************************************************************/
footer .fnavMenuArea {width:100%; background:#F6F6F6; margin-left:auto; text-align:left;}
footer .fnavMenuArea .innerWrapper {max-width:720px; width:90%; margin:0 auto;}
footer .fnavMenuArea a:hover {color:#A674B0;}

/*スマホ時のみ　学科紹介などへのプラスアイコン
---------------------------------------------------*/
@media (max-width:640px) {footer .fnavMenuArea a.fnavPlus {position:relative;}
  footer .fnavMenuArea a.fnavPlus::before, footer .fnavMenuArea a.fnavPlus::after {display:block; content:""; position:absolute; top:21px; right:16px; width:2px; height:13px; background:#A674B0; transition-duration:.5s;}
  footer .fnavMenuArea a.fnavPlus::before {transform:rotate(0deg);}
  footer .fnavMenuArea a.fnavPlus::after {transform:rotate(90deg);}
  footer .fnavMenuArea a.fnavPlus.fnavPlusActive::before {transform:rotate(90deg);}
  footer .fnavMenuArea a.fnavPlus.fnavPlusActive::after {transform:rotate(90deg);}
}

/*hnavTarget01
---------------------------------------------------*/
footer .fnavMenuArea .fnavTarget01 {padding:30px 10px 20px;}
footer .fnavMenuArea .fnavTarget01 > ul {display:flex;}
footer .fnavMenuArea .fnavTarget01 > ul > li {position:relative; line-height:100%; font-size:.857em;}
footer .fnavMenuArea .fnavTarget01 > ul > li:not(:first-of-type) {padding-left:15px;}
footer .fnavMenuArea .fnavTarget01 > ul > li:not(:last-of-type) {padding-right:15px;}
footer .fnavMenuArea .fnavTarget01 > ul > li:not(:last-of-type)::after {content:""; position:absolute; top:0; right:0; display:block; height:100%; width:1px; background:#CCCCCC;}

@media (max-width:640px) {
  footer .fnavMenuArea .fnavTarget01 {padding:13px 10px;}
  footer .fnavMenuArea .fnavTarget01 > ul {display:block; line-height:100%;}
  footer .fnavMenuArea .fnavTarget01 > ul > li {display:inline-block; padding-left:0; margin-right:15px; margin-top:7px; margin-bottom:7px;}
  footer .fnavMenuArea .fnavTarget01 > ul > li:not(:first-of-type) {padding-left:0;}
}

/*hnavMain01
---------------------------------------------------*/
footer .fnavMenuArea .fnavMain01 ul {border-bottom:1px solid #CCCCCC; display:flex; flex-wrap:wrap; justify-content:space-between;}
footer .fnavMenuArea .fnavMain01 > ul > li {width:230px; margin-bottom:15px;}
footer .fnavMenuArea .fnavMain01 > ul > li a {transition:.3s;}
footer .fnavMenuArea .fnavMain01 > ul > li a:hover {opacity:.5; transition:.3s;}

@media (min-width:641px) {
  footer .fnavMenuArea .fnavMain01 ul > li.hnavFullsize {width:100%; margin-bottom:20px;}
}
@media (max-width:640px) {footer .fnavMenuArea .fnavMain01 ul {border-bottom:none;}
  footer .fnavMenuArea .fnavMain01 > ul > li {width:48.5%; margin-bottom:3%;}
  footer .fnavMenuArea .fnavMain01 > ul > li:last-child {margin-bottom:5%;}
}

/*hnavThreeArea
---------------------------------------------------*/
footer .fnavMenuArea .fnavThreeArea {display:flex; padding-top:20px; padding-bottom:30px; border-bottom:solid 1px #ccc;}
footer .fnavMenuArea .fnavThreeArea .fnavThreeInner {width:200px;}
footer .fnavMenuArea .fnavThreeArea .fnavThreeInner.fnavThreeLeftArea, footer .fnavMenuArea .fnavThreeArea .fnavThreeInner.fnavThreeCenterArea {margin-right:60px;}

@media (max-width:640px) {
  footer .fnavMenuArea .fnavThreeArea {display:block; margin-bottom:13px; padding-top:0; padding-bottom:0; letter-spacing:-.40em;}
  footer .fnavMenuArea .fnavThreeArea .fnavThreeInner {letter-spacing:normal; width:100%;}
  footer .fnavMenuArea .fnavThreeArea .fnavThreeInner.fnavThreeLeftArea, footer .fnavMenuArea .fnavThreeArea .fnavThreeInner.fnavThreeCenterArea {display:block; margin-right:0;}
}

/*hnavThreeArea - hnavSchool01, hnavEntrance01, hnavCourse01, hnavEmployment01
---------------------------------------------------*/
footer .fnavMenuArea .fnavThreeArea .fnavThreeInner :is(.fnavSchool01, .fnavEntrance01, .fnavCourse01, .fnavEmployment01) {padding-left:10px;}
footer .fnavMenuArea .fnavThreeArea .fnavThreeInner :is(.fnavSchool01, .fnavEntrance01, .fnavCourse01, .fnavEmployment01) > a {font-size:1.143em; display:block;}
footer .fnavMenuArea .fnavThreeArea .fnavThreeInner :is(.fnavSchool01, .fnavEntrance01, .fnavCourse01, .fnavEmployment01) > ul > li {padding-left:16px;}
footer .fnavMenuArea .fnavThreeArea .fnavThreeInner :is(.fnavSchool01, .fnavEntrance01, .fnavCourse01, .fnavEmployment01) > ul > li:not(:first-child) {padding-top:15px;}
footer .fnavMenuArea .fnavThreeArea .fnavThreeInner .fnavCourse01 {margin-bottom:20px; padding-bottom:20px; border-bottom:solid 1px #ccc;}

@media (max-width:640px) {
  footer .fnavMenuArea a.fnavPlus {border-top:1px solid #CCCCCC;}
  footer .fnavMenuArea .fnavThreeArea .fnavThreeInner :is(.fnavSchool01, .fnavEntrance01, .fnavCourse01, .fnavEmployment01) {padding-left:0;}
  footer .fnavMenuArea .fnavThreeArea .fnavThreeInner :is(.fnavSchool01, .fnavEntrance01, .fnavCourse01, .fnavEmployment01) > a {padding:15px 10px; font-size:1em;}
  footer .fnavMenuArea .fnavThreeArea .fnavThreeInner :is(.fnavSchool01, .fnavEntrance01, .fnavCourse01, .fnavEmployment01) > ul {border-top:none;}
  footer .fnavMenuArea .fnavThreeArea .fnavThreeInner :is(.fnavSchool01, .fnavEntrance01, .fnavCourse01, .fnavEmployment01) > ul > li {padding-left:24px; font-size:.857em;}
  footer .fnavMenuArea .fnavThreeArea .fnavThreeInner :is(.fnavSchool01, .fnavEntrance01, .fnavCourse01, .fnavEmployment01) > ul > li:last-child {padding-bottom:15px;}
  footer .fnavMenuArea .fnavThreeArea .fnavThreeInner .fnavCourse01 {margin-bottom:0; padding-bottom:0; border-bottom:none;}
}

/*hnavCourse01
---------------------------------------------------*/
@media (min-width:641px) {
  footer .fnavMenuArea .fnavThreeArea .fnavThreeInner .fnavCourse01 .subMenuArea {display:flex; flex-wrap:wrap; width:100%;}
  footer .fnavMenuArea .fnavThreeArea .fnavThreeInner .fnavCourse01 .subMenuArea p {font-size:.857em; padding-left:14px;}
}
@media (max-width:640px) {
  footer .fnavMenuArea .fnavThreeArea .fnavThreeInner .fnavCourse01 .subMenuArea p a {padding-top:20px; padding-left:12px;}
}

/*hnavOption01
---------------------------------------------------*/
footer .fnavMenuArea .fnavOption01 {padding:30px 10px 30px;}
footer .fnavMenuArea .fnavOption01 > ul {display:flex;}
footer .fnavMenuArea .fnavOption01 > ul > li {position:relative; line-height:100%; font-size:.857em;}
footer .fnavMenuArea .fnavOption01 > ul > li:not(:first-of-type) {padding-left:15px;}
footer .fnavMenuArea .fnavOption01 > ul > li:not(:last-of-type) {padding-right:15px;}
footer .fnavMenuArea .fnavOption01 > ul > li:not(:last-of-type)::after {content:""; position:absolute; top:0; right:0; display:block; height:100%; width:1px; background:#CCCCCC;}

@media (max-width:640px) {
  footer .fnavMenuArea .fnavOption01 {padding:0 0 0 10px;}
  footer .fnavMenuArea .fnavOption01 > ul {display:block; letter-spacing:-.40em; line-height:100%;}
  footer .fnavMenuArea .fnavOption01 > ul > li:not(:first-of-type) {padding-left:0;}
  footer .fnavMenuArea .fnavOption01 > ul > li {display:inline-block; letter-spacing:normal; margin-right:15px; padding-right:15px; margin-top:7px; margin-bottom:7px;}
}

/**********************************************************************************************

　floatArea

**********************************************************************************************/
.floatArea {position:fixed; bottom:0; right:0; text-align:center; max-width:100px; margin-bottom:105px; z-index:50; transition:3s;}
.floatArea .innerWrapper {width:100%;}
.floatArea .floatBox {display:table; width:100%;}

@media (min-width:641px) {
  .floatArea .floatBox {width:100px;}
}
.floatArea .floatBox.bannerCourseArea {display:none;}
.typeCourseAirline:not(.typeCourseSpecial) .floatArea .floatBox.bannerCourseArea.bannerCourseArea-airline, .typeCourseBridal:not(.typeCourseSpecial) .floatArea .floatBox.bannerCourseArea.bannerCourseArea-bridal, .typeCourseHotel:not(.typeCourseSpecial) .floatArea .floatBox.bannerCourseArea.bannerCourseArea-hotel {display:table;}
.floatArea .floatBox a {display:table-cell; width:100%; height:100px; line-height:100%; color:#FFF; vertical-align:middle;}

@media (max-width:640px) {
  .floatArea .floatBox a {height:66px;}
}

/*スクロール時*/
.floatArea {transition:1s; opacity:0; right:-100px;}
.scrollMode .floatArea {opacity:1; right:0;}

@media (max-width:640px) {
  .floatArea {max-width:none; width:100%; margin-bottom:0; display:flex;}
  .floatArea .innerWrapper {display:flex;}
  .floatArea a {padding:10px 0; line-height:120%;}
}

/*学科
---------------------------------------------------*/
.floatArea .bannerCourseArea {margin-bottom:5px;}
.floatArea .bannerCourseArea a {background:#A674B0; color:#FFF; font-size:.857em; transition:background 0.5s, color 0.5s;}
.floatArea .bannerCourseArea.bannerCourseArea-airline a {background:#E85298; border:1px solid #E85298;}
.floatArea .bannerCourseArea.bannerCourseArea-bridal a {background:#E95383; border:1px solid #E95383;}
.floatArea .bannerCourseArea.bannerCourseArea-hotel a {background:#ED6C00; border:1px solid #ED6C00;}

@media (min-width:641px) {
  .floatArea .bannerCourseArea.bannerCourseArea-airline a:hover {color:#E85298; background:#FFF;}
  .floatArea .bannerCourseArea.bannerCourseArea-bridal a:hover {color:#E95383; background:#FFF;}
  .floatArea .bannerCourseArea.bannerCourseArea-hotel a:hover {color:#ED6C00; background:#FFF;}
}
@media (max-width:640px) {
  .floatArea .bannerCourseArea {margin-bottom:0; width:50%;}
  .typeCourseAirline:not(.typeCourseSpecial) .floatArea .bannerCourseArea, .typeCourseBridal:not(.typeCourseSpecial) .floatArea .bannerCourseArea, .typeCourseHotel:not(.typeCourseSpecial) .floatArea .bannerCourseArea {width:38%; flex-shrink:0;}
}

/*スペシャルオープンキャンパス
---------------------------------------------------*/
.typeOpenCampus .floatArea .bannerSpOc a {background:linear-gradient(to right, #69eacb, #10befc 20%, #a890ee 35%, #fa78e6 53%, #ff82a0 72%, #ff9099 85%, #ffd278); color:#FFF; font-size:.857em; transition:background 0.5s, color 0.5s; position:relative; font-weight:bold;}
.typeOpenCampus .floatArea .bannerSpOc a::after {content:""; display:block; width:calc(100% - 10px); height:calc(100% - 10px); position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); border:2px solid #FFF;}
.typeOpenCampus .floatArea .bannerSpOc a:hover {background:#FFF; border:solid 1px #fa78e6; color:#fa78e6;}
#allWrapper01:not(.typeOpenCampus) .floatArea .floatBox.bannerSpOc {display:none;}

@media (min-width:641px) {
  .typeOpenCampus .floatArea .bannerSpOc {margin-bottom:5px;}
}
@media (max-width:640px) {
  .typeOpenCampus .floatArea .bannerSpOc {width:50%;}
}

/*オープンキャンパス　申し込みフォーム
---------------------------------------------------*/
#allWrapper01:not(.typeOpenCampus) .floatArea .floatBox.bannerOcForm {display:none;}
.typeOpenCampus .floatArea .bannerOcForm a {background:#9C308D; border:1px solid #9C308D; color:#FFF; font-size:.857em; transition:background 0.5s, color 0.5s; position:relative; font-weight:bold;}
.typeOpenCampus .floatArea .bannerOcForm a::after {content:""; display:block; width:calc(100% - 10px); height:calc(100% - 10px); position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); border:2px solid #FFF;}
.typeOpenCampus .floatArea .bannerOcForm a:hover {color:#9C308D; background:#FFF;}

@media (min-width:641px) {
  .typeOpenCampus .floatArea .bannerOcForm {margin-bottom:20px;}
}
@media (max-width:640px) {
  .typeOpenCampus .floatArea .bannerOcForm {width:50%;}
}

/*オープンキャンパス
---------------------------------------------------*/
.floatArea .bannerOcArea {margin-bottom:5px; display:table;}
.floatArea .bannerOcArea a {background:#9C308D; border:1px solid #9C308D; color:#FFF; font-size:.857em; transition:background 0.5s, color 0.5s; position:relative; font-weight:bold;}
.floatArea .bannerOcArea a::after {content:""; display:block; width:calc(100% - 10px); height:calc(100% - 10px); position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); border:2px solid #FFF;}
.floatArea .bannerOcArea a:hover {color:#9C308D; background:#FFF;}
.typeOpenCampus .floatArea .floatBox.bannerOcArea {display:none;}

@media (max-width:640px) {
  .floatArea .bannerOcArea {margin-bottom:0; width:50%;}
  .typeCourseAirline:not(.typeCourseSpecial) .floatArea .bannerOcArea, 
  .typeCourseBridal:not(.typeCourseSpecial) .floatArea .bannerOcArea, 
  .typeCourseHotel:not(.typeCourseSpecial) .floatArea .bannerOcArea {width:38%; flex-shrink:0;}
}

/*資料請求
---------------------------------------------------*/
.floatArea .bannerDocArea {margin-bottom:20px;}
.floatArea .bannerDocArea a {background:#444; border:1px solid #444; transition:opacity 0.5s; text-align:center; font-size:.857em; transition:background 0.5s, color 0.5s;}
.typeOpenCampus .floatArea .floatBox.bannerDocArea {display:none;}

/*マウスオーバー時*/
.floatArea .bannerDocArea a:hover {color:#444; background:#FFF;}
@media (max-width:640px) {
  .floatArea .bannerDocArea {margin-bottom:0; width:50%;}
  .typeCourseAirline:not(.typeCourseSpecial) .floatArea .bannerDocArea, 
  .typeCourseBridal:not(.typeCourseSpecial) .floatArea .bannerDocArea, 
  .typeCourseHotel:not(.typeCourseSpecial) .floatArea .bannerDocArea {width:24%;}
  .floatArea .bannerDocArea a {display:flex; align-items:center; line-height:100%; text-align:center;}
  .floatArea .bannerDocArea a ul {margin:0 auto;}
}

/**********************************************************************************************

　pageTopBtn

**********************************************************************************************/
.pageTopArea a {position:fixed; display:block; border:1px solid #444; border-radius:50%; width:54px; height:54px; padding:0; bottom:0; right:0; margin-right:46px; margin-bottom:50px; z-index:50; transition:border 1s; background-color:rgba(255, 255, 255, 0.7);}
.pageTopArea a::before {content:""; position:absolute; top:50%; left:50%; width:14px; height:14px; margin:-4px 0 0 -7px; border-top:1px solid #444; border-left:1px solid #444; transform:rotate(45deg); transition:1s;}

/*スクロール時*/
.pageTopArea a {transition:1s; opacity:0; bottom:-100px;}
.scrollMode .pageTopArea a {opacity:1; bottom:0;}

/*マウスオーバー時*/
.pageTopArea a:hover {border-color:#A674B0;}
.pageTopArea a:hover::before {top:35%;}

@media (max-width:640px) {
  .pageTopArea a {margin-right:25px; margin-bottom:105px; width:44px; height:44px;}
}

/**********************************************************************************************

　見出し帯アニメーション

**********************************************************************************************/
@-webkit-keyframes txtAnimeBar {0% {left:0;right:auto;width:0;}
  50% {left:0;right:auto;width:100%;}
  51% {left:auto;right:0;width:100%;}
  100% {left:auto;right:0;width:0;}
}
@keyframes txtAnimeBar {0% {left:0;width:0;}
  50% {left:0;width:100%;}
  51% {left:0;width:100%;}
  100% {left:100%;width:0;}
}
@-webkit-keyframes txtAnimeTxt {0% {opacity:0;}
  50% {opacity:0;}
  100% {opacity:1;}
}
@keyframes txtAnimeTxt {0% {opacity:0;}
  50% {opacity:0;}
  100% {opacity:1;}
}
.txtAnimeArea.inv.animated {opacity:1;}
.txtAnimeInner {display:inline-block;}
.txtAnimeBar {position:relative; display:inline-block; -webkit-transform:translate3d(0, 0, 0); -ms-transform:translate3d(0, 0, 0); transform:translate3d(0, 0, 0);}
.txtAnimeBar:before {content:''; display:inline-block; width:0; height:100%; position:absolute; left:0; top:0; z-index:1; /* 帯の色*/ background:#A674B0;}
.txtAnimeTxt {opacity:0; -webkit-transform:translate3d(0, 0, 0); -ms-transform:translate3d(0, 0, 0); transform:translate3d(0, 0, 0);}
.animeActive .txtAnimeBar:before {-webkit-animation:txtAnimeBar 1.0s ease 0s 1 normal forwards; animation:txtAnimeBar 1.0s ease 0s 1 normal forwards;}
.animeActive .txtAnimeTxt {-webkit-animation:txtAnimeTxt 0s ease 0.5s 1 normal forwards; animation:txtAnimeTxt 0s ease 0.5s 1 normal forwards;}

/*帯色調整
---------------------------------------------------*/
.typeCourseAirline .txtAnimeBar:before {background:#E85298;}

/**********************************************************************************************

　見出し帯アニメーション　：　逆

**********************************************************************************************/
@-webkit-keyframes txtAnimeBarReverse {0% {right:0;left:auto;width:0;}
  50% {right:0;left:auto;width:100%;}
  51% {right:auto;left:0;width:100%;}
  100% {right:auto;left:0;width:0;}
}
@keyframes txtAnimeBarReverse {0% {right:0;width:0;}
  50% {right:0;width:100%;}
  51% {right:0;width:100%;}
  100% {right:100%;width:0;}
}
@-webkit-keyframes txtAnimeTxtReverse {0% {opacity:0;}
  50% {opacity:0;}
  100% {opacity:1;}
}
@keyframes txtAnimeTxtReverse {0% {opacity:0;}
  50% {opacity:0;}
  100% {opacity:1;}
}
.scrollMode #floating_banner {opacity:1; bottom:0;}

/**********************************************************************************************

　nav

**********************************************************************************************/
.nav_inner {max-width:1320px; margin:80px auto 0; width:95%; padding-bottom:100px; font-family:'Noto Sans JP', sans-serif; font-feature-settings:"palt";}
.nav_inner a {transition:.4s;}
.nav_inner a:hover {opacity:.7;}
.nav_flex {display:flex; justify-content:space-between;}
.nav_bottom_banner{ width: 100%; }

.nav_top_banner li, .nav_bottom_banner li {max-width:426px; width:33%; background-color:#FFF; transition:.4s;}
.nav_menu_contents {margin:45px 0 50px;}
.nav_menu_item li {margin-bottom:20px;}
.nav_menu_item li.nav_menu_top a {font-size:26px; font-size:clamp(10px, 2.1vw, 26px); font-weight:bold;}
.nav_menu_item li {font-size:22px; font-size:clamp(10px, 1.8vw, 22px); font-weight:500; color:#FFF; line-height:1.18; letter-spacing:.05em; margin-bottom:20px; transition:none;}
.nav_menu_item li a {font-size:22px; font-size:clamp(10px, 1.8vw, 22px); font-weight:500; color:#FFF; line-height:1.18; letter-spacing:.05em; margin-bottom:20px; transition:none;}
.nav_menu_item .nav_menu_top_02 {font-size:clamp(10px, 2.1vw, 26px);}
.nav_menu_item li.nav_menu_top_block a {font-weight:900;}
.nav_menu_item li span {display:block; margin-top:20px; font-size:clamp(10px, 1.8vw, 20px); text-indent:1em;}

@media (max-width:640px) {
  .nav_inner {max-width:100%; margin:11% auto 0; width:100%; padding-bottom:10%;}
  .nav_flex {display:flex; justify-content:space-between;}
  .nav_top_banner li, .nav_bottom_banner li {max-width:100%; width:33.3%;}
  .nav_menu_contents {width:79%; margin:11% auto 5%;}
  .nav_menu_contents .nav_flex {flex-direction:column;}
  .nav_menu_item {border-top:1px solid #FFF;}
  .nav_menu_item:last-of-type {border-bottom:1px solid #FFF;}
  .nav_menu_item ul:not(:first-of-type) {display:none;}
  .nav_menu_item ul:not(:first-of-type) li:last-of-type {margin-bottom:6%;}
  .nav_menu_item .trigger_txt li {padding:5% 0; margin:0; position:relative;}
  .nav_menu_item .trigger_txt li::before {content:''; width:10px; border-top:1px solid #FFF; position:absolute; top:50%; transform:translateY(-50%); right:2%;}
  .nav_menu_item .trigger_txt li::after {content:''; width:10px; border-top:1px solid #FFF; position:absolute; top:50%; transform:translateY(-50%) rotate(90deg); right:2%;}
  .nav_menu_item .trigger_txt.hnavPlusActive li::after {width:0; transform:rotate(0deg) translateY(-50%);}
  .nav_menu_item li {margin-bottom:2%;}
  .nav_menu_item li.nav_menu_top {font-size:14px;}
  .nav_menu_item li.nav_menu_top_02 {font-size:16px;}
  .nav_menu_top_02 {margin-top:6%;}
  .nav_menu_item li.nav_menu_top a {font-size:14px;}
  .nav_menu_item .nav_menu_top_sp {margin-bottom:0; padding:5% 0;}
  .nav_menu_top_sp:first-of-type {border-bottom:1px solid #fff;}
  .nav_menu_item li a {font-size:12px; transition:none;}
  .nav_bottom_banner_sp {width:100%;}
  .nav_bottom_banner_sp .nav_flex {align-items:stretch;}
  .nav_bottom_banner_sp li {width:33.3%; display:flex; background-color:#fff;width: 100%;}
  .nav_bottom_banner_sp li a {min-height:68px; display:flex; justify-content:center; align-items:center; text-align:center; color:#fff; line-height:1; width:100%; transition:.4s;}
  .nav_bottom_banner_sp li a:hover {color:#fff;}
  .nav_menu_item li span {margin:3% 0; font-size:11px;}
}

/**********************************************************************************************

　footer_nav

**********************************************************************************************/
footer {margin-top:80px; font-family:'Noto Sans JP', sans-serif;}
footer .footerWrapper01 .footerSlideArea {background-color:#FFF; padding:90px 0;}
footer .footerWrapper01 .footerSlideArea .footerSlider .slick-prev, 
footer .footerWrapper01 .footerSlideArea .footerSlider .slick-next {width:70px; height:70px; position:absolute; top:50%; transform:translateY(-50%); margin-top:0; margin-left:0; margin-right:0;}
footer .footerWrapper01 .footerSlideArea .footerSlider .slick-prev {border-top:1px solid #000; border-left:1px solid #000; transform:translateY(-50%) rotate(-45deg); left:-50px;}
footer .footerWrapper01 .footerSlideArea .footerSlider .slick-next {border-top:1px solid #000; border-right:1px solid #000; transform:translateY(-50%) rotate(45deg); right:-50px;}
footer .footerWrapper01 .footerSlideArea .footerSlider .slick-next::before,
footer .footerWrapper01 .footerSlideArea .footerSlider .slick-prev::before {content:none;}
footer .footerWrapper01 .footerSlideArea .footerSlider .slider-dots {display:none !important;}
.footer_bg {background:url(../img/common/footer_bg.jpg) no-repeat; background-size:cover; margin-bottom:6% !important; font-family:'Noto Sans JP', sans-serif; font-feature-settings:"palt";}
.footer_inner {max-width:1320px; margin:0 auto 0; width:95%; padding-bottom:40px; text-align:left; padding-top:80px; line-height:1.5;}
.footer_inner a {transition:.4s;}
.footer_inner a:hover {opacity:.7;}
.footer_flex {display:flex; justify-content:space-between;}
.nav_bottom_banner .nav_flex,
.footer_bottom_banner .footer_flex{
	justify-content:center;
}
.footer_top_banner li, .footer_bottom_banner li {max-width:426px; width:33%; background-color:#FFF; transition:.4s;}
.footer_menu_contents {margin:45px 0 50px;}
.footer_menu_item li {margin-bottom:20px;}
.footer_menu_item li.footer_menu_top a {font-size:26px; font-size:clamp(23px, 2.1vw, 26px); font-weight:bold;}
.footer_menu_item li {font-size:22px; font-size:clamp(19px, 1.8vw, 22px); font-weight:500; color:#FFF; line-height:1.18; letter-spacing:.05em; margin-bottom:20px; transition:none;}
.footer_menu_item .nav_menu_top_02 {font-size:clamp(10px, 1.9vw, 24px);}
.footer_menu_item li a {font-size:22px; font-size:clamp(19px, 1.8vw, 22px); font-weight:500; color:#FFF; line-height:1.18; letter-spacing:.05em; margin-bottom:20px; transition:none;}
.footer_menu_item li.nav_menu_top_block a {font-size:clamp(23px, 2.1vw, 26px); font-weight:900;}
.footer_menu_item li span {display:block; margin-top:20px; font-size:clamp(10px, 1.8vw, 20px); text-indent:1em;}
.footer_details {max-width:800px; width:100%; margin:0 auto;}
.footer_logo {max-width:61px; width:8%;}
.footer_detail {text-align:left; line-height:1;}
.footer_detail_txt {font-size:16px; font-weight:bold; letter-spacing:.1em;}
.footer_detail_name {display:flex; align-items:center; font-size:28px; font-weight:bold; letter-spacing:.1em;}
.footer_detail_name span {font-size:18px; letter-spacing:.05em; margin-right:10px;}
.footer_detail_txt_02 {font-size:16px; font-weight:500; letter-spacing:.05em; margin-top:5px;}
.footer_detail_txt_02 span {margin-right:15px;}
.footer_detail_txt_03 {text-align:center; font-size:16px; font-weight:500;}
.copy {text-align:center; font-size:14px; margin-top:35px;}
.footer_btn {max-width:975px; width:100%; margin:120px auto 80px;}
.footer_btn a {color:#000000; background-color:#FFF; display:flex; align-items:center; justify-content:center; width:100%; text-align:center; font-size:20px; font-size:clamp(14px, 1.3vw, 20px); font-weight:500; letter-spacing:.08em; border-radius:18px; padding:2.6% 0; line-height:1.25;}
.footer_btn a:hover {opacity:.7;}
.footer_btn a::after {content:''; width:12px; height:12px; border-top:2px solid #000; border-right:2px solid #000; transform:rotate(45deg); margin-left:5px;}

@media (max-width:640px) {
  footer {margin-top:0px;}
  footer .footerWrapper01 .footerSlideArea {background-color:#FFF; padding:10%;}
  footer .footerWrapper01 .footerSlideArea .footerSlider .slick-prev, 
  footer .footerWrapper01 .footerSlideArea .footerSlider .slick-next {width:30px; height:30px;}
  footer .footerWrapper01 .footerSlideArea .footerSlider .slick-prev {left:-8%;}
  footer .footerWrapper01 .footerSlideArea .footerSlider .slick-next {right:-8%;}
  .footer_bg {background:url(../img/common/footer_bg_sp.jpg) no-repeat; background-position:center top; background-size:cover; margin-bottom:25%;}
  .footer_inner {max-width:100%; margin:0 auto; width:79%; padding-bottom:2%; text-align:left; padding-top:10%;}
  .footer_flex {flex-direction:column;}
  .footer_top_banner li, .footer_bottom_banner li {max-width:100%; width:100%; margin-bottom:3%;}
  .footer_menu_contents {margin:4% 0 5%;}
  .footer_menu_contents .nav_flex {flex-direction:column;}
  .footer_menu_item {border-top:1px solid #FFF;}
  .footer_menu_item:last-of-type {border-bottom:1px solid #FFF;}
  .footer_menu_item ul:not(:first-of-type) {display:none;}
  .footer_menu_item ul:not(:first-of-type) li:last-of-type {margin-bottom:6%;}
  .footer_menu_item .trigger_txt li {padding:5% 0; margin:0; position:relative;}
  .footer_menu_item .trigger_txt li::before {content:''; width:10px; border-top:1px solid #FFF; position:absolute; top:50%; transform:translateY(-50%); right:2%;}
  .footer_menu_item .trigger_txt li::after {content:''; width:10px; border-top:1px solid #FFF; position:absolute; top:50%; transform:translateY(-50%) rotate(90deg); right:2%;}
  .footer_menu_item .trigger_txt.hnavPlusActive li::after {width:0; transform:rotate(0deg) translateY(-50%);}
  .footer_menu_item li {margin-bottom:2%;}
  .footer_menu_item li.footer_menu_top a {font-size:12px;}
  .footer_menu_item .nav_menu_top_02 {font-size:14px;}
  .footer_menu_item li {font-size:12px;}
  .footer_menu_item li a {font-size:11px;}
  .footer_menu_item li.nav_menu_top_02 a {font-size:12px;}
  .footer_menu_item li span {margin:3% 0; font-size:11px;}
  .footer_menu_item .footer_menu_top_sp {margin-bottom:0; padding:5% 0;}
  .footer_menu_top_sp:first-of-type {border-bottom:1px solid #fff;}
  .footer_details {max-width:100%;}
  .footer_details .footer_flex {flex-direction:row; justify-content:center;}
  .footer_logo {max-width:100%; width:24%; margin-right:2%;}
  .footer_detail {text-align:left; line-height:1;}
  .footer_detail_txt {font-size:10px; letter-spacing:0;}
  .footer_detail_name {align-items:flex-start; flex-direction:column; font-size:14px; font-weight:bold; letter-spacing:.1em; line-height:1.38;}
  .footer_detail_name span {font-size:10px; margin-right:0px; display:block;}
  .footer_detail_txt_02 {font-size:10px; margin-top:0px;}
  .footer_detail_txt_02 span {margin-right:15px; display:block;}
  footer .footer_detail_txt_02 a {color:#fff;}
  .copy {font-size:10px; letter-spacing:-0.04em; margin-top:3%;}
  .footer_btn {max-width:100%; width:98%; margin:7% auto 12%;}
  .footer_btn a {font-size:12px; border-radius:10px; padding:2.3% 0; position:relative; line-height:1.9;}
  .footer_btn a::after {width:8px; height:8px; border-top:1px solid #000; border-right:1px solid #000; position:absolute; top:50%; transform:rotate(45deg) translateY(-50%); margin-left:0px; right:8%;}
}
.page_top {max-width:65px; width:100%; position:fixed; bottom:0; right:50px; opacity:0; transition:1s; z-index:500;}
.scrollMode .page_top {bottom:130px; opacity:1;}

/*                   floating_banner                    */
#floating_banner {position:fixed; bottom:-100%; width:100%; left:0; z-index:100; transition:1s; z-index:100; font-family:'Noto Sans JP', sans-serif;}
.floating_banner_flex {display:flex; justify-content:space-between; align-items:stretch; background-color:#fff; height:100%;}
.floating_item {width:33.3%; min-height:68px; display:flex; justify-content:center; align-items:center; text-align:center; color:#fff; line-height:1; width:100%; transition:.4s;}
.floating_item:hover {opacity:.7;}
.banner_docrequest {font-size:38px; font-size:clamp(22px, 2vw, 38px); font-weight:900; background:url(../img/common/floatArea_bg_01.jpg) no-repeat; padding:2.1% 0; background-size:cover; letter-spacing:.2em;}
.banner_spoc {background:url(../img/common/floatArea_bg_02.jpg) no-repeat; background-size:cover; font-weight:bold;}
.banner_spoc span:first-of-type {font-size:67px; font-size:clamp(38px, 3.5vw, 67px);}
.banner_spoc span:nth-of-type(2) {font-size:30px; font-size:clamp(17px, 1.6vw, 30px); text-align:left; margin:0 10px;}
.banner_spoc span:last-of-type {font-size:67px; font-size:clamp(38px, 3.5vw, 67px); text-align:left;}
.banner_oc {
	font-size:46px; font-size:clamp(26px, 2.4vw, 46px); letter-spacing:.02em; background:#A674B0; font-weight:bold;
	background: url(../img/common/footer_bg.jpg) no-repeat center right;
	color: #000000;
}

@media (max-width:640px) {
  .banner_docrequest {font-size:18px; background:url(../img/common/floatArea_bg_01_sp.jpg) no-repeat; background-size:cover; padding:10.7% 0;}
  .banner_spoc {background:url(../img/common/floatArea_bg_02_sp.jpg) no-repeat; background-size:cover; flex-direction:column; letter-spacing:.04em;}
  .banner_spoc span:first-of-type {font-size:22px;}
  .banner_spoc span:nth-of-type(2) {font-size:13px; margin:4% 0;}
  .banner_spoc span:last-of-type {font-size:35px;}
  .banner_oc {font-size:18px; letter-spacing:.04em; line-height:1.3;}
  .floating_item {flex-direction:column;}
}

.pc_only {display:block !important;}
.sp_only {display:none !important;}

@media (max-width:640px) {
  .pc_only {display:none !important;}
  .sp_only {display:block !important;}
}

@-moz-document url-prefix() {
  .nav_menu_contents .pc_only {display:inline-block !important;}
  .footer_menu_contents .pc_only {display:inline-block !important;}
  
  @media (max-width:640px) {
    .nav_menu_contents .pc_only {display:none !important;}
    .footer_menu_contents .pc_only {display:none !important;}
  }
}



/* UTILITIES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
:root {--themePurple1:#A674B0;}

/* ----- レイアウト */
.clear {clear:both;} br.clear {line-height:0;} .clL {clear:left;} .clR {clear:right;} .clearfix {display:flow-root;} .ofH {overflow:hidden;}
.txR {text-align:right!important;} .txL {text-align:left!important;} .center,.ctr,.txC {text-align:center!important;} 
.flR {float:right;} .flL {float:left;} .blkC,.miC {display:block; margin-inline:auto!important;} .flR.-pad {padding-left:1.4rem; padding-bottom:.8rem;} .flL.-pad {padding-right:1.4rem; padding-bottom:.8rem;}
.blk {display:block!important;} .IL {display:inline!important;} .inBlk,.IB,.spanIB>span,.iIB>i {display:inline-block;} .hidden {display:none;} .cts {display:contents;}
.vTop,.vTop * {vertical-align:top;} .vMid,.vMid * {vertical-align:middle;} .vBtm,.vBtm * {vertical-align:bottom;}
.full,.w100 {width:100%;} .almostFull {width:98%; margin-inline:1%;} .w10 {width:10%;} .w15 {width:15%;} .w20 {width:20%;} .w25 {width:25%;} .w30 {width:30%;} .w35 {width:35%;} .w40 {width:40%;} .w45 {width:45%;} .w48 {width:48%;} .w50 {width:50%;} .w55 {width:55%;} .w60 {width:60%;} .w65 {width:65%;} .w70 {width:70%;} .w75 {width:75%;} .w80 {width:80%;} .w85 {width:85%;} .w90 {width:90%;}
img.mw100,.mw100 img {max-width:100%; height:auto;} img.mh100,.mh100 img {max-height:100%; width:auto;}
.tight {letter-spacing:-.02em;} .nowrap,.nowr {white-space:nowrap;} .brkAll {word-break:break-all;}
a img {transition:.15s opacity;} /*a:hover img {opacity:.8;}*/ .ofCv {object-fit:cover;} .ofCt {object-fit:contain;}
.ar11 {aspect-ratio:1/1;} .ar43 {aspect-ratio:4/3;} .ar53 {aspect-ratio:5/3;} .ar169 {aspect-ratio:16/9;}
.imgAr11 img {aspect-ratio:1/1;} .imgAr43 img {aspect-ratio:4/3;} .imgAr53 img {aspect-ratio:5/3;} .imgAr169 img {aspect-ratio:16/9;}
@media (min-width:641px){
  body *:is(.sp) {display:none!important; width:0; height:0; margin:0; padding:0; overflow:hidden; visibility:hidden;} img:is([src*="[sp]"]) {display:none!important;}
  .pcBlk {display:block;} .pc.IB,.pcIB {display:inline-block;} .pc.IL,.pcIL {display:inline;} .pcCts {display:contents;}
  .pcFlL {float:left;} .pcFlR {float:right;} .pcBlkC {margin-inline:auto;} .pcClear {clear:both;} .pcClL {clear:left;} .pcClR {clear:right;}
  .pcFlL.-pad {padding-right:1.4rem; padding-bottom:.8rem;} .pcFlR.-pad {padding-left:1.4rem; padding-bottom:.8rem;}
  .pcR {text-align:right!important;} .pcL {text-align:left!important;} .pcC {text-align:center!important;}
  .pcW10 {width:10%;} .pcW15 {width:15%;} .pcW20 {width:20%;} .pcW25 {width:25%;} .pcW30 {width:30%;} .pcW35 {width:35%;} .pcW40 {width:40%;} .pcW45 {width:45%;} .pcW48 {width:48%;} .pcW50 {width:50%;} .pcW55 {width:55%;} .pcW60 {width:60%;} .pcW65 {width:65%;} .pcW70 {width:70%;} .pcW75 {width:75%;} .pcW80 {width:80%;} .pcW85 {width:85%;} .pcW90 {width:90%;}
  .pcMW200 {max-width:200px;} .pcMW250 {max-width:250px;} .pcMW300 {max-width:300px;} .pcMW350 {max-width:350px;} .pcMW400 {max-width:400px;} .pcMW450 {max-width:450px;} .pcMW500 {max-width:500px;} .pcMW550 {max-width:550px;} .pcMW600 {max-width:600px;} .pcMW650 {max-width:650px;} .pcMW700 {max-width:700px;} .pcMW750 {max-width:750px;} .pcMW800 {max-width:800px;} .pcMW850 {max-width:850px;} .pcMW900 {max-width:900px;} .pcMW950 {max-width:950px;} .pcMW1000 {max-width:1000px;} .pcMW1050 {max-width:1050px;} .pcMW1100 {max-width:1100px;}
  .pcLR {display:flex; flex-wrap:wrap; justify-content:space-between;}
  .pcLR>*:not(:nth-last-child(1)):not(:nth-last-child(2)) {margin-bottom:2.5rem;} .pcLR img {max-width:100%;}
  .pcAr11 {aspect-ratio:1/1;} .pcAr43 {aspect-ratio:4/3;} .pcAr53 {aspect-ratio:5/3;} .pcAr169 {aspect-ratio:16/9;}
}
@media (max-width:640px){
  body *:is(.pc) {display:none!important; width:0; height:0; margin:0; padding:0; overflow:hidden; visibility:hidden;} img:is([src*="[pc]"]) {display:none!important;}
  .spBlk {display:block;} .sp.IB,.spIB {display:inline-block;} .sp.IL,.spIL {display:inline;} .spCts {display:contents;}
  .spFlL {float:left;} .spFlR {float:right;} .spBlkC {margin-inline:auto;}
  .spFlL.-pad {padding-right:1.4rem; padding-bottom:.8rem;} .spFlR.-pad {padding-left:1.4rem; padding-bottom:.8rem;} .spClear {clear:both;} .spClL {clear:left;} .spClR {clear:right;}
  .spR {text-align:right!important;} .spL {text-align:left!important;} .spC {text-align:center!important;}
  .spW10 {width:10%;} .spW15 {width:15%;} .spW20 {width:20%;} .spW25 {width:25%;} .spW30 {width:30%;} .spW35 {width:35%;} .spW40 {width:40%;} .spW45 {width:45%;} .spW50 {width:50%;} .spW55 {width:55%;} .spW60 {width:60%;} .spW65 {width:65%;} .spW70 {width:70%;} .spW75 {width:75%;} .spW80 {width:80%;} .spW85 {width:85%;} .spW90 {width:90%;}
  [class*="spMW"] {width:100%;}
  .spMW240 {max-width:240px;} .spMW260 {max-width:260px;} .spMW280 {max-width:280px;} .spMW300 {max-width:300px;} .spMW320 {max-width:320px;} .spMW340 {max-width:340px;} .spMW360 {max-width:360px;} .spMW380 {max-width:380px;} .spMW3400 {max-width:400px;}
  .spMt1 {margin-top:1em!important;} .spMt2 {margin-top:2em!important;} .spMt10 {margin-top:10px!important;} .spMt20 {margin-top:20px!important;}
  .spMb1 {margin-bottom:1em!important;} .spMb2 {margin-bottom:2em!important;} .spMb10 {margin-bottom:10px!important;} .spMb20 {margin-bottom:20px!important;}
  *[class*="pcFl"] {margin-bottom:1.4rem;}
  .pcLR>*:nth-child(2n+1) {margin-bottom:1.4rem;} .pcLR>*:nth-child(2n):not(:last-child) {margin-bottom:2.5rem;}
  .spAr11 {aspect-ratio:1/1;} .spAr43 {aspect-ratio:4/3;} .spAr53 {aspect-ratio:5/3;} .spAr169 {aspect-ratio:16/9;}
}
/* ----- 縦余白 mt:margin-top / mb:margin-bottom / mv:vertical margin */
:is(:first-child:not(.-mtInit)) {margin-top:0;} :is(:last-child) {margin-bottom:0;}
.mt0 {margin-top:0!important;} .mt03 {margin-top:.3rem!important;} .mt06 {margin-top:.6rem!important;} .mt08 {margin-top:.8rem!important;} .mt1 {margin-top:1rem!important;} .mt2 {margin-top:2rem!important;} .mt10 {margin-top:10px!important;} .mt15 {margin-top:15px!important;} .mt20 {margin-top:20px!important;} .mt25 {margin-top:25px!important;} .mt30 {margin-top:30px!important;} .mt35 {margin-top:35px!important;} .mt40 {margin-top:40px!important;} .mt50 {margin-top:50px!important;} .mt60 {margin-top:60px!important;} .mt70 {margin-top:70px!important;} .mt80 {margin-top:80px!important;}
.mb0 {margin-bottom:0!important;} .mb03 {margin-bottom:.3rem!important;} .mb06 {margin-bottom:.6rem!important;} .mb1 {margin-bottom:1rem!important;} .mb2 {margin-bottom:2rem!important;} .mb10 {margin-bottom:10px!important;} .mb15 {margin-bottom:15px!important;} .mb20 {margin-bottom:20px!important;} .mb25 {margin-bottom:25px!important;} .mb30 {margin-bottom:30px!important;} .mb35 {margin-bottom:35px!important;} .mb40 {margin-bottom:40px!important;} .mb50 {margin-bottom:50px!important;} .mb60 {margin-bottom:60px!important;} .mb70 {margin-bottom:70px!important;} .mb80 {margin-bottom:80px!important;} 
.mv0 {margin-block:0!important;} .mv03 {margin-block:.3rem!important;} .mv06 {margin-block:.6rem!important;} .mv1 {margin-block:1rem!important;} .mv2 {margin-block:2rem!important;} .mv10 {margin-block:10px!important;} .mv15 {margin-block:15px!important;} .mv20 {margin-block:20px!important;} .mv25 {margin-block:25px!important;} .mv30 {margin-block:30px!important;} .mv35 {margin-block:35px!important;} .mv40 {margin-block:40px!important;} .mv50 {margin-block:50px!important;} .mv60 {margin-block:60px!important;} .mv70 {margin-block:70px!important;} .mv80 {margin-block:80px!important;}
.mh0 {margin-inline:0!important;} .mh03 {margin-inline:.3rem!important;} .mh06 {margin-inline:.6rem!important;} .mh1 {margin-inline:1rem!important;} .mh2 {margin-inline:2rem!important;} .mh10 {margin-inline:10px!important;} .mh15 {margin-inline:15px!important;} .mh20 {margin-inline:20px!important;} .mh25 {margin-inline:25px!important;} .mh30 {margin-inline:30px!important;} .mh35 {margin-inline:35px!important;} .mh40 {margin-inline:40px!important;} .mh50 {margin-inline:50px!important;} .mh60 {margin-inline:60px!important;} .mh70 {margin-inline:70px!important;} .mh80 {margin-inline:80px!important;}
@media (min-width:641px){.pcMt0 {margin-top:0!important;}} @media (max-width:640px){.spMt0 {margin-top:0!important;}}
/* ----- 横余白 ml:margin-left / pl:padding-left pr:padding-right */
.ml5 {margin-left:5px!important;} .ml10 {margin-left:10px!important;} .ml15 {margin-left:15px!important;} .ml20 {margin-left:20px!important;} .ml25 {margin-left:25px!important;} .ml30 {margin-left:30px!important;}
.mr5 {margin-right:5px!important;} .mr10 {margin-right:10px!important;} .mr15 {margin-right:15px!important;} .mr20 {margin-right:20px!important;} .mr25 {margin-right:25px!important;} .mr30 {margin-right:30px!important;}
.pl5 {padding-left:5px!important;} .pl10 {padding-left:10px!important;} .pl15 {padding-left:15px!important;} .pl20 {padding-left:20px!important;} .pl25 {padding-left:25px!important;} .pl30 {padding-left:30px!important;} .pl35 {padding-left:35px!important;} .pl40 {padding-left:40px!important;} .pl45 {padding-left:45px!important;} .pl50 {padding-left:50px!important;}
.pr5 {padding-right:5px!important;} .pr10 {padding-right:10px!important;} .pr15 {padding-right:15px!important;} .pr20 {padding-right:20px!important;} .pr25 {padding-right:25px!important;} .pr30 {padding-right:30px!important;} .pr35 {padding-right:35px!important;} .pr40 {padding-right:40px!important;} .pr45 {padding-right:45px!important;} .pr50 {padding-right:50px!important;}
/* ----- gap */
.-gap5 {gap:5px;} .-gap10 {gap:10px;} .-gap15 {gap:15px;} .-gap20 {gap:20px;} .-gap25 {gap:25px;} .-gap30 {gap:30px;} .-gap35 {gap:35px;} .-gap40 {gap:40px;} .-gap45 {gap:45px;} .-gap50 {gap:50px;}
@media (min-width:641px){.-pcGap5 {gap:5px;} .-pcGap10 {gap:10px;} .-pcGap15 {gap:15px;} .-pcGap10 {gap:20px;} .-pcGap25 {gap:25px;} .-pcGap30 {gap:30px;} .-pcGap35 {gap:35px;} .-pcGap40 {gap:40px;} .-pcGap45 {gap:45px;} .-pcGap50 {gap:50px;}}
@media (max-width:640px){.-spGap5 {gap:5px;} .-spGap10 {gap:10px;} .-spGap15 {gap:15px;} .-spGap10 {gap:20px;} .-spGap25 {gap:25px;} .-spGap30 {gap:30px;} .-spGap35 {gap:35px;} .-spGap40 {gap:40px;} .-spGap45 {gap:45px;} .-spGap50 {gap:50px;}}
/* ----- 装飾 */
.bold {font-weight:bold;} .fwN {font-weight:normal!important;} .it {font-style:italic;} .fsN {font-style:normal;} .underline {text-decoration:underline;}
.lg1 {font-size:108%;} .lg2 {font-size:116%;} .lg3 {font-size:124%;} .lg4 {font-size:132%;} .lg5 {font-size:140%;} .lg6 {font-size:148%;} .lg7 {font-size:156%;} .lg8 {font-size:164%;} .lg9 {font-size:172%;} .lg10 {font-size:180%;} 
.sm1 {font-size:93%;} .sm2 {font-size:85%;} .sm3 {font-size:77%;} .sm4 {font-size:70%;} .note {font-size:var(--fs14); line-height:1.5; color:#707070;}
.red {color:#e24;} .gray {color:#707070;} .blue {color:#07d;}
.min {font-family:var(--min); font-weight:700;}
blockquote,.blockquote,.bq {border-left:5px var(--tpGray) solid; margin:1em 2px; padding-left:.8rem;} .underline {text-decoration:underline;} .lineThru {text-decoration:line-through;}
.i-sml i {font-style:normal; font-size:var(--fs13); color:#707070;}
/* COMMON COMPONENTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* ----- ul,ol */
ul.disc {list-style-type:disc; padding-left:1.5em;} ul.square,.-rte ul:where(:not(.-nomk,[role="tablist"])) {list-style-type:square; padding-left:1.5em;}
ul.kome {list-style:"※"; padding-left:1.2em;} ul.kome>li {padding-left:.2em;} .lowerAlpha {list-style:lower-alpha; padding-left:1.5em;} .lowerRoman {list-style-type:lower-roman;}
.lm03>li+li {margin-top:.3em;} .lm06>li+li {margin-top:.6em;} .lm1>li+li {margin-top:1em;}
.liIB>li {display:inline-block;} .liIB>li:not(last-child) {margin-right:1.5em;}
.slashed,.ten {padding-left:0;} :is(.slashed,.ten)>li {display:inline-block;} 
.slashed>li:not(:last-child):after {display:inline-block; content:"/"; margin-block:.4em; rotate:20deg; color:#555;}
.ten>li:not(last-child):after {display:inline-block; content:"、";}
ol:is(.kakko,.kakko2) {counter-reset:var(--counter); list-style:none; padding-left:2.5em;} 
ol:is(.kakko,.kakko2)>li:before {counter-increment:var(--counter) 1; display:inline-block; width:1.8em; margin:0 .7em 0 -2.5em; text-align:center; white-space:nowrap;}
ol.kakko>li:before {content:"(" counter(var(--counter)) ")";} ol.kakko2>li:before {content:counter(var(--counter)) ")";}
ol.kakko {--counter:kakkoNum;} ol.kakko ol.kakko {--counter:kakkoNum_2;} ol.kakko2 {--counter:kakko2Num;} ol.kakko2 ol.kakko2 {--counter:kakko2Num_2;}
ol.maru {list-style-type:none; padding-left:2.5em;} ol.maru>li:before {display:inline-block; width:1.2em; margin:0 .8em 0 -2em; font-family:var(--initFonts);}
ol.maru>li:nth-child(1):before {content:"①";} ol.maru>li:nth-child(2):before {content:"②";} ol.maru>li:nth-child(3):before {content:"③";} ol.maru>li:nth-child(4):before {content:"④";} ol.maru>li:nth-child(5):before {content:"⑤";} ol.maru>li:nth-child(6):before {content:"⑥";} ol.maru>li:nth-child(7):before {content:"⑦";} ol.maru>li:nth-child(8):before {content:"⑧";} ol.maru>li:nth-child(9):before {content:"⑨";} ol.maru>li:nth-child(10):before {content:"⑩";} ol.maru>li:nth-child(11):before {content:"⑪";} ol.maru>li:nth-child(12):before {content:"⑫";} ol.maru>li:nth-child(13):before {content:"⑬";} ol.maru>li:nth-child(14):before {content:"⑭";} ol.maru>li:nth-child(15):before {content:"⑮";} ol.maru>li:nth-child(16):before {content:"⑯";} ol.maru>li:nth-child(17):before {content:"⑰";} ol.maru>li:nth-child(18):before {content:"⑱";} ol.maru>li:nth-child(19):before {content:"⑲";} ol.maru>li:nth-child(20):before {content:"⑳";}


.tdPad {padding:20px 30px;}
ruby rt {font-size:70%;}
.dlTable {--dtW:5em; display:grid; grid-template-columns:var(--dtW) 1fr; gap:.4em 0;}
.dlTable dt {font-weight:bold;}
body main :is(.btn1 a, a.btn1) {display:inline-block; padding:.3em 1.2em; border-radius:60px; background:var(--themePurple1); font-weight:bold; color:#fff!important;}

@media (max-width:640px){
  .tdPad {padding:15px;}
  .spTate {writing-mode:vertical-rl;}
}