@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700&display=swap");
/* ==================================================
	共通ヘッダー/フッター（/common/header.html・footer.html）専用スタイル
	- WordPressテーマ（wp-content/themes/progdence）の base.css / utility.css から
	  ヘッダー/フッター部分だけを切り出したもの
	- 組み込み先ページに影響させないため、.cmn- で始まるクラス配下にだけ書く
	- 画像はテーマの common_img を参照する
================================================== */

/* ==================================================
	ベース（組み込み先ページのスタイルを受けないよう、部品内で打ち消す）
================================================== */
.cmn-header, .cmn-footer { font-family: "Zen Kaku Gothic New", sans-serif; font-size: 16px; line-height: 1.6875; letter-spacing: 0.05em; font-weight: 400; word-break: break-word; color: #000000; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

.cmn-header *, .cmn-header *::before, .cmn-header *::after,
.cmn-footer *, .cmn-footer *::before, .cmn-footer *::after { box-sizing: border-box; }

.cmn-header :where(ul, li, p, h2, strong, em),
.cmn-footer :where(ul, li, p, h2, strong, em) { margin: 0; padding: 0; list-style: none; font-style: normal; }

.cmn-header :where(p, li, h2), .cmn-footer :where(p, li, h2) { line-height: 1.8; }

/* テーマの normalize.css と同じく、画像は親要素の幅に収める（ロゴは .cmn-h-logo の幅で大きさが決まる） */
.cmn-header img, .cmn-footer img { vertical-align: top; margin: 0; padding: 0; border: 0; max-width: 100%; height: auto; transition: all 0.3s ease; }

.cmn-header a:hover img, .cmn-footer a:hover img { opacity: 0.7; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .cmn-footer .cmn-pc { display: inline; } }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .cmn-footer .cmn-pc { display: none; } }

/* ==================================================
	header
================================================== */
.cmn-header { z-index: 4999; transition: 0.4s ease all; position: fixed; left: 0; top: 0; right: 0; }

.cmn-header .cmn-header-inner { transition: 0.4s ease all; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; position: relative; background: rgba(0, 0, 0, 0.15); width: 100%; z-index: 8118; margin: 0 auto; padding: 0 48px 0 30px; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .cmn-header .cmn-header-inner { height: 110px; } }

@media only screen and (min-width: 768px) and (max-width: 1299px) { .cmn-header .cmn-header-inner { padding: 0 30px 0 20px; } }

@media only screen and (min-width: 768px) and (max-width: 1199px) { .cmn-header .cmn-header-inner { padding: 0 20px 0 20px; } }

/* ========== end △ */
.cmn-header .cmn-h-logo { pointer-events: auto; width: 330px; padding: 0px; z-index: 8118; }

.cmn-header .cmn-h-logo a { display: block; }

/* ▽ PC-TAB layout ========== */
@media only screen and (min-width: 768px) and (max-width: 1199px) { .cmn-header .cmn-h-logo { width: 300px; padding-left: 20px; } }

/* ========== end △ */
.cmn-header .cmn-layer-menu { z-index: 8111; transition: 0.3s ease all; position: relative; }

.cmn-header .cmn-layer-menu .cmn-in-layer { width: 100%; }

.cmn-header .cmn-h-right { position: relative; width: calc(100% - 330px); padding: 0 0 0 40px; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .cmn-header .cmn-h-right { max-width: 905px; } }

/* ========== end △ */
.cmn-header .cmn-gnav { width: 100%; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .cmn-header .cmn-gnav ul { display: flex; flex-wrap: wrap; justify-content: space-between; } }

