@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');

/*---------------------------------------------------------------------------------------------------------------------
	ベーススタイル
---------------------------------------------------------------------------------------------------------------------*/
html,body { width: 100%; font-size: 16px; font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-style: normal; letter-spacing: 0; color: #000; line-height: 1.8; }
* { box-sizing: border-box; word-wrap: break-word; word-break: break-all; }

@media screen and (max-width: 750px) {
    html,body { font-size: 15px; line-height: 1.7; }
}

/*------------------------------
	a
-------------------------------*/
a { color: #094; text-decoration: underline; transition: 0.5s opacity, 0.5s color, 0.5s background-color, 0.5s border-radius; }
a img { transition: 0.5s; }
a:focus { outline: none; }
a:focus-visible { outline: 3px solid #ff6c00; outline-offset: -3px; }
a:hover { text-decoration: none; }
a:hover img { opacity: 0.7; }

@media screen and (max-width: 750px) {
    a:hover { text-decoration: underline; }
    a:hover img { opacity: 1; }
}

/*------------------------------
  表示
-------------------------------*/
.displayBlock { display: block !important; }
.displayInline { display: inline !important; }
.displayNone { display: none !important; }
.pcDisplayBlock { display: block !important; }
.pcDisplayNone { display: none !important; }

.spBr { display: none !important; }

@media screen and (max-width: 750px) {
	.pcDisplayBlock { display:inline !important; }
	.pcDisplayNone { display:inline !important; }
	.spDisplayBlock { display:block !important; }
	.spDisplayNone { display:none !important; }
    
    .pcBr { display: none !important; }
    .spBr { display: inline !important; }
}

/*------------------------------
	margin
-------------------------------*/
.mt0 { margin-top: 0 !important; }
.mt5 { margin-top: 5px !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; }

.mr0 { margin-right: 0; }
.mr1em { margin-right: 1em; }
.mr2em { margin-right: 2em; }

/*---------------------------------------------------------------------------------------------------------------------
	レイアウト
---------------------------------------------------------------------------------------------------------------------*/
/*------------------------------
  タイトル
-------------------------------*/
/* メインタイトル（h1） */
.mainHead { font-size: 2.62rem; font-weight: 450; margin-top: 85px; line-height: 1.5; }
.mainHeadSub { font-size: 0.87rem; color: #094; letter-spacing: 0.05em; line-height: 1.2; }

/* 小見出し(24px) */
.subheadingTxtL { font-size: 1.5rem; font-weight: 400; margin-top: 30px; }

/* 小見出し(20px) */
.subheadingTxt { font-size: 1.25rem; font-weight: 400; margin-top: 45px; }

/* 小見出し(緑・24px) */
.subheadingColorTxt { font-size: 1.5rem; font-weight: 400; margin-top: 50px; color: #094; }
.subheadingColorTxt + .newsList { margin-top: 20px; }

/* 小見出し(緑・20px) */
.subheadingColorTxtS { font-size: 1.25rem; font-weight: 400; margin-top: 40px; color: #094; }

/* 小見出し(下線・20px) */
.subheadingUnderLine { font-size: 1.25rem; font-weight: 400; margin-top: 40px; border-bottom: solid 2px #000; padding-bottom: 10px; }
.subheadingUnderLine span { font-size: 1rem; }

/* 小見出し(下線・36px) */
.subheadingUnderLineColor { font-size: 2.25rem; font-weight: 500; margin-top: 115px; padding-bottom: 8px; position: relative; text-align: center; }
.subheadingUnderLineColor::after { content: ""; display: block; background-color: #42a968; width: 95px; height: 2px; position: absolute; left: 0; right: 0; bottom: 0; margin: 0 auto; }

@media screen and (max-width: 750px) {
/* メインタイトル（h1） */
    .mainHead { font-size: 1.86rem; margin-top: 18px; }
    .mainHeadSub { font-size: 0.73rem; margin-top: 3px; }
    
/* 小見出し(20px) */
    .subheadingTxt { font-size: 1.2rem; margin-top: 28px; }

/* 小見出し(緑・24px) */
    .subheadingColorTxt { font-size: 1.4rem; }
    .subheadingColorTxt + .newsList { margin-top: 12px; }

/* 小見出し(緑・20px) */
    .subheadingColorTxtS { font-size: 1.2rem; margin-top: 25px; }
    
/* 小見出し(下線・20px) */
    .subheadingUnderLine { font-size: 1.2rem; margin-top: 17px; padding-bottom: 8px; }

/* 小見出し(下線・36px) */
    .subheadingUnderLineColor { font-size: 1.66rem; margin-top: 65px; padding-bottom: 4px; }
    .subheadingUnderLineColor::after { width: 70px; }

}

/*------------------------------
  テキスト
-------------------------------*/
/* 頭落とし */
.atComment { text-indent: -1em; margin-left: 1em; padding: 0; }

/* 配置 */
.txtLeft { text-align: left; }
.txtRight { text-align: right; }
.txtCenter { text-align: center; }

/* テキストリンク（外部） */
.txtLinkBlank { padding-right: 23px; background: url("/common/images/icon_blank_green.svg") no-repeat right 5px center / 12px; }

/* PDFリンク */
.iconPdf { padding-right: 23px; background: url("/common/images/icon_pdf.svg") no-repeat right 5px center / 13px; }

/* 冒頭 */
.introTxt { margin-top: 54px; line-height: 2; }

/* 強調 */
.emphasisTxt { font-size: 1.25rem; line-height: 2; margin-top: 40px; }

/* 頭落とし */
.atComment { padding-left: 1em; text-indent: -1em; margin-left: 0; }
span.atComment { display: block; font-size: 0.87rem; }

/* 電話番号 */
.iconPhone { font-size: 1.5rem; line-height: 1.5; padding-left: 25px; background: url("/common/images/icon_phone.svg") no-repeat left 0.4em / 18px; }
.iconPhone + p { font-size: 0.92rem; margin-top: 3px; }

@media screen and (max-width: 750px) {
/* 強調 */
    .emphasisTxt { font-size: 1.06rem; line-height: 1.6; }

}

/*------------------------------
  リスト
-------------------------------*/
/* 頭落とし */
ul.atComment { margin-left: 0; padding: 0; text-indent: 0; }
ul.atComment li { padding-left: 1em; text-indent: -1em; }

/* 頭落とし */
ul.dotList li { padding-left: 1em; position: relative; }
ul.dotList li::before { content: ""; display: block; width: 5px; height: 5px; border-radius: 50%; background-color: #094; position: absolute; left: 0; top: 0.3em; }

/* 数字リスト */
.numList { counter-reset: number; }
.numList li { position: relative; padding-left: 27px; }
.numList li:nth-child(n+10) { padding-left: 35px; }
.numList li::before { counter-increment: number; content:  "(" counter(number) ")"; position: absolute; left: 0; }

/* 定義リスト */
.definitionList { margin-top: 10px; }
.definitionList > li { padding: 10px 0; border-top: dashed 1px #ccc; display: flex; }
.definitionList > li:first-child { border-top: none; padding-top: 0; }
.definitionList li .definitionTerm { font-size: 0.87rem; background-color: #f4f5f7; width: 100px; display: flex; justify-content: center; align-items: center; }
.definitionList li .definitionDescription { padding: 8px 13px; align-self: center; flex: 1; }
.definitionList li .definitionDescription ul { font-size: 0.93rem; margin: 2px 0 0 8px; }

@media screen and (max-width: 750px) {
    .definitionList li .definitionTerm { width: 72px; }
    .definitionList li .definitionDescription { padding: 5px 9px; }
    .definitionList li .definitionDescription ul { margin: 0; }
}

/* 水平リスト */
.horizontalList li { display: inline-block; margin-right: 1em; }

/* 見出しリスト */
.headingList { margin-top: 60px; }
.headingList > li:nth-child(n+2) { margin-top: 67px; }
.headingList > li .subheadingColorTxtS { text-indent: -1.5em; padding-left: 1.5em; margin-top: 0; }
.headingList > li:nth-child(n+10) .subheadingColorTxtS { text-indent: -2.5em; padding-left: 2.5em; }
.headingList > li .subheadingColorTxtS + div { margin-top: 10px; }
.headingList > li p + ul { margin-top: 20px; }

@media screen and (max-width: 750px) {
    .headingList { margin-top: 30px; }
    .headingList > li:nth-child(n+2) { margin-top: 28px; }
}

/*------------------------------
  ボタン
-------------------------------*/
button { border: none; margin: 0; background: none; padding: 0; }
.bottomBtn { margin-top: 80px; display: flex; justify-content: center; }
.bottomBtnList { margin-top: 55px; display: flex; justify-content: center; }
.bottomBtnList li { margin: 0 10px; }
.bottomBtnList li .commonBtn { width: 230px; }
.bottomBtnList li .commonBtn.iconArrow span,
.bottomBtnList li .commonBtn.iconBack span { width: 200px; }

/* 通常 */
.commonBtn { display: flex; align-items: center; color: #fff; background-color: #094; border-radius: 30px; overflow: hidden; padding: 7px 10px; text-decoration: none; width: 200px; text-align: center; }
.commonBtn span { margin: 0 auto; }
.commonBtn:hover { background-color: #2cbd56; }

/* 別ウインドウ */
.iconBlank span { background: url("/common/images/icon_blank_white.svg") no-repeat right center; width: 170px; }

/* ダウンロード */
.iconDl span { background: url("/common/images/icon_dl.svg") no-repeat right center; width: calc(100% - 20px); padding: 0 20px; }

/* お問い合わせ */
.iconMail { position: relative; }
.iconMail::after { content: ""; display: block; position: absolute; clip-path: polygon(0 0, 0% 100%, 100% 50%); background-color: #fff; width: 6px; height: 6px; top: calc(50% - 2px); right: 15px; }
.iconMail span { padding-left: 25px; background: url("/common/images/icon_mail.svg") no-repeat left center / 15px; }

/* 設置 */
.iconSetup span { padding-left: 25px; background: url("/common/images/icon_setup.svg") no-repeat left center; }

/* 矢印 */
.iconArrow { position: relative; }
.iconArrow::after { content: ""; display: block; position: absolute; clip-path: polygon(0 0, 0% 100%, 100% 50%); background-color: #fff; width: 6px; height: 6px; top: calc(50% - 2px); right: 12px; }
.iconArrow span { width: 170px; position: relative; }

/* 戻る */
.iconBack span { width: 170px; position: relative; }
.iconBack span::after { content: ""; display: block; position: absolute; clip-path: polygon(100% 0, 0 50%, 100% 100%); background-color: #000; width: 6px; height: 6px; top: calc(50% - 2px); left: 0; }

/* 白ボタン */
.whiteBtn { background-color: #fff; border: solid 1px #d4d4d4; color: #000; padding: 6px 9px; }
.whiteBtn:hover { background-color: #2cbd56; border-color: #2cbd56; color: #fff; }
.whiteBtn:hover span::after { background-color: #fff; }

@media screen and (max-width: 750px) {
    .bottomBtn { margin-top: 20px; }
    
    /* 通常 */
    .commonBtn { width: 220px; }
    .commonBtn:hover { background-color: #094; text-decoration: none; }
    
    /* 白ボタン */
    .whiteBtn:hover { background-color: #fff; border-color: #d4d4d4; color: #000; }
    .whiteBtn:hover span::after { background-color: #000; }
    
}

/*------------------------------
  画像 iframe
-------------------------------*/
img { max-width: 100%; width: 100%; }
.commonIframe { border: none; width: 100%; }

/*-------------------
	youtube
-------------------*/
.videoOuter { margin: 0 auto; max-width: 890px; }
.videoInner { position: relative; width: 100%; padding-top: 56.25%; }
.videoInner iframe { position: absolute; top: 0; right: 0; width: 100%; height: 100%; }

/*------------------------------
  テーブル
-------------------------------*/
.commonTable { width: 100%; border-top: solid 1px #ddd; border-collapse: collapse; }
.commonTable col.commonCol01 { width: 150px; }
.commonTable th,
.commonTable td { border-bottom: solid 1px #ddd; padding: 15px; }
.commonTable th { background-color: #f4f5f7; font-weight: 400; }
.commonTable td { vertical-align: top; padding-left: 20px; padding-right: 20px; }

.commonTableAttention { margin-top: 15px; }

/*------------------------------
  コンテンツサイズ
-------------------------------*/
.contentSize { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.contentSizeS { max-width: 960px; margin: 0 auto; padding: 0 20px; }
.contentSizeL { max-width: 1380px; margin: 0 auto; padding: 0 20px; }

.contentSize .contentSizeS { padding: 0; }

/*------------------------------
  NEWS
-------------------------------*/
.newsList { border-top: solid 1px #bdbdbd; }
.newsList li { border-bottom: solid 1px #bdbdbd; }
.newsList li a { color: #000; text-decoration: none; position: relative; }
.newsList li a:hover { color: #094; }
.newsList li a,
.newsList li > span { padding: 15px 30px 15px 0; display: flex; }
.newsList li a::after { content: ""; display: block; position: absolute; clip-path: polygon(0 0, 0% 100%, 100% 50%); background-color: #000; width: 6px; height: 6px; top: 50%; right: 10px; }
.newsList li .newsDate { color: #094; width: 115px; }
.newsList li .newsTxt { flex: 1; }
.newsList li a[target="_blank"] { background: url("/common/images/icon_blank_black.svg") no-repeat right 8px center / 12px; }
.newsList li a[href$=".pdf"],
.newsList li a.iconPdf { background: url("/common/images/icon_pdf.svg") no-repeat right 7px center / 13px; }
.newsList li a[target="_blank"]::after,
.newsList li a[href$=".pdf"]::after,
.newsList li a.iconPdf::after { display: none; }

@media screen and (max-width: 750px) {
    .newsList li a,
    .newsList li > span { padding: 11px 30px 13px 0; display: block; }
    .newsList li a { color: #000; }
    .newsList li a[href$=".pdf"],
    .newsList li a.iconPdf { background-position: right 9px center; background-size: 16px; }
    .newsList li a[target="_blank"] { background-position: right 9px center; background-size: 14px; }
}

/*------------------------------
  form
-------------------------------*/
input[type="text"],
input[type="email"],
input[type="tel"],
textarea { width: 100%; border: solid 1px #d4d4d4; padding: 5px 10px; }
input::placeholder { color: #a3a3a3; }
select { padding-right: 20px; }

/*------------------------------
  お問合せ
-------------------------------*/
.contactArea { max-width: 900px; margin: 60px auto 0; border: solid 1px #ccc; border-radius: 10px; padding: 30px 32px 32px; display: flex; align-items: center; position: relative; }
.contactArea::after { content: ""; display: block; width: 1px; height: calc(100% - 36px); position: absolute; top: 18px; bottom: 18px; left: 0; right: 0; margin: 0 auto; background-color: #ccc; }
.contactArea .contactInfo { margin-left: 6%; }
.contactArea .contactInfo .contactNum { font-size: 1.5rem; line-height: 1.5; padding-left: 28px; background: url("/common/images/icon_phone.svg") no-repeat left center / 18px 23px; }
.contactArea .contactInfo .contactNum + div { font-size: 0.93rem; }
.contactArea .contactBtn { width: 47%; }
.contactArea .contactBtn .commonBtn { width: 100%; font-size: 1.12rem; padding: 13px 10px; }
.contactArea .contactBtn .commonBtn span { margin: 0 auto; }
.contactArea .contactBtn .iconMail span { padding-left: 30px; padding-right: 20px; }

@media screen and (max-width: 900px) {
    .contactArea { justify-content: space-between; }
    .contactArea .contactInfo { width: 47%; margin-left: 0; }
}

@media screen and (max-width: 750px) {
    .contactArea { margin-top: 25px; padding: 20px 18px; display: block; }
    .contactArea::after { display: none; }
    .contactArea .contactBtn { width: 100%; }
    .contactArea .contactBtn .iconMail span { padding-right: 30px; }
    .contactArea .contactInfo { width: 100%; border-top: solid 1px #ccc; margin: 18px 0 0; padding-top: 15px; }
    .contactArea .contactInfo .contactNum { font-size: 1.2rem; background-size: 15px; background-position: 5px center; }
    .contactArea .contactInfo .contactNum + div { font-size: 0.86rem; }
}

/*---------------------------------------------------------------------------------------------------------------------
	コンテンツ部分
---------------------------------------------------------------------------------------------------------------------*/
/*------------------------------
  headerWrap
-------------------------------*/
#headerWrap { background-color: #fff; font-size: 0.87rem; position: fixed; top: 0; left: 0; right: 0; z-index: 100; }
#headerWrap #headerSec { padding-top: 25px; padding-bottom: 20px; display: flex; justify-content: space-between; }
#headerWrap #headerSec #headerLogo a { display: inline-block; }
#headerWrap #headerSec #spMenuBtn,
#headerWrap #headerSec #spMenuBg { display: none; }
#headerWrap #headerSec #naviArea { display: flex; justify-content: flex-end; background-color: #fff; border-radius: 30px; overflow: hidden; padding-left: 30px; }
#headerWrap #headerSec #naviArea ul#naviList { display: flex; }
#headerWrap #headerSec #naviArea ul#naviList li a { padding: 10px 10px; margin: 0 5px; display: block; position: relative; text-decoration: none; color: #000; }
#headerWrap #headerSec #naviArea ul#naviList li:first-child a { margin-left: 0; }
#headerWrap #headerSec #naviArea ul#naviList li:nth-child(n+6) { display: none; }
#headerWrap #headerSec #naviArea ul#naviList li a::after,
#headerWrap #headerSec #naviArea ul#naviList li.current a::after { content: ""; background-color: #094; position: absolute; left: 0; width: 100%; height: 2px; bottom: 1px; transform: scale(0, 1); transform-origin: right top; transition: transform 0.3s; }
#headerWrap #headerSec #naviArea ul#naviList li.current a::after,
#headerWrap #headerSec #naviArea ul#naviList li a:hover::after { transform: scale(1, 1); transform-origin: left top; }
#headerWrap #headerSec #naviArea #naviInquiry { margin-left: 15px; }
#headerWrap #headerSec #naviArea #naviInquiry a.commonBtn { height: 100%; width: 160px; padding: 5px 10px; }
#headerWrap #headerSec #naviArea #naviInquiry a.commonBtn span { width: 105px; background: url("/common/images/icon_mail.svg") no-repeat left center / 16px 12px; }

#headerWrap.headerFollowWrap { box-shadow: 5px 5px 3px rgba(0,0,0,0.1); }
.skipLink { position: absolute; top: 0; left: 0; z-index: 1000; padding: 8px 16px; background: #094; color: #fff; text-decoration: none; opacity: 0; cursor: default; pointer-events: none; }
.skipLink:focus { opacity: 1; pointer-events: auto; }

@media screen and (max-width: 1240px) {
    #headerWrap #headerSec #headerLogo { width: 20%; }
    #headerWrap #headerSec #naviArea { padding-left: 1.8vw; }
    #headerWrap #headerSec #naviArea ul#naviList li a { padding: 10px 1vw; }
}

@media screen and (max-width: 1140px) {
    #headerWrap #headerSec { align-items: center; }
    #headerWrap #headerSec #naviArea { padding-left: 1.5vw; }
    #headerWrap #headerSec #naviArea ul#naviList li a { padding: 10px 0.5vw; }
    #headerWrap #headerSec #naviArea #naviInquiry { margin-left: 5px; }
    #headerWrap #headerSec #naviArea #naviInquiry a.commonBtn { width: 140px; }
}

@media screen and (max-width: 1000px) {
    #headerWrap #headerSec #naviArea ul#naviList li a { padding: 10px 0; }
}

@media screen and (max-width: 920px) {
    #headerWrap #headerSec { font-size: 0.93rem; }
    #headerWrap #headerSec #headerLogo { width: auto; }
    #headerWrap #headerSec #spMenuBtn { display: block; position: absolute; width: 27px; height: 20px; right: 2.5%; top: calc(50% - 9px); cursor: pointer; }
    #headerWrap #headerSec #spMenuBtn span,
    #headerWrap #headerSec #spMenuBtn::before,
    #headerWrap #headerSec #spMenuBtn::after { display: block; width: 100%; height: 3px; background-color: #094; position: absolute; left: 0; right: 0; transition: all .4s; }
    #headerWrap #headerSec #spMenuBtn::before,
    #headerWrap #headerSec #spMenuBtn::after { content: ""; }
    #headerWrap #headerSec #spMenuBtn span { top: calc(50% - 2px); }
    #headerWrap #headerSec #spMenuBtn::before { top: 0; }
    #headerWrap #headerSec #spMenuBtn::after { bottom: 0; }
    #headerWrap #headerSec #spMenuBg { position: fixed; left: 0; right: 0; top: 90px; bottom: 0; background-color: #000; opacity: 0.5; }
    #headerWrap #headerSec #naviArea { display: block; position: fixed; background-color: #edeef2; top: 90px; right: -425px; z-index: 1; width: 400px; transition: all .4s; height: calc(100vh - 90px); overflow-y: auto; border-radius: 0; padding: 20px 40px; }
    #headerWrap #headerSec #naviArea ul#naviList { display: block; }
    #headerWrap #headerSec #naviArea ul#naviList li:nth-child(n+6) { display: block; }
    #headerWrap #headerSec #naviArea ul#naviList li a { padding: 10px 0; border-bottom: solid 1px #bdbdbd; }
    #headerWrap #headerSec #naviArea ul#naviList li a::before { content: ""; display: block; position: absolute; clip-path: polygon(0 0, 0% 100%, 100% 50%); background-color: #000; width: 6px; height: 6px; top: calc(50% - 2px); right: 0; }
    #headerWrap #headerSec #naviArea #naviInquiry { margin: 25px 0 0; }
    #headerWrap #headerSec #naviArea #naviInquiry a.commonBtn { width: 240px; margin: 0 auto; padding: 10px; }
    #headerWrap #headerSec #naviArea ul#naviList li a:hover::after,
    #headerWrap #headerSec #naviArea ul#naviList li.current a::after { display: none; }
    
    #headerWrap.naviOn #headerSec #spMenuBtn span { opacity: 0; }
    #headerWrap.naviOn #headerSec #spMenuBtn::before { top: 4px; left: 0; transform: translateY(6px) rotate(-45deg); }
    #headerWrap.naviOn #headerSec #spMenuBtn::after { top: 16px; left: 0; transform: translateY(-6px) rotate(45deg); }
    #headerWrap.naviOn #headerSec #naviArea { right: 0; }
    
    #headerWrap #headerSec #naviArea ul#naviList li a:hover::after { display: none; }
}

@media screen and (max-width: 750px) {
    #headerWrap { font-size: 1rem; }
    #headerWrap #headerSec { padding: 5px 5px 8px; }
    #headerWrap #headerSec #headerLogo { width: 180px; }
    #headerWrap #headerSec #naviArea { top: 50px; height: calc(100vh - 50px); width: 300px; padding: 20px 30px; }
    #headerWrap #headerSec #naviArea ul#naviList li a { margin: 0; padding: 12px 0; }
    #headerWrap #headerSec #spMenuBg { top: 50px; }
    #headerWrap #headerSec #spMenuBtn { width: 22px; right: 13px; height: 16px; top: calc(50% - 8px); }
    #headerWrap #headerSec #spMenuBtn span,
    #headerWrap #headerSec #spMenuBtn::before,
    #headerWrap #headerSec #spMenuBtn::after { height: 2px; }
    #headerWrap #headerSec #spMenuBtn span { top: calc(50% - 1px); }
}

/*------------------------------
  footerWrap
-------------------------------*/
#footerWrap { background-color: #edeef2; padding-top: 53px; font-size: 0.87rem; position: relative; }
#footerWrap ul.footerNaviList { display: flex; justify-content: center; }
#footerWrap ul.footerNaviList + ul.footerNaviList { margin-top: 20px; }
#footerWrap ul.footerNaviList li { line-height: 1.2; position: relative; }
#footerWrap ul.footerNaviList li::before { content: ""; display: block; width: 1px; position: absolute; top: 0; bottom: 0; left: 0; background-color: #000; }
#footerWrap ul.footerNaviList li:first-child::before { display: none; }
#footerWrap ul.footerNaviList li a { display: block; padding: 0 22px; color: #000; text-decoration: none; }
#footerWrap ul.footerNaviList li a:hover { color: #094; }

#footerWrap #footerInfoSec { text-align: center; }
#footerWrap #footerInfoSec #footerInfoArea { margin: 25px auto 0; padding-top: 23px; max-width: 994px; position: relative; }
#footerWrap #footerInfoSec #footerInfoArea #footerLogo a { display: inline-block; }
#footerWrap #footerInfoSec #footerInfoArea #footerLogo img { width: 240px; }
#footerWrap #footerInfoSec #footerInfoArea #footerLogo + div { margin-top: 23px; }
#footerWrap #footerInfoSec #footerInfoArea #ecSiteInner { position: absolute; right: 0; top: 0; padding: 15px 42px 18px; background-color: #fff; box-shadow: 5px 5px 3px rgba(0,0,0,0.1); border-radius: 10px; }
#footerWrap #footerInfoSec #footerInfoArea #ecSiteInner #ecSiteIcon { position: absolute; top: 50%; left: 0; transform: translate(-50%,-50%); border-radius: 50%; background-color: #fff; box-shadow: 5px 5px 3px rgba(0,0,0,0.1); width: 54px; height: 54px; display: flex; align-items: center; justify-content: center; }
#footerWrap #footerInfoSec #footerInfoArea #ecSiteInner #ecSiteIcon img { width: 29px; margin: 2px 2px 0 0; }
#footerWrap #footerInfoSec #footerInfoArea #ecSiteInner #ecSiteHead { color: #575857; font-size: 1.12rem; text-align: center; }
#footerWrap #footerInfoSec #footerInfoArea #ecSiteInner #ecSiteBtn { margin-top: 8px; font-size: 1rem; color: #575857; }
#footerWrap #footerInfoSec #footerPagetop { position: fixed; right: 20px; bottom: 20px; border-radius: 50%; width: 60px; height: 60px; overflow: hidden; opacity: 0; z-index: 10; }
#footerWrap #footerInfoSec #footerPagetop a { display: block; background-color: #094; color: #fff; font-size: 0.75rem; padding-top: 25px; height: 100%; text-decoration: none; transition: 0.5s background-color; border-radius: 50%; }
#footerWrap #footerInfoSec #footerPagetop a:hover { background-color: #2cbd56; }
#footerWrap #footerInfoSec #footerPagetop a::before { content: ""; display: block; width: 7px; height: 7px; border-left: solid 2px #fff; border-top: solid 2px #fff; transform: rotate(45deg); position: absolute; top: 14px; left: 0; right: 0; margin: 0 auto; }

#footerWrap #footerInfoSec #footerPagetop.posAbsolute { position: absolute; bottom: 70px; }
#footerWrap #footerInfoSec #footerPagetop.slideIn { animation: slideIn 0.5s forwards; }
#footerWrap #footerInfoSec #footerPagetop.slideOut { animation: slideOut 0.5s forwards; }
@keyframes slideIn {
	from { opacity: 0; transform: translateY(100px); }
	to { opacity: 1; transform: translateY(0); }
}
@keyframes slideOut {
	from { opacity: 1; transform: translateY(0); }
	to { opacity: 1; transform: translateY(100px); }
}

#footerWrap #footerCopyright { background-color: #094; color: #fff; font-size: 0.75rem; text-align: center; padding: 15px; margin-top: 30px; }

@media screen and (max-width: 1000px) {
    #footerWrap #footerLinkSec ul#footerSnsList li { margin: 0 7px; }
    #footerWrap #footerLinkSec #ecSiteArea { padding-left: 32px; padding-right: 32px; }
}

@media screen and (max-width: 920px) {
    #footerWrap ul.footerNaviList { display: none; }
    #footerWrap #footerInfoSec #footerInfoArea { margin-top: 0; padding-top: 0; }
    #footerWrap #footerInfoSec #footerInfoArea #ecSiteInner { position: relative; width: 280px; margin: 0 auto; }
    #footerWrap #footerInfoSec #footerInfoArea #ecSiteInner #ecSiteHead { font-size: 1rem; }
    #footerWrap #footerInfoSec #footerInfoArea #ecSiteInner #ecSiteBtn .commonBtn { margin: 0 auto; }
    #footerWrap #footerInfoSec #footerInfoArea #footerLogo { margin-top: 30px; }
    #footerWrap #footerInfoSec #footerInfoArea #footerLogo img { width: 190px; }
}

@media screen and (max-width: 750px) {
    #footerWrap { padding-top: 35px; }
    #footerWrap #footerLinkSec ul#footerSnsList { padding: 0; }
    #footerWrap #footerInfoSec #footerInfoArea #ecSiteInner { width: 220px; border-radius: 5px; padding: 12px 30px 15px; }
    #footerWrap #footerInfoSec #footerInfoArea #ecSiteInner #ecSiteHead { font-size: 0.93rem; }
    #footerWrap #footerInfoSec #footerInfoArea #ecSiteInner #ecSiteBtn { font-size: 0.8rem; margin-top: 5px; }
    #footerWrap #footerInfoSec #footerInfoArea #ecSiteInner #ecSiteBtn .commonBtn { width: 160px; }
    #footerWrap #footerInfoSec #footerInfoArea #ecSiteInner #ecSiteIcon { width: 43px; height: 43px; transform: translate(-25px,-50%); }
    #footerWrap #footerInfoSec #footerInfoArea #ecSiteInner #ecSiteIcon img { width: 22px; }
    #footerWrap #footerInfoSec #footerInfoArea #footerLogo + div { font-size: 0.8rem; }
    #footerWrap #footerInfoSec #footerPagetop { width: 48px; height: 48px; }
    #footerWrap #footerInfoSec #footerPagetop a { font-size: 0.7rem; padding-top: 22px; }
    #footerWrap #footerInfoSec #footerPagetop a:hover { background-color: #094; }
    #footerWrap #footerInfoSec #footerPagetop a::before { width: 5px; height: 5px; }
    
    #footerWrap #footerInfoSec #footerPagetop.posAbsolute { bottom: 55px; right: 10px; }
    #footerWrap #footerCopyright { font-size: 0.66rem; }
}

/*------------------------------
  mainWrap
-------------------------------*/
#mvSec { padding-top: 90px; }
#mainWrap { padding-bottom: 130px; }

@media screen and (max-width: 750px) {
    #mvSec { padding-top: 46px; }
    #mainWrap { padding-bottom: 60px; }
}

/* breadcrumbList */
#breadcrumbList { margin-top: 13px; font-size: 0.87rem; }
#breadcrumbList li { position: relative; display: inline; margin-left: 6px; padding-left: 12px; }
#breadcrumbList li::before,
#breadcrumbList li::after { content: ""; position: absolute; left: 0; top: 0.8em; display: block; width: 6px; height: 1px; background-color: #000; transform-origin: 100% 50%; }
#breadcrumbList li::before { transform: rotate(24deg); }
#breadcrumbList li::after { transform: rotate(-24deg); }
#breadcrumbList li:first-child { margin-left: 0; padding-left: 0; }
#breadcrumbList li:first-child::before,
#breadcrumbList li:first-child::after { display: none; }
#breadcrumbList li a { text-decoration: none; }
#breadcrumbList li a:hover { text-decoration: underline; }

@media screen and (max-width: 750px) {
    #breadcrumbList { margin-top: 5px; }
    #breadcrumbList li a:hover { text-decoration: none; }
}















