
/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
:root {
  /* メインカラー var(--main-blue) */
  --mred: #D0001A;
  --mbl: #3D69B7;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {	margin: 0;	padding: 0;	border: 0;	font-size: 100%;	font: inherit;	vertical-align: baseline;	box-sizing:border-box;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {	display: block;}
body { color: #333; line-height: 1; background:#FBFBF4;}
ol, ul {	list-style: none;}
blockquote, q {	quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {	content: '';	content: none;}
table {border-collapse: collapse;border-spacing: 0;}

form button:hover{ cursor: pointer; cursor: hand; opacity: 0.8; }
.wysiwyg  iframe{ max-width: 100%; }

.fadeCom{opacity: 0; -webkit-transition: 1500ms ease; -o-transition: 1500ms ease; transition: 1500ms ease; -webkit-transform: translate3d(0, 30px, 0) scale(1, 1); -ms-transform: translate3d(0, 30px, 0) scale(1, 1); transform: translate3d(0, 30px, 0) scale(1, 1); -webkit-transition-property: opacity,transform; -o-transition-property: opacity,transform; transition-property: opacity,transform; }
/* ===== 表示 ===== */
.fadeCom__On{-webkit-transform:translate3d(0, 0, 0) scale(1,1); -ms-transform:translate3d(0, 0, 0) scale(1,1); transform:translate3d(0, 0, 0) scale(1,1); opacity: 1; }

/* loading------------------------------------------------ */
#wrap.load{opacity: 1; transition: opacity 1800ms; -moz-transition: opacity 1800ms; -webkit-transition: opacity 1800ms; -o-transition: opacity 1800ms; }
#com_loading__box {height: 100%; width: 100%; position: fixed; top: 0; left: 0; background: #fff; z-index: 99999999999999; -webkit-transition: all 400ms;   -o-transition: all 400ms;  -moz-transition: all 400ms;   transition: all 400ms; }
/*プログレスバー*/
#com_loading {width: 0; height: 5px; background: var(--main-blue); position: fixed; top: 0; left: 0; -webkit-transition: all 0.2s linear 0s;    -o-transition: all 0.2s linear 0s;  -moz-transition: all 0.2s linear 0s;   transition: all 0.2s linear 0s; }
#com_loading__img {position: absolute; top: 50%; left: 50%; -webkit-transform: translate( -50%,-50% ); -ms-transform: translate( -50%,-50% ); transform: translate( -50%,-50% );  width: auto; }
/*確認画面と完了画面を非表示*/ .confirm_area, .thanks_area { display: none; }
/*デフォルトのサンクスメッセージを非表示*/ .wpcf7-response-output{ display: none; }
#systmttl{ display: none;}

/* ドットアニメーション --------------------- */
.dicon {width: 7rem;display: block;}
.dicon .dot { opacity: 0; }
.dicon svg{ width: 100%; height: auto; display: block; }
.dicon.is-active .dot1 { animation: dotFade .3s linear .0s forwards; }
.dicon.is-active .dot2 { animation: dotFade .3s linear .1s forwards; }
.dicon.is-active .dot3 { animation: dotFade .3s linear .2s forwards; }
.dicon.is-active .dot4 { animation: dotFade .3s linear .3s forwards; }
.dicon.is-active .dot5 { animation: dotFade .3s linear .4s forwards; }
.dicon.is-active .dot6 { animation: dotFade .3s linear .5s forwards; }
@keyframes dotFade { from { opacity: 0; } to { opacity: 1; } }
/* --------------------- */


/* 各TOPドットアニメーション --------------------- */
.dicon2 {width: 100%;display: block;}
.dicon2 .dot { opacity: 0; }
.dicon2 svg{ width: 100%; height: auto; display: block; }
.dicon2.is-active .dot1 { animation: dotFade .3s linear .0s forwards; }
.dicon2.is-active .dot2 { animation: dotFade .3s linear .1s forwards; }
.dicon2.is-active .dot3 { animation: dotFade .3s linear .2s forwards; }
.dicon2.is-active .dot4 { animation: dotFade .3s linear .3s forwards; }
.dicon2.is-active .dot5 { animation: dotFade .3s linear .4s forwards; }
.dicon2.is-active .dot6 { animation: dotFade .3s linear .5s forwards; }
.dicon2.is-active .dot7 { animation: dotFade .3s linear .6s forwards; }
.dicon2.is-active .dot8 { animation: dotFade .3s linear .7s forwards; }
@keyframes dotFade { from { opacity: 0; } to { opacity: 1; } }
/* --------------------- */

.f-gothic {font-family: "Noto Sans JP", sans-serif; font-style: normal;}
.f-en{ font-family: "Jost", sans-serif; }

p:has(.w-str-text) { margin-bottom: 0!important; }

.cl-text{ }
.cl-text .red{ color: var(--mred);}
.cl-text .blue{ color: var(--mbl); }

.cl-text2{ }
.cl-text2 .wred{ color: #FCDDE0;}
.cl-text2 .wblue{ color: #D6E2F7; }

#contentsstory.bg-common-left .back-Box{box-shadow:none;}


@media screen and (min-width: 768px), print {
.sp-bgimages{ display: none;}
html {font-size: clamp(53.5%, 0.833vw, 62.5%); }
.onecol-contents{position: relative;max-width: 1114px;padding: 120px  5rem 0;margin: 0 auto;}

main{}

/* bese */
body {font-size: 1.6rem;overflow-x: hidden;line-height: 1.6;letter-spacing: 0.8px;padding-right: 9rem!important;}
body::before{}
header::-webkit-scrollbar{display:none;}
header{ 
/* スクロールバー非表示 */ /* IE, Edge */ /* Firefox */text-align: left;padding: 3.6rem 0 0 5rem;z-index: 4;}
header .inner-box{position: relative;height: auto;/* min-height: 760px; */padding: 4rem 5.6rem;background: #fff;border-radius: 0rem 6rem 0 0rem;}
header .h-logo{margin-bottom: 4.2rem;display: inline-block;}

/* 学生 */
header .shuninavi{display: -webkit-box;display: -moz-flex;display: -ms-flex;display: -o-flex;display: -ms-flexbox;display: flex;-webkit-box-lines: multiple;-moz-box-lines: multiple;-ms-flex-wrap: wrap;flex-wrap: wrap;position: absolute;top: 5rem;right: 18.7rem;z-index: 10;}
header .shuninavi li{font-size: 1.6rem;line-height: 1.5;letter-spacing: 0.2em;font-weight: 500;text-align: left;color: #111111;margin-left: 4rem;}
header .shuninavi li a{ opacity: 1; transition: all 0.3s ease-in-out;}
header .shuninavi li::before{content:"";width: 0.8rem;height: 0.8rem;display: inline-block;border-radius: 50%;background: var(--mred);margin: 0 1.5rem 0 0;position: relative;top: -0.3rem;left: 0.7rem;}
header .shuninavi li a:hover{ opacity: 0.6; }

/* 企業 */
header .cpuninavi{display: -webkit-box;display: -moz-flex;display: -ms-flex;display: -o-flex;display: -ms-flexbox;display: flex;-webkit-box-lines: multiple;-moz-box-lines: multiple;-ms-flex-wrap: wrap;flex-wrap: wrap;position: absolute;top: 5rem;right: 18.7rem;z-index: 10;}
header .cpuninavi li{font-size: 1.6rem;line-height: 1.5;letter-spacing: 0.2em;font-weight: 500;text-align: left;color: #111111;margin-left: 4rem;cursor: pointer;}
header .cpuninavi li::before{content:"";width: 0.8rem;height: 0.8rem;display: inline-block;border-radius: 50%;background: var(--mbl);margin: 0 1.5rem 0 0;position: relative;top: -0.3rem;left: 0.7rem;}
header .cpuninavi li a:hover{ opacity: 0.6; }
header .cpuninavi li a{ opacity: 1; transition: all 0.3s ease-in-out;}


#pc-glnavi,#pc-glnavi .h-menu{display: block;}
#pc-glnavi .h-logo{ display: none;}
/*+++ corp +++*/
#pc-glnavi{width: 9rem;/* background: #fff; */position: fixed;top: 0;right: 0;height: 8rem;z-index: 1000;padding: 2.3rem 4.3rem;border-radius: 0 0 0rem 4rem;}
#pc-glnavi .h-menu {display: block;position: fixed;top: 0;right: 0;width: 9rem;height: 8rem;border-radius: 0px 0px 0px 30px;cursor: pointer;}

#pc-glnavi .h-menu::before{content: url(../images/common/common-rr01.svg);position: fixed;top: 1.6rem;left: 1.6rem;}
#pc-glnavi .h-menu::after{content: "";position: absolute;top: 1.6rem;left: -2.4rem;display: block;background: url(../images/common/common-rr02.svg)no-repeat;background-size: 100% auto;width: 2.5rem;height: 2.5rem;}

#pc-glnavi .h-menu .zdo_drawer_buttonsp .f-en {font-size: 1rem;line-height: 1;letter-spacing: 0.2em;font-weight: 600;color: var(--mred);position: relative;top: -0.9rem;left: 50%;display: block;width: 4rem;text-align: center;transform: translateX(-50%);}
#pc-glnavi .h-menu .zdo_drawer_buttonsp::before{height: 27px;width: 27px;content: "";display: block;position: relative;top: 5px;left: 9px;/* background: #f00; */}
#pc-glnavi .h-menu .zdo_drawer_buttonsp * { margin: 0; padding: 0; outline: none; border: none; font: inherit; font-family: inherit; font-size: 100%; font-style: inherit; font-weight: inherit; -webkit-appearance: none; -moz-appearance: none; appearance: none; text-align: left; text-decoration: none; list-style: none; }
#pc-glnavi .h-menu .zdo_drawer_buttonsp {display: block;padding: 0;height: 1.2rem;background: none;border: none;text-align: center;letter-spacing: 0.1em;cursor: pointer;outline: none;width: 3.45rem;z-index: 9999;position: absolute;top: 3.7rem;left: 2.8rem;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar {display: block;height: 0.6rem;transition: all 0.2s;transform-origin: 0% 0%;transform: translateY(-50%);position: absolute;left: 0;width: 0.6rem;border-radius: 50%;background: var(--mred);}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar1 {top: 0.6rem;left: 0rem;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar2 {top: 0.6rem;left: 1.4rem;background: var(--mbl);}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar3 {top: 0.6rem;left: 2.8rem;}
#pc-glnavi.active .h-menu{}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar {width: 23px;left: 0.0vw;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar1 {transform: rotate(0.26rad) translateY(-96%);top: 0.2rem;width: 3.6rem;left: 0rem;border-radius: 0;height: 1px;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar2 { opacity: 0; }
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar3 {transform: rotate(-0.27rad) translateY(-50%);top: 1.1rem;width: 3.6rem;left: 0rem;border-radius: 0;height: 1px;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_menu_text { display: none; }
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_close { display: block; }
.zdo_drawer_text { width: 100%; position: absolute; bottom: -2.6vw; left: 0; text-align: center; font-size: 1.3vw; }
.zdo_drawer_close { letter-spacing: 0.08em; display: none; }
/*+++ Default Button Color +++*/
.zdo_drawer_buttonsp { color: #000; }
.zdo_drawer_buttonsp .zdo_drawer_bar {background-color: #fff;}


.pc-menu{ position: fixed; top: 0; right: 0;  z-index: 9999; }
.pc-menu:hover{ opacity: 0.8; cursor: pointer; cursor: hand;}

.side-fix{position: fixed;top: 110px;right: 0;z-index: 10;}

#pc-menu-open{right: 0;background: #fff; border-left: #707070 1px solid; width: 9rem;height: 100vh;min-height: 750px;position: fixed;top: 0;z-index: 999;overflow-y: scroll;padding: 0rem;transition: all 0.3s ease-in-out;}
#pc-menu-open.active{ background: #FBFBF4; width: 100vw; }

#pc-menu-open .dflist{position: absolute;top: 0;left: 0;width: 100%;height: 100%;transform: none;display: block; transition: all 0.3s ease-in-out;}
#pc-menu-open .dflist ul{margin: 0;padding: 0;list-style: none;}
#pc-menu-open .dflist li{position: static;margin: 0;}
#pc-menu-open .dflist li a{position: fixed;left: auto;right: 3.5rem;width: 2rem;display: flex;flex-direction: column;align-items: center;gap: 0.8rem;color: #111111;z-index: 1000;}
#pc-menu-open .dflist li:nth-child(1) a{top: calc(628 / 1080 * 100vh);}
#pc-menu-open .dflist li:nth-child(2) a{top: calc(814 / 1080 * 100vh);}
#pc-menu-open .dflist li .dflist__label{width: 2rem;font-size: 1.6rem;line-height: 2.4rem;letter-spacing: 0.4em;font-weight: 500;text-align: center;writing-mode: vertical-rl;text-orientation: mixed;}
#pc-menu-open .dflist li .arr{flex-shrink: 0;width: 2rem;height: 2rem;transition: transform 0.3s ease-in-out;}
#pc-menu-open .dflist li .arr img{display: block;width: 100%;height: auto;}
#pc-menu-open .dflist li a:hover .arr{transform: translateX(0.3rem);}

#pc-menu-open.active .dflist{ display: none; }

.pc-open-navibox,#pc-menu-open .ppsitemap{ display: none;}
#pc-menu-open.active .pc-open-navibox{display:block;padding: 13.5rem 5vw 0rem;} 
#pc-menu-open .pc-open-in-navibox{max-width:1100px;margin: 0 auto 6.4rem;display:flex;align-items:flex-start;gap:5.8182%; /* 64 / 1100 */border-bottom: #C4C2C2 1px solid;padding-bottom: 5.2rem;}
#pc-menu-open .sitepp{ width:27.4545%; /* 302 / 1100 */ max-width:302px; flex-shrink:0; }
#pc-menu-open .pc-open-ss-navibox{ width:66.7273%; /* 734 / 1100 */ max-width:734px; display:flex; gap:5.4496%; /* 40 / 734 */ }
#pc-menu-open .pc-open-one-navibox{ width:32.8338%; /* 241 / 734 */ max-width:241px; flex-shrink:0; }
#pc-menu-open .pc-open-tow-navibox{ width:61.7166%; /* 453 / 734 */ }

#pc-menu-open .pc-open-in-navibox:nth-child(1) .sitepp a:hover{ background:#111111; color:#fff; }
#pc-menu-open .pc-open-in-navibox:nth-child(2) .sitepp a:hover{ background:var(--mred); color:#fff; }
#pc-menu-open .pc-open-in-navibox:nth-child(3) .sitepp a:hover{ background:var(--mbl); color:#fff; }
#pc-menu-open .pc-open-in-navibox:nth-child(2) .sitepp a{ color:var(--mred); }
#pc-menu-open .pc-open-in-navibox:nth-child(3) .sitepp a{ color:var(--mbl); }

#pc-menu-open .pc-open-in-navibox .sitepp a:hover .arr{ -webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1); }
#pc-menu-open .sitepp a{ display: block; background: #fff; box-shadow: 0px 0px 0.6rem #D3D3B8;transition: all 0.3s ease-in-out;}
#pc-menu-open .sitepp .photo{ }
#pc-menu-open .sitepp .sitenn{font-size: 1.8rem;line-height: 1.5;letter-spacing: 0.1em;font-weight: 600;text-align: left;padding: 2.1rem 4rem 2.1rem 2.3rem;position: relative;}
#pc-menu-open .sitepp .sitenn .arr{position: absolute;top: 1.8rem;right: 1.6rem;}

#pc-menu-open .pc-open-ss-navibox li {margin-bottom: 2.3rem;}
#pc-menu-open .pc-open-ss-navibox li a{display: inline-block;padding: 0 0 0 2.4rem;font-size: 1.6rem;line-height: 1.5;letter-spacing: 0.1em;font-weight: 500;text-align: left;position: relative;}
#pc-menu-open .pc-open-ss-navibox li a::before{content: "";display: block;position: absolute;top: 0.8rem;left: 0;width: 0.7rem;height: 1.3rem;background: url(../images/common/arr-navi.svg)no-repeat;background-size: 100% auto;transition: all 0.3s ease-in-out;}
#pc-menu-open .pc-open-ss-navibox li a:hover::before{ left: 0.6rem; }

#pc-menu-open.active .ppsitemap{max-width: 1100px;margin: 0 auto;padding: 0 0 10rem;display: block;}
#pc-menu-open .ppsitemap ul{ display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -ms-flexbox; display: flex; -webkit-box-lines: multiple; -moz-box-lines: multiple; -ms-flex-wrap: wrap; flex-wrap: wrap; }
#pc-menu-open .ppsitemap ul li{font-size: 1.4rem;line-height: 1.5;letter-spacing: 0.1em;font-weight: 400;text-align: left;color: #111111;padding-left: 1.3rem;position: relative;margin-right: 4.1rem;}
#pc-menu-open .ppsitemap ul a::before{content: "";display: block;position: absolute;top: 0.8rem;left: 0;width: 0.4rem;height: 1.3rem;background: url(../images/common/arr-navi.svg)no-repeat;background-size: 100% auto;transition: all 0.3s ease-in-out;}
#pc-menu-open .ppsitemap ul a:hover::before{ left: 0.3rem; }

#contentsend {margin: 0 auto 12rem;position: relative;padding: 0.5rem 5vw 0;}
#contentsend .inner-Box { margin: 0 auto; position: relative; }
#contentsend .inner-Box span.ticone {display: block;line-height: 1;text-align: center;margin-bottom: 1.1rem;}
#contentsend .inner-Box span.ticone img {  }
#contentsend .inner-Box h2 {margin-bottom: 5.1rem;position: relative;font-size: 2.5rem;line-height: 2.16;letter-spacing: 0.2em;font-weight: 700;text-align: center;color: #111111;}
#contentsend .inner-Box ul{ max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 4.5455%; }
#contentsend .inner-Box ul li {position: relative; top: 0rem; background: url(../images/common/btn-back.svg) #FDFDE5;border: 1px solid #707070;border-radius: 10px;box-shadow: 0px 6px 0px #D3D3B8;transition: all 0.3s ease-in-out;}
#contentsend .inner-Box ul li:hover { background: url(../images/common/foot-back.svg) #F4F4C8; top: 0.6rem; box-shadow: 0px 0px 0px #D3D3B8;transition: all 0.3s ease-in-out;}

#contentsend .inner-Box ul li a {display: block;font-size: 2rem;line-height: 1.75;letter-spacing: 0.2em;font-weight: 600;text-align: left;color: #111111;}
#contentsend .inner-Box ul li a:hover {  }
#contentsend .inner-Box span.ficon {display: inline-block;line-height: 1;position: relative;margin-right: 1.6rem;top: 0.3rem;left: 0.4rem;}
#contentsend .inner-Box span.ficon img {  }
#contentsend .inner-Box p.ltext {padding: 5.4rem 0;position: relative;text-align: center;}



#contentservice-sv-list{margin: 0 auto 7.7rem;max-width: 110rem;position: relative;left: -0.8rem;}
#contentservice-sv-list ul{display: flex;flex-wrap:wrap;gap:1.8182%;align-items:stretch;}
#contentservice-sv-list ul li{border: 1px solid #D5D5D5;border-radius: 1rem;background: #fff;margin-bottom: 2rem;position: relative;width: 23.6364%;display:flex;flex-direction:column;transition: transform 0.3s ease-in-out, border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;}
/* aをカード全面に広げて、ホバー範囲とクリック範囲を一致させる */
#contentservice-sv-list ul li a{display: block;/* position: relative; */padding: 2.4rem 2.4rem 2.8rem 2.4rem;flex: 1;}
#contentservice-sv-list ul li h3{z-index: 3;position: relative;font-size: 1.6rem;line-height: 1.5;letter-spacing: 0.1em;font-weight: 600;text-align: left;color: #3D69B7;margin-bottom: 1.2rem;padding-left: 2.6rem;}
#contentservice-sv-list ul li h3 span{display: inline-block;margin-left: -0.3rem;position: absolute;top: 0;left: 0;}
#contentservice-sv-list ul li p.ltext{position: relative;font-size: 1.4rem;line-height: 1.5;letter-spacing: 0.1em;font-weight: normal;text-align: left;color: #111111;min-height: unset;padding-bottom: 3.7rem;}
#contentservice-sv-list ul li p.dl{font-size: 1.2rem;line-height: 1.5;letter-spacing: 0.1em;font-weight: 500;text-align: right;color: #111111;padding-top: 0.8rem;padding-right: 2rem;position: absolute;bottom: 2.3rem;right: 1.4rem;}
#contentservice-sv-list ul li p.dl::before{content:"";width: 1.5rem;height: 1.5rem;display: inline-block;border-radius: 50%;background: url(../images/common/arr-blu.svg)no-repeat;background-size: 100% auto;position: absolute;top: 1rem;right: 0rem;transition: all 0.3s ease-in-out;}
#contentservice-sv-list ul li a:hover p.dl::before{right: -0.6rem;}
/* カードのホバー: わずかに浮かせ、罫線をブランドカラーに寄せる */
#contentservice-sv-list ul li:hover{transform: translateY(-0.4rem);border-color: #3D69B7;box-shadow: 0 0.6rem 1.6rem rgba(61, 105, 183, 0.14);}
#contentservice-sv-list ul li h3,
#contentservice-sv-list ul li p.dl{transition: color 0.3s ease-in-out;}
#contentservice-sv-list ul li:hover p.dl{color: #3D69B7;}
/* アイコンはホバー時だけ少し前に出す */
#contentservice-sv-list ul li h3 span{transition: transform 0.3s ease-in-out;}
#contentservice-sv-list ul li:hover h3 span{transform: translateX(0.2rem);}
/* 動きを減らす設定の環境では移動をやめ、罫線と影だけで変化を伝える */
@media (prefers-reduced-motion: reduce){
#contentservice-sv-list ul li:hover{transform: none;}
#contentservice-sv-list ul li:hover h3 span{transform: none;}
#contentservice-sv-list ul li a:hover p.dl::before{right: 0rem;}
}


/* 右上の一覧ボタン */
.listbtn {font-size: 1.4rem;line-height: 1;letter-spacing: 0.05em;font-weight: 600;text-align: right;}
.listbtn a {display: inline-block;padding-right: 4rem;position: relative;}
.listbtn .arr {border-left: 1px solid var(--main-blue);position: absolute;top: -0.3rem;right: 0.1rem;height: 2rem;padding-left: 1.5rem;}
.listbtn .arr img { transform: rotate(0deg); transform-origin: center;transition: all 0.3s ease-in-out;}
.listbtn a:hover .arr img{ transform: rotate(360deg);}

#mainttl{border-radius: 0;}
#mainttl .inner-Box{padding: 3.5rem 5vw 4.1rem 20.1rem;}
#mainttl .dicon{width: 8.4rem;margin-bottom: -1.4rem;}
#mainttl .en{font-size: 2rem;line-height: 1.8;letter-spacing: 0.2em;font-weight: 600;text-align: left;color: var(--mred);margin-bottom: -0.4rem;display: block;}
#mainttl .en span{color: var(--mbl);}
#mainttl .page-title {margin: 0 0 2.4rem 0;font-size: 3.5rem;line-height: 1.54;letter-spacing: 0.2em;font-weight: 700;text-align: left;}
#mainttl .split-char { display: inline-block; will-change: transform, opacity; white-space: pre; }
#mainttl .page-caption {}

/* 統合した見出し全体のスタイル */
.common-title-main {margin: 0 0 2.4rem 0;line-height: 1.5;}
.common-title-main .f-en {display: block;font-size: 1.2rem;font-weight: 600;color: var(--main-blue);letter-spacing: 0.05em;margin-bottom: 1.6rem;position: relative;padding-left: 1.8rem;line-height:1;}
.common-title-main .f-en::before {content: "";position: absolute;left: 0;top: 50%;width: 1rem;height: 1px;background-color: var(--main-blue);transform-origin: left center; /* JSの変数 --line-x で制御 */transform: scaleX(var(--line-x, 0));}
.common-title-main .ttl-ja {display: block;font-size: 2.8rem;font-weight: 700;color: var(--main-blue);letter-spacing: 0.05em;}
.common-title-main .split-char { display: inline-block; will-change: transform, opacity; /* 文字同士がバラバラに改行されないようにする */ white-space: pre; }

.bodtl{border-bottom: 1px solid #ccc;position: relative;font-size: 2.2rem;line-height: 1;letter-spacing: 0.05em;font-weight: 700;text-align: left;padding-bottom: 1.6rem;margin-bottom: 4.8rem;}
.bodtl::before{ content: ""; height: 1px; background: var(--main-blue); width: 12rem; position: absolute; bottom: -1px; left: 0;}
.ft-sp-navibox{ display: none; }

footer{position: relative;}
footer a{ opacity: 1; transition: all 0.3s ease-in-out; }
footer a:hover{ opacity: 0.6; }
footer .ft-bkbox{background: url(../images/common/foot-back.svg) #F4F4C8;padding: 8.2rem 5vw 4.9rem 5vw;}
footer .ft-navibox{max-width:1330px;margin: 0 auto 2.8rem;display:flex;gap:1.5038%; /* 20 / 1330 */}
footer .ft-navibox > :nth-child(1){ width:9.2481%; /* 123 / 1330 */ max-width:123px; flex-shrink:0; }
footer .ft-navibox > :nth-child(2){width: 18.9729%; /* 255 / 1330 */max-width:255px;flex-shrink:0;padding-top: 3.9rem;}
footer .ft-navibox > :nth-child(3){width: 12.8075%; /* 173 / 1330 */max-width:173px;flex-shrink:0;}
footer .ft-navibox > :nth-child(4){width:15.7143%; /* 209 / 1330 */max-width:209px;flex-shrink:0;padding-top: 4rem;}
footer .ft-navibox > :nth-child(5){width: 16.2662%; /* 219 / 1330 */max-width:219px;flex-shrink:0;}
footer .ft-navibox > :nth-child(6){width:18.8722%; /* 251 / 1330 */max-width:251px;flex-shrink:0;padding-top: 4rem;}
footer .ft-navi-one-navibox ul{ }
footer .ft-navi-one-navibox ul li{font-size: 1.4rem;line-height: 1.5;letter-spacing: 0.1em;font-weight: 400;text-align: left;color: #111111;margin-bottom: 1.9rem;margin-right: -2rem;}
footer .ft-navi-one-navibox ul li.site-top{font-size: 1.4rem; line-height: 1.5; letter-spacing: 0.1em; font-weight: 600; text-align: left; color: #111111;}
footer .ft-navibox > :nth-child(1) li.site-top{}
footer .ft-navibox > :nth-child(3) li.site-top{ color: var(--mred); }
footer .ft-navibox > :nth-child(5) li.site-top{color: var(--mbl);width: 30rem;}
footer .ft-navi-one-navibox ul li a{}

footer .ft-navi-tow-navibox{}
footer .ft-navi-tow-navibox ul{}
footer .ft-navi-tow-navibox ul li{}
footer .ft-navi-tow-navibox ul li a{}

footer .ppsitemap{ margin: 0 auto; max-width: 1330px; }
footer .ppsitemap ul{font-size: 1.2rem;line-height: 1.75;letter-spacing: 0.1em;font-weight: 400;text-align: left;color: #111111;display: -webkit-box;display: -moz-flex;display: -ms-flex;display: -o-flex;display: -ms-flexbox;display: flex;-webkit-box-lines: multiple;-moz-box-lines: multiple;-ms-flex-wrap: wrap;flex-wrap: wrap;}
footer .ppsitemap ul li{ margin-right: 3.1rem; }
footer .ppsitemap ul li a{}

footer .ft-company{ padding: 3.9rem 5vw; }
footer .ft-in-company{ max-width:1100px; margin:0 auto; display:flex; align-items:flex-start; gap:4.5455%; }
footer .ft-left{ width:45.4545%; max-width:500px; flex-shrink:0; }
footer .ft-right{width:50%;max-width:550px;padding-top: 7.8rem;}

footer .ft-left .h-logo{ margin-bottom: 2rem; }
footer .ft-left .h-logo a{}
footer .ft-left .h-logo img{}
footer .ft-left .cname{ font-size: 1.6rem; line-height: 1.5; letter-spacing: 0.1em; font-weight: 500; text-align: left; color: #111111; margin-bottom: 1.5rem; }
footer .ft-left .adtext{ font-size: 1.4rem; line-height: 1.5; letter-spacing: 0.1em; font-weight: 400; text-align: left; color: #111111; }
footer .ft-right ul{ display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -ms-flexbox; display: flex; -webkit-box-lines: multiple; -moz-box-lines: multiple; -ms-flex-wrap: wrap; flex-wrap: wrap; }
footer .ft-right ul li{border: 1px solid var(--mred);border-left: 7px var(--mred) solid;width: 48.2%;margin-right: 3.6%;font-size: 1.6rem;line-height: 1.4;letter-spacing: 0.1em;font-weight: 500;text-align: left;background: #fff;}
footer .ft-right ul li:nth-child(2n){ margin-right: 0; border: 1px solid var(--mbl);border-left: 7px var(--mbl) solid;}
footer .ft-right ul li a{color: var(--mred);display: block;padding: 1.1rem 1.1rem 1.1rem 2rem;}
footer .ft-right ul li:nth-child(2n) a{ color: var(--mbl);}
footer .ft-right ul li .tel{ position: relative; top: -0.4rem; }
footer .ft-right ul li .tel img{}

footer .cptext{ max-width: 1100px; margin: 0 auto; font-size: 1.2rem; line-height: 2.0; letter-spacing: 0.1em; font-weight: 400; text-align: left; padding: 1.6rem 0 3rem; }

.copy{font-size: 1.2rem;line-height: 4.2;letter-spacing: 0.05em;font-weight: 400;background: #C4CCD8;text-align: center;padding: 1.5rem 0;color: #535779;border-top: #ACB3BF 1px solid;}

a.link-arr{text-align: center;display: block;width: 200px;margin: 0 auto;position: relative;}
a.link-arr .post-arrow {position: absolute;width: 4rem;height: 4rem;top: -4px;right: 0px;}
a.link-arr .post-arrow .arrow-bg { position: absolute; top: 50%; left: 50%; width: 4rem; height: 4rem; background-color: var(--main-blue); border-radius: 50%; opacity: 0; transform: translate(-50%, -50%) scale(0.5); transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.3s ease; z-index: 0 }
a.link-arr .post-arrow .arrow-icon {position: absolute;top: 50%;left: 50%;width: 2.6rem;height: auto;transform: translate(-50%, -50%);transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.3s ease;z-index: 1}
a.link-arr .post-arrow .arrow-icon.default { transform: translate(-50%, -50%); opacity: 1 }
a.link-arr .post-arrow .arrow-icon.next { -webkit-filter: brightness(0) invert(1); filter: brightness(0) invert(1); transform: translate(-250%, -50%); opacity: 0 }
a.link-arr:hover .arrow-bg { opacity: 1; transform: translate(-50%, -50%) scale(1) }
a.link-arr:hover .arrow-icon.default { transform: translate(100%, -50%); opacity: 0 }
a.link-arr:hover .arrow-icon.next { left: -12px; transform: translate(100%, -50%); opacity: 1 }

.gl-btn{ }
.gl-btn a{background: var(--mred);transition: background-position 0.6s ease-in-out;display: block;width: 100%;height: 6.2rem;color: #fff;position: relative;padding: 2.2rem 0 0 3rem;transition: all 0.5s ease-in-out;font-size: 1.6rem;line-height: 1.125;letter-spacing: 0.2em;font-weight: 500;text-align: left;border-radius: 0.5rem;border: var(--mred) solid 1px;}
.gl-btn a .arr img{display: block;width: 2rem;height: 2rem;position: absolute;top: 50%;transform: translateY(-50%);right: 1.3rem;transition: all 0.5s ease-in-out;transform-origin: center center;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}
.gl-btn a:hover{ background: #fff; color: var(--mred); background-position: 100% center; }
.gl-btn a:hover .arr img{ -webkit-filter: none; filter: none; }

.gl-btn-nolink{ }
a .gl-btn-nolink{background: linear-gradient(90deg, var(--btn-grad-start) 0%, var(--btn-grad-end) 50%, var(--btn-grad-start) 100%);background-size: 200% 100%;background-position: 0% center;transition: background-position 0.6s ease-in-out;overflow: hidden;display: block;width: 100%;height: 5.4rem;color: #fff;position: relative;font-size: 1.4rem;padding: 1.6rem 0 0 2.6rem;text-align: left;transition: all 0.5s ease-in-out;font-weight: bold;}
a .gl-btn-nolink .arr::before{content: "";background: #fff;display: block;width: 1px;height: 2.4rem;position: absolute;top: 50%;transform: translateY(-50%);right: 4.4rem;}
a .gl-btn-nolink .arr img{display: block;width: 13px;height: 11px;position: absolute;top: 50%;transform: translateY(-50%);right: 1.8rem;transition: all 0.5s ease-in-out;transform-origin: center center;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}
a:hover .gl-btn-nolink { color: #fff; background-position: 100% center; }
a:hover .gl-btn-nolink .arr img{  transform: translateY(-50%) rotate(360deg);}

/* 矢印ホバー */
a .morearrtext{transition: all 0.3s ease-in-out;margin-top: 1.5rem;}
a .morearrtext .arr{transform-origin:center;overflow:hidden;display:block;width:4rem;height:4rem;position:relative;transition:all .5s ease-in-out;right: 0rem;}
a .morearrtext .arr img{display:block;width: 2rem;height: auto;position:absolute;transition:all 0.5s ease-in-out;}
a:hover .morearrtext .arr{right: -0.5rem;}


/* 英語「ISSUES」のスタイル */
h2.corettl{font-size: 2.8rem; line-height: 1.8; letter-spacing: 0.14rem; font-weight: 700; text-align: left; }
h2.corettl span.f-en{ color: var(--main-blue); font-size: 1.2rem; line-height: 1; letter-spacing: 0.12rem; font-weight: 500; text-align: left; display: block; margin-bottom: 1.3rem; }

a figure.figbo {position: relative;overflow: hidden;background: #fff;}
a figure.figbo img {transition: transform 0.6s ease, filter 0.6s ease;transform: scale(1);filter: blur(0);width: 100%;height: 100%;object-fit: cover;}
a:hover figure.figbo img { transform: scale(1.04); }

.wavy-eng-issues {font-family: 'Poppins', sans-serif;font-size: 1.2rem;font-weight: 500;letter-spacing: 0.1em;display: block!important;margin-bottom: 16px;opacity:0;/* min-height: 2.4rem; */}
.wavy-eng-issues.is-show{opacity:1;transition:opacity 0.3s ease;}
.wavy-eng-issues span { display: inline-block; opacity: 0; transform: translateY(15px); animation: wavy-issues-appear 0.6s ease-out forwards; }

/* --- アニメーション定義 --- */
@keyframes wavy-issues-appear {
  0% {
    /* 開始時：透明で下にある */
    opacity: 0;
    transform: translateY(15px);
  }
  60% {
    /* 途中で少し上に上がりすぎる（波打つ動きの「頂点」） */
    opacity: 1;
    transform: translateY(-4px);
  }
  100% {
    /* 最終時：完全に表示され、元の位置に戻る */
    opacity: 1;
    transform: translateY(0);
  }
}


.entrybtn a{color: #454748;font-size: 2.4rem;line-height: 1.6;font-weight: 900;letter-spacing: 0.072rem;margin: 0 auto 30px;width: 320px;height: 70px;display: block;border: 3px solid #454748;border-radius: 36px;background: #fff;position: relative;left: 8px;padding: 13px 0 0;transition: background 0.3s ease-in-out,color 0.3s ease-in-out;text-align: center;}
.entrybtn a:hover{background: #454748;color: #fff;}



#pullnavi { opacity: 0; transition: opacity 0.3s, transform 0.3s; transform: translateY(-100%); }
#pullnavi.upMove { opacity: 0; transform: translateY(-100%); }
#pullnavi.dwMove { opacity: 1; transform: translateY(0); }

#pullnavi {position: fixed;top: 0;left: 0;z-index: 10;}
#pullnavi {background: #fff;width: 100%;box-shadow: 0px 3px 20px #00000029;}
#pullnavi .inbox{width: 100%;min-width: 1280px;height: 70px;margin: 0px auto 20px auto;padding-top: 14px;position: relative;}

/* 背景フレーム（左空き） */
.bg-common-left {margin: 0 auto 16rem 11rem;position: relative;}
.bg-common-left::before{content: "";position:absolute;left: -11rem;bottom: -10rem;width: 100%;height: 100%;background:var(--mbl);border-radius:0 0 4rem 0;z-index:0;}
.bg-common-left .back-Box {box-shadow: 0px 0px 0.6rem #D3D3B8;border-radius: 5rem 0px 0px 5rem;position: relative;background: url('../images/common/btn-back2.svg') repeat left top #fff;padding: 0 5vw 4.5rem;}

/* 背景フレーム（右空き） */
.bg-common-right{margin:0 11rem 16rem auto;position:relative;}
.bg-common-right::before{content:"";position:absolute;right:-11rem;bottom:-10rem;width:100%;height:100%;background:var(--mred);border-radius:0 0 0 4rem;z-index:0;}
.bg-common-right .back-Box{box-shadow:0 0 .6rem #D3D3B8;border-radius:0 5rem 5rem 0;position:relative;background:url('../images/common/btn-back2.svg') repeat left top #fff; padding-left: 5vw;}


   /* reason-common */

#reason-bottom {margin: 0 auto 9.6rem;position: relative;padding: 0 5vw;}
#reason-bottom p.f-en {color: var(--mred);margin-bottom: -0.3rem;position: relative;font-size: 1.4rem;line-height: 1.714;letter-spacing: 0.2em;font-weight: 600;text-align: center;padding-right: 11rem;}
#reason-bottom p.f-en span { color: var(--mbl); }
#reason-bottom h2 {margin: 0 auto 4rem;position: relative;font-size: 2.3rem;line-height: 1.5;letter-spacing: 0.2em;font-weight: 700;text-align: left;padding-left: 5.8rem;width: 31rem;}
#reason-bottom .dicon{position: relative;top: 0rem;left: 50%;width: 5.2rem;margin-left: -11.7rem;margin-bottom: -0.2vw;}

#reason-bottom .inner-Box {margin: 0 auto;position: relative;max-width: 110rem;}
#reason-bottom .inner-Box ul{display:grid;grid-template-columns:repeat(6,1fr);gap:1.4545%;}
#reason-bottom .inner-Box ul li{position:relative;text-align:center; }
#reason-bottom .inner-Box ul li a:hover{border: 0.5rem solid var(--mred);}
#reason-bottom .inner-Box ul li:nth-child(1) a{ background: url(../images/concept/bottom-photo01.jpg)no-repeat center center; background-size: cover; }
#reason-bottom .inner-Box ul li:nth-child(2) a{ background: url(../images/concept/bottom-photo02.jpg)no-repeat center center; background-size: cover; }
#reason-bottom .inner-Box ul li:nth-child(3) a{ background: url(../images/concept/bottom-photo03.jpg)no-repeat center center; background-size: cover; }
#reason-bottom .inner-Box ul li:nth-child(4) a{ background: url(../images/concept/bottom-photo04.jpg)no-repeat center center; background-size: cover; }
#reason-bottom .inner-Box ul li:nth-child(5) a{ background: url(../images/concept/bottom-photo05.jpg)no-repeat center center; background-size: cover; }
#reason-bottom .inner-Box ul li:nth-child(6) a{ background: url(../images/concept/bottom-photo06.jpg)no-repeat center center; background-size: cover; }
#reason-bottom .inner-Box ul li a{border: 0rem solid var(--mred); border-radius: 50%; overflow:hidden;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;overflow:hidden;position:relative;text-align:center;transition: all 0.3s ease-in-out;}
#reason-bottom .inner-Box ul li a .arr{-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);display: block;position: relative;bottom: -1rem;}
#reason-bottom .inner-Box p.ltext { color: #fff; margin-bottom: 0rem; position: relative; font-size: 1.6rem; line-height: 1.25; letter-spacing: 0.1em; font-weight: 700; text-align: center;}



   /* コーポレートcommon */

.cpun-common #contentsvoice{padding: 0;margin-bottom: -3rem;}
.cpun-common #contentsvoice .dicon{transform: scale(-1, 1);left: 50%;position: absolute;width: 27rem;top: -2.5rem;margin-left: 41.3rem;}
.cpun-common #contentsvoice .inner-Box{margin: 0 auto 12.3rem;position: relative;}
.cpun-common #contentsvoice .ttl-Box{ margin: 0 auto 6.5rem; width: 110rem; }
.cpun-common #contentsvoice .ttl-Box .dicon{width: 5.3rem;margin-bottom: -0.3rem;left: -4.9rem;transform: scale(1, 1);top: -3.1rem;}
.cpun-common #contentsvoice .ttl-Box .f-en{color: var(--mred);font-size: 1.4rem;line-height: 1.714;letter-spacing: 0.2em;font-weight: 600;text-align: left;padding-left: 2.1rem;margin-bottom: -0.3rem;}
.cpun-common #contentsvoice .ttl-Box .f-en span{ color: var(--mbl); }
.cpun-common #contentsvoice .ttl-Box h2{font-size: 2.3rem;line-height: 1.5;letter-spacing: 0.2em;font-weight: 700;text-align: left;padding-left: 2.1rem;}

.cpun-common #contentsvoice .system-Box{ margin-bottom: 5.4rem; }
.cpun-common #contentsvoice .system-Box ul{ padding-bottom: 0rem; }
.cpun-common #contentsvoice .system-Box ul li{ width: 43rem; margin: 0 1.5rem; background: #fff; box-shadow: 0rem 0rem 0.6rem #D3D3B8; }
.cpun-common #contentsvoice .system-Box ul li div{padding: 3rem;}
.cpun-common #contentsvoice .system-Box ul li.photo { width: 100%; aspect-ratio: 430 / 303; overflow: hidden; text-align: center; position: relative;}
.cpun-common #contentsvoice .system-Box ul li.photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.cpun-common #contentsvoice .system-Box ul li h3{ font-size: 1.8rem; line-height: 1.5; letter-spacing: 0.1em; font-weight: 600; text-align: left; color: #111111; margin-bottom: 2rem; }
.cpun-common #contentsvoice .system-Box ul li .cname{ font-size: 1.6rem; line-height: 1.5; letter-spacing: 0.1em; font-weight: 500; text-align: left; color: #111111; margin-bottom: 2rem; }
.cpun-common #contentsvoice .system-Box ul li .cate{ font-size: 1.2rem; line-height: 1; letter-spacing: 0.1em; font-weight: 500; text-align: left; color: #111111; }
.cpun-common #contentsvoice .system-Box ul li .cate span{display: inline-block;border: #111 solid 1px;padding: 0.6rem 0.8rem;margin-bottom: 0.6rem;}
.cpun-common #contentsvoice .system-Box .prev-arrow{left: 50%;position: absolute;top: -9.8rem;z-index: 4;margin-left: -30.7rem;transform: scale(-1, 1);width: 4rem;cursor: pointer;}
.cpun-common #contentsvoice .system-Box .next-arrow{left: 50%;position: absolute;top: -9.8rem;z-index: 4;margin-left: -22.7rem;width: 4rem;cursor: pointer;}

.cpun-common #contentsvoice .btn-Box{padding: 0 5vw;margin: 0 auto;width: 83rem;}
.cpun-common #contentsvoice .btn-Box ul{ display: flex; flex-wrap: wrap; gap: 4.7022%; }
.cpun-common #contentsvoice .btn-Box ul li{ width: 47.6489%; }
.cpun-common #contentsvoice .btn-Box ul li p.gl-btn a{background: var(--mbl); border:  var(--mbl) 1px solid; }
.cpun-common #contentsvoice .btn-Box ul li p.gl-btn a:hover{ background: #fff; color: var(--mbl); }
.cpun-common #contentsvoice .slick-list{ padding-bottom: 0.6rem!important; }

.cpun-common #cpcontentscase{padding: 0rem 5vw;}
.cpun-common #cpcontentscase .inner-Box{margin: 0 auto 10rem;max-width:110rem;display:flex;align-items:flex-start;gap:3.45rem;position: relative;}
.cpun-common #cpcontentscase .ttl-Box{width:20rem;flex-shrink:0;}
.cpun-common #cpcontentscase .system-Box{width:calc(100% - 23.45rem);padding-top: 3.2rem;}
.cpun-common #cpcontentscase .ttl-Box .dicon{width: 5.3rem;margin-bottom: -0.3rem;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}
.cpun-common #cpcontentscase .ttl-Box .f-en{color: #fff;font-size: 1.4rem;line-height: 1.714;letter-spacing: 0.2em;font-weight: 600;text-align: left;padding-left: 2.1rem;margin-bottom: -0.3rem;}
.cpun-common #cpcontentscase .ttl-Box .f-en span{}
.cpun-common #cpcontentscase .ttl-Box h2{font-size: 2.3rem;line-height: 1.5;letter-spacing: 0.2em;font-weight: 700;text-align: left;padding-left: 2.1rem;color: #fff;margin-right: -1vw;}
.cpun-common #cpcontentscase .system-Box ul{display:grid;grid-template-columns:repeat(3,1fr);gap:0 2.3121%;}
.cpun-common #cpcontentscase .system-Box ul li{
    position: relative;
}
.cpun-common #cpcontentscase .system-Box ul li a{display: block;color: #fff;padding-bottom: 2rem;}
.cpun-common #cpcontentscase .system-Box ul li .sys-date{font-size: 1.4rem;line-height: 1.5;letter-spacing: 0.1em;font-weight: 400;text-align: left;margin-bottom: 1rem;padding-top: 1.1rem;}
.cpun-common #cpcontentscase .system-Box ul li .sys-date .cate{font-size: 1.2rem;line-height: 1;letter-spacing: 0.07em;font-weight: 500;text-align: left;display: inline-block;border: #111 solid 1px;background: #fff;margin-right: -0.2rem;position: relative;color: #111;padding: 0.6rem 0.8rem;margin-bottom: 0.3rem;}
.cpun-common #cpcontentscase .system-Box ul li .sys-ttl{font-size: 1.6rem;line-height: 1.5;letter-spacing: 0.1em;font-weight: 500;text-align: left;margin-bottom: 0.6rem;}
.cpun-common #cpcontentscase .system-Box ul li .sys-text{font-size: 1.4rem;line-height: 1.5;letter-spacing: 0.1em;font-weight: 400;text-align: left;margin-bottom: 1.1rem;}
.cpun-common #cpcontentscase .system-Box ul li .arr{position: relative;transition: all 0.3s ease-in-out;right: 0rem;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}
.cpun-common #cpcontentscase .system-Box ul li a:hover .arr{ right: -0.7rem;}
.cpun-common #cpcontentscase .system-Box ul li a .arr img{width: 1.6rem;}
.cpun-common #cpcontentscase .system-Box ul li .dlbt{text-align: right;font-size: 1.2rem;line-height: 1.5;letter-spacing: 0.1em;font-weight: 500;text-align: end;position: absolute;bottom: 0rem;right: 0rem;}

.cpun-common #cpcontentscase .mbtn{font-size: 1.6rem;line-height: 1;letter-spacing: 0.1em;font-weight: 500;text-align: left;position: absolute;top: 17.1rem;left: 2.3rem;}
.cpun-common #cpcontentscase .mbtn a{ color: #fff; }
.cpun-common #cpcontentscase .mbtn .arr{position: relative;right: -0.2rem;top: 0.4rem;transition: all 0.3s ease-in-out;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}
.cpun-common #cpcontentscase .mbtn a:hover .arr{right: -0.7rem;}


   /* faq common */

#faq .accordion {margin: 3em auto; max-width: 60vw; }
#faq .toggle {display: none; }
#faq .option {position: relative;margin-bottom: 1.9rem;box-shadow: 0px 0px 0.6rem #D3D3B8;border-radius: 1rem;background: #fff;}
#faq .option::before{content: "";}
#faq .title, .content {-webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0); transition: all 0.3s; }
#faq .title {display: block;padding: 2.7rem 6rem 2.7rem 7.1rem;font-size: 1.8rem;line-height: 1.8;letter-spacing: 0.1em;font-weight: 500;text-align: left;cursor: pointer;}
#faq .title span{color: var(--mbl);position: absolute;top: 1.7rem;left: 3rem;width: 3.2rem;height: 3.2rem;padding: 0.8rem 0 0;font-size: 2.3rem;line-height: 1.5;letter-spacing: 0.1em;font-weight: 600;text-align: left;}
#faq .title::after {content: "";background: url(../images/common/arr-navi.svg)no-repeat;width: 0.8rem;height: 1.7rem;position: absolute;top: 3.5rem;right: 4.3rem;transform: rotate(90deg);transform-origin: center;background-size: 100% auto;transition: all 0.3s ease-in-out;}
#faq .content {display: grid;grid-template-rows: 0fr;transition: 0.4s;overflow: hidden;}
#faq .content > * { overflow: hidden; }
#faq .toggle:checked + .title + .content { grid-template-rows: 1fr; }
#faq .content div.wysiwyg {margin: 0rem 0rem 0rem 7.2rem;font-size: 0.9em;line-height: 1.5;width: auto;max-width: 100rem;padding-right: 5rem;}
#faq .content div.wysiwyg span.f-en{background: #fff;color: var(--mred);position: absolute;top: 0;left: 3.1rem;width: 3.2rem;height: 3.2rem;padding: 0.8rem 0 0;font-size: 2.3rem;line-height: 1.5;letter-spacing: 0.1em;font-weight: 600;text-align: left;}
#faq .content .wysbox{padding-bottom: 2.4rem;padding-top: 0.6rem;}
#faq .toggle:checked + .title::after {transform: rotate(-90deg) !important; }


   /* common */
   
   /* 2カラムサイト----------------
   #tow-cl{ width: 1100px; margin: 0 auto; padding: 20px 0;}
   #tow-cl main{ width: 800px!important; float: left;  }
   #tow-cl #side{ width: 280px; float: left; margin-right: 19px; background: #333; height: 800px; }
   #blog #tow-cl #side{ display: none;}
   #blog #tow-cl main{ width: 1100px !important;}*/
   /* 1カラムサイト */
   /*#one-cl{ }*/
   

   .main-title{width: auto;text-align: left;margin-bottom: 3.1rem;padding-left: 3.4rem;}
   .main-title .jp {display: block;font-size: 4.8rem;line-height: 1.5;letter-spacing: 0.24rem;font-weight: 700;text-align: left;}
   h2.sub-title{ padding: 25px 20px 10px; margin-bottom: 50px; font-size: 28px; font-weight: bold; letter-spacing: 2px; text-align: center; border-bottom: solid 2px #000;}

   .seo_bread_list {max-width: 142.9rem;width: 100%;padding: 0 0rem 0px 3.4rem;margin: 0 auto 0;font-size: 1.2rem;line-height: 1;letter-spacing: 0.06rem;font-weight: 400;text-align: left;color: #111111;z-index: 5;position: relative;}
   .seo_bread_list li{ margin-right: 20px; float: left;  }
   .seo_bread_list a{margin-right: 0.2rem;}
   .seo_bread_list a{font-weight: 500;color: #111111;}
   .seo_bread_list a::after{content: "";width: 0.5rem;height: 0.9rem;display: inline-block;background: url(../images/common/arr-navi.svg) no-repeat;background-size: 100% auto;position: relative;top: 0rem;margin: 0 1.1rem;}
   .seo_bread_list li::after{ content: " >"; }
   .seo_bread_list li:last-child::after{ content: ""; }
   
   /*pc・タブレットcss*/
   /*pc_defaultset*/
   .pc { display: block !important; }
   /*pcのみ表示ブロック*/
   .pc2 { display: inline-block !important; }
   /*pcのみ表示ブロック*/
   .sp, .sp2 { display: none !important; }
   /*スマホのみ表示ブロック*/
   .h_menu { display: none; }
   /*スマホ用ヘッダ*/
   .sp-header { display: none; }
   /*スマホ用メニュー*/
   #sp-global-nav { display: none; }
   /*スマホ用メニュー*/
   .sp-fix-list { display: none; }
   /* Antialiasing ※任意　*/
   
   .fit img { object-fit: cover; font-family: "object-fit: cover;"; }
   
   html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none; overflow-x: hidden; }
   


   body { -webkit-text-size-adjust: 100%; }
   img {vertical-align: bottom;}
   a {text-decoration: none;color: var(--main-blue);transition: color 0.3s ease-in-out;}
   a:hover { color: var(--main-blue);  }
   .nobd a:hover { text-decoration: none !important; }
   
   /* clearfix */
   .clearfix { zoom: 1; }
   .clearfix:after { display: block; clear: both; height: 0; visibility: hidden; line-height: 0; content: "."; }
   /* wysiwyg */

.wysiwyg { /* PC幅と中央寄せ */max-width: 84rem;margin-inline: auto;/* padding: 0 2rem; */ 
/* 変数定義（PC） */--wys-p-gap: 2.4rem;--wys-h2-margin: 8rem 0 3.2rem;--wys-h3-margin: 6.4rem 0 2.4rem;--wys-h4-margin: 4rem 0 1.6rem;--wys-blk-mt: 3.2rem;--wys-blk-mb: 3.2rem;}
/* --- Text & Paragraph --- */
.wysiwyg :is(h1, h2, h3, h4, p, ul li, ol li, td, th) {letter-spacing: 0.1em;}
.wysiwyg p {margin: 0;font-size: 1.6rem;line-height: 2.0;letter-spacing: 0.1em;font-weight: 400;text-align: left;}
.wysiwyg p + p { margin-top: var(--wys-p-gap); }
/* --- Headings --- */
.wysiwyg h2 {margin: var(--wys-h2-margin);padding: 0rem 1rem;font-size: 1.8rem;line-height: 1.5;font-weight: 600;text-align: left;color: #111111;border-left: var(--mred) 0.5rem solid;}
.wysiwyg h3 {margin: var(--wys-h3-margin);padding-bottom: 1.6rem;font-size: 1.7rem;line-height: 1.5;text-align: left;color: #111111;}

.wysiwyg h3 {margin-bottom: 2.9rem;padding-bottom: 0.8rem;border-bottom: var(--mbl) 3px solid;}
.wysiwyg h3::before{content:"";width: 8rem;height: 3px;display: block;position: absolute;bottom: -0.3rem;left: 0;background: var(--mred);z-index: 0;}

.wysiwyg h4::before{content: "";display: block;width: 0.8rem;height: 0.8rem;border: var(--main-blue) 2px solid;border-radius: 50%;position: absolute;top: 1.1rem;left: 0;}
.wysiwyg h4 {margin: var(--wys-h4-margin);font-size: 1.6rem;line-height: 1.5;text-align: left;color: #111111;padding-bottom: 0.4rem;}
 
/* --- Lists --- */ 
 .wysiwyg :is(ul, ol) { margin: var(--wys-blk-mt) 0 var(--wys-blk-mb) 2.4rem; padding: 0; }
 /* Unordered List (ドット) */ 
 .wysiwyg ul { list-style: none; }
 .wysiwyg ul li { position: relative; font-size: 1.6rem; line-height: 1.8; margin-bottom: 0.8rem; }
 .wysiwyg ul li::before {content: "";position: absolute;left: -1.8rem;width: 1rem;height: 1rem;border-radius: 50%;background: var(--mred);top: 0.65em;top: calc(0.5lh - 0.35rem); /* テキスト1行目の垂直中央 */}
 /* Ordered List (数字) */ 
 .wysiwyg ol { list-style: decimal; }
 .wysiwyg ol li { font-size: 1.6rem; line-height: 1.8; margin-bottom: 0.8rem; }
 .wysiwyg ol li::marker { /* フォントを継承し、Poppins指定を削除 */font-weight: 700;color: var(--mred);}
 /* --- Images & Caption --- */ 
 .wysiwyg figure { margin: var(--wys-blk-mt) 0 var(--wys-blk-mb); max-width: 100%; }
 .wysiwyg figure img { max-width: 100%; height: auto; display: block; }
 .wysiwyg figcaption { margin-top: 1.2rem; font-size: 1.4rem; color: #666; text-align: center; }
 /* --- Table --- */ 
 .wysiwyg .table-wrapper { overflow-x: auto; margin: var(--wys-blk-mt) 0 var(--wys-blk-mb); width: 100%; -webkit-overflow-scrolling: touch; }
 .wysiwyg table {width: 100%;border-collapse: collapse;font-size: 1.6rem;line-height: 1.5;min-width: 60rem; /* SP時にスクロールさせるための最小幅 */border-top: #CCC 1px solid;}
 .wysiwyg th, .wysiwyg td {padding: 1.6rem 2.4rem!important;border: 1px solid #ccc!important;text-align: left;/* border-left: none!important; *//* border-right: none!important; */}
 .wysiwyg th { background-color: #E2E5EA; font-weight: 700; }
 /* 幅30%は「th=項目名/td=内容」の2列表のみに適用(多列表に効くと列が潰れて変な折り返しになる) */
 .wysiwyg tbody th:first-child { width: 30%; }
 .wysiwyg thead th { white-space: nowrap; }




   /* リンク透明 */
   a img{transition: opacity 0.3s ease-in-out;}
   a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
   /* リンク透明にしない */
   .noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
   /*---------------------------------------- 　　外部サービス ----------------------------------------*/
   /* ggmap */
   /* <div class="ggmap">iframeのコピーしたコード</div> */
   .ggmap { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }
   .ggmap iframe, .ggmap object, .ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
   /* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
   .youtube { position: relative; width: 100%; padding-top: 56.25%; }
   .youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
   /*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
   @font-face { font-family: 'jp-sttl01';
   /* お好きな名前にしましょう */
   src: url("../font/.eot");
   /* IE9以上用 */
   src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
   /* iOS, Android用 */
   /* 念の為指定しておきます */
   font-weight: normal;
   /* 念の為指定しておきます */
   font-style: normal; vertical-align: top; margin: 0px; padding: 0px; }
   .myWebFontClass { font-family: 'jp-sttl01'; }
   }

@media screen and (min-width:768px) and ( max-width:1280px) {



}


@media screen and (min-width:768px) and ( max-width:1200px) {

/* 背景フレーム（左空き） */
.bg-common-left {margin: 0 auto 16rem 5rem;}
.bg-common-left::before{left: -5rem;}

/* 背景フレーム（右空き） */
.bg-common-right{margin:0 11rem 5rem auto;}
.bg-common-right::before{right:-5rem;}

#mainttl .inner-Box{padding: 4rem 5vw 5.6rem;}

header .cpuninavi{top: 2.2rem;right: 10.7rem;}
header .cpuninavi li{font-size: 1.4rem;margin-left: 2rem;}
header .shuninavi li::before{top: -0.1rem;}

header .shuninavi{top: 2.2rem;right: 10.7rem;}
header .shuninavi li{font-size: 1.4rem;margin-left: 2rem;}
header .cpuninavi li::before{top: -0.1rem;}




}


@media screen and (min-width:768px) and ( max-width:1023px) {
header{}
main{ margin: 0;}
#contentsend{ margin-left: 0;}
footer{ margin-left: 0;}
#common-csr{ padding-left: 0; }





}
@media screen and (min-width:768px) and ( max-width:1000px) {


}



@media screen and (max-width: 767px) {
header{padding: 4.1vw 60vw 0 5.4vw;}
.sp-bgimages{position: fixed;top: 0;left: 0;width: 100vw;height: 100vh;background: url('../images/common/sp-body-back.jpg')no-repeat top center;background-size: cover;z-index: -1;display: none;}
.sp-recruit-bgimages{ position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: url('../images/common/sp-recruit-body-back.jpg')no-repeat top center; background-size: cover; z-index: -1; }

.mw_wp_form input[type="file"] { display: inline-block; width: 100%; font-size: 3.8vw; }

header .shuninavi,header .cpuninavi{ display: none; }

body {overflow: hidden;font-size: 3.6vw;font-family: sans-serif;-webkit-text-size-adjust: 100%;line-height: 1.6;background: #FBFBF4;padding-top: 16vw;}
.pc, .pc2 { display: none !important; }
/*pcのみ表示ブロック*/
.sp { display: block !important; }
/*スマホのみ表示ブロック*/
.sp2 { display: inline-block !important; }
/*スマホのみ表示ブロック*/
.no-br { display: none; }
/*スマホでbrを解除したい場合に使用*/
.sp_display_block { display: block !important; }
/*スマホでflexboxを解除したい場合等に使用*/
.side-fix{ display: none; }
.fix-list{ display: none; }
#g-nav{ display: none; }

#pc-glnavi{z-index: 1001;}
#pc-glnavi.active{background: none;}
#pc-glnavi.active .h-logo{position: relative;display: none;}
#pc-glnavi .h-menu {display: block;position: fixed;top: 0;right: 0;background: #FBFBF4;width: 20.1vw;height: 18.1vw;z-index: 1002;border-radius: 0.0vw 0.0vw 0.0vw 5.25vw;cursor: pointer;}

#mainttl{border-radius: 0;position: relative;z-index: 3;}
#mainttl .inner-Box{padding: 10.6vw 5vw 5vw 5.4vw;}
#mainttl .dicon{width: 11.6vw;margin-bottom: -0.6vw;}
#mainttl .en{color: var(--mred);margin-bottom: -0.3vw;display: block;font-size: 3.2vw;line-height: 1.5;letter-spacing: 0.2em;font-weight: 600;text-align: left;}
#mainttl .en span{color: var(--mbl);}
#mainttl .page-title{margin: 0 0 6.4vw 0;font-size: 4.8vw;line-height: 1.67;letter-spacing: 0.2em;font-weight: 700;text-align: left;}
#mainttl  h1{padding-left: 4.2vw;}


/* 統合した見出し全体のスタイル */
.common-title-main {margin: 0 0 3.7vw 0vw;line-height: 1.5;}
.common-title-main .f-en {display: block;font-size: 3.20vw;font-weight: 600;color: var(--main-blue);letter-spacing: 0.05em;margin-bottom: 2.267vw;position: relative;padding-left: 4.1vw;line-height:1;}
.common-title-main .f-en::before {content: "";position: absolute;left: 0;top: 50%;width: 2.067vw;height: 1px;background-color: var(--main-blue);transform-origin: left center; /* JSの変数 --line-x で制御 */transform: scaleX(var(--line-x, 0));}
.common-title-main .ttl-ja {display: block;font-size: 6.13vw;font-weight: 700;color: var(--main-blue);letter-spacing: 0.05em;}
.common-title-main .split-char { display: inline-block; will-change: transform, opacity; /* 文字同士がバラバラに改行されないようにする */ white-space: pre; }

.gl-btn-nolink{ }
a .gl-btn-nolink{background: linear-gradient(90deg, var(--btn-grad-start) 0%, var(--btn-grad-end) 50%, var(--btn-grad-start) 100%);background-size: 200% 100%;background-position: 0% center;transition: background-position 0.6s ease-in-out;overflow: hidden;display: block;width: 100%;height: 9.4vw;color: #fff;position: relative;font-size: 3.73vw;padding: 3.2vw 0 0 0;text-align: left;transition: all 0.5s ease-in-out;font-weight: bold;}
a .gl-btn-nolink .arr::before{content: "";background: #fff;display: block;width: 1px;height: 3.1vw;position: absolute;top: 51%;transform: translateY(-50%);right: 7vw;}
a .gl-btn-nolink .arr img{width: 3vw;display: block;height: 2.93vw;position: absolute;top: 3.4vw;right: 2.3vw;transition: all 0.5s ease-in-out;transform-origin: center center;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}


/*+++ Reset +++*/
#pc-glnavi .h-menu .zdo_drawer_buttonsp .f-en {font-size: 2.6667vw;line-height: 1;letter-spacing: 0.2em;font-weight: 600;color: var(--mred);position: relative;top: -0.4rem;left: 50%;display: block;width: 10.6667vw;text-align: center;transform: translateX(-50%);}
#pc-glnavi .h-menu .zdo_drawer_buttonsp::before{height: 27px;width: 27px;content: "";display: block;position: relative;top: 1.3333vw;left: 2.4vw;/* background: #f00; */}
#pc-glnavi .h-menu .zdo_drawer_buttonsp * {margin: 0;padding: 0;outline: none;border: none;font: inherit;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;-webkit-appearance: none;-moz-appearance: none;appearance: none;text-align: left;text-decoration: none;list-style: none;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp {display: block;padding: 0;height: 3.2vw;background: none;border: none;text-align: center;letter-spacing: 0.1em;cursor: pointer;outline: none;width: 9.2vw;z-index: 9999;position: absolute;top: 4.7vw;left: 5.6vw;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar {display: block;height: 1.6vw;transition: all 0.2s;transform-origin: 0% 0%;transform: translateY(-50%);position: absolute;left: 0;width: 1.6vw;border-radius: 50%;background: var(--mred);}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar1 {top: 1.6vw;left: 0;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar2 {top: 1.6vw;left: 3.7333vw;background: var(--mbl);}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar3 {top: 1.6vw;left: 7.4667vw;}
#pc-glnavi.active .h-menu{}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar {width: 23px;left: 0;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar1 {transform: rotate(0.26rad) translateY(-96%);top: 0.5333vw;width: 9.6vw;left: 0;border-radius: 0;height: 1px;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar2 {opacity: 0;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar3 {transform: rotate(-0.27rad) translateY(-50%);top: 2.9333vw;width: 9.6vw;left: 0;border-radius: 0;height: 1px;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_menu_text {display: none;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_close {display: block;}
.zdo_drawer_text {width: 100%;position: absolute;bottom: -2.6vw;left: 0;text-align: center;font-size: 1.3vw;}
.zdo_drawer_close {letter-spacing: 0.08em;display: none;}
.zdo_drawer_buttonsp {color: #000;}
.zdo_drawer_buttonsp .zdo_drawer_bar {background-color: #fff;}


.zdo_drawer_text { width: 100%; position: absolute; bottom: -2.6vw; left: 0; text-align: center; font-size: 1.3vw; }
.zdo_drawer_close { letter-spacing: 0.08em; display: none; }
/*+++ Default Button Color +++*/
.zdo_drawer_buttonsp { color: #000; }
.zdo_drawer_buttonsp .zdo_drawer_bar {background-color: var(--main-blue);}
a:hover{ text-decoration: none!important;}

.gl-btn{}
.gl-btn a{background:var(--mred);transition:background-position .6s ease-in-out;display:block;width:100%;height: 13.433vw;color:#fff;position:relative;padding: 4.667vw 0 0 5.2vw;transition:all .5s ease-in-out;font-size: 3.767vw;line-height:1.125;letter-spacing:.2em;font-weight:500;text-align:left;border-radius:1.333vw;border:var(--mred) solid 1px;}
.gl-btn a .arr img{display:block;width: 4.033vw;height:5.333vw;position:absolute;top:50%;transform:translateY(-50%);right:3.467vw;transition:all .5s ease-in-out;transform-origin:center center;-webkit-filter:brightness(0) invert(1);filter:brightness(0) invert(1);}

/* 矢印ホバー */
a .morearrtext{transition: all 0.3s ease-in-out;margin-top: 2.7vw;padding-right: 3vw;}
a .morearrtext .arr{transform-origin:center;overflow:hidden;display:block;width:4rem;height:4rem;position:relative;transition:all .5s ease-in-out;}
a .morearrtext .arr img{display:block;height: auto;position:absolute;transition:all 0.5s ease-in-out;}

#contentservice-sv-list{margin: 0 auto 9.333vw;position:relative;}
#contentservice-sv-list ul{display:flex;flex-wrap:wrap;gap: 4.7182%;align-items:stretch;}
#contentservice-sv-list ul li{border:1px solid #D5D5D5;border-radius:2.667vw;background:#fff;margin-bottom: 3.733vw;position:relative;width: 47.5364%;display:flex;flex-direction:column;}
#contentservice-sv-list ul li a{display:block;padding: 5.4vw 5.3vw 6.567vw;}
#contentservice-sv-list ul li h3{z-index:3;position:relative;margin-bottom: 1.8vw;padding-left: 4.733vw;font-size: 3.7vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 600;text-align: left;color: var(--mbl);}
#contentservice-sv-list ul li h3 span{display:inline-block;margin-left:-0.8vw;position:absolute;top: -0.8vw;left:0;width: 4.2vw;}
#contentservice-sv-list ul li p.ltext{position:relative;min-height:unset;padding-bottom: 6.167vw;font-size: 3.2vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: normal;text-align: left;color: #111111;margin-right: -1vw;}
#contentservice-sv-list ul li p.dl{font-size:3.2vw;line-height:1.5;letter-spacing:.1em;font-weight:500;text-align:right;color:#111;padding-top:2.133vw;padding-right:5.333vw;position:absolute;bottom: 5.133vw;right:3.733vw;}
#contentservice-sv-list ul li p.dl::before{content:"";width:4vw;height:4vw;display:inline-block;border-radius:50%;background:url(../images/common/arr-blu.svg) no-repeat;background-size:100% auto;position:absolute;top:2.667vw;right:0;transition:all .3s ease-in-out;}
#contentservice-sv-list ul li a:hover p.dl::before{right:-1.6vw;}


/* 背景フレーム（左空き） */
.bg-common-left{margin: 0 auto 27.667vw 0vw;position:relative;}
.bg-common-left::before{content:"";position:absolute;left: -5.3vw;bottom: -16.467vw;width:100%;height:100%;background:var(--mbl);border-radius: 0 0 7.967vw 0;z-index:0;}
.bg-common-left .back-Box{box-shadow:0 0 1.6vw #D3D3B8;border-radius: 7.433vw 0 0 7.433vw;position:relative;background:url('../images/common/btn-back2.svg') repeat left top #fff;padding: 0 5.3vw 4.3vw;}

/* 背景フレーム（右空き） */
.bg-common-right{margin:0 0 42.667vw 5.3vw;position:relative;}
.bg-common-right::before{content:"";position:absolute;right:-5.3vw;bottom:-16.467vw;width:100%;height:100%;background:var(--mred);border-radius:0 0 0 7.967vw;z-index:0;}
.bg-common-right .back-Box{box-shadow:0 0 1.6vw #D3D3B8;border-radius:0 7.433vw 7.433vw 0;position:relative;background:url('../images/common/btn-back2.svg') repeat left top #fff;padding:0 5vw 12vw;}

.entrybtn a{color: #454748;font-size: 5.86vw;line-height: 1.6;font-weight: 900;letter-spacing: 0.17vw;margin: 0 11.4vw 7.25vw;height: 16.11vw;display: block;border: 0.72vw solid #454748;border-radius: 8.7vw;background: #fff;position: relative;padding: 2.84vw 0 0;transition: background 0.3s ease-in-out,color 0.3s ease-in-out;text-align: center;}

#pc-menu-open{display: none;background: #FBFBF4;width: 100vw;height: 100vh;position: fixed;top: 0;z-index: 1000;overflow-y: scroll;}
#pc-menu-open.active{ display: block; }
#pc-menu-open .h-logo{ }
#pc-menu-open .inner-box{position: relative;padding-bottom: 56.0vw;background: #fff;margin-left: 4.2vw;border-radius: 11vw 0 0 0;padding: 6.4vw 8.6vw 0;}
#pc-menu-open .h-logo{text-align: center;margin-bottom: 6.52vw;width: 40.1vw;padding: 4vw 0 0 5.2vw;}

#pc-menu-open .pc-open-in-navibox{ display:none;}
#pc-menu-open .dflist{display:none; }

#pc-menu-open .ft-navi-one-navibox ul{display: -webkit-box;display: -moz-flex;display: -ms-flex;display: -o-flex;display: -ms-flexbox;display: flex;-webkit-box-lines: multiple;-moz-box-lines: multiple;-ms-flex-wrap: wrap;flex-wrap: wrap;}
#pc-menu-open .ft-navi-one-navibox ul li{width: 100%;font-size: 3.733vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 400;text-align: left;margin-bottom: 4vw;}
#pc-menu-open .ft-navi-one-navibox ul li:first-child{padding-top: 3vw;}
#pc-menu-open .ft-navi-one-navibox ul li:last-child a{border-bottom: none;margin-bottom: -4vw;}
#pc-menu-open .ft-navi-one-navibox ul li.mmg1{ position: relative; top: -8.9vw; }
#pc-menu-open .ft-navi-one-navibox ul li.mmg2{margin-bottom: 8vw;}
#pc-menu-open .ft-navi-one-navibox .site-top{margin-bottom: 2.2vw;font-size: 4.267vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 600;text-align: left;}
#pc-menu-open ul li a{display: flex;align-items: center;justify-content: flex-start;gap: 2.4vw;position: relative;padding: 0 0 4vw;color: #111111;border-bottom: #C4C2C2 1px solid;font-size: 4.267vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 400;text-align: left;}
#pc-menu-open ul li a::before{content: "";width: 1.8vw;height: 3.9vw;flex-shrink: 0;display: block;background: url(../images/common/arr-navi.svg) no-repeat;background-size: 100% auto;}
#pc-menu-open ul li a::after{content: none;}


#pc-menu-open .ft-sp-navibox{ display: block; }
#pc-menu-open .ft-navi-common-navibox{padding: 16.5vw 10.6vw 1vw;margin-bottom: -1.4vw;}
#pc-menu-open .ft-navi-common-navibox--sub{padding: 0 10.6vw 1vw;margin-bottom: 0;}
#pc-menu-open .ft-navi-common-navibox ul{}
#pc-menu-open .ft-navi-common-navibox ul li{margin-bottom: 4.4vw;font-size: 4.8vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 500;text-align: left;}
#pc-menu-open .ft-navi-common-navibox .site-top{}

#pc-menu-open .ft-navi-one-navibox ul{ display:none; }
#pc-menu-open .ft-navi-one-navibox .site-top{ cursor:pointer; position:relative; }
#pc-menu-open .ft-navi-one-navibox .site-top.clred{ color: var(--mred); }
#pc-menu-open .ft-navi-one-navibox .site-top::after{content:"";display: block;width: 4.27vw;height: 1px;background: var(--mred);position:absolute;right:0;top:50%; transform:translateY(-50%) rotate(90deg);transition:.3s;}
#pc-menu-open .ft-navi-one-navibox .site-top::before{ content:""; display: block; width: 4.27vw; height: 1px; background: var(--mred); position:absolute; right:0; top:50%; transform:translateY(-50%); transition:.3s; }
#pc-menu-open .ft-navi-one-navibox .site-top.active::after{ transform:translateY(-50%) rotate(0deg); }

#pc-menu-open .ft-navi-one-navibox .site-top.clbl{ color: var(--mbl); }
#pc-menu-open .ft-navi-one-navibox .site-top.clbl::after,#pc-menu-open .ft-navi-one-navibox .site-top.clbl::before{background: var(--mbl);}


#pc-menu-open .ft-navi-one-navibox{margin: 0 10.8vw 3.3vw;border-bottom: 1px solid #C4C2C2;padding: 0 0vw 2vw;}

#pc-menu-open .ppsitemap{margin: 8.8vw auto 0 auto;padding: 1.8vw 9.8vw 14.9vw;}
#pc-menu-open .ppsitemap ul{font-size:3.2vw;line-height:1.75;letter-spacing:.1em;font-weight:400;text-align:left;color:#111111;display:flex;flex-wrap:nowrap;align-items:center;gap: 9.3vw;}
#pc-menu-open .ppsitemap ul li{flex-shrink: 0;}
#pc-menu-open .ppsitemap ul li a{border: none;border-bottom: none;padding: 0;display: flex;align-items: center;justify-content: flex-start;gap: 1.2vw;font-size: 3.2vw;line-height: 1.5;}
#pc-menu-open .ppsitemap ul li:nth-child(2){position: static;right: auto;}
#pc-menu-open .ppsitemap ul li a::before{content: "";width: 1.4vw;height: 2.8vw;flex-shrink: 0;display: block;background: url(../images/common/arr-navi.svg) no-repeat;background-size: 100% auto;}
#pc-menu-open .ppsitemap ul li a::after{content: none;}


#reason-bottom{margin: 0 auto 32.7vw;position:relative;padding:0 5vw;}
#reason-bottom p.f-en{color:var(--mred);margin-bottom:-0.8vw;position:relative;font-size: 3.533vw;line-height:1.714;letter-spacing:.2em;font-weight:600;text-align:center;padding-right:29.333vw;padding-left: 5vw;}
#reason-bottom p.f-en span{color:var(--mbl);}
#reason-bottom h2{margin: 0 auto 7.567vw;position:relative;padding-left: 18.467vw;width:82.667vw;font-size: 5.3vw;line-height: 1.5;letter-spacing: 0.2em;font-weight: 700;text-align: left;}
#reason-bottom .dicon{position:relative;top: 2.8vw;left:50%;width: 12.167vw;margin-left: -27.4vw;margin-bottom: 1vw;}
#reason-bottom .inner-Box{margin:0 auto;position:relative;max-width:110rem;}
#reason-bottom .inner-Box ul{display:grid;grid-template-columns: repeat(2,1fr);gap: 4.4545%;}
#reason-bottom .inner-Box ul li{position:relative;text-align:center;margin-bottom: -2vw;}
#reason-bottom .inner-Box ul li a:hover{border:1.333vw solid var(--mred);}
#reason-bottom .inner-Box ul li:nth-child(1) a{background:url(../images/concept/bottom-photo01.jpg) no-repeat center center;background-size:cover;}
#reason-bottom .inner-Box ul li:nth-child(2) a{background:url(../images/concept/bottom-photo02.jpg) no-repeat center center;background-size:cover;}
#reason-bottom .inner-Box ul li:nth-child(3) a{background:url(../images/concept/bottom-photo03.jpg) no-repeat center center;background-size:cover;}
#reason-bottom .inner-Box ul li:nth-child(4) a{background:url(../images/concept/bottom-photo04.jpg) no-repeat center center;background-size:cover;}
#reason-bottom .inner-Box ul li:nth-child(5) a{background:url(../images/concept/bottom-photo05.jpg) no-repeat center center;background-size:cover;}
#reason-bottom .inner-Box ul li:nth-child(6) a{background:url(../images/concept/bottom-photo06.jpg) no-repeat center center;background-size:cover;}
#reason-bottom .inner-Box ul li a{border:0 solid var(--mred);border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;position:relative;text-align:center;transition:all .3s ease-in-out;}
#reason-bottom .inner-Box ul li a .arr{-webkit-filter:brightness(0) invert(1);filter:brightness(0) invert(1);display:block;position:relative;bottom: -1.667vw;width: 4.80vw;margin: 0 auto;}
#reason-bottom .inner-Box p.ltext{color:#fff;margin-bottom:0;position:relative;font-size:4.267vw;line-height:1.25;letter-spacing:.1em;font-weight:700;text-align:center;}

.contentsall{}
.side-nav a.active {}
/*.side-nav a::before{content:"";display: inline-block;height: 4.0vw;background: url(../images/common/contentsfoot-arr02.svg)no-repeat top center;position: relative;left: -2.4vw;margin-right: -4.0vw;top: 0.27vw;opacity: 0;transition: opacity 0.3s ease-in-out,margin-right 0.3s ease-in-out;}
.side-nav a.active::before,.side-nav a:hover::before{content:"";display: inline-block;height: 4.0vw;background: url(../images/common/contentsfoot-arr02.svg)no-repeat top center;position: relative;left: -2.4vw;margin-right: -1.33vw;top: 0.27vw; opacity: 1;}
*/

#contentsend {margin: 0 auto 15.3vw;position: relative;padding: 1.3vw 5vw 0;}
#contentsend .inner-Box {margin: 0 auto;position: relative;}
#contentsend .inner-Box span.ticone {display: block;line-height: 1;text-align: center;margin: 0 auto 4.3vw;width: 9.8vw;position: relative;left: -1.7vw;}
#contentsend .inner-Box span.ticone img {}
#contentsend .inner-Box h2 {margin-bottom: 6.4vw;position: relative;color: #111111;font-size: 4.8vw;line-height: 1.5;letter-spacing: 0.2em;font-weight: 700;text-align: center;}
#contentsend .inner-Box ul{margin:0 auto;}
#contentsend .inner-Box ul li{position:relative;top:0;background:url(../images/common/btn-back.svg) #FDFDE5;border:0.3vw solid #707070;border-radius:2.7vw;box-shadow:0 1.6vw 0 #D3D3B8;transition:all .3s ease-in-out;margin-bottom: 6.9vw;}
#contentsend .inner-Box ul li:hover{top:1.6vw;box-shadow:0 0 0 #D3D3B8;transition:all .3s ease-in-out;}

#contentsend .inner-Box ul li a{display:block;color:#111111;font-size: 4.267vw;line-height: 1.5;letter-spacing: 0.2em;font-weight: 600;text-align: left;}
#contentsend .inner-Box ul li a:hover{}
#contentsend .inner-Box span.ficon{display:inline-block;line-height:1;position:relative;margin-right: 2.3vw;left: 1.2vw;width: 5.3vw;top: 0.1vw;}
#contentsend .inner-Box span.ficon img{}
#contentsend .inner-Box p.ltext{padding: 8.7vw 0;position:relative;text-align:center;}

footer{position:relative;}

footer .ft-bkbox{background:url(../images/common/foot-back.svg) #F4F4C8;padding: 12.8vw 5.3vw 10.1vw;}
footer .ft-navibox{display: none;}

footer .ft-sp-navibox{ }

footer .ft-navi-tow-navibox{}
footer .ft-navi-tow-navibox ul{}
footer .ft-navi-tow-navibox ul li{}
footer .ft-navi-tow-navibox ul li a{}


footer .ft-navi-one-navibox ul{display: -webkit-box;display: -moz-flex;display: -ms-flex;display: -o-flex;display: -ms-flexbox;display: flex;-webkit-box-lines: multiple;-moz-box-lines: multiple;-ms-flex-wrap: wrap;flex-wrap: wrap;}
footer .ft-navi-one-navibox ul li{width: 50%;font-size: 3.2vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 400;text-align: left;margin-bottom: 4vw;}
footer .ft-navi-one-navibox ul li.mmg1{position: relative;left: 42.1vw;}
footer .ft-navi-one-navibox ul li.mmg2{position: relative;top: -4.9vw;}
footer .ft-navi-one-navibox ul li.mmg3{position: relative;top: 4.1vw;}
footer .ft-navi-one-navibox ul li.mmg4{position: relative;top: -4.9vw;}
footer .ft-navi-one-navibox ul li.mmg5{position: relative;top: 3.9vw;}
footer .ft-navi-one-navibox ul li.mmg6{position: relative;top: -4.9vw;}
footer .ft-navi-one-navibox ul li.mmg7{position: relative;top: 4.6vw;}
footer .ft-navi-one-navibox ul li.mmg8{position: relative; top: -8.9vw;}
footer .ft-navi-one-navibox ul li.mmg9{position: relative;top: 0.7vw;left: -41.8vw;}

footer .ft-navi-one-navibox .site-top2{font-size: 3.733vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 600;text-align: left;margin-bottom: 4.2vw;width: 100%;}
footer .ft-navi-one-navibox .site-top{font-size: 3.733vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 600;text-align: left;margin-bottom: 4.2vw;}

footer .ft-navi-common-navibox{border-bottom: #707070 1px solid;padding: 0 2.7vw 4vw;margin-bottom: 6.2vw;}
footer .ft-navi-common-navibox ul{display: -webkit-box;display: -moz-flex;display: -ms-flex;display: -o-flex;display: -ms-flexbox;display: flex;-webkit-box-lines: multiple;-moz-box-lines: multiple;-ms-flex-wrap: wrap;flex-wrap: wrap;}
footer .ft-navi-common-navibox ul li{width: 52.9%;font-size: 3.2vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 400;text-align: left;margin-bottom: 4vw;}
footer .ft-navi-common-navibox ul li:nth-child(2n){width: 45%;}
footer .ft-navi-common-navibox ul li.mmg1{ position: relative; top: -8.9vw; }
footer .ft-navi-common-navibox ul li.mmg2{margin-bottom: 8vw;}



footer .ft-navi-common-navibox .site-top{font-size: 3.733vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 600;text-align: left;margin-bottom: 4.2vw;}

footer .ft-navi-one-navibox ul{ display:none; }
footer .ft-navi-one-navibox .site-top{ cursor:pointer; position:relative; }
footer .ft-navi-one-navibox .site-top.clred{ color: var(--mred); }
footer .ft-navi-one-navibox .site-top::after{content:"";display: block;width: 4.27vw;height: 2px;background: var(--mred);position:absolute;right:0;top:50%;transform:translateY(-50%) rotate(90deg);transition:.3s;}
footer .ft-navi-one-navibox .site-top::before{content:"";display: block;width: 4.27vw;height: 2px;background: var(--mred);position:absolute;right:0;top:50%;transform:translateY(-50%);transition:.3s;}
footer .ft-navi-one-navibox .site-top.active::after{ transform:translateY(-50%) rotate(0deg); }

footer .ft-navi-one-navibox .site-top.clbl{ color: var(--mbl); }
footer .ft-navi-one-navibox .site-top.clbl::after,footer .ft-navi-one-navibox .site-top.clbl::before{background: var(--mbl);}


footer .ft-navi-one-navibox{margin-bottom: 6.3vw;border-bottom: 1px solid #707070;padding: 0 2.8vw 2vw;}

footer .ppsitemap{margin:0 auto;padding: 1.8vw 2.9vw;}
footer .ppsitemap ul{font-size:3.2vw;line-height:1.75;letter-spacing:.1em;font-weight:400;text-align:left;color:#111111;display:flex;flex-wrap:wrap;}
footer .ppsitemap ul li{margin-right: 9.3vw;}
footer .ppsitemap ul li a{}

footer .ft-company{padding: 8.4vw 7.9vw;}
footer .ft-in-company{}
footer .ft-left{}
footer .ft-right{}

footer .ft-left .h-logo{margin-bottom: 3vw;width: 34.7vw;}
footer .ft-left .h-logo a{}
footer .ft-left .h-logo img{}
footer .ft-left .cname{color:#111111;margin-bottom: 1.7vw;font-size: 3.733vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 500;text-align: left;}
footer .ft-left .adtext{color:#111111;font-size: 3.2vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 400;text-align: left;margin-bottom: 5.1vw;}

footer .ft-right ul{}
footer .ft-right ul li{border:.3vw solid var(--mred);border-left:1.9vw var(--mred) solid;width: 70.8vw;font-size: 3.733vw;line-height: 1.6;letter-spacing: 0.1em;font-weight: 500;text-align: left;margin-bottom: 4.1vw;background: #fff;}
footer .ft-right ul li:nth-child(2n){margin-right:0;border:.3vw solid var(--mbl);border-left:1.9vw var(--mbl) solid;}
footer .ft-right ul li a{color:var(--mred);display:block;padding: 2.9vw 2.9vw 2.6vw 6.1vw;}
footer .ft-right ul li:nth-child(2n) a{color:var(--mbl);}
footer .ft-right ul li .tel{position:relative;top:-1.1vw;width: 2.8vw;display: inline-block;margin-right: -0.8vw;}
footer .ft-right ul li .tel img{}

footer .cptext{padding: 3.6vw 0 12vw;font-size: 2.667vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 400;text-align: center;}

.copy{font-size:3.2vw;line-height:4.2;letter-spacing:.05em;font-weight:400;background:#C4CCD8;text-align:center;padding:4vw 0;color:#535779;border-top:.3vw solid #ACB3BF;}


h2.corettl{font-size: 6.133vw;line-height: 1.6;letter-spacing: 0.307vw;font-weight: 700;text-align: left;}
h2.corettl span.f-en{color:var(--main-blue);font-size:3.2vw;line-height:1;letter-spacing:0.32vw;font-weight:500;text-align:left;display:block;margin-bottom: 4.27vw;}

/* 英語「ISSUES」のスタイル */
.wavy-eng-issues{font-family:'Poppins',sans-serif;font-size:3.2vw;font-weight:500;letter-spacing:0.1em;display:block!important;margin-bottom:4.27vw;opacity:0;min-height: 6.8vw;}
.wavy-eng-issues.is-show{opacity:1;transition:opacity 0.3s ease;}
.wavy-eng-issues span{display:inline-block;opacity:0;transform:translateY(4vw);animation:wavy-issues-appear 0.6s ease-out forwards;}

/* --- アニメーション定義 --- */
@keyframes wavy-issues-appear{
  0%{opacity:0;transform:translateY(4vw);}
  60%{opacity:1;transform:translateY(-1.07vw);}
  100%{opacity:1;transform:translateY(0);}
}  


h2.sub-title{ font-weight: bold; padding: 3vw 3vw 1vw; margin-bottom: 5vw; font-size: 5vw; letter-spacing: 0.3vw; text-align: center; border-bottom: solid #000 0.2vw;}

.seo_bread_list {width: 100%;padding: 1.5vw 0vw 0.1vw 4.2vw;margin: 0 auto;font-size: 2.93vw;line-height: 1.6;overflow-x: auto; /* 横スクロール */overflow-y: hidden;white-space: nowrap; /* 改行しない */-webkit-overflow-scrolling: touch; /* スマホスムーススクロール */height: 10.6vw;text-align: right;}
.seo_bread_list ul { display: inline-block; /* ul全体を1行に */ padding: 0; margin: 0; white-space: nowrap; }
.seo_bread_list li { display: inline-block; /* floatの代わり */ margin-right: 1.5vw; }
.seo_bread_list li::after { content: ">"; margin-left: 0.5vw; }
.seo_bread_list li:last-child::after { content: none; }
.seo_bread_list a {color: #333;}
.seo_bread_list a.home{}
.seo_bread_list a::after{content: "";width: 1vw;height: 1.9vw;display: inline-block;background: url(../images/common/arr-navi.svg) no-repeat;background-size: 100% auto;position: relative;top: 0;margin: 0 1.9vw;}

/* 2カラムサイト---------------- */
#tow-cl #side{ display: none;}

.fit img { object-fit: cover; }
.wysiwyg img { width: auto !important; height: auto !important; }
html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none; overflow-x: hidden; }
/* WEB FONTs 游ゴシックかすれ予防*/

*:focus { outline: none!important;}
a { -webkit-tap-highlight-color:rgba(0,0,0,0); cursor:pointer;}

body { -webkit-text-size-adjust: 100%; }
img {vertical-align: bottom;width: 100%;height: auto;}
a {text-decoration: none;color: var(--main-blue);}
a:hover { text-decoration: underline; }
.nobd a:hover { text-decoration: none !important; }
.clearfix { zoom: 1; }
.clearfix:after { display: block; clear: both; height: 0; visibility: hidden; line-height: 0; content: "."; }

#contentsfmch .chk-Box input[type="checkbox"]{left: -10vw;top: 0vw;}


   /* コーポレートcommon */

.cpun-common #contentsvoice{padding:0;margin-bottom: 0;}
.cpun-common #contentsvoice .dicon{transform:scale(-1,1);position:absolute;width: 38.3vw;top:-6.667vw;right: 5.4vw;}
.cpun-common #contentsvoice .inner-Box{margin: 0 auto 17.3vw;position:relative;}
.cpun-common #contentsvoice .ttl-Box{margin: 0 auto 6.633vw;width:110rem;}
.cpun-common #contentsvoice .ttl-Box .dicon{width: 12.133vw;margin-bottom:-0.8vw;left: 4.933vw;transform:scale(1,1);top: 0.533vw;}
.cpun-common #contentsvoice .ttl-Box .f-en{color:var(--mred);font-size: 3.233vw;line-height:1.714;letter-spacing:.2em;font-weight:600;text-align:left;padding-left: 9.7vw;margin-bottom: -0.5vw;padding-top: 6.5vw;}
.cpun-common #contentsvoice .ttl-Box .f-en span{color:var(--mbl);}
.cpun-common #contentsvoice .ttl-Box h2{font-size: 5.333vw;line-height:1.5;letter-spacing:.2em;font-weight:700;text-align:left;padding-left: 9.6vw;}
.cpun-common #contentsvoice .system-Box{margin-bottom: 6.4vw;}
.cpun-common #contentsvoice .system-Box ul{padding-bottom:0;margin-left: 11vw;}
.cpun-common #contentsvoice .system-Box ul li{width: 78.67vw;margin: 0 4.00vw 0 0;background:#fff;box-shadow:0 0 1.6vw #D3D3B8;}
.cpun-common #contentsvoice .system-Box ul li div{padding: 3.8vw 5.1vw;}
.cpun-common #contentsvoice .system-Box ul li.photo{width:100%;aspect-ratio:430/303;overflow:hidden;text-align:center;position:relative;}
.cpun-common #contentsvoice .system-Box ul li.photo img{width:100%;height:100%;object-fit:cover;display:block;}
.cpun-common #contentsvoice .system-Box ul li h3{margin-bottom: 2.933vw;font-size: 4.3vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 600;text-align: left;color: #111111;}
.cpun-common #contentsvoice .system-Box ul li .cname{margin-bottom: 2.333vw;font-size: 3.7vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 500;text-align: left;color: #111111;}
.cpun-common #contentsvoice .system-Box ul li .cate{font-size:3.2vw;line-height:1;letter-spacing:.1em;font-weight:500;text-align:left;padding-bottom: 2.6vw;color:#111;}
.cpun-common #contentsvoice .system-Box ul li .cate span{display:inline-block;border:#111 solid 1px;padding:1.6vw 2.133vw;margin: 0 2vw 2vw 0;}
.cpun-common #contentsvoice .system-Box .prev-arrow{left: 44vw;position:absolute;top: -14.433vw;z-index:4;transform:scale(-1,1);width: 8.167vw;cursor:pointer;}
.cpun-common #contentsvoice .system-Box .next-arrow{left: 60vw;position:absolute;top: -14.333vw;z-index:4;width: 8.167vw;cursor:pointer;}
.cpun-common #contentsvoice .btn-Box{margin: 0 16vw;}
.cpun-common #contentsvoice .btn-Box ul{}
.cpun-common #contentsvoice .btn-Box ul li{ margin-bottom: 6.2vw; }
.cpun-common #contentsvoice .btn-Box ul li p.gl-btn a{background:var(--mbl);border:var(--mbl) 1px solid;}
.cpun-common #contentsvoice .btn-Box ul li p.gl-btn a:hover{background:#fff;color:var(--mbl);}
.cpun-common #contentsvoice .slick-list{padding-bottom:1.6vw!important;}

.cpun-common #cpcontentscase {margin-bottom: 19.5vw;}
.cpun-common #cpcontentscase  .inner-Box{}
.cpun-common #cpcontentscase  .ttl-Box{ margin-bottom: 6.6vw; }
.cpun-common #cpcontentscase  .system-Box{ margin: 0 0.3vw 8.3vw; }
.cpun-common #cpcontentscase  .ttl-Box .dicon{width: 12.033vw;margin-bottom: -1.1vw;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}
.cpun-common #cpcontentscase  .ttl-Box .f-en{color: #fff;padding-left: 4.6vw;margin-bottom: -0.1vw;font-size: 3.2vw;line-height: 1.5;letter-spacing: 0.2em;font-weight: 600;text-align: left;}
.cpun-common #cpcontentscase  .ttl-Box .f-en span{}
.cpun-common #cpcontentscase  .ttl-Box h2{padding-left: 4.6vw;font-size: 5.3vw;line-height: 1.5;letter-spacing: 0.2em;font-weight: 700;text-align: left;color: #fff;}
.cpun-common #cpcontentscase .system-Box ul{}
.cpun-common #cpcontentscase .system-Box ul li{ margin-bottom: 7.7vw; }
.cpun-common #cpcontentscase .system-Box ul li a{display:block;position:relative;color: #fff;}
.cpun-common #cpcontentscase .system-Box ul li .sys-date{font-size:3.733vw;line-height:1.5;letter-spacing:.1em;font-weight:400;text-align:left;margin-bottom:2.667vw;padding-top:2.933vw;}
.cpun-common #cpcontentscase .system-Box ul li .sys-date .cate{font-size:3.2vw;line-height:1;letter-spacing:.07em;font-weight:500;text-align:left;display:inline-block;border:#111 solid 1px;background:#fff;margin-right: 0.6vw;position:relative;padding:1.6vw 2.133vw;color: #111;margin-bottom: 0.9vw;}
.cpun-common #cpcontentscase .system-Box ul li .sys-ttl{font-size:4.267vw;line-height:1.5;letter-spacing:.1em;font-weight:500;text-align:left;margin-bottom:1.6vw;}
.cpun-common #cpcontentscase .system-Box ul li .sys-text{font-size:3.733vw;line-height:1.5;letter-spacing:.1em;font-weight:400;text-align:left;margin-bottom:2.933vw;}
.cpun-common #cpcontentscase .system-Box ul li .arr{position:relative;transition:all .3s ease-in-out;right:0;width: 4.2vw;display: inline-block;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}
.cpun-common #cpcontentscase .system-Box ul li a:hover .arr{right:-1.867vw;}
.cpun-common #cpcontentscase .system-Box ul li a .arr img{width:4.267vw;}
.cpun-common #cpcontentscase .system-Box ul li .dlbt{text-align:right;font-size:3.2vw;line-height:1.5;letter-spacing:.1em;font-weight:500;text-align:end;}
.cpun-common #cpcontentscase .mbtn{text-align: right;font-size:4.267vw;line-height:1;letter-spacing:.1em;font-weight:500;position: relative;}
.cpun-common #cpcontentscase .mbtn a{ color: #fff; }
.cpun-common #cpcontentscase .mbtn .arr{position:relative;transition:all .3s ease-in-out;width: 5.7vw;display: inline-block;margin-left: 0.8vw;top: 1.1vw;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}
.cpun-common #cpcontentscase .mbtn a:hover .arr{right:-1.867vw;}

/* faq common */

#faq .accordion{margin:3em auto;max-width:60vw;}
#faq .toggle{display:none;}
#faq .option{position:relative;margin-bottom: 4.1vw;box-shadow:0 0 1.6vw #D3D3B8;border-radius:2.7vw;background:#fff;}
#faq .option::before{content:"";}
#faq .title,.content{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);transition:all .3s;}
#faq .title{display:block;padding: 5.2vw 15vw 5.2vw 13vw;font-size: 4.3vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 500;text-align: left;}
#faq .title span{color:var(--mbl);position:absolute;top: 3.1vw;left: 4.1vw;width:8.5vw;height:8.5vw;padding:2.1vw 0 0;font-size: 4.3vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 600;text-align: center;}
#faq .title::after{content:"";background:url(../images/common/arr-navi.svg) no-repeat;width: 1.8vw;height: 4.2vw;position:absolute;top: 6.3vw;right: 6.9vw;transform:rotate(90deg);transform-origin:center;background-size:100% auto;transition:all .3s ease-in-out;}
#faq .content{display:grid;grid-template-rows:0fr;transition:.4s;overflow:hidden;}
#faq .content>*{overflow:hidden;}
#faq .toggle:checked+.title+.content{grid-template-rows:1fr;}
#faq .content div.wysiwyg{margin: 0 0 0 13.2vw;font-size:.9em;line-height:1.5;width:auto;max-width:100rem;padding-right: 5.3vw;}
#faq .content div.wysiwyg span.f-en{background:#fff;color:var(--mred);position:absolute;top: 0.6vw;left: 4.1vw;width:8.5vw;height:8.5vw;font-size: 4.3vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 600;text-align: center;}
#faq .content .wysbox{padding-bottom: 3.4vw;padding-top: 0;}
#faq .toggle:checked+.title::after{transform:rotate(-90deg)!important;}


/* wysiwyg */
.wysiwyg { /* PC幅と中央寄せ */margin-inline: auto; 
/* 変数定義（PC） */--wys-p-gap: 6.4vw;--wys-h2-margin: 17.333vw 0 6.40vw;--wys-h3-margin: 17.067vw 0 6.4vw;--wys-h4-margin: 10.667vw 0 4.267vw;--wys-blk-mt: 6.40vw;--wys-blk-mb: 6.40vw;}
/* --- Text & Paragraph --- */
.wysiwyg :is(h1, h2, h3, h4, p, ul li, ol li, td, th) { letter-spacing: 0.05em; }
.wysiwyg p {margin: 0;word-break: break-all;font-size: 3.7vw;line-height: 2.0;font-weight: 400;text-align: left;}
.wysiwyg p + p { margin-top: var(--wys-p-gap); }
/* --- Headings --- */
.wysiwyg h2 {margin: var(--wys-h2-margin);padding: 0vw 3.4vw;border-radius: 0 7vw 0 0;font-size: 4.8vw;line-height: 1.5;font-weight: 600;text-align: left;border-left: var(--mred) 1.33vw solid;}
.wysiwyg h3 {margin: var(--wys-h3-margin);font-size: 4.348vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;padding-bottom: 2.67vw;border-bottom: var(--mbl) 0.80vw solid;}
.wysiwyg h3::before{content:"";width: 8.53vw;height: 0.80vw;display: block;position: absolute;bottom: -0.80vw;left: 0;background: var(--mred);z-index: 0;}

.wysiwyg h4 {margin: var(--wys-h4-margin);font-size: 4.275vw;line-height: 1.5;text-align: left;padding-left: 0.5vw;padding-bottom: 1.1vw;}
 
 .wysiwyg h3::before{}
.wysiwyg h4::before{content: "";display: block;width: 2.17vw;height: 2.17vw;border: var(--main-blue) 3px solid;border-radius: 50%;position: absolute;top: 1.9vw;left: 0;}
 /* --- Lists --- */ 
 .wysiwyg :is(ul, ol) { margin: var(--wys-blk-mt) 0 var(--wys-blk-mb) 6.4vw; padding: 0; }
 /* Unordered List (ドット) */ 
 .wysiwyg ul { list-style: none; }
 .wysiwyg ul li {position: relative;margin-bottom: 2.133vw;font-size: 3.7vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 400;text-align: left;}
 .wysiwyg ul li::before {content: "";position: absolute;left: -4.8vw;width: 1.87vw;height: 1.87vw;border-radius: 50%;background: var(--mred);top: 0.65em;top: calc(0.5lh - 0.933vw); /* テキスト1行目の垂直中央 */}
 /* Ordered List (数字) */ 
 .wysiwyg ol { list-style: decimal; }
 .wysiwyg ol li { font-size: 4.267vw; line-height: 1.8; margin-bottom: 2.133vw; }
 .wysiwyg ol li::marker { /* フォントを継承し、Poppins指定を削除 */font-weight: 700;color: var(--mred);}
 /* --- Images & Caption --- */ 
 .wysiwyg figure { margin: var(--wys-blk-mt) 0 var(--wys-blk-mb); max-width: 100%; }
 .wysiwyg figure img { max-width: 100%; height: auto; display: block; }
 .wysiwyg figcaption { margin-top: 3.2vw; font-size: 3.733vw; color: #666; text-align: center; }
 /* --- Table --- */ 
 .wysiwyg .table-wrapper { overflow-x: auto; margin: var(--wys-blk-mt) 0 var(--wys-blk-mb); width: 100%; -webkit-overflow-scrolling: touch; }
 .wysiwyg table {width: 100%;border-collapse: collapse;font-size: 4.267vw;line-height: 1.5;/* min-width: 160vw; */ /* SP時にスクロールさせるための最小幅 */}
 .wysiwyg th, .wysiwyg td { padding: 4.267vw 5.333vw; border: 1px solid #ccc; text-align: left; }
 .wysiwyg th { background-color: #E2E5EA; font-weight: 700; }
 .wysiwyg tbody th:first-child { width: 30%; }
 /* 3列以上の表はSPで折り返さず、table-wrapperの横スクロールで見せる */
 .wysiwyg table:has(tr > :nth-child(3)) { min-width: 160vw; }
 .wysiwyg .table-scroll {overflow-x: auto;-webkit-overflow-scrolling: touch;/* margin-right: -5vw; */}
 .wysiwyg .table-scroll table {/* min-width: 200vw; */width: 100%;max-width: none;}
 .wysiwyg .table-scroll td, .table-scroll th { white-space: nowrap; } }
/* img-block */
/* アンカーリンク調整 */
.hideAnchor { display: block; height: 0; overflow: hidden; text-indent: -9999px; margin-top: -2vw; padding-bottom: 2vw; }
/* スクロール縦 */
.scroll-y { box-sizing: border-box; overflow-y: scroll; transform: translateZ(0); }
/* リンク透明 */
a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
/* リンク透明にしない */
.noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
/*---------------------------------------- 　　外部サービス ----------------------------------------*/
/* ggmap */
/* <div class="ggmap">iframeのコピーしたコード</div> */
.sp-ggmap { position: relative; padding-bottom: 56.25%; padding-top: 5vw; height: 0; overflow: hidden; }
.sp-ggmap iframe, .sp-ggmap object, .sp-ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
/*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
@font-face { font-family: 'jp-sttl01';
/* お好きな名前にしましょう */
src: url("../font/.eot");
/* IE9以上用 */
src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
/* iOS, Android用 */
/* 念の為指定しておきます */
font-weight: normal;
/* 念の為指定しておきます */
font-style: normal; vertical-align: top; margin: 0px; padding: 0px; }
.myWebFontClass { font-family: 'jp-sttl01'; }
@media screen and (max-height: 450px) {
   /* 高さ450px以下の場合 andoroidのフォーム対策 ストーカーバナー用　*/
	.sp-fix-list{display: none;}
}

.wysiwyg h1 { background-color: #dcdcdc;}
.wysiwyg h2 {
}
.wysiwyg h3 {
    font-weight: 500;
    position: relative;
    display: block;
}
.wysiwyg h4 {
    position: relative;
    font-weight: 500;
    border-bottom: #111 1px solid;
}
.wysiwyg h5 {}
.wysiwyg h6 { background-color: #eee; border: 1px dotted #999;}