/* ========== end △ */
.cmn-header .cmn-gnav ul li a, .cmn-header .cmn-gnav ul li .cmn-hassub-btn { display: block; font-size: 16px; line-height: 1.875; letter-spacing: 0.1em; font-weight: 500; color: #fff; text-decoration: none; position: relative; padding: 6px 0 6px; cursor: pointer; transition: 0.3s ease all; }

.cmn-header .cmn-gnav ul li a:after, .cmn-header .cmn-gnav ul li .cmn-hassub-btn:after { position: absolute; content: ""; left: 0; bottom: 0; height: 2px; background: #fff; width: 100%; transform: scaleX(0); transition: 0.3s ease all; }

.cmn-header .cmn-gnav ul li a.cmn-newtab .cmn-txt { display: inline-block; position: relative; padding: 0 15px 0 0; }

.cmn-header .cmn-gnav ul li a.cmn-newtab .cmn-txt:after { position: absolute; content: ""; width: 8px; height: 10px; background: url(/wp-content/themes/progdence/common_img/ico_arr03_wh.png) no-repeat center center; background-size: 100% auto; right: 0; top: 8px; z-index: 3; transition: 0.3s ease all; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .cmn-header .cmn-gnav ul li a:hover, .cmn-header .cmn-gnav ul li .cmn-hassub-btn:hover { opacity: 0.6; }
  .cmn-header .cmn-gnav ul li a:hover:after, .cmn-header .cmn-gnav ul li .cmn-hassub-btn:hover:after { transform: scaleX(1); }
  .cmn-header .cmn-gnav ul li.cmn-hassub:hover .cmn-hassub-btn, .cmn-header .cmn-gnav ul li.cmn-hassub:focus-within .cmn-hassub-btn { opacity: 0.6; }
  .cmn-header .cmn-gnav ul li.cmn-hassub:hover .cmn-hassub-btn:after, .cmn-header .cmn-gnav ul li.cmn-hassub:focus-within .cmn-hassub-btn:after { transform: scaleX(1); } }

/* ========== end △ */
.cmn-header .cmn-gnav ul li.cmn-hassub { position: relative; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .cmn-header .cmn-gnav ul li.cmn-hassub .cmn-hassub-nav { transition: 0.3s ease all; position: absolute; opacity: 0; top: 100%; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.4); pointer-events: none; width: 330px; padding: 20px 18px 20px; }
  .cmn-header .cmn-gnav ul li.cmn-hassub:hover .cmn-hassub-nav, .cmn-header .cmn-gnav ul li.cmn-hassub:focus-within .cmn-hassub-nav { opacity: 1; pointer-events: auto; } }

/* ========== end △ */
.cmn-header .cmn-gnav .cmn-sbj { display: block; margin-block-end: .666em; padding-block-end: .666em; border-block-end: 1px solid currentColor; font-size: .875em; font-weight: bold; color: #fff; }

.cmn-header .cmn-gnav .cmn-sub + .cmn-sbj { margin-block-start: 1.333em; }

.cmn-header .cmn-gnav ul li.cmn-hassub .cmn-hassub-nav .cmn-sub a { font-size: 15px; line-height: 1.46667; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .cmn-header .cmn-gnav ul li.cmn-hassub .cmn-hassub-btn span { position: relative; display: inline-block; padding: 0 5px 0 0; }
  .cmn-header .cmn-gnav ul li.cmn-hassub .cmn-hassub-btn .cmn-arr01 { display: inline-block; vertical-align: middle; width: 35px; height: 30px; position: relative; z-index: 332; }
  .cmn-header .cmn-gnav ul li.cmn-hassub .cmn-hassub-btn .cmn-arr01:after { position: absolute; content: ""; width: 12px; height: 15px; background: url(/wp-content/themes/progdence/common_img/ico_arr01.png) no-repeat center center; background-size: 100% auto; right: 10px; top: 6px; transform: rotate(90deg); transform-origin: 50% 50%; z-index: 3; transition: 0.3s ease all; }
  .cmn-header .cmn-gnav ul li.cmn-hassub .cmn-hassub-btn.is-active .cmn-arr01:after { transform: rotate(-90deg); }
  .cmn-header .cmn-gnav ul li.cmn-hassub .cmn-hassub-nav { display: none; overflow: hidden; margin: 0 0 0 20px; }
  .cmn-header .cmn-gnav ul li.cmn-hassub .cmn-hassub-nav .cmn-sub a { padding: 5px 0; font-size: 14px; line-height: 1.57143; } }

/* ========== end △ */
/* ==================================================
	下層ページ版の見た目（テーマの content.css と base.css の body:not(.home) 部分に相当）
	共通部品はTOP以外のページに組み込むため、黒ロゴ・黒文字・スクロール時は白背景で細くする
================================================== */
/* テーマの下層ページは透明背景だが、組み込み先は背景が暗いページもあるため最初から白背景にする */
.cmn-header .cmn-header-inner { background: #fff; }

.cmn-header .cmn-h-logo .cmn-logo01 { display: none; }

.cmn-header .cmn-h-logo .cmn-logo02 { display: block; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .cmn-header .cmn-gnav ul li a, .cmn-header .cmn-gnav ul li .cmn-hassub-btn { color: #000; }
  .cmn-header .cmn-gnav ul li a:after, .cmn-header .cmn-gnav ul li .cmn-hassub-btn:after { background: #000; }
  .cmn-header .cmn-gnav ul li a.cmn-newtab .cmn-txt:after { background-image: url(/wp-content/themes/progdence/common_img/ico_arr03.png); }
  .cmn-header .cmn-gnav ul li.cmn-hassub .cmn-hassub-nav .cmn-sub a { color: #fff; }
  .cmn-header .cmn-gnav ul li.cmn-hassub .cmn-hassub-nav .cmn-sub a:after { background: #fff; } }

/* ========== end △ */
/* スクロール時は白背景に切り替え、ヘッダーを細くする */
.cmn-header.is-scrolling .cmn-header-inner { background: #fff; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .cmn-header.is-scrolling .cmn-header-inner { height: 55px; } }

/* ========== end △ */
.cmn-header.is-scrolling .cmn-h-logo { width: 212px; }

.cmn-header.is-scrolling .cmn-h-logo img { height: 31.83px; }

.cmn-header.is-scrolling .cmn-gnav ul li > a, .cmn-header.is-scrolling .cmn-gnav ul li .cmn-hassub-btn { color: #070b17; }

.cmn-header.is-scrolling .cmn-gnav ul li a:after, .cmn-header.is-scrolling .cmn-gnav ul li .cmn-hassub-btn:after { background: #070b17; }

/* メニューオープン時（スマホ）は白文字・白ロゴに戻す */
.cmn-header.is-scrolling.is-open .cmn-header-inner { background: rgba(7, 11, 23, 0.95); }

.cmn-header.is-scrolling.is-open .cmn-h-logo { width: 212px; }

.cmn-header.is-scrolling.is-open .cmn-gnav ul li > a, .cmn-header.is-scrolling.is-open .cmn-gnav ul li .cmn-hassub-btn { color: #fff; }

.cmn-header.is-scrolling.is-open .cmn-gnav ul li a.cmn-newtab .cmn-txt:after { background-image: url(/wp-content/themes/progdence/common_img/ico_arr03_wh.png); }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .cmn-header .cmn-header-inner { padding: 10px 10px 10px 10px; height: 65px; }
  .cmn-header .cmn-h-logo { width: 212px; padding: 0; max-width: calc(100% - 125px); line-height: 1; }
  .cmn-header .cmn-layer-menu { position: fixed; opacity: 0; padding: 0px 25px 0; width: 100%; top: 0; pointer-events: none; right: -105%; transition: 0.3s ease all; background: #070b17; height: 100vh; }
  .cmn-header .cmn-layer-menu.is-opened { right: 0; top: 0; opacity: 1; pointer-events: auto; transition: 0.4s ease all; }
  .cmn-header .cmn-layer-menu .cmn-in-layer { padding: 80px 0px 45px; overflow-y: scroll; overflow-x: hidden; height: 100%; -ms-overflow-style: none; scrollbar-width: none; }
  .cmn-header .cmn-layer-menu .cmn-in-layer::-webkit-scrollbar { display: none; }
  .cmn-header .cmn-h-right { right: 10px; width: 115px; padding: 0 60px 0 0; }
  .cmn-header .cmn-gnav ul li a { color: #fff; padding: 7px 0 7px; }
  .cmn-header.is-open .cmn-header-inner { background: none; }
  .cmn-header.is-open .cmn-h-logo .cmn-logo01 { display: block; }
  .cmn-header.is-open .cmn-h-logo .cmn-logo02 { display: none; } }

/* メニューを開いている間は背面のページをスクロールさせない */
html.cmn-is-menu-open, html.cmn-is-menu-open body { overflow: hidden; }

/* ========== end △ */
/* ハンバーガーボタン */
.cmn-header .cmn-menu-toggle { z-index: 8119; line-height: 1; font-size: 0; text-align: center; cursor: pointer; position: absolute; border-radius: 0%; right: 10px; top: 10px; overflow: hidden; width: 45px; height: 45px; background: #070b17; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .cmn-header .cmn-menu-toggle { display: none; } }

/* ========== end △ */
.cmn-header .cmn-menu-toggle .cmn-hamberger-btn { position: absolute; right: 8px; top: 13px; width: 29px; height: 24px; margin-right: 0; }

.cmn-header .cmn-menu-toggle .cmn-hamberger-btn span { width: 29px; height: 2px; position: relative; top: 9px; left: 0; margin: 0; display: block; background: #fff; border-radius: 0; transition: .25s ease-in-out; }

.cmn-header .cmn-menu-toggle .cmn-hamberger-btn span:nth-child(1) { top: 1px; animation: cmn-menu-bar01 0.75s forwards; }

.cmn-header .cmn-menu-toggle .cmn-hamberger-btn span:nth-child(2) { top: 6px; transition: all 0.25s 0.25s; opacity: 1; }

.cmn-header .cmn-menu-toggle .cmn-hamberger-btn span:nth-child(3) { top: 11px; animation: cmn-menu-bar02 0.75s forwards; }

.cmn-header .cmn-menu-toggle.is-active .cmn-hamberger-btn span:nth-child(1) { animation: cmn-active-menu-bar01 0.75s forwards; }

.cmn-header .cmn-menu-toggle.is-active .cmn-hamberger-btn span:nth-child(2) { opacity: 0; }

.cmn-header .cmn-menu-toggle.is-active .cmn-hamberger-btn span:nth-child(3) { animation: cmn-active-menu-bar03 0.75s forwards; }

@keyframes cmn-menu-bar01 { 0% { transform: translateY(5px) rotate(45deg); }
  50% { transform: translateY(5px) rotate(0); }
  100% { transform: translateY(0) rotate(0); } }

@keyframes cmn-menu-bar02 { 0% { transform: translateY(-5px) rotate(-45deg); }
  50% { transform: translateY(-5px) rotate(0); }
  100% { transform: translateY(0) rotate(0); } }

@keyframes cmn-active-menu-bar01 { 0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(7px) rotate(0); }
  100% { transform: translateY(7px) rotate(45deg); } }

@keyframes cmn-active-menu-bar03 { 0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-7px) rotate(0); }
  100% { transform: translateY(-7px) rotate(-45deg); } }

/* ==================================================
	footer
================================================== */
.cmn-footer { position: relative; }

.cmn-footer .cmn-container { width: 100%; padding: 0 20px; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .cmn-footer .cmn-container { max-width: 1200px; margin: 0 auto; } }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .cmn-footer .cmn-container { padding: 0 15px; } }

/* ========== end △ */
.cmn-footer a { color: #fff; text-decoration: none; transition: all linear 0.3s; }

.cmn-footer .cmn-fblock01 { position: relative; background: url(/wp-content/themes/progdence/common_img/fbg01.jpg) no-repeat center center; background-size: cover; padding: 140px 0 140px; }

/* 見出し（テーマの .c-ttl01.is-wh .ttlen02 / .ttljp 相当） */
.cmn-footer .cmn-ttl01 { position: relative; display: block; text-align: left; margin-bottom: 44px; font-weight: bold; }

.cmn-footer .cmn-ttl01 .cmn-ttlen02 { display: inline-block; vertical-align: bottom; font-size: 50px; line-height: 1.1; letter-spacing: 0.105em; font-weight: 400; position: relative; color: #fff; margin-right: 13px; }

.cmn-footer .cmn-ttl01 .cmn-ttljp { position: relative; display: inline-block; vertical-align: bottom; color: #fff; font-size: 16px; line-height: 1.5625; letter-spacing: 0.1em; font-weight: 300; margin: 0; padding: 0 0 0 16px; }

.cmn-footer .cmn-ttl01 .cmn-ttljp:before { position: absolute; content: "/ "; left: 0; top: 0; color: #fff; font-size: 16px; line-height: 1.5625; letter-spacing: 0.1em; font-weight: 300; }

/* ▽ PC-TAB layout ========== */
@media only screen and (min-width: 768px) and (max-width: 1420px) { .cmn-footer .cmn-ttl01 .cmn-ttlen02 { font-size: 45px; line-height: 1.11111; } }

@media only screen and (min-width: 768px) and (max-width: 1299px) { .cmn-footer .cmn-ttl01 .cmn-ttlen02 { font-size: 42px; line-height: 1.14286; } }

@media only screen and (min-width: 768px) and (max-width: 1199px) { .cmn-footer .cmn-ttl01 .cmn-ttlen02 { font-size: 40px; line-height: 1.125; } }

/* ========== end △ */
.cmn-footer .cmn-fblock01 .cmn-desc { font-size: 16px; line-height: 1.875; letter-spacing: 0.025em; font-weight: 300; color: #fff; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .cmn-footer .cmn-fblock01 .cmn-box { display: flex; flex-wrap: wrap; align-items: center; }
  .cmn-footer .cmn-fblock01 .cmn-box__left { width: calc(100% - 420px); padding: 0 20px 0 0; }
  .cmn-footer .cmn-fblock01 .cmn-box__right { width: 420px; text-align: center; } }

/* ========== end △ */
/* CONTACTボタン（テーマの .c-btn01.is-wh.c-btn01-contact 相当） */
.cmn-footer .cmn-btn-contact { padding: 5px 24px 8px 28px; border-radius: 5px; text-decoration: none; overflow: hidden; text-align: center; width: 100%; height: 80px; max-width: 420px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; background: #fff; border: 1px solid #1d4394; position: relative; transition: 0.3s ease all; }

.cmn-footer .cmn-btn-contact:before { position: absolute; content: ""; right: 23px; top: 50%; background: #133681; width: 27px; height: 27px; transform: scaleX(1); border-radius: 50%; margin: -14px 0 0; z-index: 3; transition: 0.4s ease all; transform-origin: 80% 50%; }

.cmn-footer .cmn-btn-contact:after { position: absolute; content: ""; width: 27px; height: 27px; background: url(/wp-content/themes/progdence/common_img/ico_arr01.png) no-repeat center center; background-size: 11px auto; right: 23px; top: 50%; border-radius: 50%; margin: -14px 0 0; z-index: 3; transition: 0.3s ease all; }

.cmn-footer .cmn-btn-contact .cmn-txt { z-index: 22; position: relative; text-align: center; padding: 0 35px 0 35px; font-size: 18px; line-height: 1.66667; letter-spacing: 0.1em; font-weight: bold; width: 100%; color: #1d4394; transition: 0.3s ease all; }

.cmn-footer .cmn-btn-contact .cmn-txt:before { position: absolute; content: ""; width: 26px; height: 18px; background: url(/wp-content/themes/progdence/common_img/ico_mail01.png) no-repeat center center; background-size: 100% auto; left: 3px; top: 50%; margin: -8px 0 0; z-index: 3; transition: 0.3s ease all; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .cmn-footer .cmn-btn-contact:hover:before { transform: scale(30); }
  .cmn-footer .cmn-btn-contact:hover:after { transform: translateX(8px); }
  .cmn-footer .cmn-btn-contact:hover .cmn-txt { color: #fff; }
  .cmn-footer .cmn-btn-contact:hover .cmn-txt:before { background-image: url(/wp-content/themes/progdence/common_img/ico_mail02.png); } }

/* ========== end △ */
.cmn-footer .cmn-fblock02 { position: relative; background: #070b17; padding: 75px 0 95px; }

.cmn-footer .cmn-fblock02 .cmn-fmenu { margin-bottom: 82px; }

.cmn-footer .cmn-fblock02 .cmn-fmenu li a { transition: 0.3s ease all; font-size: 16px; line-height: 1.5625; letter-spacing: 0.025em; font-weight: bold; color: #fff; text-decoration: none; position: relative; padding: 0 0 0 18px; display: inline-block; }

.cmn-footer .cmn-fblock02 .cmn-fmenu li a:before { position: absolute; content: ""; left: 0; top: 9px; width: 10px; height: 10px; border-radius: 50%; background: #fff; transition: 0.3s ease all; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .cmn-footer .cmn-fblock02 .cmn-fmenu li a:hover { opacity: 0.6; }
  .cmn-footer .cmn-fblock02 .cmn-fmenu li a:hover:before { transform: translateX(5px); } }

/* ========== end △ */
.cmn-footer .cmn-fblock02 .cmn-fmenu li.cmn-hassub .cmn-hassub-btn span { transition: 0.3s ease all; font-size: 16px; line-height: 1.5625; letter-spacing: 0.025em; font-weight: bold; color: #fff; text-decoration: none; position: relative; padding: 0 0 0 18px; display: inline-block; }

.cmn-footer .cmn-fblock02 .cmn-fmenu li.cmn-hassub .cmn-hassub-btn span:before { position: absolute; content: ""; left: 0; top: 9px; width: 10px; height: 10px; border-radius: 50%; background: #fff; transition: 0.3s ease all; }

.cmn-footer .cmn-fblock02 .cmn-fmenu li.cmn-hassub .cmn-hassub-btn--sep { margin-top: 2.4em; }

.cmn-footer .cmn-fblock02 .cmn-fmenu li.cmn-hassub .cmn-sub { margin-bottom: 1px; }

.cmn-footer .cmn-fblock02 .cmn-fmenu li.cmn-hassub .cmn-sub:last-child { margin-bottom: 0; }

.cmn-footer .cmn-fblock02 .cmn-fmenu li.cmn-hassub .cmn-sub a { font-weight: 400; }

.cmn-footer .cmn-fblock02 .cmn-fmenu li.cmn-hassub .cmn-sub a:before { display: none; }

.cmn-footer .cmn-fblock02 .cmn-fmenu li.cmn-hassub .cmn-hassub-nav { margin: 10px 0 0; }

.cmn-footer .cmn-fmenu ul li a.cmn-newtab .cmn-txt { display: inline-block; position: relative; padding: 0 15px 0 0; }

.cmn-footer .cmn-fmenu ul li a.cmn-newtab .cmn-txt:after { position: absolute; content: ""; width: 8px; height: 10px; background: url(/wp-content/themes/progdence/common_img/ico_arr03_wh.png) no-repeat center center; background-size: 100% auto; right: 0; top: 5px; z-index: 3; transition: 0.3s ease all; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .cmn-footer .cmn-fblock02 .cmn-fmenu .cmn-fmenu01 { display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 42px; }
  .cmn-footer .cmn-fblock02 .cmn-fmenu .cmn-fmenu02 { display: flex; flex-wrap: wrap; }
  .cmn-footer .cmn-fblock02 .cmn-fmenu .cmn-fmenu02 li { margin-right: 57px; }
  .cmn-footer .cmn-fblock02 .cmn-fmenu .cmn-fmenu02 li:last-child { margin-right: 0; } }

/* ========== end △ */
.cmn-footer .cmn-fblock02 .cmn-box01 { text-align: left; border-bottom: 1px solid #22293c; padding: 0 0 70px; margin-bottom: 41px; }

.cmn-footer .cmn-fblock02 .cmn-box01 .cmn-flogo a { display: inline-block; }

.cmn-footer .cmn-fblock02 .cmn-box01 .cmn-ftxt { color: #fff; font-size: 16px; line-height: 1.5625; letter-spacing: 0.075em; font-weight: 400; }

/* 電話番号リンクはスマホのときだけ押せるようにする */
.cmn-footer .cmn-tel { pointer-events: none; cursor: default; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .cmn-footer .cmn-fblock02 .cmn-box01 { display: flex; flex-wrap: wrap; justify-content: space-between; }
  .cmn-footer .cmn-fblock02 .cmn-box01__left { width: 360px; padding: 8px 0 0; }
  .cmn-footer .cmn-fblock02 .cmn-box01__right { width: calc(100% - 360px); padding: 0 0 0 20px; } }

/* ========== end △ */
.cmn-footer .cmn-cp-right { color: #fff; font-size: 16px; line-height: 1.5625; letter-spacing: 0.025em; font-weight: 400; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .cmn-footer .cmn-tel { pointer-events: auto; cursor: pointer; }
  .cmn-footer .cmn-fblock01 { padding: 40px 0 45px; }
  .cmn-footer .cmn-ttl01 { margin-bottom: 15px; text-align: center; line-height: 1.2; }
  .cmn-footer .cmn-ttl01 .cmn-ttlen02 { display: block; font-size: 28px; line-height: 1.25; margin: 0 0 5px; }
  .cmn-footer .cmn-ttl01 .cmn-ttljp { display: inline-block; font-size: 15px; line-height: 1.73333; padding: 0 0 0 13px; }
  .cmn-footer .cmn-ttl01 .cmn-ttljp:before { font-size: 15px; line-height: 1.73333; }
  .cmn-footer .cmn-fblock01 .cmn-desc { font-size: 15px; line-height: 1.46667; margin-bottom: 25px; }
  .cmn-footer .cmn-fblock01 .cmn-box__right { text-align: center; }
  .cmn-footer .cmn-btn-contact { margin: 0 auto; padding: 4px 10px 7px 10px; height: 55px; max-width: 250px; }
  .cmn-footer .cmn-btn-contact:before, .cmn-footer .cmn-btn-contact:after { right: 15px; }
  .cmn-footer .cmn-btn-contact .cmn-txt { font-size: 16px; line-height: 1.5625; letter-spacing: 0.05em; }
  .cmn-footer .cmn-fblock02 { padding: 40px 0 25px; }
  .cmn-footer .cmn-fblock02 .cmn-fmenu { margin-bottom: 35px; }
  .cmn-footer .cmn-fblock02 .cmn-fmenu li { margin-bottom: 10px; }
  .cmn-footer .cmn-fblock02 .cmn-fmenu li a { font-size: 15px; line-height: 1.46667; padding: 0 0 0 18px; }
  .cmn-footer .cmn-fblock02 .cmn-fmenu li.cmn-hassub .cmn-sub { margin-bottom: 2px; }
  .cmn-footer .cmn-fblock02 .cmn-box01 .cmn-flogo { margin-bottom: 15px; text-align: center; }
  .cmn-footer .cmn-fblock02 .cmn-box01 .cmn-flogo a { max-width: 200px; }
  .cmn-footer .cmn-fblock02 .cmn-box01 { padding: 0 0 25px; margin-bottom: 25px; }
  .cmn-footer .cmn-fblock02 .cmn-box01 .cmn-ftxt { font-size: 14px; line-height: 1.57143; }
  .cmn-footer .cmn-cp-right { font-size: 12px; line-height: 1.83333; text-align: center; } }

/* ========== end △ */
